GitHub Enterprise 2.0 - <AUTHOR> https://enterprise.github.com/releases/2.0.0 <comment><USER3> Over a year I started the process of convincing the people I needed to at my job (Federal, Non Defense/Law Enforcement) to get an instance of Github Enterprise installed. Though it took a lot of time and effort, I managed to get both the approval and funds needed for a small scale - 10 user - <USER2> (on my 3rd try, gov't is really against change).

Our current "enterprise" VCS is PVCS (so old I had to look it up). The idea was to get github installed on a small scale, gain support and extend it to the entire agency over the course of a couple years. Everyone who deals with PVCS wants git, but the management don't care to put in the effort to get it initially, so gaining the support would be easy.

A couple months ago, the entire thing collapsed on my face and we went with gitlab instead. Why? Because github's sales team f*ed it up. Apparently, the $5k minimum order was too small for them to care (at least that's what my side says). Too bad, I really wanted to get them in the door.

I'm sure it's just a bad egg in the sales, but seriously there are some people trying to fix/modernize gov't tech from the inside and thing's like this don't help. I guess my only recommendation is that if your company usually sells to private and the gov't asks for a small-sized purchase please be flexible. The guy who caused this request to happen has likely been putting in a huge amount of effort and has larger plans for integrating your service over time. The person who is contacting you is not that guy, has no idea what your product (or any tech) is/why it matters and is usually doing the originator a favor.

<comment><USER4> > A couple months ago, the entire thing collapsed on my face and we went with > gitlab instead. Why? Because github's sales team f*ed it up. Apparently, the > $5k minimum order was too small for them to care (at least that's what my > side says). Too bad, I really wanted to get them in the door.

Ben Balter from GitHub's government team here. I'm sorry to hear we let you down. Please let us make it up to you. You (or anyone else) should feel free to reach out to me any time at firstname.lastname@example.com, and I'll personally help navigate the process.

For what it's worth, we care a lot about the experiences of all our users, whether you're a developer using the GitHub.com front end, a system administrator spinning up GitHub Enterprise, or a COTR procuring a license for your agency. I'm not part of the Sales team. In fact, my full-time job is to help empower those working to "fix/modernize gov't tech from the inside", and a big part of that over the past year or so has been seriously leveling up the user experience for government and other large enterprises.

