World Library  
Flag as Inappropriate
Email this Article
 

William Arkin

William Arkin
Born

William Morris Arkin
(1956-05-15) May 15, 1956

[1]
New York
Occupation Political commentator, activist, journalist, soldier
Website https://williamaarkin.wordpress.com/

William M. Arkin (born May 15, 1956) is an American political commentator, best-selling author, journalist, activist, blogger, and former United States Army soldier. He has previously served as a military affairs analyst for the LA Times, the Washington Post, and the New York Times.

Contents

  • Biography 1
  • Work 2
  • Bibliography 3
  • References 4
  • External links 5

Biography

Arkin was born in New York City in 1956. After attending public school in Manhattan, he briefly attended New York University before dropping out to enlist in the military shortly after his eighteenth birthday.

Work

Arkin served in U.S. Army intelligence from 1974 to 1978, and was stationed in West Berlin. After leaving the Army, he researched nuclear weapons and weapons policy during the Cold War. He co-authored four volumes of the Nuclear Weapons Databook series for the Natural Resources Defense Council, reference books on nuclear weapons. Volume II revealed locations of all U.S. and foreign nuclear bases worldwide and was condemned by the Reagan Administration. The Reagan Administration went as far as to seek to put Arkin in jail for revealing the locations of American (and Soviet) nuclear weapons around the world. His subsequent revelation of “mini-nuke” research efforts by the Pentagon in 1992 led to a 1994 Congressional ban and ultimately a pledge by the U.S. government not to develop new nuclear weapons. His discovery of Top secret U.S. plans to secretly move nuclear weapons to a number of overseas locations involved governments from Bermuda to Iceland to the Philippines.

Arkin led Greenpeace International’s research and action effort on the first Gulf War, being the first American military analyst to visit post-war Iraq in 1991, and the first to write about cluster bombs and about civilian casualties and the cascading effects of the bombing of electrical power.

Arkin was also founding member of the Arms Project of Human Rights Watch and wrote their first comprehensive report on cluster bombs. He then conducted the single most methodical assessment of the causes of civilian casualties after the Kosovo war (1999), a human rights report that was accepted as authoritative by both NATO and the United States government. Arkin has also visited war zones in the former Yugoslavia, Lebanon, Afghanistan, Eritrea and Israel on behalf of governments, the United Nations and independent inquiries.

From 1985 until 2002, he wrote a column in the Bulletin of the Atomic Scientists called the "Last Word" , and co-authored a bi-monthly publication by the Natural Resources Defense Council called the "Nuclear Notebook."

He has served as an independent consultant and held positions at the Institute for Policy Studies, Center for Defense Information, Greenpeace and Human Rights Watch.

He has worked as a NBC News military analyst and written columns for the Los Angeles Times, Washington Post and the New York Times(from 1998 until January, 2003 it was the Dot.Mil column).

From 2007 to 2008, he was a Policy Fellow at the Kennedy School of Government in the Carr Centre for Human Rights Policy, Harvard University. From 1992 to 2008, he also was a lecturer adjunct professor at the School of Advanced Air and Space Studies, U.S. Air Force, Maxwell AFB, Alabama[2]

On October 15, 2003, William Arkin released video and audiotapes documenting General William Boykin's framing of the "War on Terrorism" in religious terms in speeches at churches. Arkin followed up with a Los Angeles Times op-ed piece that accused the general of being "an intolerant extremist" and a man "who believes in Christian 'jihad'." Arkin further wrote, "Boykin has made it clear that he takes his orders not from his Army superiors but from God — which is a worrisome line of command."[3]

In February 2007, Arkin responded to an NBC Nightly News report on U.S. soldiers in Iraq who said they were frustrated by antiwar sentiment at home, and especially by people who say they support the troops, but not the war. In his Washington Post blog, Arkin wrote, "We pay the soldiers a decent wage, take care of their families, provide them with housing and medical care and vast social support systems and ship obscene amenities into the war zone for them, we support them in every possible way, and their attitude is that we should in addition roll over and play dead, defer to the military and the generals and let them fight their war, and give up our rights and responsibilities to speak up because they are above society?" He went on, "But it is the United States, and the recent NBC report is just an ugly reminder of the price we pay for a mercenary - oops sorry, volunteer - force that thinks it is doing the dirty work." [4]

Arkin is co-author of George Polk Award for National Reporting, the Sigma Delta Chi Society of Professional Journalists award for Public Service, was a Goldsmith finalist for Investigative Reporting and Pulitzer award nominee, as well as recipient of a half dozen other major journalism awards.

Arkin has appeared before the Office of the Secretary of Defense, the CIA, various offices on the Air Staff and various senior service schools and war colleges, the Office of the Chief of Naval Operations, naval intelligence, the United States Air Forces Central Command, the Defense Intelligence Agency, the National Photographic Interpretation Center, the Joint Warfare Analysis Center , and various "Lessons Learned" projects (Operation Enduring Look, the Gulf War Air Power Survey (GWAPS), Center for Naval Analysis).[2] He has also been a consultant on Iraq to the office of the Secretary-General of the United Nations.

Bibliography

References


-- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p-------------------------------------------------------------------------------- -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p
  1. ^ U.S. Public Records Index, Vols. 1 & 2 (Provo, UT: Ancestry.com Operations, Inc.), 2010.
  2. ^ a b
  3. ^
  4. ^

External links

  • Early Warning: Arkin's blog at the Washington Post
  • Interview on Liberadio
  • Arkin's Blog on Wordpress
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 


Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.