Crossfit Inc. suspends use of Facebook and associated properties - <AUTHOR> https://www.crossfit.com/battles/crossfit-suspends-facebook-instagram <comment><USER3> Wow I had heard Crossfit was a bit of an obsession for some people and a quirky approach to fitness, but I had no idea their official spiel was this level of paranoia - attacking academia as an unholy alliance of the establishment?

> The voluntary CrossFit community of 15,000 affiliates and millions of > individual adherents stands steadfastly and often alone against an unholy > alliance of academia, government, and multinational food, beverage, and > pharmaceutical companies.

<comment><USER4> If you've ever been an athlete, and have spent 30 seconds watching crossfit - it becomes obvious the goal is to see how dumb of an "exercise" you can do before getting hurt.

There are two type of crossfitters - those who have gotten a permanent and serious injury, and those who are going to get one.

<comment><USER5> Just wondering here --

Isn't crossfit different depending on where you go?

I believe it was invented by some European guy... who did stuff with kettlebells. And most of those exercises are good.

I think the American variant is the one that's dangerous. (Or am I misinformed here?)

<comment><USER6> Don't think it's a geographical split. Crossfit is great if you have really well-informed trainers that put a strong emphasis on getting form and movements correct. Unfortunately there are significant numbers of trainers that do not have the qualifications to be teaching and they put people at serious risk of injury (and end up creating ridiculous exercises for the internet to make fun of).

<comment><USER7> kipping is fucking hilarious

<comment><USER8> What's hilarious about using momentum to progress to a muscle up and eventually a strict muscle up?

