White House Veterans Helped Gulf Monarchy Build Secret Surveillance Unit - <AUTHOR> https://www.reuters.com/investigates/special-report/usa-raven-whitehouse/ <comment><USER2> Unfortunately, not a surprise at all. Recall that Clarke was one of the guys who OKed the return of the bin Laden family on 9/11 [edit: 1]. Clarke had deep connections to royals and rich elites like the bin Ladens

See how they targeted Qatari individuals including Al Thani himself. They say the incentive was the fight against Al Qaeda. But I am skeptical. This is about the rivalry between the Qatari and other Khaleeji royals (recall that Qatar was kicked out of GCC recently for aligning with rival ideologies like Muslim Brotherhood).

Also interesting to note is that until very recently, America's Mid East command was in Qatar; so America was playing both sides of that conflict (as usual). I am, of course, assuming that Good Harbor / DREAD have deep federal ties. Not sure about DarkMatter — that seems Emirati.

———-

Edits:

[1] the commenter below corrected me. It was on 13th of September. But my understanding is that there was still an exception made for the Saudis (see the private aircraft ban extending beyond the time when Saudis were being shuttled around)

<comment><USER3> > recall that Qatar was kicked out of GCC recently for aligning with rival > ideologies like Muslim Brotherhood

This is a very narrow view of what happened. It has more to do with the worry of Qatar's growing influence and independence in the region, as well as their close ties with Iran and Turkey. And the success of Al-Jazeera. I mean, just take a look at the demands made of Qatar:

\- Closing Al-Jazeera and its affiliate stations.

\- Closing other news outlets that Qatar funds, directly and indirectly, including Arabi21, Rassd, Al-Araby Al-Jadeed and Middle East Eye.

\- Closing the Turkish military base in Qatar, and terminate the Turkish military presence and any joint military cooperation with Turkey inside Qatar.

\- Reducing diplomatic relations with Iran. Only trade and commerce with Iran that complies with US and international sanctions will be permitted.[228]

\- Expelling any members of the Islamic Revolutionary Guard Corps (IRGC) and cutting off military and intelligence cooperation with Iran.[229]

\- "Qatar must announce it is severing ties with terrorist, ideological and sectarian organizations including the Muslim Brotherhood, Hamas, the Islamic State of Iraq and the Levant (ISIL), Al-Qaeda, Hezbollah, and Jabhat Fateh al Sham, formerly al Qaeda's branch in Syria" according to one Arab official.

\- Surrendering all designated terrorists in Qatar, and stopping all means of funding for individuals, groups or organisations that have been designated as terrorists.

\- Ending interference in the four countries' domestic and foreign affairs and having contact with their political oppositions.

\- Stopping granting citizenship to wanted nationals from Saudi Arabia, the United Arab Emirates, Egypt and Bahrain.

\- Revoking Qatari citizenship for existing nationals where such citizenship violates those countries' laws.[228]

\- The payment of reparations for years of alleged wrongs.

\- Monitoring for 10 years.[226]

\- Aligning itself with the other Gulf and Arab countries militarily, politically, socially and economically, as well as on economic matters, in line with an agreement reached with Saudi Arabia in 2014.[228]