To help here, we now have a dedicated government team ([https://government.github.com](https://government.github.com)) that makes sure our front-line sales reps and supportocats are conversant in "govspeak", a semi-private government peer group ([https://github.com/government/welcome](https://github.com/government/welcome)) to collaborate on best practices, and are streamlining the procurement process for government with invoicing and standardized contract vehicles (and now FedRAMP support as part of AWS). I'd love your input on how we can do better.

<comment><USER3> This is all really great to hear, I've already begun the process of restarting the engine. It will likely take me 3-6 months just to get the momentum needed to reach out again officially. Oh the gov't...

> I'd love your input on how we can do better.

As I'm not in procurement and don't want to make assumptions about how your shop is run I don't have any comments of merit/meaning beyond my previous ones & saying an honest thanks for your reply and I hope that I can get my guys to reach out to you sometime next year.

</comment></comment></comment><comment><USER5> Related blog posts:

[https://github.com/blog/1918-a-faster-more-flexible- github-e...](https://github.com/blog/1918-a-faster-more-flexible-github- enterprise)

[https://github.com/blog/1919-the-story-behind-the-new- github...](https://github.com/blog/1919-the-story-behind-the-new-github- enterprise)

</comment><comment><USER6> > Current Version: 2.0.0

> Previous Version: 11.10.348

I see GitHub is utilizing lexicographic semver.

</comment><comment><USER7> > GitHub Enterprise now utilizes Ubuntu 12.04 LTS...

I'm curious, why is this new release based on Ubuntu 12.04 LTS rather than 14.04 LTS?

I'm mainly interested in the thought process behind this choice, I don't have an opinion about it.

<comment><USER8> 14.04 is too new. They probably started working on this long before 14.04 was finalized, and retooling would be expensive and slow them down. And even then, 14.04 is still rough around the edges--not all of the kinks have been discovered or fixed yet. 12.04 still has over three years of life left in it, which is much longer than the probable lifetime of GHE 2.0, and a future release of GHE can upgrade to 14.04 if and when that's necessary/beneficial.

<comment><USER9> So a stable release is too unstable for them? And now the first thing users will have to do is after install, apply all the bug fix packages to bring it to 14.04. But that will bring no unstability concerns? Or will they just not patch it and expose themselves to the bugs in the name of stability?

<comment><USER10> That's incorrect. The way you apply bug fixes to 12.04 LTS is by installing the bug fixes, not by moving to 14.04. The whole point is that 12.04 LTS continues to get updates for 5 years.

</comment></comment></comment></comment><comment><USER11> This isn't the thing they've been teasing though, right?

[https://twitter.com/github/status/531914601248882689](https://twitter.com/github/status/531914601248882689)

<comment><USER12> This is the thing, yes.

</comment></comment><comment><USER13> How can I see the pricing ?

<comment><USER14> I spent a huge amount of time trying to find pricing. Bad UI/UX.

<comment><USER15> intentional ui

<comment><USER16> It's very likely buried at the bottom of features since it's the thing that's likely to make some shy away even before they see all the good features.

Edit: In all honesty though, even though it does seem expensive, if you have 20 seats (20 developers), your payroll is already on the order of $1MM+, so $5k a year is almost a margin of error at that point, considering those devs use it all day every day.

<comment><USER17> it's more than 5x what Atlassian charges for the same product

</comment></comment></comment></comment></comment><comment><USER18> Does anyone know how this compares to Stash? Been using bitbucket for a while but wanted to switch to a self hosted version soon.

<comment><USER19> It is significantly more expensive, especially for teams in the ~100+ range.

We've been using Stash (and Jira, Confluence, etc..) pretty happily. GitHub is great, but the $$$ is just too much, and the Atlasssian ecosystem integrates nicely.

<comment><USER20> Yeah, and the worst part is that GitHub doesn't even offer the same suite of services you get with the Atlassian ecosystem. It'd be one thing if it were a bit more expensive, but also included CI and a more full-fledged CMS like Confluence.

That said, ff they dropped the price, my team would switch in a heartbeat, because we use GitHub and Travis-CI for all our open source stuff.

</comment></comment></comment><comment><USER21> Somewhat related, I just finished up the Splunk demo instance launcher on StackMonkey: [https://www.stackmonkey.com/demo/splunk/](https://www.stackmonkey.com/demo/splunk/). It would be interesting to be able to deploy GitHub Enterprise as a demo as well.

</comment><comment><USER22> Can someone who has used both this and Gitlab provide an insight on how the experiences differ?

<comment><USER23> As someone who's used both Gitlab, Github Enterprise, and Stash in a corporate environment, I have to admit I prefer GHE, for the features it shares with core Github, if nothing else.

My only gripe w/ GHE is the lack of branch-based ACLs. If we want to implement a Github Flow ([https://guides.github.com/introduction/flow/index.html](https://guides.github.com/introduction/flow/index.html)) methodology, but also have automatic branch detection and testing in our CI (Jenkins/Bamboo/whatever), we end up having to assign all users the ability to create branches in the given repository (which, in turn, gives them the perms to push to master). I'm actually quite surprised that this hasn't been implemented yet in GHE; I can understand why GH wouldn't have it, but GHE (because of the nature of its user base) really should.

That issue aside, the UI in GHE is simply superior to GL and Stash.

<comment><USER24> I'm pretty sure GHE has the ability to disable pushing to the default branch (which is set on a per-project basis, but by default it's master). But I think this is a per-instance setting (unless that's been changed recently).

So while everyone would have the ability to push to other branches, they wouldn't be able to touch master outside of pull requests, which I think is what you want anyways.

</comment></comment></comment><comment><USER25> "Configuration runs no longer use Chef and are much faster and more reliable."

What replaced Chef?

<comment><USER26> We're using Puppet on github.com but GitHub Enterprise didn't warrant the use of either so: nothing.

<comment><USER27> s/nothing/bash/ ^_^

</comment></comment></comment><comment><USER28> "GitHub Enterprise /.../ support for rendering PSD files will have your design teams jumping for joy."

I keep wondering how they do the PSD file rendering, sounds very intruiging. Is there a separate "thumbnail" automatically included in every PSD file or is GitHub doing a real PSD file rendering? In that case I wonder about font availability etc..

<comment><USER29> PSD files may contain a full resolution rendered (flat) bitmap for interoperability. It's probably enabled by default when saving. Other file formats like ODT and ORA contain a rendered thumbnail (e.g. 256x256) just for fast preview in file browsers. Scaling down a couple of 20000x20000 images in a folder is no joke, and that's not an unusual size for digital artists.

</comment></comment><comment><USER30> Congratulations on the launch, GitHubbers!

</comment><comment><USER31> Kinda off-topic but I instantly pattern matched the site UI to Heroku. Anyone else feel the same?

</comment><comment><USER32> changelog looks pretty awesome and I'm pretty excited.

Upgrade process doesn't look too fun though... Gonna have to do a side-by-side migration; no upgrade package provided.

</comment><comment><USER33> GitHub's tools always fell short for me. Phabricator is a much better code review tool (with a commandline workflows). Trello / JIRA are a lot faster and more flexible for issue management or sprint workflows.

</comment><comment><USER34> "Introducing a faster, more flexible GitHub Enterprise... unless you wanted more flexible pricing"</comment>


If you knew you could only read 2,000 more books, where would you begin? - <AUTHOR> http://www.theguardian.com/commentisfree/2014/jun/01/only-read-2000-books

<comment><USER2> 2,000 books? That's one book a week for the next 38+ years. Why should I worry?</comment>


Market Meltdown Board Game – Explore Others' "Reality" Through Gaming - <AUTHOR> http://www.clarendongames.com/product.php?xProd=19&xSec=2

<comment><AUTHOR> I just listened to a report about this from Friday's (12-19-14) BBC World Business News. It got me to thinking - What if more games were designed to show what may be really happening in different levels of business/politics?

I am presented with news of corruption and business/political practice that I find extremely distasteful, if not outright abhorrent. And yet so many of my fellow country people seem either totally unaware of said practices, or are looking the other way.

Maybe presenting games showcasing some of these practices can bring these subjects out into the room for observation, to see if enough other people agree changes need to be made?

<comment><USER2> I think using games as a rhetorical method could work, but if done badly it would backfire.

This reminds me of something Danny Hillis talked about once. In the 1980s the price of oil was continuously going up, and all of the oil companies were just drilling as quickly as they could. At Shell Oil the analysts realized that the price of oil might start to dive, which was very bad if you were expanding as quickly as possible. The analysts couldn't see any other way to convince the executives this might happen, so they built a simulation of the oil industry, and had the executives play the game repeatedly. In every scenario they did, the price of oil would crash. The executives thought this was very silly. However, after they played for a while, they learned the patterns (in the safety of the game), and this influenced them enough to take some mitigating steps, and were the only major oil company to come through the oil price collapse in good shape.

This is cribbed from a talk he gave, On Game Software Development, which was on Technetcast, but has since gone offline. The archived page for the talk is [https://web.archive.org/web/20010426140020/http://technetcas...](https://web.archive.org/web/20010426140020/http://technetcast.ddj.com/tnc_play_stream.html?stream_id=220)</comment></comment>


Deeply detailed guide to mobile development architecture - <AUTHOR> https://medium.freecodecamp.org/a-deeply-detailed-but-never-definitive-guide-to-mobile-development-architecture-6b01ce3b1528 <comment><USER2> This article was clearly written by someone who hasn't taken their head out of the sand for at least 1, maybe 2 years.

Maybe I'm wrong, but a great deal of what he/she says doesn't seem to chime as current. Like the issues with mobile apps, no offline capabilities, etc. That's all old news. Over 85% of people have modern browsers that support a modern web that allows for offline capabilities and more.

I currently use Dev.to as an app on my phone (headless Firefox for those curious) and I love it way more than having to choose an app.

In fact it's my most popular 'app' now. On a personal note I definitely prefer mobile web apps over sharing access to my private information for a marginal UI gain.

<comment><AUTHOR> I view it as more of a good survey of different approaches to cross-platform solutions. For instance, I had no idea that Titanium Appcelerator is more similar to React Native than it is to Cordova/PhoneGap. The taxonomy the author provides can be pretty useful.</comment></comment>


A Method I've Used to Eliminate Bad Tech Hires - <AUTHOR> https://medium.com/@ayasin/the-one-method-to-eliminate-bad-tech-hires-630d539b2e1d <comment><USER2> > I will purposely challenge their solution to see how they react.

> If they get defensive, it's an immediate no-go. Remember, there's a > difference between defending which is good and being defensive which is bad. > The difference is that the former is based on rational facts, the other is > based on emotion.

Are you always able to challenge them based on "facts", or are you going to challenge them with your current world view? I can see someone getting defensive if your challenge is perceived as deliberately provoking.

<comment><USER3> If you're submitting something for review which is admittedly going to be used at least in part to decide if you are "good enough" to hire, it would be foolish not to expect to have to defend the choices you've made.

Using the author's definition, "being defensive" based on emotional responses is more a character trait than anything else, and a negative one at that.

I would much rather work with a slightly above average or average developer who is thoughtful and rational than a rock star who gets personally offended if you question their use of $DESIGN_PATTERN.

</comment></comment><comment><USER4> We recently started using the 'assignment' alternative to interviews and have had great success with it, although only a couple hires to go by so far. One issue I have with it though is that it asks a lot of candidates in terms of their time. Paying for that time seems like a great solution, as well as providing the other benefits you mentioned. Will definitely try this next time we're hiring.

<comment><USER3> I did a(n unpaid) coding assignment for my current job several years ago. Estimated time to complete was 1 hour, but I probably spent half my weekend on it because I wanted to make a good impression.

Once I was in a position to offer advice and assist in the interview process, getting rid of that altogether was the first thing I did. It took time, I got nothing out of it, and all it showed the company was that given 40-50x longer than necessary I could produce a working product.

<comment><USER4> Yes, this is another problem with it. However, from my (albeit limited) experience, it still beats classical interviews. Bringing people in and enforcing a time limit could help, but many people get very nervous in that type of 'exam' situation, so you lose a lot of the benefit (which is primarily seeing how they work in the real world, out of a pressure-filled interview situation).^

Personally, I prefer to make the assignments less open-ended than the ones in the OP. That way hopefully there's only so much time that could really be reasonably spent on them. It's still an issue, but (over-) paying for the "2 hours" helps too. The remaining downside is worth it in my opinion for the far better filtering it provides. (Also, classical interviews are no picnic for many people either. I know plenty of people who would rather spend all weekend at home working on something than be subjected to a regular interview.)

^Also we're all-remote, so in our particular case we really couldn't do that even if we wanted to.

</comment></comment></comment><comment><USER5> I would qualify this better. Most people take a day off for an interview. If you explained to the interviewee that they were to turn up at 9am, would be given a small project using X technologies, to be completed within the day to be ready for a code review at 3:30 and presented to the team at 4pm. Lunch would be provided and they would be paid for their time.

</comment><comment><USER6> Another way to do this is to already have an _existing_ mini project with a bunch of unit tests.

It should be functional but contains known bugs, of which, some are easy for junior developers, and some are much harder for senior devs. Whilst I don't like checking broken unit tests into source control, leaving a broken unit test in the source code is also another good test of the candidate, to see if they can fix the code to match the assertion.

It would also contain methods that a senior dev should be able to look at and then appreciate that there is a optimization that could be made to improve performance.

Everything is in a private Github repo that the candidate can be given access to and a week to play around with, giving people time (some people have families and busy lives) to complete.

They should issue a pull request when they are finished and their changes should be well documented.

Most companies have an existing product and developers are needed to support, fix and extend those existing products. It isn't often developers get greenfield development. They need to fix code written by _other_ developers.

The really good developers:

\- figure out how to clone the repo

\- comment their changes well

\- fix all the bugs

\- figure out how to run the unit tests

\- fix the unit tests that don't work

\- optimize the poor performing methods

\- manage to issue a pull request

If the developer is junior, then they might miss a few bugs and the potential optimizations, but if they can get to the point of issuing a pull request with some bug fixes and good documentation, then they have done pretty well.

Most importantly, check the developer's knowledge beforehand. For example, they might not have had Git experience before. If they can figure things out for themselves, then it shows they can solve things for themselves without someone else having to hover over them constantly.

Finally, if they ask questions to validate their assumptions, the developer isn't going to be one of those devs that goes off on left-field for 3 days, only to find out they got the wrong end of the stick. People that think they understand but don't, are dangerous and expensive to your organisation in the long run.

<comment><USER7> What company uses this methodology?

<comment><USER8> e2x did exactly this. We had a tiny web app with one controller, and the candidate had to implement some small feature. Looks easy. But some tests are failing, some are passing incorrectly, there's misnamed code, dead code, and various other traps. We did quite a bit of rescue work on projects screwed up by other consultancies, so it was even somewhat realistic.

At Pivotal Labs, we have an interview project where the code works and is tested, but is a horrifying big ball of mud. We ask the candidate to add a few features, but really, they need to refactor heavily first.

</comment></comment></comment><comment><USER9> For someone who is a full-time employee with no freelance work on the side, this would add significant complexity to my income tax calculations compared to what I currently I have to do (which is literally nothing). I'm not sure i'd go through the trouble of that for a job interview, i'd probably actually be better off financially by doing it for free :)

That said, it is a great approach.

<comment><USER10> Yes, personally, I wouldn't do anything like this for less than a few thousand unless for some reason I found the assignment intellectually interesting.

<comment><USER3> Two hours of your time is almost certainly not worth "a few thousand" dollars.

<comment><USER10> Oh sure, but $200 is not worth the accounting / liability / legal hassle. Plus it depends on the problem. If it's a tricky problem that wants me to solve something that they're trying to solve (I've had that happen a number of different times), than I'm not just putting in 2 hours. I'm providing them with the wealth of my entire experience.

</comment></comment></comment></comment><comment><USER11> By using this method, you exclude candidates that cannot (or are unwilling to) allocate the time necessary to do the assignment, plus the time needed to take care of tax-related issues just to be able to write you a receipt.

In other words, you are excluding people who have a job.

Also, I fail to grasp this idea that potential candidates must prove their worth through numerous hoops to compensate for the interviewers lack of skill in judging character and competence (i.e. seeing through the bullshit).

In any hiring process not only the interviewer is interested in avoiding a bad hire, but the candidate is also interested in avoiding a bad employer. Both stand to loose from a bad choice, but that's why even the most strict employment laws allow for an experimental period.

Certain hiring requirements tell a lot about the culture of the company. Avoid sending candidates the message that you have a culture of distrust. You may end up loosing the ones you wished to hire.

<comment><USER12> > Also, I fail to grasp this idea that potential candidates must prove their > worth through numerous hoops to compensate for the interviewers lack of > skill in judging character and competence

They say:

>> It's very easy for someone to embellish (to put it generously) their resume, and coding trivia can be memorized

There are arguments about the efficacy of interviews, but judging technical knowledge is not one of them.

If I was hiring for a Java programming position, I might start out with an easier question, like what is the difference between an interface and an abstract class. Or ask what a class was, or an object, or a constructor or method. Or what a static class variable was. Plenty of people with resumes that look good will stumble through these questions, whereas others will give clear answers.

Perhaps you can't tell if someone knows all they need to know or can do a good job, but it is certainly possible to see who does not have the level of technical knowledge you want.

</comment></comment><comment><USER13> Personally I'd ask anyone who asked me to do this to also complete a project over the weekend. Just to see how committed they would be to his employees problems.

<comment><USER14> I'd ask them to do my laundry and my shopping and entertain my cats. Cuts both ways right?

</comment></comment><comment><USER15> > _but it's really hard for someone to fake actual skill_

That's a funny way of putting it. If one can fake actual skill... well, hire them!

<comment><USER16> As a sales representative I suppose :).

</comment></comment><comment><USER10> Giving them the weekend / take home is a bad idea. You might get some enthusiastic fellow who spends 10 hours on something but claims to have done it in 2 hours. You really don't want that. You want someone who can do it in 2 hours and not lie about it, otherwise you end up with a workaholic who will burn out in short order trying to live up to unrealistic expectations.

Give them a cube and pay them to work in the office. Stop by to see how they're doing and interact with them.

<comment><USER17> Unless you pay your programmers by the hour, how long they take to complete a project should not matter (within reason, i.e. a weekend). Judge the quality of their code, not their coding speed.

In fact, intense time pressure has a very adverse affect on cognitive tasks.

<comment><USER18> Well, except for the fact that taking 10 hours to perform a 2 hour task doesn't scale when I want them to do 40 hours of work a week. I really, really do want to judge people, in part, by their coding speed.

</comment></comment></comment><comment><USER19> "If they get defensive, it's an immediate no-go. Remember, there's a difference between defending which is good and being defensive which is bad. The difference is that the former is based on rational facts, the other is based on emotion."

And whose call is it to make that distinction? Presumably the author of the optimal-hiring-procedure #122327 that has been posted here.

<comment><USER3> A pretty good example of "being defensive" would probably be accusing the interviewer/author of not having sufficient knowledge/skill/ability to make that distinction.

</comment></comment><comment><USER20> I like this a lot. Works well for both parties.

Pro tip for candidates: after you solve the problem, when you share it with the team this is a good time to show how friendly and open you are. "Gosh guys, I've never been much good at TDD, but I limited the code to less than 50 lines, so I thought for such a small project I could squeak by" or "What a fun project! Yeah, that screen design sucks. I suck at UI design. From a technical angle, though, it was fun and I enjoyed playing with the problem"

People want to know both how confident/competent you are and how you handle weakness. If you're an ace on the technology, can talk a good game, _and_ enjoy having people help improve your work? You're a keeper.

</comment><comment><USER21> I do not like the methodology. I was subjected to it 3 times in '09 during the recession when nobody was hiring. I went to the next level of interviews in all the cases -- but did not get those jobs at the time.

Hope will never need to waste my time on that again.

It does not test the speed and quality with which a candidate can absorb new methodologies/ways.

Therefore it is perhaps, reasonable if the job assignment to maintain an existing code base in XYZ tool chain, or participate in a larger team where the architecture/design approach is done by somebody else.

</comment><comment><USER22> well one shop i interviewed with found it necessary to put me to the test this way (except them being cheap did not offer payment). I disliked the long process and the fact that they would make me do work for free. so when opportunity presented itself i signed with my current employer, who offered me a slightly worse contract but trusted me enough to sign immediately on the first interview. i think the method is only appropriate if you are looking for high level people and offer a corresponding salary.

<comment><USER23> In all fairness, the author explicitly stresses the importance of paying for the work.

</comment></comment><comment><USER24> I would probably make the work product open source (voluntarily), and maybe over a longer period than a weekend. Would still pay 50-150/hr for the desired number of hours.

</comment><comment><USER25> Interestingly, this is exactly the same method I use to weed out bad employers.

Maybe when the market's a bit worse I'll be forced to jump through one of these hoops. But right now...

</comment><comment><USER5> This is one of these articles that has changed my thoughts on recruitment and makes sense when hiring mid/senior talent. Not sure the approach works if you are recruiting junior/graduates but even then I see this as just a case of extending the development time at a lower rate with lower expectations (which hopefully will be proved wrong).

Front loading the cost of recruitment brings major cost savings in the long run.

</comment><comment><USER26> This gem:

> I may say please use functional reactive principals in JS to solve this > problem, but the decision of using Kefir, Bacon, or RX is left up to them.

</comment><comment><USER27> I'm all for this technique (I might actually use it myself next quarter). But there will always be a few bad apples who would go home and get someone else's help (or worse yet, get someone else to do the whole thing).

<comment><USER28> They would probably have difficulties answering questions about why they did something in a particular way, though. The conversation you can have afterwards is probably the most interesting part, also for the good apples.

</comment></comment><comment><USER29> I wholeheartedly support the approach of "get them to build something".

It also works really well for sysadmins: give them a subtly-broken system, get them to fix it documenting their thinking along the way.

</comment><comment><USER26> > did the person write a test for every line of code? No?

Does anyone expect this for 2 hour assignment? Seriously!?

<comment><USER18> Yes. I've twice been criticized on "short" interview coding assignments for not having _enough_ unit tests. I had unit tests, just not enough in their minds.

One position was CTO and the other was a Software Director position.

Tech interviews are getting crazy.

<comment><USER3> Why is someone applying for CTO performing coding challenges?

<comment><USER30> Because the company is not really hiring a CTO. What they are hiring is a senior developer who will put in a full week of work coding, and then will be asked to put in another 40 hours dealing with management tasks. The "CTO" title is there to try to make up for the fact that the position is woefully under-compensated.

<comment><USER18> Exactly. "Well, it will grow into a CTO role".

They also didn't have an answer to "How often does the board meet and how long is my part of the meeting, typically?"

</comment></comment></comment></comment></comment><comment><USER15> > _The solution addressed your problem using the technologies and techniques > you proscribed_

Prescribed...?

<comment><USER6> Yep, he meant "stipulated" I guess.

<comment><USER31> He certainly didn't mean "proscribed," which would mean that the candidate used prohibited technologies.

</comment></comment></comment><comment><USER32> I am with the commenters who have a problem with this being a weekend project. How about assigning the problem on a Monday, and reviewing the results toward the end of the week?

If they are asking you to do your interview homework over the weekend, it seems likely they'll be "asking" you to work unpaid overtime, weekends, etc on a regular basis.

</comment><comment><USER33> The only thing I dislike about this is the short timeframe of interviewing on Friday, and having to work _that immediate weekend_ on the problem.

I'm a busy guy, I have kids, and I like spending time with them (on top of the 2 hours I try to get in every day). That removes the weekend daytime.

Weekend evenings - well, realistically once everyone's fed, bathed, and had a bedtime story, we're talking 7:30-8pm in my household - are then for eating, spending some time with my wife (shocking, I know!), taking care of household tasks, and then going to bed, ready for the inevitable 6am kiddie wake-up call.

Yup, weekends are by far the busiest time of the week, and that's even when everything goes right!

Give me a week, interview on Friday, deliver code/presentation by the following Friday, then I'm absolutely game for it, will get it done, and will get it done _well_.

That said: I guess this may be a deliberate filter against people like me. Always difficult to know.

<comment><USER34> _The only thing I dislike about this is the short timeframe of interviewing on Friday, and having to work that immediate weekend on the problem._

I suspect that that might be a secret feature. If you cannot work _that_ weekend due to other, more important plans, then that is a strong indicator that you might not be able to work other weekends in the future.

<comment><USER35> "I suspect that that might be a secret feature."

Yes, agreed. It may also test, if you are really serious with your application. If you are, there will be a way to free some time.

This goes both ways: companies blow time to interview candidates, who just want to see how far they get. Or who plan to negotiate better terms with their current employer (happened to us recently, we paid flight, hotel, lost 3 months and a whole application round).

Candidates blow their time by implementing stuff for companies, who just want cheap code or who want the best solution for a problem they cannot solve, or simply re-decide their plans after you invested your time for the coding.

Both sides should find out how serious the others are. Payment for code is a good step. But if you pay, you can also ask for something, right?

<comment><USER3> Is your "application round" limited to a single candidate?

<comment><USER35> No, we had a couple, but after the one we offered the job to finally let us know he wouldn't come, the whole shortlist had already found other opportunities.

</comment></comment></comment></comment></comment><comment><USER36> In many countries you can't simply pay people unless they're incorporated and can send invoices. You need to hire them. Otherwise it's tax fraud.

</comment><comment><USER14> This is ridiculous. Getting paid would make taxes complicated and would count as taking a second job, something forbidden by many employers. On top of two precious days vacation. This might work for student interns but no one already employed would bother jumping through these hoops.

<comment><USER4> Is it really that complicated to claim a couple hundred dollars in miscellaneous income on your taxes? (At least here in Canada it would be a non-issue.) I'm sure applicants are welcome to turn down the pay if they feel it will be an issue for whatever reason (including current employment contract), but I can't see how that part is a negative. Certainly calling it ridiculous doesn't seem productive. I do agree that the potential of blowing your weekend is an issue that should be addressed.

<comment><USER14> Yes it is, in countries where normal people do not have accountants.</comment></comment></comment>


'Super atoms': Rydberg excitations form ordered structures in a quantum gas - <AUTHOR> http://phys.org/news/2012-11-super-atoms-rydberg-quantum-gas.html

<comment><USER2> Good example of making ads look like content.

<comment><USER3> Evidently they did such a good job I failed to notice what is being advertised. Can you elaborate?</comment></comment>


Swift Protocols and the Promised Land - <AUTHOR> https://realm.io/news/michele-titolo-swift-protocols-promised-land/ <comment><USER2> A lot of the generics/covariance complaints seem to be rooted in a misunderstanding of covariance.

      class Fruit {}
      class Peach: Fruit {}

      protocol FruitHolder {
          var fruits: [Fruit] { get }
      }

      class PeachBasket: FruitHolder {
          var fruits: [Peach] = []
      }

This doesn't compile because it is not type-safe. Even though "Peach" is a subtype of "Fruit", "[Peach]" is not a subtype of "[Fruit]".

If the above code were allowed, we could circumvent the type system:

      var h: FruitHolder = PeachBasket();
      var fruits = h.fruits;
      fruits.append(Fruit());

I just added a non-Peach to a "PeachBasket". When someone iterates through it later, expecting it to be all "Peach" instances, they're going to be surprised.

This reminds me of when Java 1.5 introduced generics. People were used to arrays being covariant even though that's not type-safe. The language designers decided not to carry that particular type system loophole over to generics, and people (including me) were surprised by the new behavior. (And then once we wrapped our heads around it, even more surprised we had never noticed the issue before!)

Objective-C had a bunch of holes in the type system and people got used to them. Swift is trying to be more type-safe. Interestingly, Dart made the conscious decision to retain this particular type system hole; their generics are always covariant.

BTW, Java's "wildcards" (existential types) get you roughly what you want in a type-safe way:

      protocol FruitHolder {
          var fruits: [? : Fruit] { get }
      }

This roughly means that "fruits" is an array of some subtype "Fruit", but it might not necessarily be "Fruit". Then, doing "fruits.append(Fruit())" would fail to compile but you could still read from the array.

<comment><USER3> Well, I think the semantics of your class hierarchy are not what you expect. You're saying _FruitHolder_ can hold any kind of _Fruit_ but then you're trying to "take back" that definition in _PeachBasket_ where you're saying "just kidding, it only holds one kind of _Fruit_ ".

It's better if you explicitly start with the definition that a _FruitHolder_ can only store a type of _Fruit_ , but then use inheritance to abstract your fruits.

This works fine:

        class Fruit {}
        class Peach: Fruit {}

        protocol FruitHolder
        {
            typealias FruitKind
            var fruits: [FruitKind] { get }
        }

        class PeachBasket: FruitHolder
        {
            typealias FruitKind = Peach
            var fruits: [FruitKind] = []
        }

        class FruitBasket: FruitHolder
        {
            typealias FruitKind = Fruit
            var fruits: [FruitKind] = []
        }

        var fruitBasket = FruitBasket()
        fruitBasket.fruits += [Fruit(), Peach()]

        var peachBasket = PeachBasket()

        // ERROR:
        peachBasket.fruits += [Fruit(), Peach()]</comment></comment>


The Hilbert Curve - <AUTHOR> http://bit-player.org/extras/hilbert/hilbert-construction.html <comment><USER2> Fun with Hilbert Curve: <http://www.youtube.com/watch?v=ik2CZqsAw28>

</comment><comment><USER3> The bottom right quadrant doesn't need to be flipped.</comment>


DataMining OkCupid: A love story - <AUTHOR> https://themoth.org/stories/data-mining-for-dates <comment><AUTHOR> a man after my own heart. i wonder if this still can be done again.</comment>


Why your kids should start to learn coding now? - <AUTHOR> https://www.linkedin.com/pulse/article/20141125000758-5439992-why-your-kids-should-start-to-learn-coding-now

<comment><USER2> I don't think that the future is that everybody should know how to code, but that coding some specific tasks is made so simple that any trained professional on a certain domain can do it.

Not sure what that will look, but until then why don't we just let kids be kids?

An introductory high school class would be enough at ages 13 or 14 for example.

<comment><AUTHOR> Obviously I am not suggesting to push kids into coding as the main thing they should do. But it should be included as a part of their daily playing thing. If they don't like it, fine, they can be kids and do whatever they want. Just like if kids don't want to play soccer or tennis or swimming. My idea is to at least introduce them to coding and let them familiar with the concept. Programming doesn't have to be writing tons of code. It could be just about creating logics for the machine (i.e. workflow)</comment></comment>


If hackers attacked the hospital (2017) - <AUTHOR> https://www.bostonglobe.com/ideas/2017/11/10/hackers-attacked-hospital/S4NQClYCBl0B0TGpb0dEbI/story.html <comment><USER2> It's good to see attention paid to the day-to-day challenges hospital IT folks face when grappling with medical devices. These folks deserve better.

As an industry of thing-makers, we've done a pretty poor job of supporting use cases involving big diverse populations of devices that aren't centrally managed. Devices don't identify themselves in any consistent way; device makers don't allocate MAC addresses predictably from their assigned ranges; security folks often don't have link-layer visibility into their own networks; and so on.

Result: hospitals are desperate to "secure" their medical devices, yet they don't know what those devices are, what patch levels they're at, or what their "baseline" behavior is supposed to be, among other things that are crucial for security.

The security industry has decided that medical devices are a special case of IoT, and you can now choose from a wide variety of AI blinky boxes to send you anomaly alerts. That has been going about as well as it does in other domains.

Two things that may help hospital tech workers in the coming years are: efforts like IETF's MUD [1] to make devices state their purpose clearly; and efforts like the NTIA's software transparency initiative [2] that are aiming to make manufacturers say what's in their devices. The FDA is also cracking the whip on medical device makers to incorporate security into their development processes, and they love comments from nerds who can help.

</soapbox>

(I am one of the academic researchers behind the defibrillator hacking [3] that inspired the Homeland episode mentioned in this article, and I've been cutting my fingers on innumerable sharp corners in hospital wiring closets on and off since then.)

[1] [https://datatracker.ietf.org/doc/draft-ietf-opsawg- mud/](https://datatracker.ietf.org/doc/draft-ietf-opsawg-mud/)

[2] [https://www.ntia.doc.gov/SoftwareTransparency](https://www.ntia.doc.gov/SoftwareTransparency)

[3] [https://www.secure- medicine.org/hubfs/public/publications/ic...](https://www.secure- medicine.org/hubfs/public/publications/icd-study.pdf)

<comment><USER3> > Devices don't identify themselves in any consistent way

SNMP standardized that before sysadmins everywhere decided it was devil's reincarnation and banned all of it that they could. When working on an equivalent standard, it may be useful to think about why your standard won't suffer the same fate from the same reasons.

<comment><USER4> >SNMP standardized that before sysadmins everywhere decided it was devil's reincarnation and banned all of it that they could.

Dunno what you mean. SNMP Write is certainly a hard sell to allow, but SNMP read has been a consistently useful element of monitoring strategy across many organisations I've worked for.

V3's still a tricksy, time-sucking devil to implement ubiquitously, though.

<comment><USER3> Information gathering is entirely in the read part of the spec.

Things have been improving, but SNMP used to break at every network bridge, no matter if any part of it was external or had any kind of difference security requirements. It was completely reliable that if you got into an organization, you wouldn't be able to communicate with anything in a different network segment, even for status messages. This was one of the obstacles for IPv6 adoption, since it used to require status messages for setting datagram sizes (I think that changed).

It looked like every sysadmin on Earth would look at SNMP, say "I don't want an attacker to have status and infrastructure information of my network", and block it. As did all network security guides on the Web.

I once worked for a company that basically had a client software that transmitted the same information of SNMP-read over HTTP. When I would go at clients I often asked their sysadmins why SNMP was blocked, they would always say "security", then I would tell them that they were buying this that was exactly the same as SNMP, and they would just say it's different somehow...

</comment></comment></comment></comment><comment><USER5> I'm surprised that no one ever talks about America's e-prescribing infrastructure getting hacked. Over 99% of all electronic prescriptions are handled by a single company (surescripts). It's a massive single point of failure that could cause chaos if they were no longer able to operate. Most states are now moving to make all prescriptions electronic. It seems that not enough people know that this is a problem, but it's also another reason why prescriptions are more expensive than they should be.

<comment><USER6> Luckily most other emerging integrations (payer - provider for eligibility checks and coverage decisions, provider - provider for real time medical record transfers, etc) are decentralized by design with a number of large aggregators. While it's possible for basically any company to get access to these networks for a nominal fee and thus facilitate a transient DDOS by flooding the network, it would be relatively easy to drop this traffic and boot them.

Also doesn't McKesson have their own interface for electronic prescriptions or am I incorrect?

<comment><USER5> You are incorrect.

[https://www.healthcareitnews.com/news/surescripts- partners-m...](https://www.healthcareitnews.com/news/surescripts-partners- mckesson)

</comment></comment></comment><comment><USER7> The Boston's Children's hospital was attached once by anonymous. This podcast covers the story very well. [https://darknetdiaries.com/episode/14](https://darknetdiaries.com/episode/14)

</comment><comment><USER8> I thought this story was only 4 paragraphs long, but you have to click the "continue reading" button to see the rest.</comment>


How to End the Lock Down - <AUTHOR> Recently a barber shop in Seattle area opened up in defiance of the stay-at-home order. Apparently a little over 100 customers visited for a hair-cut that day.
While the barber insists it is in his rights to earn livelihood, it also brings up the question of what happens if any of the customer contacted Corona virus. Is the Barber liable?
I think this is a good scenario to think of how the lockdown can be lifted? The current approach is to wait till the Virus dies out....other than this what measures can the State and businesses take so that lockdown can be lifted with the minimal risk? (I know this is the million dollar question but just trying to brainstorm nevertheless)
Here are some starter ideas: a. Rapid testing: tests seem to focus on confirming if a person has corona virus or not. May be its faster to confirm a person does not have the virus.
b. Mandatory testing, but on samples of population. Since test capacity is limited, pick random samples in each Census block/ tract and test. Quarantine or run more tests in areas where the virus is detected.
c. Open up businesses but only if customers consent to sharing their contact details. The idea is if someone working at a business or a customer contracts the virus, others are informed and quarantined.
What other ideas can help lifting the lockdown sooner? <comment><USER2> Rapid tests do not yet exist. Mandatory testing, sure. But you have to wait for results. (c) is accomplished in some countries by using app tracing. But it's not perfect. Until there is a vaccine or a treatment, we can only hope the virus burns itself out.</comment>


Simple Step-By-Step Guide on How to Buy into an ICO - <AUTHOR> https://medium.com/@simonwintersf/the-worlds-most-simple-guide-how-to-participate-in-an-ico-ba41c2790f7a#der5f <comment><USER2> How to lose your money to a stranger in 3 easy steps!</comment>


California wildfire insurance is in crisis, and the real estate market reacts - <AUTHOR> https://www.sacbee.com/news/business/article233012587.html <comment><AUTHOR> The strange thing is that insurers took this long to notice.</comment>


What causes the green line in the frame before the puck hits the camera? - <AUTHOR> http://www.gifexploder.com/exploderesults.aspx?fn=puck.gif <comment><USER2> The way I see it happening is that the video is delayed enough so that when the puck actually hits the camera, the video gets encoded[insert correct technical term] wrong - green - for that line. Then we actually get the video of the puck hitting the camera.

<comment><USER3> So... the physical impact against the camera is causing a fault with the video encoder on the camera?

<comment><USER4> More likely caused the sensor to send invalid values for pixels.

Still More likely the jostle caused data loss for a while.

The green squares don't look to be 16 pixels tall. Hard to tell with the footage, but DC's are typically 16x16 or 8x8

This looks to be a CCD issue not a compression issue especially since the artifacts don't propagate to the next frame, nor cause variations in the sharpness of things in the next frame which would be common if new image data had to be created in whole rather than as a differential from the perfectly noiseless, "broken" frame before.

<comment><USER5> Can I suggest that the loss of signal during the impact caused an issue with the encoder but because of the encoding of video if the disrupted frame was an i-frame or a b-frame then it might cause effects on p-frames?

</comment></comment></comment></comment><comment><USER4> There are two impacts. In front of the glass is a light mesh that is used to keep water from kicked up is from showing as droplets on the screen. That mesh is coated in a hydrophobic material and works well keeping a camera from needing to have the lens wiped.

The Green Line is when the camera took that part of the impact. Likely the Sensor shook enough to cause an error.

It recovered in the frame before the puck hit the lens so there is a clear frame before that.

The comments about IPB frames and compression might seem logical at first, but B frames are very rarely used in live broadcast because they add so much to the delay, and cause a lot of issues when broadcast over lossy formats.

If this was a broadcast from tape, the impact could have damaged the tape when the tenisioner was jostled by the impact, but typically that would do more than the small ammount of frame loss shown here, and wouldn't have been part of a live broadcast.

<comment><USER6> In the frame where the glitch happens the puck still looks quite far from the lens. If the mesh was positioned that far it would probably be visible and mess up autofocus.

B frames or buffering would only add <100ms latency, while live transmission already has at least 1s lag, before even considering 'tape delay'. I'm betting on processing delay as the explanation.

<comment><USER4> The mesh is about 3 feet out.

B Frames to be of any use require 6 frames at 33ms each, that is 200ms, a quarter of a second, but on play back you need all of the frames in the set from i frame to i frame to get make the reference frames work, this is typically 1-3 seconds.

-Brandon Wirtz SMPTE Voting Committee Member for the ratification of H.264 and VC-1 standards.

</comment></comment></comment><comment><USER7> Could be any number of things. If the camera is analog then sync is carried on the "green" channel. That's why most video imperfections are green. I would need more information on the camera and camera system

</comment><comment><USER8> My guess is that those particular scanlines were being read out at the instance of the impact, which momentarily flexed the circuitry and caused funny things.

</comment><comment><USER9> Could the green line correspond to the moment the camera was hit, and the next 'closer' image show the rebounding of the puck?

</comment><comment><USER10> Looking at image No. 28 (after green line), the image is considerably darker and more pixelated than No. 26 and previous. The green line could be artifact from an auto-contrast or auto-focus.

</comment><comment><USER11> It seems to be a problem with raw sensor information prior to encoding, otherwise I figure there would be more blocky image corruption.

Frame 0-26: Puck Flying

Frame 27: Impact g force shorts capacitor (usually rated for ~10g), scanline loses chroma until circuit at proper threshold again.

Frame 28: Frame dims b/c of occlusion from puck, and collision likely turns glass into a negative meniscus lens.

Frame 29->: Officially an inelastic collision. Time to get a new camera

</comment><comment><USER12> To add to rampant speculation without enough details my theory would be that it's some kind of a light reflection artifact off the puck corresponding at the exact moment of the camera scan lines and frequency.

</comment><comment><USER13> The camera shit its pants!</comment>


Things that can travel faster than light - <AUTHOR> http://math.ucr.edu/home/baez/physics/Relativity/SpeedOfLight/FTL.html

<comment><USER2> Baez has a lot of cool stuff on his site. Whenever someone asks me "What happens when a flashlight is traveling at the speed of light and you turn it on?" (this happens more than you might think) I refer him to this page: [http://math.ucr.edu/home/baez/physics/Relativity/SpeedOfLigh...](http://math.ucr.edu/home/baez/physics/Relativity/SpeedOfLight/headlights.html)</comment>


Long-Term Pitfalls That Entrepreneurs Forget  - <AUTHOR> http://www.caycon.com/blog/2011/05/five-long-term-pitfalls-that-entrepreneurs-forget/

<comment><AUTHOR> Long term planning is important and I bet most people do not take this into account when they go through their startup phase.</comment>


Increasing abstraction is directly proportional to decreasing software quality - <AUTHOR> It is my observation that if you use a shit ton of abstractions, wrapper libraries, frameworks, so on, your software gets crappier. This is from experience, too. Whereas, if you build something from scratch, that is, reduce reliance on abstractions, the software quality in the long run is more stable. Thoughts? <comment><USER2> The best code I've seen uses abstractions to decouple itself from the libraries and frameworks it uses. I don't see any references to libraries or frameworks within the codebase, except in thin layers at the outskirts.

The worst code I've seen uses 1,000 frameworks and libraries without abstracting its communication with them. It calls their API's directly, inherits from their classes, and passes their domain objects to its own API's.

Abstractions should reduce complexity, making code more robust and simpler to understand. It doesn't always work out that way, especially when abstractions have poor names, but it can. If abstractions truly decreased productivity, then machine-code programmers would blow everyone else away with their speed and efficiency.

P.S. I have a deep respect for machine-code programmers.

</comment><comment><USER3> True, but within reason. For example, if you program in Javascript, you either build your own shitty DOM-library or you rely on a solid one like jQuery.

In general I would say your claim is much more true than it is false because a piece of software with too many abstraction layers and wrappers is orders of magnitudes harder to fix than one which doesn't have enough of them.

</comment><comment><USER4> You might have seen some very bad abstractions. In my experience, they almost always make code more flexible, if designed & implemented sanely. My $0.02.

<comment><AUTHOR> Yes, this was my observation, but I see a pattern with the modern engineering workflow. It's convoluted. What could be done with basic npm scripts is now Webpack, so another abstraction that the beginners have to smash their head against, all in the pursuit of making a basic todo app. Not lying, I use these tools myself, but I try to survey a technology before using it. I ask myself the questions a) is it stable, by looking at any major GH issues and b) can I do it better natively and do away with using a library.

</comment></comment><comment><USER5> <sarcasm> Sure, that's why OOP failed. </sarcasm>

<comment><AUTHOR> OOP is for helping to "engineer" software with hierarchies. What I referred to is framework/library level abstraction. Referring to Hipsters. Hard to scale, bad software, because one doesn't know the underlying technologies they're using. I mean, I am not saying use C, but try to do it natively. Most people use underscore because of some functions that are easily doable in vanilla.

<comment><USER5> Let me think if I get it, for example, you say "use vanilla javascript instead of CoffeeScript", because if you don't know how to javascript works, you shouldn't use any abstraction over something that you don't know how works, right?

I agree with that.</comment></comment></comment>


Why Startups Shouldn't Hire PR Firms - <AUTHOR> http://blogmaverick.com/2012/01/13/why-startups-shouldnt-hire-pr-firms/ <comment><USER2> Good advice for a tech start up. Book ordered. (Also interesting: direct ebook sales for $2.99)</comment>


Why Do Some Sports Vanish and Some Sports Survive? - <AUTHOR> http://nautil.us/issue/39/sport/why-sports-die <comment><USER3> What I find interesting is that the person who would design the game dynamics for a new sport and the game dynamics for a new video game, like call of duty, essentially have the same job description. [https://en.wikipedia.org/wiki/Game_design](https://en.wikipedia.org/wiki/Game_design)

What's even more interesting is how deep game design actually goes in human culture/history. Anything competitive between humans could potentially be modeled as a game. You could even think about war as a game (there are rules, teams). I could imagine ancient humans saw hunting as a game. Play is also super important for the proper development of children.

As for why some sports/games survive while others fail, I'd argue that it's the same reason anything designed lasts the test of time, gets replaced, or becomes obsolete

<comment><USER4> If you are interested in taking this idea further, all life is game, I'd recommend the philosophy book 'finite and infinite games'. Can be applied to all kinds of aspects of human life, eg a startup is a game played by founders who win with a successful exit.

With this philosophy text, Carse demonstrates a way of looking at actions in life as being a part of at least two types of what he describes as "games", finite and infinite. Both games are played within rules, as agreed upon by the participants; however, the meaning of the rules is different for the two types of games. The book stresses a non-serious (or "playful") view of life on the part of "players", referring to their choices as "moves", and societal constructs and mores as "rules" and "boundaries".

In short, a finite game is played with the purpose of winning (thus ending the game), while an infinite game is played with the purpose of continuing the play.

<comment><USER5> I don't think all life is a game in this way; with a game we hold ourselves to the rules _for their own sake_ \- the pleasure we get from play is that of acting within the sandbox we've defined. It is a sketch of life, a model, a way to explore an idea. In the context of a game we might be adversaries, but I am intimately aware of the boundary, and that we are at play - <USER2> adversarial relationship is not "real". We often say, "It's just a game", and the _just_ is crucial to the difference.

This is different from social mores, which are boundaries we respect because transgression has consequences we care about. There are real ends; it's NOT just a game. There is no space or context beyond what happens in life, as there is in a game (taking place within the shell of the true life).

The purpose of play, and playing games, is to prepare us for the actual contests with outcomes that we are invested in.

Of course we might USE play, and games, as tools in the course of achieving real ends (like the Olympics as a goal for furthering peace), but this is different from those ends (peace) being a game in themselves.

<comment><USER6> > This is different from social mores, which are boundaries we respect because > transgression has consequences we care about. There are real ends; it's NOT > just a game.

This just means the games can nest. In the innermost game, you treat social mores as rules to follow and try to excel within them.

But there is a surrounding meta-game where you weigh the pros and cons of transgressing the mores and consequences that leads to. In that game, the mores are no longer _rules_ and transgressing is now a _move_.

Around that, yet another game where the moves are _putting effort into changing social rules_. And so on.

<comment><USER7> Why would you do that? It sounds very schizophrenic to me to make one self have such a distance to normal social and emotional life that one represent it to one self as a game. To treat a social overstep as a rule break instead of understanding emphatically that you have caused hurt i would consider schizophrenic / autism.

I think it is much more healthy, in a mental health way, to not re-present life and instead experience it directly.

<comment><USER6> For what it's worth, I'm not arguing that one _should_ look at their life entirely this dispassionately. Just that their are multiple levels that we operate in where we deal with rules and consequences.

I don't mean "game" in the sense of "doesn't matter what happens". I mean it in the sense of "players interacting within a rule set".

Note that empathy and the feelings of others are hugely important parts of all of the games we play in life. An anecdote: my youngest daughter is one of the sweetest most naturally empathic people I know. She was playing Candyland with her older sister and won twice in a row. This got her sister mad because she wants nothing more to win. But my youngest daughter wasn't _trying_ to win—Candyland is a pure chance game—and what she really wanted was for everyone to have fun. So she told her sister to play again and that she promised to let her win this time. She was trying to play the metagame of maximizing everyone's fun.

</comment></comment></comment></comment></comment></comment><comment><USER8> I don't think the article answers the question it presents.

The only answer it seems to provide is "When cultures disappear, their sports disappear with them."

I think the answer to the question in the title would also answer a lot of similar questions:

"Why do some car makers vanish and some survive?"

"Why do some board games vanish and some survive?"

"Why do some X vanish and some survive?"

<comment><USER9> _> I don't think the article answers the question it presents._

You sure? I didn't need to read further than this quote to answer "Why do sports die?":

      "In areas adjacent to their temples, young men engaged in
      a ball game, known as ōllamaliztli, that concluded with
      the bloody sacrifice of one of the players upon the temple's
      altar. Whether the sacrificed player was a winner or a loser
      we shall never know."

I wouldn't try out for _that_ sport ;-).

</comment></comment><comment><USER10> Money. If the organization that governs your sport doesn't lobby the right people, your sport will stop getting coverage. Without coverage you generate no money. Read: wrestling and the olympics.

<comment> at-fates-hands >> If the organization that governs your sport doesn't lobby the right people, your sport will stop getting coverage. Without coverage you generate no money.

Likewise if both of these things happen (getting money and coverage) there is still a huge chance nobody watches and you still lose

Read:

\- US Soccer (NASL and the MLS)

\- The NHL

\- The X-Games

<comment><USER11> Soccer and hockey have strong, motivated fan bases. They lack a great business model for TV.

Football is fucked long term. Liability is going to shut down the recruitment funnel, and the implosion of TV revenues will wipe out the big money.

<comment><USER12> Soccer lacks a great business model for TV? Someone'd better tell Sky Sports!

<comment><USER11> I should have clarified for American TV. They haven't figured about a way to pause a soccer game long enough to run 25 minutes of commercials per hour.

Baseball is particularly good example of how they do this. Go to a major league game and things randomly stop... A lot. Go to a minor league game, and they are in continuous motion. The games are usually much shorter.

American football is a tv show that involves a ball. As TV goes, so does football.

</comment></comment></comment></comment></comment><comment><USER13> While we're wondering why some sports fare better than others, anyone want to lay odds on the long-term survival chances of the wild and wacky game of Buzkashi? It's the sport where your team, on horseback, tries to get the goat carcass into your opponent's goal.

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

<comment><USER14> Geographic spread seems to help with sports, so is this still a regional specialty, or are there buzkashi sides in the Afghan diaspora? Most importantly, have the blue blazers homologated a Standard Buzkashi Goat? /s

</comment></comment><comment><USER15> A bit of off-topic but I've always wondered if e-sports could be perdurable as well since the interest of the developers goes towards making more money than making it better (improving its rules, adjusting times, etc.).</comment>


Have You Fallen Into The Busy Trap? - <AUTHOR> http://www.feld.com/wp/archives/2012/07/have-you-fallen-into-the-busy-trap.html <comment><USER2> _Added in edit: These links are to two different articles, one is the same as the current submission, the other is an OpEd in NYT. They are different, but related. Sorry for any confusion, but, ironically, I've been busy._

<http://news.ycombinator.com/item?id=4183314>

<http://news.ycombinator.com/item?id=4183452>

<http://news.ycombinator.com/item?id=4184317> <\- Many comments

<http://news.ycombinator.com/item?id=4184651> <\- Some comments

<http://news.ycombinator.com/item?id=4185305>

<http://news.ycombinator.com/item?id=4185397>

<http://news.ycombinator.com/item?id=4193531>

<http://news.ycombinator.com/item?id=4199336></comment>


Google's removal of anti-Beijing comments raises political eyebrows (Economist) - <AUTHOR> https://www.economist.com/united-states/2020/05/30/googles-removal-of-anti-beijing-comments-raises-political-eyebrows <comment><AUTHOR> No Paywall link to article: [http://archive.is/hPbDR](http://archive.is/hPbDR)

This part may be relevant to add to the existing discussion on HN:

More likely, the explanation lies in the nature of the software Google uses to moderate content automatically, which uses a set of computer-science techniques called machine learning. Such software can update itself based on how users interact with the website, without any intervention from human programmers. This automated nature, combined with the software's complexity, make it plausible for errors to arise in ways that are difficult to understand.

For example, if YouTube comments about Wumao and other ccp-critical phrases are flagged enough times by enough users as spam, hate speech or bullying, then the system could start removing them automatically. This could be the result of something as harmless as a furious comment war between pro- and anti-China factions, or of a campaign designed to influence the moderation software. Google says this was not the source of the error, but would not say what was.</comment>


How to build your own programmable keyboard - <AUTHOR> http://martinsosic.com/mechanical/keyboards/2019/10/17/building-my-first-keyboard.html <comment><USER2> wow very nice and detailed guide. Good job, I used only store-bought mech kbs so far but would also like to try to build my own once.</comment>


What We Learned from Tony Hsieh, Downtown Project, and VegasTechFund - <AUTHOR> http://blog.speakeasy.is/post/56244552692/what-we-learned-from-tony-hsieh-downtown-project-and

<comment><USER2> As someone born in Vegas 51 years ago, who left because there was no tech (beyond the test site and TTR), it's strange to watch this happen.

<comment><USER3> Somewhat related, Kevin Rose was also born in Vegas.

</comment></comment><comment><USER3> Building a box-truck attraction always costs more money and takes more time that one would expect. However it's so refreshing to build something that isn't software once in a while.

</comment><comment><USER4> From reading about VegasTech I thought 'The Ogden' was a building owned by Hsieh and restricted to startup people - but it appears that is just a normal building lots of them have chosen to live in? Anybody have an idea of the cost to rent a 2br?

<comment><AUTHOR> Tony does indeed own a large number of the units in The Ogden. This is mostly housing for VegasTechFund people, as well as "crash pads" with bunk beds for visitors. If I am not mistaken, the rent is about $2200 for a 2br

<comment><USER4> Thanks.

Where would you recommend to stay if I wanted to go for a week or two and check things out? I'd just be showing up unannounced (the VegasTechFund site seems to encourage that) but would want to get as close to an authentic experience as possible to what it would be like to actually live there.

<comment><USER5> Definitely somewhere downtown! Find someone on AirBnB, or hell, even stay at a downtown casino. They're still right in the middle of things.

If you want to meet a lot of interesting people in the Vegas Tech scene, maybe you could attend a taping of the Downtown Podcast ([http://downtownpodcast.tv/](http://downtownpodcast.tv/)) or come to a Tech Jelly ([https://twitter.com/VegasJelly](https://twitter.com/VegasJelly)).</comment></comment></comment></comment>


Blurrb.com for sale to the highest bidder - <AUTHOR>

Let's say by 5pm CST the commenter offering the highest $ amount will get it. <comment><USER2> $1 :)</comment>


Ask HN: Where to get cheap GPU servers? - <AUTHOR> I know Amazon EC2 has gpu based servers but are there cheaper solutions I can subscribe to on a monthly basis? <comment><USER2> I wouldn't use it for super important services.... But, I hear OVH/SoYouStart have decent servers. Their support & uptime are pretty shoddy at the best tho.

</comment><comment><USER3> All of our machines at Paperspace [https://paperspace.com](https://paperspace.com) have GPUs and our pricing is much more affordable (disclaimer: I'm one of the founders). Currently only Windows but Linux is coming soon :)

<comment><AUTHOR> when does Linux come?

Pricing is interesting. As far as I understand your service is remote Desktop but the VMs can also used as dedicated server. Will there be an API?

</comment></comment><comment><USER4> I'll bite. WHY? the crazy spot price? whats wrong with physical hardware? The "cheapest" option is to just buy some graphics cards; but that doesn't scale well. Is that why you need "GPU SERVERS"? Your question is meaningless without some background information. What are you doing, ML? What's your stack? how much memory do you need?

<comment><AUTHOR> I am just searching for Servers which have a GPU (linux/windows, CPU, RAM doesn't matter). Is this so difficult to understand?

I need to play around with some "remote rendering" via paraviewweb but can't use my own hardware.

<comment><USER4> Ok. Have you tried any of the ARM-based hosting providers? A lot of time you'll get bare metal, and most SOCs will have some sort of GPU. Not sure whether it'd be beefy enough to run paraveiw. Here are a couple links, I know nothing about them and can not vouch for their quality: [https://raspberry- hosting.com/en](https://raspberry-hosting.com/en), [https://www.unixy.net/arm- server/](https://www.unixy.net/arm-server/), [https://www.mininodes.com/hosted-arm- servers/](https://www.mininodes.com/hosted-arm-servers/).

If a hosting company goes through the trouble of installing GPUs, its usually because their customer is trying to use the GPU to accelerate computations, such as those in machine learning. As a result, they charge a hefty premium.</comment></comment></comment>


Patenting Genes - <AUTHOR> http://www.genomicslawreport.com/index.php/2011/07/31/pigs-return-to-earth-federal-circuit-reinstates-most-but-not-all-of-myriads-patents/

<comment><AUTHOR> I personally find patenting genes disgusting. These genes are naturally encoded in everyone's cells (with some variations). This will have far reaching consequences and will generally impede scientific discovery/progress.</comment>


Creating software for sysops - <AUTHOR> https://plumbr.eu/blog/creating-software-for-operations-make-sure-you-do-not-suck <comment><USER2> Damn straight. Having been on the other side of the fence - having a budget and a few thousand servers - a vendor that wants a hundred grand and can't even be bothered making an rpm has a lot to do to make up for it.

Your agent isn't any more special than the hundred other pieces of software on the same box.

<comment><USER3> And what if your boss wants you to deal with them not providing any RPMs, because the stuff has already been paid for?

<comment><USER2> Good question. If I wasn't in the position of having a budget, I'd:

a) first approach the company asking me to send a link to their packages, making sure their support staff know the company expects packaged software.

b) I'd package it myself, letting my boss know my time was spent doing work the vendor should have.

<comment><USER3> Sure, but I can turn that argument around too. If the software has to support 20 platforms, then your one platform that happens to use RPM is not any more special than the other 19. If they make RPMs they can charge your boss extra. Maybe your boss has a tight budget and chose to push the integration step to his/her own people.

<comment><USER2> \- Windows MSI

\- RHEL/CentOS rpm

\- Ubuntu/Debian dpkg

The practical amount of BSD, SmartOS and Arch users in medium and large businesses is close to 0%.

</comment></comment></comment></comment></comment><comment><USER4> This is a refreshing change - contrast with the MongoDB guys who sell it as "you don't need DBAs" then the devs chuck it over the fence into production and wonder why everyone now hates them.

</comment><comment><USER5> Fantastic list of things sysops wants, no, needs, no, _requires_ out of "good" software. Kudos to Plumbr for understanding and working towards that goal.

<comment><USER6> although not exactly for the Java world (but not necessarily so), even since i attended PyData recently, i've been capturing requirements/ideas for a "Python [c]Profile data visualizer web application spec":

[https://docs.google.com/document/d/1tPhW2FLjHG47rS6xJGzP6R30...](https://docs.google.com/document/d/1tPhW2FLjHG47rS6xJGzP6R30FNDhxaHL1o8zRu5W2Gc/edit?usp=sharing)

and this article was a good read.</comment></comment>


What Happens to Tablets in Europe if Apple Wins in Germany? - <AUTHOR> http://blogs.wsj.com/tech-europe/2011/08/23/the-implications-for-tablets-in-europe-if-apple-win-in-germany/

<comment><USER2> What about the Samsung picture frame some blogger presented. It predates the iPad by years and looks exactly like the Galaxy Tab.

<comment><USER3> Is it older than May 2004? [http://esearch.oami.europa.eu/copla/design/data/000181607-00...](http://esearch.oami.europa.eu/copla/design/data/000181607-0001) is the relevant filing.

<comment><USER4> Presuming the GP is talking about this [http://lawpundit.blogspot.com/2011/08/samsung-digital- pictur...](http://lawpundit.blogspot.com/2011/08/samsung-digital-picture- frame-2006-is.html) then the answer is no.

</comment></comment></comment><comment><USER5> There are many devices which look very similar to the iPad dating back to at least as far as the first series of Star Trek. And there's this electronic newspaper from 1994... <http://youtu.be/JBEtPQDQNcI>

<comment><USER6> We can't let facts and reality come in the way of a good law suit now, can we?

</comment></comment><comment><USER7> I think Apple will have a hard time winning this since they altered some images of the Galaxy Tab.

Some links: [http://www.tomsguide.com/us/Apple-iPad-Galaxy- Tab-10.1-Lawsu...](http://www.tomsguide.com/us/Apple-iPad-Galaxy- Tab-10.1-Lawsuit-Europe-Fake-Photos,news-12190.html) [http://www.zdnet.com/blog/hardware/apple-accused-of- doctorin...](http://www.zdnet.com/blog/hardware/apple-accused-of-doctoring- image-to-sink-galaxy-tab-101-in-europe-update/14246)</comment>


Our three year saga to release 13M pages of CIA secrets - <AUTHOR> https://www.muckrock.com/news/archives/2017/jan/19/three-year-saga-behind-CIA-release/ <comment><AUTHOR> This part made me laugh a bit:

> _The declaration also says that CIA cannot release these TIFF files in > electronic form because they can be so easily altered by the mere act of a > CIA FOIA analyst looking at them, and that the security measures they must > take to remove this accidental metadata for an electronic release (involving > editing each file separately by hand) would take 28 years and 1,200 CDs._

Aside from the issue of the CIA apparently not being able to develop (or download) a batch metadata editing tool, a common excuse by agencies for releasing data as PDFs or image files, instead of Excel/CSV, is because the latter is too easy to manipulate by the public:

[http://www.nytimes.com/2010/04/13/business/13docpay.html](http://www.nytimes.com/2010/04/13/business/13docpay.html)

> _Among the four leading drug companies making physician payment disclosures, > Mr. Coukell said, Eli Lilly, which was the first to disclose, presents data > as an Adobe Flash image, which he said was impossible to download or to > sort. "They've gone out their way, I think, to present it as a Flash > document," Mr. Coukell said._

> _Mr. Dunston said Obsidian had to retype all the Lilly data._

> _Carole Puls, a Lilly spokeswoman, said the company purposely made its > report impossible to download "to protect the integrity of the data." Lilly > was concerned someone could change numbers and create a false report outside > the company's Web site, Ms. Puls said._

<comment><USER2> That's pretty sad, especially for an agency that must have a certain amount of technical competence for their day-to-day.

This could be easily solved by releasing all documents and a list of their hashes simultaneously.

<comment><USER3> The CIA keeps secrets for a reason. All this armchair talk from prople wanting to get CIA material into the open is pure idiocy.

Stupid and dangerous. You know these are the people who protect you from all manner of sabotage and manipulation from foreign nations right?

<comment><USER4> Declassified CIA material holds immense historical value. Each document is reviewed prior to release to ensure there's no harm done to national security.

<comment><USER3> Declassified is fine, and that's what this is about ... I just see too many people with no respect or knowledge thinking that secrets are by nature some sort of problem, and wanting classified things to be in the public domain.

<comment><USER5> Just classify everything then. Problem solved.

</comment></comment></comment></comment></comment></comment><comment><USER6> In the vast majority* of cases, agencies of the US government should have all non-classified data OCRed, indexed, hosted on their site and additionally available on BitTorrent. Put together a reasonable "Open Access Data" budget and make it available under the Library of Congress.

* Thinking things like astronomical data or other petabyte+ data sets.

<comment><USER7> Indeed, I couldn't agree more. Though I'd be happy for them to be coerced into providing the petabyte+ datasets too. If they can afford to store them they should serve them.

I believe the UK signed up along with the US as part of the G8 to an Open Data Charter [1] in 2013. In theory it aims to ensure that _all government data be published openly by default_ , but in practice, as far as I can work out it has no teeth. You can point government departments to it, tell them they should release data, ask why they wouldn't and just get stonewalled.

I particularly pushed hard to try and get data from speed cameras released (without personal details; just time, location, speed, etc.) I even offered to aggregate data, normalise it, run the hosting, etc all at my own cost. Nothing. As far as I can tell there's no one to go to who has the power and influence to make it happen.

      [1] https://www.gov.uk/government/publications/open-data-charter/g8-open-data-charter-and-technical-annex

</comment></comment><comment><USER8> I'm surprised nobody has scraped 100% of this and done OCR to make it all clearly documented and tagged.

Seems like a good grad school research project.

</comment><comment><USER9> Thanks for your efforts Team Muckrock. Keep fighting the good FOIA transparency fight!

</comment><comment><USER10> this is a little unrelated but does anyone know where i can find articles or reports that delve into the substance of the podesta emails rather than the circumstances surrounding the podesta emails? ive been looking all day and i can literally count on one hand the number of articles that report on the contents of the emails. and those dont even go very deep!

<comment><AUTHOR> Pretend you're someone who conducts a lot of daily life via email, e.g. messages related to your day job, setting up appointments, chatting with friends, etc, and imagine that someone has leaked 2 months of those daily emails as a public download.

Now imagine you are someone else tasked with writing something that captures "the substance" of those emails. You've basically been asked to capture "the substance" of someone's life over a 2-month period. The reason why you don't see many "deep" articles about the content of the emails is because John Podesta is someone who is interesting to the public for a specific role: Clinton campaign manager. So the contents of his emails are analyzed in the context of the presidential race, not for any other kind of deep contextual analysis.

</comment></comment><comment><USER11> Is this available via torrent yet? Preferably ocr'd?

<comment><USER12> [https://archive.org/details/CIA-CREST](https://archive.org/details/CIA-CREST)

<comment><USER11> beautiful, thank you</comment></comment></comment>


Using Google as a proxy server to bypass web-blockers, paywalls - <AUTHOR> http://www.labnol.org/internet/google-proxy-server/28112/

<comment><USER2> Not smart enough to get around region restrictions though apparently...

[http://www.gmodules.com/ig/proxy?url=http://www.livestation....](http://www.gmodules.com/ig/proxy?url=http://www.livestation.com/en/bbc- world/popout)</comment>


When Your Freedom Depends on an App - <AUTHOR> https://gizmodo.com/when-your-freedom-depends-on-an-app-1843109198 <comment><USER2> This type of situation is the strongest case I've seen for a software- engineering certification on the level of the ones for civil-engineering.

The trouble with software is that a lot of it is really unimportant, and some of it starts out as unimportant and becomes really important over time, and there's an entire continuous spectrum between the extremes. Whereas the distinction between projects that do and don't need to be regulated is much more clear-cut when it comes to physical engineering, mostly because of cost barriers.

But we need something. I'm sure that half the people on HN could easily make an app like this that wasn't shoddy and bug-ridden. Heck, it's possible the original developers could have if they'd put forth their full effort. But as long as these contracts are going to the lowest bidder, and as long as there's no meaningful bar to placing a bid in the first place, digital bridges will keep collapsing.</comment>


A Brief History of the Congolese Space Program - <AUTHOR> http://weirdthings.com/2010/12/a-brief-history-of-the-congolese-space-program/

<comment><USER2> >things went tragically wrong and the rat became the first causality of the Congolese Space Program.

Maybe they launched it on causal Friday?

[http://www.smbc-comics.com/?id=3558](http://www.smbc-comics.com/?id=3558)

<comment><USER3> If you watch the video closely it seems the second stage burn started right away and the upper stage went tearing past off frame at a high rate of speed.

<comment><USER4> > _the upper stage went tearing past off frame at a high rate of speed_

So the upper stage was under high acceleration, with its speed increasing? </pedantry>

</comment></comment></comment><comment><USER5> Here's a summary: They tried to make an oversize model rocket once. It blew up. That was in like 1978. That was their space program.

 _Edit_ This isn't exactly accurate. They actually "launched" a few. This is how most went, though.</comment>