In my observation, and this is at many gyms (btw I don't do Crossfit), very few people do every rep of a pull up from a true dead hang. Kipping is silly looking, but the technique does allow you to progress your way into a muscle up, kind of like a push press can help you train your strict press past what you otherwise could.

<comment><USER9> That's because people are impatient and weak. Dead hang pullups are _real_ pullups.

Kipping only leads you to kipping muscle ups. Go on YouTube and see examples of real muscle ups from dead hangs with no momentum. That is true strength, and a worthy goal. The sooner you stop kipping, the faster you can get there.

<comment><USER8> I have the greatest respect for gymnasts, because they are basically top of the heap for pound for pound strength. It's not an area of expertise for me though, so please enlighten me: if using momentum to get a kipping muscle up and then gradually reducing the momentum assist until you can do it strictly isn't the right progression, what is?

<comment><USER10> I think the main problem with the Crossfit-kipping-approach you often see on YouTube is that it doesn't look like the person being filmed is at all interested in ever transitioning to a proper muscle up, but rather to kip as much as possible to get as many reps as possible in 60 second or w/e.

You're absolutely right in that you need to start somewhere, and a properly instructed kip can definitely help there. But you could also start by doing negatives of the partial exercises (start pulled/pushed up and lower yourself down in a controlled manner), which can be at the same time used to teach proper form and naturally transition into a full muscle up.

Once again, it's the classic Crossfit problem: if you do it properly and controlled, it is a nice exercise regimen. According to most anecdotal evidence, a lot of people don't, though.

Edit: retiredcoder also replied with bands etc. to support in the beginning, which is obviously also a good method and, now that I think of it, one I've often seen in my gym. In the same vein, there's usually a pull up machine somewhere in the back that will support you by using a counterweight on the way up, though here you'll have the usual discussion regarding machine/no machine.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> Uh this is typical cultish reaction to being called out: accuse others of doing exactly what you yourself are doing.

I'd like to remind everyone here, in case you are considering crossfit, that several years ago they caused a rash of cases of rhabdomyolysis. So in response they created a clown character called "Uncle Rhabdo" which they attached to propaganda that tried to convince their members that this possibly fatal condition isn't serious. Seriously:

[http://theconversation.com/explainer-what-is- rhabdomyolysis-...](http://theconversation.com/explainer-what-is- rhabdomyolysis-and-whats-its-connection-to-crossfit-75623)

"There is a lively online community posting selfies from hospital and who consider a rhabdo diagnosis as a badge of honour, showing their dedication to exercise."

<comment><USER12> Been doing Crossfit since December.

Had to sign a pretty sensible waiver upon joining.

There was a section describing the symptoms of rhabdo, letting me know in NO uncertain terms that it was a potentially fatal medical emergency. Honestly, I'd never heard of it before reading that waiver. Rather than encouraging me to experience rhabo, Crossfit gave me some crucial warnings there!

Safety's a big deal at the Crossfit gym I go to. I'm out of shape and the instructors pay special attention (and suggest reduced/modified versions of exercises) to make things work for me.

        "There is a lively online community posting selfies
        from hospital and who consider a rhabdo diagnosis as
        a badge of honour, showing their dedication to exercise."

Erm, ah, that's hard to say. While I'd certainly agree that intentionally injuring yourself is utterly insane, I'm not sure that'd be my interpretation of any of this. Like many hobbies and professions, athletes engage in shop talk that borders on gallows humor.

Imagine two violin students comparing their painful callouses. Or software engineers exchanging horror stories about late-night debugging battles with Internet Explorer 6 or talking about screwups where they accidentally deleted some live data. Or firefighters comparing all the scars they've accumulated over the years.

Athletes are no different. Shit happens, sometimes you get hurt and then you laugh about it because it's all part of the journey. That's how you get through it. Screwed up my ankle playing tennis the other week. First thing I did was share it with my fellow tennis buds. We help each other and share the pain and laugh.

I don't want to stereotype Hacker News readers, because a lot of engineer- types _do_ enjoy sports and exercise, but I would imagine there are a lot of HN readers who would have a hard time understanding athletes laughing about their injuries since they've never been there. Just like a pro football player might not be able to understand how/why HN readers willingly spend those late nights hunched over a keyboard. For those of us who straddle both worlds, it's kind of funny, because we know the folks living in those worlds aren't nearly as different from their counterparts as they think they are.

<comment><AUTHOR> I imagine some journalists may read some HN threads about mistakes people make on the job and all kinds of "rm -fr /" scenarios one has been part of, and then write an article about how IT people are so insane that they glorify wanton destruction of systems they are entrusted to maintain and how this "devops" cult is evil because of it.

</comment></comment></comment><comment><USER13> Two things stand out to me as startling/interesting.

First, CrossFit is sort of presenting FB as a public health threat. Obviously it is, but I don't hear a lot of entities make that argument.

Second, CrossFit is doing a role reversal, saying that _they_ will place FB under review, they will decide if FB is an appropriate platform for them. In a way, they're assuming a dominating position (yes everyone knows FB is bigger/stronger, but you can still scare bears off by shouting and looking large, and even weaker players can find upper hands or shift position). That's a strange take on receiving FB's perceived abuse that I have not observed before.

<comment><USER14> It is hard to say whether FB or CrossFit has more influence in this situation.

I have friends on FB who are fanatical about CrossFit. They write and post photos about workouts, events, and achievements. They seem to have limited use for FB otherwise.

With their sizable national (and increasingly global) community of dedicated fitness enthusiasts, I suspect CrossFit has better-than-even odds of launching a wildly successful sports-and-fitness-oriented social network. They would be able to instantly attract a large member base, have a presence in every metropolitan area, and those people would recruit their friends onto the network.

Edit to add: from what I can tell, CrossFit _is_ a social network already. Except its a real-life network with people who spend a lot of time together.

<comment><USER15> CorssFit isnt a social network, its a cult. Ive had multiple friends join the cult, including one friend whos wife divorced him because he didnt share her love of CrossFit. The end result was always the same - chronic injuries usually only seen in professional sports people -> move to multi-level- marketing / influencing for any product linked to fitness / inspirational pr0n.

<comment><USER12> Been doing it for six months and never seen any of this.

Obsessive people are gonna obsess, and some will be drawn to Crossfit, but I've seen nothing more obsessive about Crossfit than other sports I've participated in like tennis or hockey. And honestly I'm not sure any of them hold a candle to software development in terms of obsessiveness... never known anybody to exercise 60 hours a week, but I know a lot of coders and gamers who hunch over a keyboard for that long. (Including me)

        > move to multi-level-marketing

I just go and work out and have no idea about the community around it (other than liking the folks at my gym) but I don't get the MLM jab here?

I've never heard of any kind of referral-based or MLM opportunity in crossfit.

        > chronic injuries usually only seen in professional sports people

I can only share my own anecdotal experiences and that is that our gym's trainers are super focused on healthy techniques for weighted exercises. (And I might add, at least at our gym, you're never supposed to do them at anywhere near your max weight!)

Ultimately, a lot of athletes including me are making a reasoned choice. You can't really control a lot of things about your body, but you can definitely control your cardio fitness and your muscle mass to an extent. There are some risks involved with furthering your cardio and strength but also massive rewards.

        > including one friend whos wife divorced him because he didnt share her love of CrossFit

Is her exercise routine really the cause here, or is it a symptom? This doesn't sound like the healthiest marriage.

I definitely understand that it can cause friction when one partner puts effort into healthier living and one doesn't. I've been on both sides of that coin. Right now my wife's taken the lead, I need to catch up.

I've watched friends die because they refused to be proactive about diet, health, and exercise in general. Never had a friend die from exercising yet. Although some of them really ought to talk a bit less about it if you ask me.

</comment></comment></comment></comment><comment><USER16> I see a lot of scepticism towards CrossFit here and it's probably with good reason, but I just want to add that your experience with the method of training is very dependant on the actual gym you go to.

Where I started training (and I was like the definition of "out of shape") the coaches preach form > intensity every step of the way and actually forbid you to do any dynamic movement before you have not sufficently mastered the strict equivalent. That said, I have also met Crossfitters that can do ten unbroken kipping pull ups and not a single strict one, which is obviously incredibly irresponsible and stupid.

I have now moved away from doing regular CrossFit workouts for many of the reasons listed in this thread, but I can honestly say, that changing my habits from couchpotato to fit dude would have not happened if it wasn't for the community and the style of training I have encoutered there. I learned how to backsquat there, I learned how to lock in my shoulders there, I learned how to stretch there, I learned about the basics of training methodology there. This would have never happend if I would have just gone to Planet Fitness (or whatever) on my own.

<comment><USER17> I'm not judging CrossFit on the program or its value. I take great issue with this straight up anti-vaxx type of thinking:

"Facebook is acting in the service of food and beverage industry interests by deleting the accounts of communities that have identified the corrupted nutritional science responsible for unchecked global chronic disease."

 _science is responsible for disease, listen to us instead_

<comment><AUTHOR> Replacing "corrupted nutritional science" with just "science", as if they deny science as a concept, is a very dishonest rhetorical trick. We have seen very bad nutritional advice given under the guise of "nutritional science" for years, and now we know that advice was very bad. We're still not entirely sure, as far as I know, how good nutritional advice looks like, in many cases, and it may be completely appropriate to point to some nutritional advice as bad nutritional science. And yes, using such advice can cause disease - <USER2> as using "science" at the time which denied the germ theory was the cause of many cases of disease. It's a very far cry from denying whole science or even nutritional science.

<comment><USER17> Using it with the tone that "Big Doritos" is buying off Facebook to help silence dissenting voices in nutrition is disingenuous.

Sure there is lots of bad advice floating around - but claiming a conspiracy requires some hard evidence be put forth.

<comment><AUTHOR> Depending of what you call "conspiracy". Does US Government promoting disastrous nutritional advice for decades and pushing the food industry to produce what we now recognize as extremely unhealthy products qualify as "conspiracy"? Does reluctance of the industry to recognize just how bad those are because they sell extremely well and some are likely to be physiologically and psychologically addictive - constitute a "conspiracy"? Maybe not, since it happens in the open and evidence of it is literally in front of our own eyes every time we go to the supermarket. Does it make anything better if it's not qualified as "conspiracy"?

</comment></comment></comment></comment></comment><comment><USER18> Actions like this are an annoying distraction. Crossfit HQ is kind of a nuthouse. The Crossfit program is truly wonderful as long as you always use proper form. If you can't use proper form on a rep, don't do the rep. It's that simple. I have been doing Crossfit for a year and haven't seen any significant injuries. But my gym emphasizes proper form over numbers. Some gyms ensure people use proper form, some don't. Crossfit (done properly) is leagues better for your overall health than weightlifting, running, bicycling, you name it. It is not necessarily more fun however.

<comment><USER11> > If you can't use proper form on a rep, don't do the rep. It's that simple.

This is sorta disingenuous. A layman can't tell if they're doing an exercise correctly without instruction, and you can do something correctly 99 times and still becomes seriously injured by doing it incorrectly one more time. I'm not trying to make an argument that you shouldn't exercise but it's definitely _not_ "simple."

<comment><USER18> It is not disingenuous. Many crossfit exercises are complex as you correctly observe and require a good bit of practice before you can do them w/ any substantial weight.

A layman should not do them w/out instruction and a good coach will not let laymen do regular workouts until they have mastered the basics.

A good coach also observes a new student's abilities and advises them how to scale the movement properly as they progress. A bad coach does not.

for the same reasons, you should never attempt Olympic weightlifting movements w/out a coach, i.e. snatch and clean+jerk. In fact, I feel pretty strongly you should not learn how to squat or deadlift w/out a coach or personal trainer.

<comment><USER19> I did CrossFit for 5 years and a shoulder surgery and visited about 30 gyms during that time. What you're saying isn't disingenuous but it's thoroughly idealized and unrealistic.

Workouts with high volumes of technical movements are regularly programmed. RFT workouts with 60 snatches. High volumes of kipping pull-ups. Form goes to shit when you get tired, period, whether you are running or snatching, but being on a clock does not lend itself to slowing down, setting up right, and doing a technical movement with good form. It's completely antithetical to it.

The coaching quality at CF gyms is widely varied and in my experience most of the folks regardless of their great intentions have no business coaching that many people doing that many complex movements.

There are much safer ways CF could be doing things. Ditch snatches and kipping pull-ups for a start. Snatches are dangerous when done improperly and kipping pull-ups are specifically bad for shoulder joints in individuals who have not built up enough strength to do several strict pullups.

<comment><USER18> I agree w/ you on both the snatches and the kipping pullups. they both have too high a risk to reward imo.

i also agree that many coaches are terrible.

</comment></comment></comment></comment></comment><comment><USER20> This is actually a big deal. CrossFit, whether you like it or not (I'm not a fan) is at this point a major consumer brand. Not too long ago it would have been unthinkable for a brand this significant to make this kind of move.

<comment><USER21> It should be unthinkable. Do we really want social issues litigated by major brands slinging mud at each other? Imagine Pepsi publishing the equivalent article about how Comcast is evil.

<comment><USER22> > Do we really want social issues litigated by major brands slinging mud at > each other?

I agree the mud slinging in this post is pretty ridiculous, but I certainly like it when major brands refuse to do business with other brands that are harmful to society. For example, those that chose not to advertise on Fox News.

<comment><USER21> I can respect a decision to simply not do business. Going on a rant about it just feels like an attempt to manipulate public discourse for Crossfit's benefit.

</comment></comment></comment></comment><comment><USER23> Interesting, because there's no way crossfit the brand gets where it is today without FB and IG and it's millions of believers posting #crossfit #blessed #pump #cross #fit #getsum #etcetc. Having said that, maybe it's trying to avoid the masses of troll hashtags much like mine above....

</comment><comment><USER24> I'm somewhat shocked seeing almost the entire HN commentariat more upset at CrossFit then they are at Facebook.

If I were to weigh the two companies and their potential harm that can be done to society, globally, Facebook breaks the scale.

Is it really a big surprise to see CrossFit, a company run by people, to come to similar conclusions that inspired things like #DeleteFacebook?

Addendum: I guess the flood of downvotes on this is similarly unsurprising. HN will defend to the death Facebook's private property rights, while absolutely slamming a CrossFit'ers rights to do what they want with their own body. Wait a second, I thought this place skewed Progressive politically... ...I smell a hypocrisy.

</comment><comment><USER25> > "millions of individual adherents"

Is Crossfit a cult? At first I thought the article was a parody or something

<comment><USER26> It has become a cult. I personally have no problem with people lifting and motivating each other and CrossFit was originally quite good, especially the competitive athletes. But now a days it's become a huge cult where it's all about people motivating each other to see how many reps of a certain exercise a person can do while completely throwing the form out of the window. Couple of my friends are in sports medicine field and they tell me on how CrossFit has become a way to keep sports meds employed because it's single handedly the most cases of sports injury in their clinic.

<comment><USER27> To be fair, the growing numbers of CrossFit athletes alone could describe the growing numbers of injuries. If e.g. 10x as many people do CrossFit than do handball, they will account for a majority of injuries.

<comment><USER28> Maybe, but CF regularly uses for workout of the day an acronym that escapes me for now that is basically "until exhaustion" (possibly "amrap" \- as many repetitions as possible). So many of those is going to make you susceptible to injury, especially with their "keep going" mentality.

<comment><USER26> Yea, usually motivation by your peers is a good thing but in CrossFit, it's detrimental as it forces you to stop listening to your own body because of peer pressure.

<comment><USER18> that's true of any exercise that involves a group

</comment></comment></comment></comment></comment></comment><comment><USER29> There's some ridiculous stuff going on where users come into a group, post bad stuff, then report the group. Boom, group deleted. Facebooks gotta do something about it...

</comment><comment><USER30> Wow, it's not often you get a win/win. Facebook will have less bullshit CrossFit stuff, and CrossFit will be less vulnerable to Facebook's bullshit censoring.

Way to go team!

</comment><comment><USER31> > 2\. Facebook collaborates with government security agencies on massive > citizen surveillance programs such as PRISM.

It's slightly weird to only find this an issue _after_ your Facebook page with 1.65m fans has been deleted.

The tone of this piece comes over as really off and aggressive generally.

<comment><USER32> Is it though? I've seen the same thing played out before in other contexts. Someone being abused/taken advantage off, but making lots of money, so they keep their mouth shut. Once they get fired / stop being profitable, they're free to call out what bugged them.

</comment></comment><comment><USER12> I've been doing Crossfit since December and _wow._

That manifesto I just read there was pretty scary and cult-like, complete with totally off-topic jabs at socialism and uh, science?.

I'm having a hard time reconciling that with what my wife and I have experienced at our local Crossfit gym, which has been among the most supportive and pressure-free experiences I've ever had in my life.

To be honest, nobody's ever even mentioned diet to me there and I'm pretty overweight. The Crossfit diet seems to be low-carb, high-protein, high- vegetable which frankly is very sensible and not exactly extreme.

One thing I'd been warned about before doing Crossfit was that they don't always teach proper form for weighted exercises and that therefore there's an injury risk. I've been very wary about that. But the instructors at my gym are super responsive and proactive when it comes to my form. High marks there.

As others have said, Crossfit gyms are independently operated. Culture is going to vary by gym. I suspect (like anything else) the gyms that garner the most attention are the ones that are kinda on the fringe and not the majority where you go do fun/grueling workouts with a supportive community.

<comment><USER18> This is exactly my experience.

</comment></comment><comment><USER33> Wow, I actually had no idea crossfit was an organization. I thought it was just a name for an activity, like calisthenics or something.

That's good they are disengaging from facebook. I was clueless that facebook had forums or community stuff. I always thought of forum users using fake handles, aliases, anything but their real identities. Hopefully they can bolster up their own site and provide an example for others.

</comment><comment><USER34> "The voluntary CrossFit community of 15,000 affiliates and millions of individual adherents stands steadfastly and often alone against an unholy alliance of academia, government, and multinational food, beverage, and pharmaceutical companies."

Paranoid much? Or perhaps it is Crossfit that gets it wrong?

<comment><USER35> It's part of their battle against sugar and type 2 diabetes.

</comment></comment><comment><USER36> Reminder:

Always reflect on who you are associating yourself with, in a cult, company owned group, non-democratic group, activity that marks you as "one of them",etc... you cease to be an individual and become just the fuel behind someone else's agenda and values (neither of which you can control).

Be an individual.

<comment><USER30> Yes, we're all individuals. [https://www.youtube.com/watch?v=QereR0CViMY](https://www.youtube.com/watch?v=QereR0CViMY)

</comment></comment><comment><USER37> CrossFit is fucking bananas, as an "exercise" as well as a cult/religion. Not trying to sound defensive of facebook at all but holy shit, CrossFit is crazytown. The company, the idea, and the customers.

<comment><USER11> That you're getting downvoted means that people here don't know about CrossFit's history. (c.f.: the 'uncle rhabdo' shit from a few years ago [http://theconversation.com/explainer-what-is- rhabdomyolysis-...](http://theconversation.com/explainer-what-is- rhabdomyolysis-and-whats-its-connection-to-crossfit-75623) )

</comment></comment><comment><USER38> Wow, I enjoyed following their Instagram account and am sad to see it go, but good for them for making that decision.

</comment><comment><USER39> > Facebook's news feeds are censored and crafted to reflect the political > leanings of Facebook's utopian socialists while remaining vulnerable to > misinformation campaigns designed to stir up violence and prejudice.

Wat.

</comment><comment><USER40> CrossFit talking about "corrupted nutritional science". That's rich.

</comment><comment><USER41> Facebook = AOL + friendster and was founded by a someone who called his users dumb f*cks. What else can you expect from a company with this kind of DNA.</comment>


Introducing C# in Godot - <AUTHOR> https://godotengine.org/article/introducing-csharp-godot <comment><USER3> Note to the author: Since you specifically point out that C# 7.0 is supported, this example:

        if (ev is InputEventMouse)
        {
            var mouseEvent = (InputEventMouse)ev;
            Vector2 mousePos = mouseEvent.Position;
        }
        else if (ev is InputEventKey)
        {
            var keyEvent = (InputEventKey)ev;
            bool aPressed = keyEvent.Pressed && keyEvent.Scancode == GD.KEY_A;
        }

would be better written as:

        switch (ev)
        {
            case InputEventMouse mouseEvent:
                Vector2 mousePos = mouseEvent.Position;
                break;

            case InputEventKey keyEvent:
                bool aPressed = keyEvent.Pressed && keyEvent.Scancode == GD.KEY_A;
                break;
        }

<comment><USER4> I think switch blocks are only worth it when you have 2 or more `else if`, otherwise a normal `if` is more readable IMHO.

<comment><USER5> Normally I'd agree, but I really like the concise but readable way this handles the casting for you.

</comment></comment></comment><comment> apk-d This is fantastic! This actually puts the engine ahead of Unity in terms of scripting since those guys target a rather outdated version of C#/Mono. Now I can't wait to play around with Godot.

(Modern) C# is my favorite language, but I've been looking into F# recently. Wonder if someday that might be an option in Godot as well. Given how both languages compile to the same binary format, there have been workarounds to use it in Unity even though it's not officially supported.

<comment><USER6> Unity compiles C# to actual native code via IL2CPP, Godot doesn't do it, as far as I can understand it.

The Unity is already supporting 4.6 on its beta version.

<comment><USER7> 4.6 is supported on all versions after 2017.1, but it is still labeled as experimental and not enabled by default.

</comment></comment></comment><comment><USER8> There was a lot of excitement about C# support coming in v3.0 back in last month's discussion:

Godot Engine – Free and open-source 2D and 3D game engine | [https://news.ycombinator.com/item?id=15523416](https://news.ycombinator.com/item?id=15523416) (Sep 2017, 131 comments)

<comment><USER9> I think your links goes to this post.

<comment><USER8> Doh! Thanks for letting me know.

[https://news.ycombinator.com/item?id=15309989](https://news.ycombinator.com/item?id=15309989)

</comment></comment></comment><comment><USER10> Nuget support would be amazing..

</comment><comment><USER11> Can I build/use future Godot releases without any mono/microsoft dependencies?

I notice the post reveals ms has funded the project now. I hope Godot doesn't owe ms any favours..

<comment><USER12> You don't have to use the C# features of Godot. You can still use GDScript to code your game in, or GDNative with any extending language like D, Go, or Rust, so long as you find bindings for them. I wouldn't worry about Microsoft being owed favors, I'd worry more about actual licensing, and if it wasn't for Microsoft (or so I suspect) Mono would still not be as openly licensed as it is now[0].

[0]: [http://www.mono-project.com/news/2016/03/31/mono- relicensed-...](http://www.mono-project.com/news/2016/03/31/mono-relicensed- mit/)

Note how Microsoft was mentioned for their license change (why would that be if Microsoft had nothing to do with the change, wondering if buying out Xamarin gave them power over making Mono more open), and it was announced at the annual big Microsoft event no less. I'm all for yelling at Microsoft when they screw up, but they're doing good things with .NET and C#.

</comment></comment><comment><USER13> _> As of alpha2, Godot is using Mono 5.2 and C# 7.0 is supported._

This is an explicit dig at Unity, which is still(?) on Mono 2.x and C# 3.5 owing to their custom IL2CPP toolchain (with Mono 4.x / C# 6 in beta for the editor only).

<comment><USER14> It is a valid bragging point for Godot that probably doesn't have much to do with Unity which had been trapped in an old version of mono for licensing reasons (not because of the toolchain - it was the other way around). Unity has been able to start updating now that Microsoft opened up and bought Xamarin), and is now offering Mono/.Net 4.6 and C#6 and I assume will continue to modernize.

<comment><USER6> It wasn't licensing reasons but monetary ones, rather Unity did not want to pay Xamarin what they asked for.

<comment><USER14> Same difference - they had a license for an old version and didn't want to pay to upgrade.

</comment></comment></comment></comment><comment><USER15> Is Mono not dying due to .NET core? It seems to be popping up in a few new places but I would have thought new projects would be avoiding it.

The last thing I want is any dependency on MS tooling as they've shown everything they release will include telemetry. I'm just getting started with game dev and I really like Godot, but if the future is going to require MS anything, I'm going to jump ship.

<comment><USER16> Mono is still supported. .NET core and Mono solve different problems - <USER2> example (this surprised me), unlike Mono and the windows .NET Framework, .NET core can't just run random .NET executables you download off the internet. You have to build a core-targeted project from source. Mono also handles cross- platform scenarios like mobile & mac frontend apps right now that .NET core won't be a good fit for in the near future.

<comment><USER17> Mono, .NET Framework, .NET Core, Xamarin.<Platform>, etc are all just different implementations of .NET Standard. I believe .NET Framework is a superset of Core.

They can all run code targeted at Standard but all have slightly different libraries on top of Standard. Mono was originally was intended to be a cross platform stand-in for .NET Framework which is why they can mostly run the same code. I believe Mono and Framework are slowly merging together.

<comment><USER18> I don't think this is true. Framework for example can only reference standard libraries as of 4.6.2. Up until dotnet core 2.0, core was very much an incompatibile subset of framework - even with 2.0 it would be better characterised as a cross platform rewrite of the net framework.

<comment><USER6> Actually .NET Standard 2.0 requires .NET 4.6.1.

.NET 4.6.2 was only for .NET Standard 1.0, but they realised basing on 4.6.1 would be a more sensible decision and fixed it in version 2.0.</comment></comment></comment></comment></comment>


Ruby on Guix - <AUTHOR> http://dthompson.us/ruby-on-guix.html <comment><USER4> I completely see the benefits of using guix, transactional package management seems at the very least an interesting alternative to docker in some scenarios, and could be very interesting from a tool automation perspective.

I don't want to sound negative, but I think the biggest problem with getting me or other ruby developers to package our gems to guix would be the following. The bundler/rbenv system I've been using for years is pretty darn good, personally I haven't had problems with it. I've used it in massive and small projects, and admittedly the only inconvenience is having to manually or through orchestration install the dependencies of certain gems, of which there are also only a few (mysql2 with libmysqlclient-dev and his nokogiri mention are probably the most notable). He does point this out but if you're using docker or some automation tool this is a pretty minor point.

Also I already ensure my gems run their tests on mri, jruby, rubinius, etc. and this seems like extra work for little benefit, especially when most in house deployment scenarios are running with docker or chef/puppet on top of the classic rbenv/rvm and bundler setup. My biggest question is after upgrading a gem version how easy is it for me to push the new version of the package to guix?

So essentially, I wish this article had more arguments to show why guix will better the life of ruby devs.

<comment><USER5> I don't know if it's the same with Guix but in NixOS it's just a matter of running `bundix` and all the Gemfile.lock dependencies are converted to a nix expression. Gem developers can keep developing as usual.

Maybe the only restriction is to make sure the gem has configurable paths if it tries to access system files.

I'm experimenting with it at the moment and converted my blog to be managed by nix on OSX. It's not a walk in the park but it's working. Clone the repo ( [https://github.com/zimbatm/zimbatm.com](https://github.com/zimbatm/zimbatm.com) ) and type `nix-shell` (needs to be installed first) and you should get all the blog dependencies available in your environment.

<comment><USER6> > I don't know if it's the same with Guix but in NixOS it's just a matter of > running `bundix` and all the Gemfile.lock dependencies are converted to a > nix expression.

I'm glad to hear that the infrastructure is working for you. There are, admittedly, some kinks on master, though I have a PR to make things much, much more robust:

[https://github.com/NixOS/nixpkgs/pull/8612](https://github.com/NixOS/nixpkgs/pull/8612)

Unfortunately, while Bundler is generally a great, useful piece of software, there are aspects of its design that make it very difficult - <USER2> antithetical - to cooperate with packaging; if you look at the commit message in the above PR, you can see a thorough description of the challenges.

I have an open PR for Bundler to try to make things a bit more amenable, and recently got the thumbs up with respect to the general idea:

[https://github.com/bundler/bundler/pull/3775](https://github.com/bundler/bundler/pull/3775)

Unfortunately, most Ruby deployments are quite imperative in nature - <USER3> push to a git repository, bundle install, and then bundle exec (that's leaving out all of the subtle prereqs: `apt-get install ...`, etc), as with Capistrano. There doesn't appear to be as much of a culture around packaging (yet), and so there hasn't been a demand for the tools to meet those needs.

I hope that we can push through those problems and make it trivial for people to enjoy the ease/dependability/resiliency of package management, as many people have no idea what they're missing out on.

<comment><USER5> Nice ! That should solve the issue where all gems are re-installed whenever the Gemfile.lock is changed.

I agree that bundler is mainly focusing on the user interactions and is good at that but never look inside. I'm not even sure if the dependency resolution mechanism can be used as a library.

In my opinion bundler should only be used as a dependency-resolution manager. Once gems are installed then they should use good-ol' $LOAD_PATH. Unfortunately there are the git gems and also rails which insists on using bundler.

EDIT: got any thought on adding system dependencies per gem ?

</comment></comment></comment></comment><comment><USER7> As someone who deploys Ruby software to our servers, I've come up with a formula that's served us well.

We take all gems associated with the app (like a Rails app, but we do it with others), and stuff them along with the code into a package created by fpm.

In other words, the packages are completely self-contained; no gems are used from the environment.

The key to this is the --path option to bundle install, i.e.:

bundle install --path vendor/bundle

This command makes sure all my gems are in a sub directory of my project called vendor/bundle. When creating the debian package using fpm which includes all the source code, vendor/bundle also comes along with the package.

After installing the app on our Linux servers, 'bundle exec rails server' uses the gems from vendor/bundle.

This approach does require that I create the debian package on a machine that closely mirrors the deployed servers, so that compiled gems make any sense.

Most all the issues described in the article have not been problems because of this approach. I used to use rvm as part of my build process; it was very brittle. I'm completely happy now; just wanted to share in case that helps someone else.

<comment><USER8> >We take all gems associated with the app (like a Rails app, but we do it with others), and stuff them along with the code into a package created by fpm.

That is exactly what I've started doing at work, actually. It's a short-term win and rather simple, but it's a pretty big hack. Package bundling is quite poor form as it leads to file system duplication and for each duplication you have an additional location to patch when a security vulnerability is inevitably discovered. Ideally each Ruby gem would be its own package. I'm also concerned with reproducibility, so I build packages in as isolated of an environment as possible where I run 'bundle install' with a fresh vendor/bundle directory. Builds take longer than they should because of all the re-downloading. Using Guix, where I can easily represent each Ruby component in a package object, I can take advantage of its content-addressable storage to save time on repeated builds by using the cached gem builds from previous times.

<comment><USER7> Valid points.

We use a 'monorepo', so everytime we update any gem dependency, all of our apps get rebuilt entirely. So, updating all of our packages or not isn't a problem.

And I like the duplication, believe it or not. After having debugged environmental problems with dependencies in various languages over the years, I'm happiest knowing the dependencies in question are in vendor/bundle; end of story. Sometimes, in case of a nasty bug, I have a one-liner fix and I can go to vender/bundle, tweak the gem, and know I only affected the app using it. Those are things I prefer over some lost hard drive space.

Build times are a little long for us, though. That is true. I do a fresh bundle install on every build. That is the second longest part of the build, behind running our dog slow web tests.

<comment><USER8> The duplication is less of an issue in the corporate, one application per VM environment. However, my focus isn't solely on that. Web applications are _really_ hard for most people to self-host. They are made a bit easier by things like OmniBus packages that bundle absolutely everything, which makes the user dependent on each application author to ship security fixes to software they didn't write.

There's also the issue of stateful package managers that can break in the middle of a package install and you're screwed. Most of the time that doesn't happen, but I've been bitten before. So the fpm approach is a great short-term win and I want to roll it out to the production systems at work soon, but in the long term I think we need functional package management to make our systems more resilient to failure.

</comment></comment></comment></comment><comment><USER9> Looks pretty cool, though it is a pretty daunting task to convince all gem developers to test/make their gems compatible.

Perhaps this could make [http://devblog.avdi.org/2015/08/11/what-its-like-to- come-bac...](http://devblog.avdi.org/2015/08/11/what-its-like-to-come-back-to- a-ruby-project-after-6-months/) easier ;)

<comment><USER8> I don't expect to convince all gem developers by any means, but it doesn't hurt to ask nicely if the brave few would give it a try. ;)

<comment><USER9> I certainly will :)

</comment></comment></comment><comment><USER10> What is exactly wrong with piping curl into bash? I'm trusting RVM _anyway_. As for functional package managers, I'll believe it when I see it. The reason things are brittle is that any time something in the middle of a dependency chain changes the whole chain may break. The more you freeze things, the greater chance there is to freeze up a security hole (see what is going on with Docker). So you have two choices: be ok with the freeze, or update the whole chain. In this respect I prefer the latter, and I especially prefer the way Ruby does it where, due to the global namespace, I'm forced to upgrade the gem _everywhere_ so I end up fixing things and keeping the whole project up to date. While this seems frustrating at first, once you realize that everyone in the Ruby community is doing it, you realize that the reason it is usually painless to update your gems is because other people have fixed those other holes. What is especially nice is that you only have to remember things that are broken at T0, unlike, say, Node, where a popular nested node_module may have 10 different versions in your dependencies and you keep hitting the same bug or security hole over and over again.

<comment><USER11> I've found all the hate surrounding this practice to be pretty misdirected. As long as it's served over https, it's functionally equivalent to "download and run this random package installer!", which is generally tolerated.

<comment><USER8> For the record, I do not tolerate "download and run this random package installer!" either, without GPG signed binaries and corresponding source.

<comment><USER12> I am quite sure RVM now offers a signed download too.

[https://rvm.io/rvm/security](https://rvm.io/rvm/security)

</comment></comment></comment></comment><comment><USER13> Can guix be used somewhat like virtualenv?

I'm not sure I want to install guix on my main Archlinux box, as I don't want conflicts with the existing libraries and applications, but I would very much play with it if it were possible to do something like this:

        guix virtualenv myapp
        cd myapp
        guix activate
        guix install postgres # installs a local postgres installation available only on this "environment"
        guix environment -l myapp.scm # install app dependencies
        <do work>
        guix deactivate

This would be a killer feature for me and I would ditch virtualenv, pip, npm, perhaps Docker in a heartbeat.

<comment><USER8> Yes, the 'guix environment' tool is like a language-agnostic virtualenv. Guix does not use or interfere with any components from the host distro, so you can install Guix on top of Arch Linux without fear. We have a binary installation method[0] that isn't too difficult that you can try out. I use Guix on top of an Ubuntu host at work.

For your PostgreSQL example, you'd still need to do things like initialize the DB cluster and start the daemon on your own (the GuixSD distro has a system service for this[1]), but to spawn a shell with the postgres daemon and client programs available you would run:

        guix environment --ad-hoc postgresql

Exiting the sub-shell would do essentially what you had in mind with 'guix deactivate': Make postgresql available for garbage collection (via 'guix gc') if/when nothing else is using it.

[0] [https://gnu.org/software/guix/manual/html_node/Binary- Instal...](https://gnu.org/software/guix/manual/html_node/Binary- Installation.html#Binary-Installation)

[1] [https://gnu.org/software/guix/manual/html_node/Database- Serv...](https://gnu.org/software/guix/manual/html_node/Database- Services.html#Database-Services)

<comment><USER13> The point was to install the deps into my project tree, instead of putting everything into /gnu, but to think of it that's not actually much of a problem, it's just personal preference/bikeshedding.

I'm installing it and see how it goes, thanks.

<comment><AUTHOR> "Installing" a package with Guix really just means that it is referenced through a link. /gnu is just a cache for "evaluated" package recipes. You could create a profile that contains your symlinks to the items in the store wherever you want, including the currenty directory.

        guix package -p $(pwd)/.guix-profile -i what ever you want

Programmes in this profile can then be executed like so:

        ./.guix-profile/bin/what

But that's not necessary when you could just use `guix environment` and enter a shell where everything is already hooked up.

</comment></comment></comment></comment><comment> bro-stick Notice the striking similarities of package management definition files and configuration management, where the latter does more related to state, coordination, attributes and templating files. Packages are just more generic containers of resources and metadata, configuration management makes those resources concrete on specific systems and applies tweaks to converge on the desired catalog state.

Btw, has anyone written a usable Guile-based cfg mgmt tool yet?

<comment><USER8> >Btw, has anyone written a usable Guile-based cfg mgmt tool yet?

That would be Guix. We use the same primitive utilities for package management and system configuration management. I'm typing this from a laptop running the GuixSD distro, and if a system upgrade were to break things, I can roll-back to a previous, working generation of the system at boot time and keep on going.

<comment> bro-stick That make a ton of sense because the boundaries between packaging and cfg management are artificial.

</comment></comment></comment><comment><USER14> I like the approach of using gs (simple gemsets) [1] and dep (simple dependencies) [2]. I've been using this approach of handling dependencies for a while now.

I've written a simple shell script as a replacement for gs (since I constantly forget if I was in a sub-shell or not). All it does is change $GEM_PATH and $GEM_HOME when $PWD changes (while staying in the same shell). If the current $PWD has a directory ".gs", `gem install` will install them there instead of globally. All I have to remember is to create a .gs directory when I start a new project.

It does not address all issues highlighted in the article, nor do I know how well this would work in a production environment with automated deployments. It's probably more of a work around than a solution. I vastly prefer it for personal projects, though. Hate solving gem conflicts with "bundle exec".

[1]: [https://github.com/soveran/gs](https://github.com/soveran/gs) [2]: [https://github.com/cyx/dep](https://github.com/cyx/dep)

<comment><USER15> Instead of changing environment variables when $PWD changes, I went the other way: make it obvious when you're in a subshell by strapping $VIRTUAL_ENV onto $PS1. Again, simple shell scripts win[0][1].

I'm still interested in a cross-language approach, but I'm suspicious of anything which requires an explicit import step for rubygems that doesn't involve resolving the dependency tree. Unless Gemfile.lock is involved, it's going to need to copy Bundler's resolution algorithm, which seems fraught.

[0]: [https://github.com/regularfry/gemsh](https://github.com/regularfry/gemsh) [1]: [https://github.com/regularfry/rv](https://github.com/regularfry/rv)

<comment><USER8> >but I'm suspicious of anything which requires an explicit import step for rubygems that doesn't involve resolving the dependency tree.

The current 'guix import gem' utility doesn't do dependency resolution at all. It just generates some Scheme code for you to start with and you fill in the gaps. It's important to understand that Guix packages specify the _exact_ versions of its dependencies. That includes not only the version number, but its explicit dependencies, the Ruby used during the build, the GCC used for native extensions, the full build script, etc. All of these various inputs to the build function are reflected in the SHA256 hash that uniquely identifies that package.

The loose versioning that Bundler uses is indeed very flawed and prone to strange errors. Guix simply doesn't have this issue.

</comment></comment></comment><comment><USER16> Nothing about rbenv in the post. Any reason why not? Some of the things you pointed out about rvm would be handled by using rbenv instead.

<comment><USER8> I should have made a note that I've been using rbenv as an escape from rvm and it has roughly the same set of problems, but it is a bit less enraging.

<comment><USER17> As someone who tried RVM for a while and until it's problems became obvious, and lived (very successfully) with rbenv as an escape for a long time afterwords, I have been liking chruby:

[https://github.com/postmodern/chruby](https://github.com/postmodern/chruby)

It doesn't have most of the problems of RVM/rbenv, and mainly provides an easy way to switch between rubies while leaving everything else as full-path references instead of the "magic" tht RVM tries to provide.

That said, I really like the local $GEM_HOME method, and guix sounds like an interesting solution.

<comment><USER8> Thank you. I think the benefits of Guix start to become even more evident when you work in a multi-language environment with god knows how many package managers. We don't yet have all the packages that people need, but that will happen in time if other people see value in Guix. We will see.

</comment></comment></comment></comment><comment><USER18> I'm starting to think that I should go back to GoboLinux from Ubuntu.

</comment><comment><USER19> I imagine everything said in the article also applies to the Nix package manager[0]. One of its nice features is the Nix expression language (aka Nix) [1]. It has an elegant mixture of purity and pragmatism. I imagine guile scheme would have a lot more integration opportunities outside of just system/build/configuration management. It'd be interesting to see Guix expressions that actually mix other scheme libraries or concepts, rather than just taking Nix expressions and removing the syntax.

[0]: [http://nixos.org/nix/](http://nixos.org/nix/) [1]: [http://nixos.org/nix/manual/#chap-writing-nix- expressions](http://nixos.org/nix/manual/#chap-writing-nix-expressions)

<comment><AUTHOR> I very much like how Guix is just a Guile Scheme library and can itself be integrated with other Scheme code. There is, for example, guix-web, a web interface to the package manager; there also is an Emacs interface using geiser.

Using Guile has turned out to be a great feature in itself and it is still fueling the development of new features that otherwise would be awkward to implement, such as the new "guix graph" command to visualise dependencies.

</comment></comment><comment><USER20> > I'm not sure how you feel, dear reader, but my Ruby environments feel like > one giant, brittle hack

Of course things are not perfect (and guix may have a few cool ideas), but I think we should keep in mind that both rvm and bundler have been huge improvements.

The hacks people needed to come up with before rvm and bundler existed were an order of a magnitude more brittle.

</comment><comment><USER21> Some of these issues can be resolved using Ruby Install [https://github.com/postmodern/ruby- install](https://github.com/postmodern/ruby-install)

<comment><USER22> i think guix/nix solution (can) goes beyond ruby platform and you can define dependencies on non ruby components: postresql, mysql, mongodb, ...

</comment></comment><comment><USER23> I really hope no one is ever doing `rails >= 4.0` in their Gemfile.

<comment><USER24> Yeah, while I think the approach outlined in the post makes sense and could be really great, I really haven't had any of the problems outlined since the bad old `config.gem` days. In my experience, everyone defaults `~> X.Y.Z` dependencies, with more lenient patterns justified by actual testing, and I can't remember the last time I saw a blanket `>= X` requirement. This has meant that all, or very nearly so, of the dependency problems I find myself handling are due to actual incompatibility, which I'm glad were caught.

</comment></comment><comment><USER25> NB, this is a post by David Thomas, not Dave Thomas, the longtime and well known Rubyist.

<comment><USER8> Thompson, actually. I am not the Wendy's guy. :)

<comment><USER25> Oops, sorry :)</comment></comment></comment>


Scientists have found a way to help learn skills faster - <AUTHOR> http://www.sciencealert.com/scientists-have-found-a-technique-that-helps-you-learn-new-skills-twice-as-fast <comment><USER2> If anyone is curious, the psychologists discovered this long ago; it's related to spaced repetition, but in education & sports & psychology, this is known as blocking: you get better skill gain by not massing practice on a single skill, but by regularly rotating through multiple tasks. (So in a baseball study, the players would rotate through batting, throwing, catching etc, instead of spending a long time at each activity.)

<comment><USER3> This seems to be a different thing than just practicing different activities related to the same sport. These are two functionally similar activities which use slightly different muscle patterns to accomplish, so that the trainee is directly applying their knowledge of the first action to the second, but can't just do the precise same motion.

> _"If you make the altered task too different, people do not get the gain we > observed during reconsolidation. The modification between sessions needs to > be subtle"_

A better baseball analogy might be practicing catching line drives then practicing catching popups then practicing catching one-bounce throws then practicing catching a lobbed egg.

Or maybe practicing batting and then practicing golfing and then practicing kendo swings.

<comment><USER4> If I'm reading the source article correctly (linked below by Perixoog), it sounds like change was so subtle that the participants themselves weren't even aware of it:

"Participants were unaware of this manipulation"

"We chose to manipulate sensorimotor variability so that participants were unaware of the fact that there was any change in the task"

[1] [http://www.cell.com/cms/attachment/2045379445/2056784269/mmc...](http://www.cell.com/cms/attachment/2045379445/2056784269/mmc2.pdf)

So not only are the tasks similar, but they're so similar that participants weren't consciously aware that they were doing something different. Wacky

They also mention that "participants strengthened skill through the re- exploration of sensorimotor space."

I wonder how large an exploration of the sensorimotor space could be while generalizing/improving the original skill. (re batting and kendo). No idea, but interesting article either way

<comment><USER5> Which makes me wonder if you can apply this as an autodidact. If you know you have made subtle changes, do the results still hold. I'd guess the answer would be yes but it could be an interesting problem.

There also might be a delta (variation of the activity) that optimizes the learning progress. My guess for that would be...change too little and you're inefficient, change too much and you are inefficient, too.

<comment><USER4> This is all speculation, on my part (certainly not an expert in this area)

In the article they say that "Contextual variability can strengthen retention [15] and generalization of skills", but that they "chose to increase sensorimotor variability while maintaining constant the original learning context."

They also mention that "attributing errors to internal sources can strengthen learning [19, 20] and generalization [21] of motor behavior"

My guess for an autodidact would be how powerful internal attribution is compared to the change in context and exploration of the sensorimotor space. Of course, they're probably not discrete, and probably also impact one another.

Sounds like some really interesting possible implications, and possibilities for further research. Really makes me want to reread the article and go through some of the articles they cite

</comment></comment></comment></comment></comment><comment><USER6> I think this is called varied practice and that the idea has been around for awhile. The book Make It Stick[1] discusses a study that had 8 year olds toss beanbags at a target. For one group, the distance to the target was varied. For another, the distance to the target was fixed. At a later time, both groups were tested and the group that practiced with a variable distance performed better than the fixed distance group.

[1] [http://www.amazon.com/gp/product/0674729013](http://www.amazon.com/gp/product/0674729013)

</comment><comment><USER7> Current Biology - Motor Skills Are Strengthened through Reconsolidation

12 page pdf: [http://www.cell.com/cms/attachment/2045379445/2056784269/mmc...](http://www.cell.com/cms/attachment/2045379445/2056784269/mmc2.pdf)

<comment><USER8> Thanks ... it's really bad practice from news articles to not link to the actual study or cite it. "Scientists found ... " yeah at least they mention the author and the journal.

</comment></comment><comment><USER9> How would this apply to something like learning to play the piano or guitar? The examples given for sports training seem practical, but I'm having trouble envisioning small variations of a similar type for things like instruments. Maybe varying the size/weight of the piano keys, or fret spacing on a guitar?

<comment><USER10> I'm thinking more along the lines of practicing different scales, arpeggios and pieces each time, and practicing several different things instead of repeatedly practicing a single thing. Unfortunately, though, as an amateur violinist, I can say that this approach is not all that feasible after a certain level. Varying your warm-ups like what scales, arpeggios and etudes you play might be a good idea, but in the end the only really effective way of mastering a piece is to play it over and over, mostly in small sections, until you get it right. If you just scim over it each time, you're probably going to let mistakes slip in and ferment. But maybe changing something less related to the actual activity more in line with what you suggested might also work - lowering and raising the music stand and piano stool or chair, changing instruments or location, etc.

<comment><USER11> If you take the approach of mastering the instrument instead of a piece then scales, arpeggios, and other building blocks become critical. Almost like learning improv jazz violin, before taking on a classical piece

<comment><USER12> Mastering a musical instrument can be broken down into physical skills and aural skills. Exercises can be useful for physical skills, but aural skills can be practiced without them. Improvising is about being open to where you can go, and ear training of various kinds is going to be far more useful for that than practising the same group of exercises time and time again.

<comment><USER11> Scales is the key to improv in my experience

<comment><USER13> Scales are an important and necessary part, but I agree with ZenoArrow - developing aural skills is the key. It opens up so many possibilities. I haven't fully mastered those skills yet (still working on them), but learning just a little is like suddenly having a map while trying to find your way around a city. Before, you stumble around, stopping to ask for directions and taking wrong turns. After, you can plan what you want to do much more easily.

</comment></comment></comment></comment></comment></comment><comment><USER14> Random anecdote, take care of your heart. Impaired blood flow will decrease your skills (be it physical, neurological, intellectual) and your ability to grow again.

</comment><comment><USER15> Don't buy your child a bicycle: buy him/her _two_ bicycles.

<comment><USER16> Instead of the awkward "him/her", try just using "them" to de-genderify your pronouns.

The slash looks goofy.

<comment><USER17> Wouldn't that just be grammatically incorrect? Unless you replace "child" with "children" of course ...

(Australian English speaker here.)

<comment><USER18> English used to allow 'they' to be singular (Shakespeare used this). Some people are coming back to it as acceptable as it's easier than the other solutions.

</comment></comment></comment></comment><comment><USER19> There's also Donepezil, a drug similar to the one from the movie Limitless (2011).

[http://www.dailymail.co.uk/sciencetech/article-2593268/The-d...](http://www.dailymail.co.uk/sciencetech/article-2593268/The- drug-helps-adults-learn-fast-children.html)

        - Donepezil is used to improve memory function in Alzheimer's patients
        - Children learn skills quickly as their brains go through 'critical periods'
        - Researchers found donepezil can revert adult brains to these periods
        - It increases the 'elasticity' of the brain making it capable of learning rapidly
        - Researchers rewired a visually impaired patient's brain to process images
        - The drug works by boosting chemicals in the brain that reduce with age

</comment><comment><USER20> I'd describe at least one of the factors as "play". "Play" to get to know the system you are trying to learn. This knowledge than helps with the specific task.

Given the study I assume a different mechanism coming in to play also:

If you try to play a musical piece on an instrument teachers will advise you to practice as slow as needed, not to make a single mistake, that could end up being learned.

It's like trying to correct yourself on word you mangled up while speaking, you'll be so fixated you immediately make the mistake again and again.

This memory effect might have been countered by the variations in the study.

(I posted the same thing elsewhere, but as a comment of the furthest down top- level comment I doubt it will be seen there)

</comment><comment><USER21> I am understanding this to mean the small, but sensible variations, gets at the dynamics of a task better than mere repetition does.

Instead of learning to correct toward a given nominal, we get a sense of what nominal is, given an input, essentially.

<comment><USER20> I was really missing this from the article. I'd describe it as "play" to get to know the system you are trying to learn. This knowledge than helps with the specific task.

Given the study I assume a different mechanism coming in to play also:

If you try to play a musical piece on an instrument teachers will advise you to practice as slow as needed, not to make a single mistake, that could end up being learned.

It's like trying to correct yourself on word you mangled up while speaking, you'll be so fixated you immediately make the mistake again and again.

This memory effect might have been countered by the variations in the study.

<comment><USER21> Yes, you hit it on the instrument practice.

I struggled with exactly that, and failed on that instrument. Never did quite get the same thing out of it twice, without a lot of focus on that thing.

Later, with little formal practice, I would play with a different one. Ended up with some modest skill that remains today.

</comment></comment></comment><comment><USER22> How would this apply to learning a conceptual topic, as opposed to a physical skill?

<comment><USER23> when trying to learn something, engage with it repeatedly on exponential decay. IE. Index cards. Go through them as many times as it take to learn whatever you are learning. Then perform a 20-30 minute context switch. do again. Now wait 1 hour. Do the cards again. Wait 2 hours. Again. Do this until you review those cards at the week level. You can learn almost anything with very high recall 6-9 months later with this method.

edit: Sleep is an extremely important component of this. You must be well rested, and preferably do not ingest significant amounts of alcohol before sleeping as that will mess up short term to long term memory mapping from hippo to pfc.

<comment><USER24> I can anecdotally attest to this. When I had a piano recital coming up I used to practice very intensely, but would 'hit a wall' at some point. When I came back to it the next day I'd find my playing had improved significantly.

It almost felt like the gains from practising got stored up somewhere while I was awake, and slowly unspooled while I was sleeping.

<comment><USER23> this is how short-term -> long-term memory works. You build up 'competence; in the hippocampus during waking hours, and then when you sleep 'a part' of those memories are shifted into other areas of the brain so the hippo can be fresh for the next day. Caveats apply to things sometime take days, don't move, get erased etc. hippo is very capable so people can operate without sleep for quite a while but eventually overflowing this buffer/registry causes insanity/death. hilariously, your long-term appreciation of time is just the working set in hippo divided by the stored area in long term memory. thus as you get older time appears to go by faster in the aggregate. experience of simple in the moment phenomena is controlled elsewhere.

</comment></comment></comment></comment><comment><USER25> I've known this for over a decade... My piano teacher instructed me to do that.

To learn any piece by heart, never start at the same measure, play voices separately, combine different voices, sing together with it, play it backwards (measure n then measure n-1 + measure n, then measure n-2 + measure n-1 + measure n...), you can do this with bigger sections as well, change tempo, etc. I still remember how to play my 4-voice Bach fugue even though I've stopped playing the piano for years now. I tried this with text and public speaking too and it works.

I thought this was widely known...?

<comment><USER26> Can confirm this is widely known within music pedagogy.

However, quite a few of my peers thought it was "stupid" and just practiced the same piece over and over, at the same tempo, without ever stopping and working on the hard parts.

After several years of music, there was a pronounced difference between those who practiced effectively and those who merely repeated their mistakes.

Perhaps a study like this could convince future students that it's worthwhile.

</comment></comment><comment><USER27> This is old news: train your brain guides used to tell people to do this same stuff. Intuition trainers also did it with simulations and such that varied a bit. Those doing it knew it worked due to better performance. Published experiments confirming it is A Good Thing, of course.

</comment><comment><USER28> This one weird trick that will make you learn things twice as fast.

</comment><comment><USER29> That's why polygot programming is better I guess.</comment>


Play around with HTML,CSS,JS,Haml,Sass,Coffeescript - <AUTHOR> http://tinkerbin.com/

<comment><USER2> This is really cool but unfortunately I can't type a '#' which is pretty essential.

I'm using a Macbook with the UK keyboard which for some rather odd reason dispenses with the # key and instead one must type option-3 to display a #. This conflicts with the applications hotkey which maps alt-3 (aka option 3) to switching tabs.</comment>


Cold Water Swimming - <AUTHOR> http://www.coldwaterswimming.com/

<comment><AUTHOR> Was presented by HN: c1sc0 at ignite session LeWeb10 in Paris to raise fund for @CharityWater. Check the Ballsy guy with this video <http://www.youtube.com/watch?v=zVVXUDUez6I>. Brrr</comment>


Researcher cracks Wi-Fi passwords with Amazon cloud - <AUTHOR> http://www.theregister.co.uk/2011/01/11/amazon_cloud_wifi_cracking/

<comment><USER2> Not judging but I love how the term "researcher" has been adopted as a way to guise whitehat activities.

I wish I could use that to get out of speeding tickets

 _"Officer I am just a researcher and trying to determine if the 55mph speed limit sign is really the law and if it's possible to break it"_

<comment><USER3> Meh, as long as you're only picking your own locks, who cares? (And yes, there are people who pick locks for fun.)

<comment><USER2> Yup, they found the kyrptonite lock bic pen loophole and made a whole bunch of bikes more safe today. But they also educated a whole bunch of dumb thieves who didn't know in the first place (the smart thieves knew but they are far more rare). So it's always a mixed bag.

Still, in the end I'd rather know about security problems even if it means the "bad guys" get told at the same time, otherwise you just have security theater.

</comment></comment></comment><comment><USER4> Is this some kind of artificial test or is it a real issue? What I mean is that the article mentions running through about 400,000 passwords per second and the hack took 20 minutes. But wouldn't most servers or routers block the user out after so many failed logins? How do they get around that?

<comment><USER5> You don't actually send 400,000 passwords to the server. You capture legit packets traveling between the access point and an authorized user and then run your brute force algo on their encryption.

</comment></comment><comment><USER6> Wasn't this done months ago? (/me looks for the article)

Well, this was more generic: <http://news.ycombinator.com/item?id=1907513>

Oh, it was over a year ago: [http://it.slashdot.org/story/09/12/07/2322235/WPA-PSK- Cracki...](http://it.slashdot.org/story/09/12/07/2322235/WPA-PSK-Cracking-As- a-Service?from=rss)

<comment><USER7> In the nicest way possible, this is probably just an ad piece for his service (<http://www.wpacracker.com/>) It has been possible to brute force WPA-PSK for ages, you just needed a lot of computing power. It appears he did this with a dictionary attack, not bruteforce (see: [http://www.h-online.com/security/news/item/Cracking-WPA- keys...](http://www.h-online.com/security/news/item/Cracking-WPA-keys-in-the- cloud-1168636.html)) and, so, it is no wonder it was fast - but that is limited.

EC2 is an option, sure, but it's going to get expensive for commercial purposes. (I have issues with their costings... if it took 20 minutes, even using just one instance that would be.. $5.60, and other sources state he used many more than one :D EDIT: ah, sorry, he did use one instance and they are talking about his "6 minute" promise. Still, nothing you couldn't do on a decently fast "local" machine for cheaper)

We ran some trials with EC2 and the cost starts to mount for anything complex. A few of racks of meaty servers is, if you have a volume of work, is a cheaper investment.

Ultimately it looks like he is dealing with dictionary work - which is fine (and does work well). But will quickly fail with anyone competent (I going to hazard a rough guess of about 25% of the time based on my experience), which is where work with pre-computed tables and bruteforcing comes into play.

I'm not sure there is much substance to this story, sadly.

<comment><USER8> wpacracker.com is run by Moxie Marlinspike, not this Thomas Roth. (and no, Thomas Roth is not his real name). Furthermore I can't find any link between this (or the others) news article and Moxie's wpacracker.com, and I can't figure out why he would only be presenting wpacracker at blackhat now.

<comment><USER7> Ah sorry. I got the impression there was a link die to how it was presented.</comment></comment></comment></comment>


How To Gauge Likely VC Interest In Your Company Early - <AUTHOR> http://www.markpeterdavis.com/getventure/2008/05/when-to-start-f.html

<comment><USER2> VCs probably still think the venture capital market is biased in their favour when at least in software that has changed.</comment>


How Startups Can Use Patron's Formula for Building a Successful Online Community - <AUTHOR> http://waynechang.com/2010/09/15/patrons-formula-for-building-a-successful-online-community/ <comment><USER2> Great case.

I used to work at DDB which did something similar for a pear liquor called Xanté.

The main goal was to get the bottle to be visible in the bar (which means more people will see it)

So instead of targeting end users the target was top bartenders.

The campaign went something like this.

1\. Miss Ching (a danish/asian model) would go into a bar and ask for the chief bartender.

2\. Once found she would tell the bartender that her employer wanted to get in contact with them about some very important things in a few days.

3\. She would then handle them a cellphone with a few numbers stored in there already. And then leave.

4\. Over the coming days the phone would then send SMS's out to the bartender which was basically pre-defined. If people wrote back then they would receive some random SMS back saying things like "Wisdom lies in paradox"

5\. We would also have website that people could try and hack. It just had a password and then some of the SMS messages contained clues to parts of the password.

6\. After the 5th or 6th day they would then receive coordinates that they were asked to go to.

7\. At the location the would be flown to a castle where the brand would finally be revealed in it's entirety.

It was pretty successful and got the bottle featured quite a few places.

This was done back in 2001

<comment><USER3> That sounds really interesting. Are there photos/videos of this somewhere?

</comment></comment><comment><USER4> Offline community is such an important part of building online community, and Patron captured this well, but the part I really liked about this post was how they looked at the typical available options (hosting parties at a bar) and then took a perpendicular decision: Let's spend that money on our own terms.

If you've ever done event planning, having a catered gig at a restaurant, etc., can be extremely prohibitive, but renting a boat and using your own people can cut through all those overhead costs and deliver a better ROI.

I do wonder: With only ten people, what does Patron do if one of the 10 turns out to be a real creepy individual, ruining the experience for everyone?

<comment><USER5> Seems like an awful lot of overhead -- in terms of cash and labor -- to only touch a small amount of people. Compare, for instance, to a nightclub event sponsored by a liquor in Miami that turns out 500+ people.

<comment><USER6> How many of 500+ people will have negative experiences which they will share online?

That's the danger of an event like that.

<comment><USER7> The possibility of negative experiences is the danger of a Patron event too. It's easier for one person to ruin an "exclusive" event with only 9 other people, more likely to generate whining from people that have missed out and easier for the grumpy person to be the only one that actually has a blog. People arbitrarily selected for a hugely lavish "exclusive" event are strangely more likely to object to being treated as a glorified photo opportunity, delays and not liking one of the dishes on the 5* menu than people lured into a moderately exclusive nightspot by the promise of entertainment and selected free drinks if they and their friends can stomach the queues.

You can make more compelling YouTube videos of your branded live music event too.

The reality is that it all ultimately depends on whether you're trying for mass appeal or exclusivity.

</comment></comment></comment></comment><comment><USER8> Great article. You clearly understand the importance of building an offline community to fuel the online one. face to face intimacy can never be replaced (it was why Yelp started so strong).

I think Patron specifically faces a problem with promoting product use (bottle registrations, pictures of use ..etc). A liqour company must be militantly careful about promoting over consumption. By awarding the people who register the most bottles its not a large logical leap to accuse them of promoting irresponsible drinking.

What they do know, by just giving the brand an exclusive identity and promoting participation on the site and events is about as far as they can go.

My suggestions would be for them to start promoting what goes well with Patron and creating connections to things (food, activities places) that can be promoted without treading in the dangerous area that is irresponsible drinking.

Great Work to you and Patron!

<comment><USER3> Thanks Kleinman. I don't have any relationship with Patron (except on some Saturday nights ;-), but I wanted to share my thoughts on their initiatives.

They put on a damn good event, and they're generating buzz about it -- which results in more people signing up on their site.

</comment></comment><comment><USER9> This is pretty awesome... assuming you have the budget for it, and it's a good idea for members of your community to feel exclusive.

EDIT: I'd be interested in reading examples of technology community building, particularly for niche services. These seems like a much harder challenge.

<comment><AUTHOR> Offline events are key, especially conferences. Get Satisfaction did this. We're doing it with work2conference for Cloudomatic. Bring your customers together in person, educate them, and connect.

</comment></comment><comment><USER10> Without commenting on the effectiveness of the method outlined in the OP, I think something should be said about ethics. Science and technology is advancing rapidly every day, and we now know much more about the heuristics our brain uses to make decisions, enough to abuse the corner cases and trick the brain into making the wrong one. Creating artificial scarcity in the manner described in the article is basically lying. Consumers end up assigning a higher value to the product than it deserves, and the market is made overall less efficient as a result.

<comment><USER11> You're right, in the literal sense, but your criticism can be applied to all aspects of advertising. In a perfectly rational or perfectly ethical world, advertising would simply be a fact sheet informing consumers of your product's relative advantages.

<comment><USER12> <http://www.youtube.com/watch?v=fhtTU-guW60>

</comment></comment></comment><comment><USER13> Hmmm, I was trying to think how you can do such a thing on a smaller scale. You must have enough people in one geographic area to pull this off. So either you are launching in only a few locales, or you have a large enough national following to make this work.

Also, having this much overhead for such a small group demands that those chosen to participate must be networked type people who are willing and able to broadcast their experience. Otherwise the experience will only have a muted affect, and not worth the cost.

</comment><comment><USER14> Exclusivity & scarcity yield media buzz,PR and demand. What google did with the initial Gmail invites - the concept is the same, but gotta say - this is so much better than simply running a media campaign.

I mean, the 10 folks who got invited to the exclusive cruise - they'd so emphatically describe their experience to their friends / family (just like this blog post).</comment>