[https://en.wikipedia.org/wiki/Qatar_diplomatic_crisis#Demand...](https://en.wikipedia.org/wiki/Qatar_diplomatic_crisis#Demands_on_Qatar_and_responses)

<comment><USER4> It is weird US is bothered by Qatar having good relations with Turkey, which harbour US bases, 50+ US nukes, and NATO's second largest army.

It is almost like US doesn't want its allies to work well with each other. /s

<comment><USER5> >> It is almost like US doesn't want its allies to work well with each other.

Pretty much on point. See also support for Brexit and anything that divides Europe. It's really just about protecting US's interests. Double standards is part of that. International law is for weaker nations(i.e divided).

<comment><USER6> I don't believe brexit is in US interests. And I think any US politician saying they support brexit is pandering to their base. The UK is a major diplomatic and political avenue into the EU. What other EU country has a relationship with the US like the UK?

<comment><USER7> Brit here: I think it is in the US interests, depending (and trump thinks in very simple ways). If the UK splits hard from the EU, it can (supposedly) be persuaded to accept US standards of food etc. Europe is also weakened by losing a major member so it can be pulled apart over time and 'embraced'.

I can see how the US, this pres especially, might see brexit as an opportunity and benefit.

(edit: clarification)

</comment></comment></comment></comment></comment></comment><comment><USER8> In my personal opinion there is _absolutely no way_ that "five eyes" nations should allow ex-intelligence-agency personnel, particularly from the NSA and related SIGINT entities (CSE, GCHQ, etc) to go work in the private sector for non democratic regimes.

You want to go work for Denmark, or Germany? Sure, get the appropriate permit from the department of state. For the UAE, or Iran, or Myanmar? No. I don't care if the royal family running the UAE are supposedly our friends.

Any person that is a citizen of a five eyes + partner nation, which goes to work for a project like this, should immediately find themselves the target of their country-of-citizenship's intelligence agencies.

<comment><USER9> Not to imply that Myanmar is a place where sigint entites should work, but since 2010 the country has dramatically improved and democratized and even has a (mostly) free press

<comment><USER8> Right, except for that pesky ethnic cleansing problem

</comment></comment></comment><comment><USER10> > Drawn to the UAE with the promise of combating terrorism, dozens of American > intelligence contractors cycled in and out of a secret hacking unit over the > course of a decade. As time went on, the mission became less focused on > preventing violent attacks than on targeting the country's political > enemies.

It's time for us to stop pretending that the purpose of mass surveillance programs is to prevent one-off terrorist attacks. They exist to surveil and quash political dissidents.

<comment><USER11> It seems like a natural progression. Obviously you want to stop terrorist attacks _before_ they happen, but now you're not targeting terrorists, you're targeting political dissidents who have a plan to become terrorists. The earlier in the planning stages you can catch them the better. Soon enough you're keeping an eye on them before they've made any plans...

<comment><USER12> ...and then get them before they choose to dissent

<comment><USER13> ...or encourage them to dissent.

/when you don't have any dissent, manufacture it

<comment><USER14> The US has done that with domestic Muslim terrorists. Agents even setup links for obtaining weapons and explosives.

</comment></comment></comment></comment></comment><comment><USER15> I listened to an episode of Darknet Diaries[1] where they interview one of the contractors that worked on this project.

[1] [https://darknetdiaries.com/episode/47/](https://darknetdiaries.com/episode/47/)

<comment><USER16> Interesting!

Is there an RSS link to use with a podcast app?

I couldn't find one from my phone.

<comment><USER17> RSS: [https://feeds.megaphone.fm/darknetdiaries](https://feeds.megaphone.fm/darknetdiaries)

Platform specific links: [https://darknetdiaries.com/subscribe/](https://darknetdiaries.com/subscribe/)

</comment></comment></comment><comment><USER18> Dodgy Middle East money and Western intelligence people wanting to take it goes further than just cyber security. There are often times when Middle Eastern money competes to flow into and lock up various prestigious private (mostly human) intelligence companies. Ditto with close protection. Essentially trying to keep them on side during various legal and illegal battles.

Its not my area but I also heard recently the same thing happens quite a lot with the big marketing firms.

<comment><USER19> This article claims it happens with lawyers too

      Mr. Pottinger later said that the scenario would have involved him representing a victim, settling a case and then representing the victim's alleged abuser. He said it was within legal boundaries. (He also said he had meant to type "No client lawsuit is actually involved.")
      Such legal arrangements are not unheard-of. Lawyers representing a former Fox News producer who had accused Bill O'Reilly of sexual harassment reached a settlement in which her lawyers agreed to work for Mr. O'Reilly after the dispute. But legal experts generally consider such setups to be unethical because they can create conflicts between the interests of the lawyers and their original clients.

[https://www.nytimes.com/2019/11/30/business/david-boies- pott...](https://www.nytimes.com/2019/11/30/business/david-boies-pottinger- jeffrey-epstein-videos.html)

<comment><USER20> [repeat w/o scrollbar due to double spaces]

"""

Mr. Pottinger later said that the scenario would have involved him representing a victim, settling a case and then representing the victim's alleged abuser. He said it was within legal boundaries. (He also said he had meant to type "No client lawsuit is actually involved.")

Such legal arrangements are not unheard-of. Lawyers representing a former Fox News producer who had accused Bill O'Reilly of sexual harassment reached a settlement in which her lawyers agreed to work for Mr. O'Reilly after the dispute. But legal experts generally consider such setups to be unethical because they can create conflicts between the interests of the lawyers and their original clients.

"""

</comment></comment></comment><comment><USER21> The USA built counterterroism surveillance tools for the UAE monarchy and in 2016 Emirati firm DarkMatter takes over. Yikes.

</comment><comment><USER8> [https://en.wikipedia.org/wiki/CSRA_Inc](https://en.wikipedia.org/wiki/CSRA_Inc).

One of the contractors in question. Now a part of General Dynamics.

</comment><comment><USER22> >> _Utilizing his close relationship to the country's rulers, forged through decades of experience as a senior U.S. decision-maker, Clarke won numerous security consulting contracts in the UAE._

Let's collects lots of business cards so in a few years we can cash in our favors. There oughta be a law...

</comment><comment><USER23> If the money is good there will always be people willing to look away

</comment><comment><USER24> How did nobody realize that DREAD is an incredibly ominous acronym early on in this project?

<comment><USER25> That was the point... this kind of sinister backcronym is common in military and intelligence.

<comment><USER26> And law enforcement, at least in US.

Fun fact: the guy who came up with "SWAT" originally intended it to mean Special Weapons Attack Team. His supervisor told him to come up with something that didn't sound quite so aggressive, and thus it became Special Weapons And Tactics.

</comment></comment></comment><comment><USER27> Khasoggi (and a myriad of other political dissidents) was tracked with software obtained by Saudis from Israel (NSO) and butchered in a consulate. A year after it, Veterans are still allowed to co-op with these dudes? No lesson learned after all.

</comment><comment><USER28> > "He said the plan was approved by the U.S. State Department and the National > Security Agency, and that Good Harbor followed U.S. law."

If you're cynical that sentence is frightening.

<comment><USER29> Can you elaborate why?

</comment></comment><comment><USER30> Someone posted this and got downvoted to the point of 'dead'. I smell bots and/or troll farmers, so I'm reposting:

\--

I listened to an episode of Darknet Diaries[1] where they interview one of the contractors that worked on this project.

[1] [https://darknetdiaries.com/episode/47/](https://darknetdiaries.com/episode/47/)

<comment><USER31> > Someone posted this and got downvoted to the point of 'dead'. I smell bots > and/or troll farmers

I wonder how pervasive this is on HN, since you need a minimum of 500 karma before you can downvote someone. I have to admit though, over the past year HN has started to feel more like reddit (this is not my first account, I have been here for many years). I don't think it's because of poor moderation, I think it's just a result of HN becoming popular enough that it's attracting a larger audience.

<comment><USER32> "HN is turning into Reddit" was a cliché 10 years ago. Even the responses were clichés 10 years ago. I think we can say what Voltaire said when told that coffee is a slow poison: "It must be very slow." [1]

[https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...](https://hn.algolia.com/?dateRange=all&page=0&prefix=true&query=turning%20%22into%20reddit%22&sort=byDate&type=comment)

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

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

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

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

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

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

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

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

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

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

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

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

It would be fun to find the first appearance of this on HN. Here's one from when HN was still called Startup News: [https://news.ycombinator.com/item?id=13852](https://news.ycombinator.com/item?id=13852). So HN was turning into Reddit before it was HN. (The name Hacker News came in Aug 2007: [https://news.ycombinator.com/hackernews.html](https://news.ycombinator.com/hackernews.html))

[1] Actually it was Fontenelle, not Voltaire, but I guess all 18th century French jokes eventually go to Voltaire.

<comment><USER33> While "turning into Reddit" is a tired cliché here, I have seen a slowly- increasing trend of unjustified and irrational downvoting here. It's nowhere near reddit-bad, but it _is_ significantly worse than when I joined eight years ago. I have seen an increase in longer-term users commenting on undeserved downvotes of other people's posts, which tells me I'm not the only one seeing this.

Unfortunately, I think the cat has left the bag. Removing the censorship feature from downvotes would counteract most of the damage it does to discourse, I think.

<comment><USER32> This perception has been around since the early years too. I've even pulled out the Voltaire joke about it: [https://news.ycombinator.com/item?id=12670004](https://news.ycombinator.com/item?id=12670004).

In fact, the guideline against downvote complaints predates the guideline against "turning into Reddit" complaints by a couple of years: [https://web.archive.org/web/20080706144102/http://ycombinato...](https://web.archive.org/web/20080706144102/http://ycombinator.com/newsguidelines.html)

</comment></comment></comment></comment></comment><comment><USER34> > The secret unit Clarke helped create had an ominous acronym: DREAD, short > for Development Research Exploitation and Analysis Department.

"Are we the baddies?"

<comment><USER12> classic mitchell and webb sketch [https://youtu.be/hn1VxaMEjRU](https://youtu.be/hn1VxaMEjRU)

</comment></comment><comment><USER35> Reminds me of the Mitchell & Webb Look sketch where it goes like this:

        > Second Nazi: Have you noticed that our caps actually have little pictures of skulls on them?
        > Hans: I don't... er-
        > Second Nazi: Hans... are we the baddies?

People going around helping monarchies (and/or democracies) to implement mass surveillance on journalists and human rights activists, with projects' named things like DREAD, should start asking themselves that question...

<comment><USER36> What is more concerning is that in popular culture right now many people are loudly calling for government control of news, to stamp out so called fake news. That can only lead to what amounts to a government Ministry of Truth, and support for surveillance of all journalists and activists.

So while those working on such projects need to ask themselves some serious questions, the rest of us should be loudly speaking out against the rising support of censorship and authoritarianism in general.

<comment><USER13> Honestly what we need is the re-instatement of the Fairness Doctrine:

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

Between that and maybe some kind of regulation of websites or other internet media that purport to be "news" but are something else (ie - make it a requirement that such sites conspicuously show a "for entertainment purposes only" or "satire" or similar banner). Perhaps with penalties for those who don't comply.

Of course, there's a fine line to the above; simple bloggers or even HN could potentially overstep it. There's also the issue of false accusations...

I doubt, though, that any of these things will likely occur.

</comment></comment></comment><comment> the-dude Renders as white page for me. Can not read.

<comment><USER37> It's working for me in Chrome with uBlock on.

the tldr is that Americans (former officials, former NSA hackers) built an offensive hacking unit for the UAE that is now targeting other governments and activists in the region. Women's rights activists in Saudi Arabia and journalists and such.

<comment><USER38> It sounds like the Americans eventually did all the work except the cinematic final return key press to start execution of a program for many of the operations as they could not train enough UAE employees to do the work.

</comment></comment></comment><comment><USER39> How about another fun one? :

Operation Cyclone was the code name for the United States Central Intelligence Agency (CIA) program to arm and finance the jihadists, in Afghanistan from 1979 to 1989, prior to and during the military intervention by the USSR in support of its client, the Democratic Republic of Afghanistan. The program leaned heavily towards supporting militant Islamic groups that were favored by the regime of Muhammad Zia-ul-Haq in neighboring Pakistan, rather than other, less ideological Afghan resistance groups that had also been fighting the Marxist-oriented Democratic Republic of Afghanistan regime since before the Soviet intervention.[1] Operation Cyclone was one of the longest and most expensive covert CIA operations ever undertaken;[2] funding officially began with $695,000 in 1979,[3][4] was increased dramatically to $20–$30 million per year in 1980 and rose to $630 million per year in 1987.[1][5][6] Funding continued after 1989 as the mujahideen battled the forces of Mohammad Najibullah's PDPA during the civil war in Afghanistan (1989–1992).[7]

<comment><AUTHOR> Huh? Unlike the article I submitted, this has nothing to do with cyber, computers, hackers, tech… so I fail to see why you commented about it here o_O

Instead here's "another fun one" where OSINT computer DBs were searched* to reveal how one country made an offer to a prisoner to assassinate someone in another country.

* [https://www.bellingcat.com/news/uk-and-europe/2019/12/06/ide...](https://www.bellingcat.com/news/uk-and-europe/2019/12/06/identifying-the-berlin-bicycle-assassin-russias-murder-franchise-part-2/)</comment></comment>


New podcast analyzing every minute of Star Wars, individually - <AUTHOR> http://www.starwarsminute.com

<comment><USER2> I have been doing a minute by minute podcast analysis of The Big Lebowski since last year and some of our episodes are almost two hours. [http://gutterballs.tv](http://gutterballs.tv)

<comment><USER3> I'm doing the same movie frame-by-frame:

[http://jacksongariety.com/journals/the-big-lebowski- project](http://jacksongariety.com/journals/the-big-lebowski-project)

:)

<comment><USER4> By "frame-by-frame", do you mean "shot-by-shot"?

<comment><USER3> How is frame any less correct?

<comment><USER4> In film, a 'frame' is a single photographic exposure. A movie typically consists of 24 or 30 frames per second.

[http://en.wikipedia.org/wiki/Film_frame](http://en.wikipedia.org/wiki/Film_frame)

By contrast, a "shot" is "a series of frames, that runs for an uninterrupted period of time."

[http://en.wikipedia.org/wiki/Shot_(filmmaking)](http://en.wikipedia.org/wiki/Shot_\(filmmaking\))

<comment><USER5> Personally I took the phrase 'frame-by-frame' to be a figure of speech.

"A figure of speech is the use of a word or a phrase, which ascend from its literal interpretation."

[http://en.wikipedia.org/wiki/Figure_of_speech](http://en.wikipedia.org/wiki/Figure_of_speech)

I think the comment author was just trying to emphasize they were trying to be thorough, a bit like when police say they will search an area with a fine- toothed comb. No reasonable person expects the police to use actual combs.

<comment><USER4> Frame is a technical term that has a precise meaning in this context.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> The analysis of "Minute 8" is 16 minutes and 14 seconds.

</comment><comment><USER7> In my opinion, they could have gone into "a long time ago, in a galaxy far far away" a bit more...

<comment><USER8> A dissertation could be written about "a long time ago, in a galaxy far far away." That phrase is also a hypnotic induction all by itself. And as that sinks in, consider that someone told me that Star Wars' past is Dune's present.

<comment><USER9> My understanding is that Dune is Earth's future ([http://dune.wikia.com/wiki/Earth](http://dune.wikia.com/wiki/Earth)), so that doesn't really fit. :)

But the opening line of Star Wars is truly impressive in its economy and efficacy. It tells the viewer all that they need to know so that they have permission to accept the truly fantastic. No need to connect it to Earth or anything vaguely familiar, no reason to wonder if this "future" could really happen, because everything they're seeing has already happened. It even has a beautiful rhythm and cadence, despite never being spoken aloud.

That iconic phrase is one of many little touches that prevents Episode IV from slipping into the silly B-movie niche occupied by so much prior sci-fi.

<comment><USER10> Correct; Dune is meant to take place in the far future of our galaxy. Star Wars is a "far away" galaxy and in the distant past.

The "long time ago / far away" disclaimer is brilliant in a number of ways, not the least of which is that it helps the viewer suspend disbelief. It's also an elegant way to future-proof the technology, clothing choices, etc., on display in the movie. If Star Wars had made a claim about being the _future_ of _our_ galaxy, it would age pretty badly (the way that the "futuristic" inventions in Star Trek tend not to age well; consumer technology tends to advance more quickly than projections thereof).

</comment></comment></comment></comment><comment><USER8> Every minute of Star Wars gets 15 minutes of fame.

</comment><comment><USER11> ...just in case reading HN doesn't waste enough of your time.

</comment><comment><USER12> I like this idea, but it would work better for films that actually have some substance.

<comment><USER13> Then maybe an acutal filmmakers perspective on why the prequels are bad might be the right thing for you. In case you haven't seen it before:

[http://redlettermedia.com/plinkett/star-wars/star-wars- episo...](http://redlettermedia.com/plinkett/star-wars/star-wars- episode-1-the-phantom-menace)

<comment><USER12> In fact, that's exactly what I was thinking of when I claimed that the Star Wars films have no substance.</comment></comment></comment>


A Hacker's Guide to Git - <AUTHOR> http://wildlyinaccurate.com/a-hackers-guide-to-git <comment><USER2> Every tutorial I read falls in two camps:

1\. try to be helpful and simplify commands to the extreme, possibly resulting in an subverted (in both the actual and software sense) and damaging explanation (e.g git add)

2\. describe in succinct, painful accuracy git internals (the OCD hacker way) when no git newcomer actually cares about tree objects first hand.

Both equally fail at making people _get_ git.

Having explained git an inordinate number of times to various people, I started writing here all I ever needed to introduce people to git _in a few minutes†_ , but it takes longer to write than to explain hands-on and face to face. I'll complete this and make a gist out of it.

† For varying definitions of "few" and possibly "minutes", but honestly much less than people make it sound about git being a horrendous, unlearnable, complex system with a broken UI. It's simple, it's brilliant, you just have to set the bar right in between 1. and 2. when teaching it.

<comment><USER3> Your "second camp" of tutorial works exceedingly well at getting other hackers to understand how git works. Git "clicked" when I learned the internals, teaching me about various porcelain commands and their flags without teaching me what git _actually is_ did nothing for me.

The reason why so many people are keen on teaching git by teaching how it works is because that is how _they_ learned git.

<comment><USER4> This is true, if you actually care. Many people don't want to have to know the inner guts of how every tool they use works and just want to get their work done. It's unfortunate that git seems to (almost) require it (most likely because of its inconsistent UI (which has gotten better)).

<comment><USER3> The way I see it, the CLI stuff is a distraction, when you "want to learn git", what you _really_ want to do is understand how a DAG can be used for version control. Git is the idea. The standard/stock CLI is just one of many imperfect realizations of the idea that is git. Getting the handle of that particular realization of git is an unfortunate distraction that is needlessly weird in some cases.

Think of it like the difference between learning how an engine works, and learning how [some particular engine, in some particular car] works. The first is pretty simple and illuminating. The second has lots of annoying details and imperfections. If you want to work with cars, you learn the former first.

</comment></comment></comment></comment><comment><USER5> I'd recommend another guide. "Pro Git" by Scott Chacon is excellent and welcomes patches, source for the book and its translations are on GitHub [http://www.git-scm.com/book](http://www.git-scm.com/book)

<comment><USER6> I appreciate that git is powerful, but should we really need to read a book just to get the best from a source control system? It seems overly complex to me at times (any time I do anything outside of my usual workflow).

Version control only makes up a part of the whole development process, and plenty of coders out there manage without any at all.

<comment><USER7> Git was originally created to manage the Linux kernel. It is indeed complex, but it has to be at that scale. Git might not be the best option for every project, but I find it quite easy to use at the trivial scale as well. (How do you beat 'git init' ? No repository setup or anything.)

<comment><USER8> I'm not so convinced. Other OSes manage with more "primitive" tools. OpenBSD still use CVS.

<comment><USER9> As did Linux before Git, but Linus and the core team around him were finding the process getting too cumbersome and bottlenecked. Linus "scratched the itch" and produced git both specifically to fill that set of needs and with the intention of it being generally useful for other projects they were concerned with.

OpenBSD's kernel development is presumably run differently (IIRC there is a much smaller number of people trying to directly feed into it for a start, which was a key problem with Linux at least at the time Git was birthed) so processes and tools that fit their needs will look different. Either they haven't had enough trouble with the older tools/processes that the effort of an infrastructure change is worth sinking time into, or they have other concerns with the alternatives (security, as someone has mentioned above, and code maturity concerns may be involved, though the latter much less now as it has been pretty solid for some time), or maybe they intend to move but just haven't decided on an alternative yet.

<comment><USER10> Linux was using BitKeeper, a commercial DVCS. The raison d'etre for git was because the company behind BitKeeper revoked the license for the Linux guys to use it. [http://en.wikipedia.org/wiki/BitKeeper](http://en.wikipedia.org/wiki/BitKeeper)

<comment><USER9> Ah, I forgot that step.

They moved to a DVCS to solve some of the workflow issues, _then_ Linus created git in large part because of the licensing issues.

Another detail missed in my previous post: If I remember rightly there were a couple of F/OSS DVCS's in development at the time, but he chose to write his own as some of them were not yet near stable and the others didn't quite work the way he wanted. I dimly recall some criticism for choosing a commercial product prior to git, and that decision was for much the same reasons git was created instead of using one of the other available options.

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> "Once you start talking about branching, merging, rebasing, multiple remotes, remote-tracking branches, detached HEAD states… Git becomes less of an easily- understood tool and more of a feared deity. Anybody who talks about no-fast- forward merges is regarded with quiet superstition, and even veteran hackers would rather stay away from rebasing "just to be safe"."

"That's why trying to understand Git in this way is wrong. Git doesn't work like Subversion at all. Which is pretty confusing, right?"

These kind of assumptions of the reader can be quite off-putting. If you don't relate to assertions like this in the introduction, you start to wonder if the rest of the article is based on these assumptions.

I user SVN happily for years before moving to Git a number of years back, and the conceptual migration felt really smooth. It was just like SVN, but with some nice new native branching tools and features, like in SVN you were forced to merge trunk changes to feature branches, whereas in Git you also have the option to "move" i.e. rebase the branch onto a newer commit.

The rest of the article was very good!

<comment><USER12> You are the very first person I have run into in any forum to say that moving from SVN to Git had a smooth conceptual migration (at least among people who have ever done anything more complicated than "git commit -a" which I assume you have if you've been using git for a number of years).

It is hard to come up with two systems that implement source control and are more different.

</comment></comment><comment><USER13> I like very much this introduction to git. Most of the other tutorials considers git as a magic black box. Here, it explains what is performed internally by most of the commands, without going into tiny useless details. This is probably not a good tutorial for build management processes and not enough to rewrite git, but it fits perfectly well my "hacker" mind. Thank you very much.

</comment><comment><USER14> What disappoints me most about this, as well as almost every other Git tutorial that I've seen, is that it uses the command line almost exclusively. Even those tutorials that I've seen that do refer to GUI options pay lip service to them at best.

This is a shame because I personally found GUI front ends for Git and Mercurial critical to understanding how they work in the first place, and in fact some tasks (such as advanced branch manipulation or hunk selection as with git add -p) are considerably harder with the command line than with GUI tools, simply because the command line doesn't give you a full enough picture of what you're doing.

<comment><USER15> Sorry for a bit of a Hijack.....anyone care to comment on what is generally considered the best git GUI tool for Windows/Visual Studio?

<comment><USER16> Sourcetree has been my favorite, followed by the default GUI installed from the git-scm.com. I've not been a fan of the VS extension because of performance (a want NCrunch and Resharper to have all my free cycles).

</comment></comment></comment><comment><USER17> I would add "git - the simple guide. just a simple guide for getting started with git. no deep shit ;)": [http://rogerdudler.github.io/git- guide/](http://rogerdudler.github.io/git-guide/)

<comment><USER18> I wish I knew about this months ago. So clear.

</comment></comment><comment><USER19> I would recommend this guide here too : [http://www.sbf5.com/~cduan/technical/git/](http://www.sbf5.com/~cduan/technical/git/)

</comment><comment><USER20> Introduction with very similar approach: search for "Git from bottom up".

</comment><comment><USER21> Where I work we just moved off Git to TFS. Our coders had a lot of trouble understanding Git, actually our whole company has had trouble with Git. We decided to leave it when we realized any individual coder could wipe out our local repository with a wrong command.

We moved into TFS, and while we're working to get our DLLs to not be circularly referencing, we have an actually verifiable copy of our source code. Maybe it's because we use MS technologies (IIS, .NET, MSSQL) but we were on TFS in a matter of weeks while Git still confused us after a month of use.

Many of my coworkers feel it's a "piece of Git" (if you get my expletive). Several also think it's a waste of time. I don't disagree with them. I supported Git because I saw it on here. This solution doesn't our solve problems in our situation.

<comment><USER22> > We decided to leave it when we realized any individual coder could wipe out > our local repository with a wrong command.

What?

1) You can configure your repo so only select users may use destructive commands on certain branches.

2) It's a _distributed_ content versioning system. Even if someone wiped out the main, "central", repository, all users will have a full local copy, a backup in effect.

Git has a horrible UI in many ways, but your apparent dislike of it smells more of incompetence and a naive buy-in of the full Microsoft ecosystem than anything else.

BTW, I didn't know what TFS was before checking on Wikipedia, but -- somewhat ironcially given your gripe -- TFS seems to have decent support for Git[1].

[1]: [https://en.wikipedia.org/wiki/Team_Foundation_Server#Git](https://en.wikipedia.org/wiki/Team_Foundation_Server#Git)

[EDIT]: formatting

<comment><USER21> 1\. Some of this does look like ignorance on the part of my coworker who set up both. But why isn't that a default setting? Why give that permission to all users?

2\. This is true only if other users keep local copies of the main repository, keep it updated, and don't mix it in with their code. You're making a lot of assumptions.

<comment><USER22> 1\. When I set up Git on my Linux server only the user that initiated the repo had access to it. It was too locked down, seeing as external users didn't even have read/cloning permission. (A minimal amount of googling solved all my problems, though.) Your problem sounds to me as another PEBCAC on the part of your coworker.

2\. I'm not making all the assumptions you claim. First of all, as soon as you clone a repo you have a local copy. You need this clone in order to be able to even work with the code, so it would be quite weird if employees deleted their clone after editing, committing, and pushing their changes. I'm not even sure what you mean with "mix it in with their code". It's a VCS -- if you don't like a change reverting it is trivial.

All in all, I understand why users might have problems with Git. It has a steep learning curve. I think it has a horrible command line UI. It might not have worked well for your company, even if you had a competent admin set up the repos. However, I would prefer if you could argue your point based on the actual merits and faults of Git, rather than based on ignorance.

</comment></comment></comment></comment><comment><USER23> My biggest issue with git is it's CLI design. It's absolutely inconsistent. I don't believe the internals are an issue. If you really want to make git better, destroy the CLI and build a new one. Instead there are a million of these tutorials(the fact that there are a million tutorials should already hint at something being wrong), talking about internals.

</comment><comment><USER24> Does anyone else find this to be quite hard to read? Just visually. Especially length of the lines and thinness of the font.

<comment><USER25> No. You mean it uses all (well nearly all) the width of the screen? I am pleased to see that for once rather than stuffing it into some narrow column, the width of which I would have complained about 10 years ago.

<comment><USER24> How big is your screen?

<comment><USER9> No so big that resizing a window when content is too wide for comfort stops working...

Less facetiously: I wish more pages would give me the choice rather than forcing the content into a fixed-width format unnecessarily, or if they don't mind the extra coding (especially if their design is well thought out enough to make it easy) have a fixed width setting by default with the option to turn it off (I've seen this done by giving the user the option flipping stylesheets via a control at the top of a page) like some support different font size and colour/contrast options.

</comment></comment></comment></comment><comment><USER26> After learning Git, it is important to follow a branching model, I really appreciate the one proposed here [http://nvie.com/posts/a-successful-git- branching-model](http://nvie.com/posts/a-successful-git-branching-model)

<comment><USER27> This is my favorite one too.

</comment></comment><comment><USER28> I've got the right level of understanding of Git to grok this article. I really liked how you talked about cherry picking before you talked about rebaseing. I'd like to request you include a section on why/when you need the rebase --onto argument.

<comment><USER29> I think the cherry-picking example borders on being too long and complex, but I'm hoping it still gives that "aha" moment when you realise that you've just done a rebase the hard way.

Great suggestion about --onto, thanks! That is a tough one to explain in a concise way, but I'll give it my best shot.

</comment></comment><comment><USER30> Quick question for people using git daily : do you push the features branches to a central repo or you simpy merge with --no-ff on a common dev branch ?

(There is no necessarily a right answer, but I'd like to know what is more usual)

<comment><USER4> Feature branches are pushed to remote, where code reviews can take place. Once the code is reviewed and approved, the submitter rebases it onto master. We run a batched continuous integration, so once it's on master, it is expected it could be pushed into production at any time (batched because somebody has to do the push manually, usually after merging the code).

<comment><USER30> Interesting because you'll get the cleanest history possible, however have you ever had an issue when the rebasing post code review would have had unintended effect (and not caught by a reviewer) ?

</comment></comment></comment><comment><USER31> Check out General Assembly's Git instructional, its pretty good: [http://www.youtube.com/watch?v=DVDLoe_2MBc](http://www.youtube.com/watch?v=DVDLoe_2MBc)

</comment><comment><USER32> I found this video helpful as a beginner: [http://vimeo.com/46010208](http://vimeo.com/46010208)

</comment><comment><USER33> Really good-looking illustrations. How did you make them?

</comment><comment><USER34> How many more tutorials on Git do we need? It's like article authors find it a "rite of passage" of sorts to explain Content-Addressable Storage, references and all kinds of whacky command-line keys.

<comment><USER35> "We" don't need any Git tutorials. We could read the documentation But perhaps people don't write solely because of the audience's need. Writing a tutorial is the fastest way to ensure you more fully understand the subject. It is in fact a rite of passage in any topic when you can explain it to an audience with less understanding. Tutorials don't just serve the audience.

</comment></comment><comment><USER36> Worth for pro..

</comment><comment><USER37> I don't know about you but when I see signs that read, "Do not Enter" I tend to take that into consideration. With that given, a site called "Wildly Inaccurate" may be just that.

</comment><comment><USER38> Try not to take this as snark, but aren't hackers early adopters that do things on their own?

What's the point of a hackers guide to a thing that has been a thing for years?!

<comment><USER39> I was writing something almost identical to this recently, for the general public but also for my co-workers who don't seem to understand the internals of Git at all. I'm sick of being "the Git guy" so this should help a lot.</comment></comment>


Ask HN: Resources for learning IOS programming - <AUTHOR>

Good afternoon,
I'm a Ruby and JAVA developer and would like to know some (good!) resources to learn IOS programming. I'm aware that Apple provides a bunch of tutorials and guides, but i'm looking for more practical examples, books, etc.
Thanks in advance, Pedro <comment><USER2> You may want to check out the Quora thread on learning iOS ([http://www.quora.com/What-are-the-best-resources-to-learn- iO...](http://www.quora.com/What-are-the-best-resources-to-learn-iOS- development)). When I was starting to learn iOS I saw this thread and picked up the Big Nerd Ranch book. I read through it and I believe it was very useful.

Read the reviews, YMMV, but after reading the BNR book I felt comfortable reading the Apple docs for the rest of the stuff I needed to learn.

</comment><comment><USER3> There are hundreds of really good tutorials here: <http://www.raywenderlich.com>

For an Objective-C book pick up: "Programming Objective-C" (5th edition already!) [1]

[http://www.amazon.com/Programming-Objective-C-Edition- Develo...](http://www.amazon.com/Programming-Objective-C-Edition-Developers- Library/dp/032188728X)

</comment><comment><USER4> The biggest help for me was The Big Nerd Ranch book for iOS. [http://www.amazon.com/iOS-Programming-Ranch-Guide- Guides/dp/...](http://www.amazon.com/iOS-Programming-Ranch-Guide- Guides/dp/0321821521)

By the second chapter I felt confident enough to start trying things out on my own and tutorials made a lot more sense.

</comment><comment><USER5> I learned by taking the free Stanford iPhone class. You can find details here: <http://www.stanford.edu/class/cs193p/cgi-bin/drupal/>

The lectures are on iTunesU and you can even do the assignments to get some practice.

</comment><comment><USER6> I'd start here: <https://teamtreehouse.com/>

It's a paid service, but I've found it's the best way to start learning programming.</comment>