FANDOM


Science and Technology after DoomsdayEdit

Communications Edit

Communication in the Northern Hemisphere was widely affected on Doomsday, notably due to the effects of EMP's, but also by mass destruction of most of the population centers. However, in the Southern Hemisphere existing technology, including cellular phones, and the development of computer networks made communication to continue as usual.

Northern HemisphereEdit

Since the nuclear exchange was primarily in the Northern Hemisphere, communications there were thrown back to an era before Bell and Edison. Though local nuclear explosions create electromagnetic pulses (EMPs) of their own, the real destruction of communications came not as a consequence, but as a purposeful "attack from space" by both the USA and the USSR. The United States had placed a high yield nuclear bomb on an ICBM that upon re-entry at 300 miles over western USSR, which produced a blackout of most of the populated republics of Russia and Kazakhstan (along with "bystander" Finland). However, since the US had bases all over western Europe, and the USSR in its puppet states, communication became impossible in most of the "old world."

Meanwhile, over North America, the USSR had exploded two nuclear bombs 120 miles over mid-America using missiles that were launched via submarines off both coasts rather than a single blast to incapacitate the "lower 48 states." As a result, although much of Canada's government was silenced (being along the border, Mexico remained almost totally unaffected. Of the states of the United States, Alaska retained communications outside of the bombed cities of Anchorage and Fairbanks. Hawaii, being a lot smaller, suffered from local bombs on two of its main islands.

In affected nations, all unshielded electronics were "fried" by electronic energy that flowed through tiny wired and printed circuits. Since most major population centers were hit directly by bombs, there were very few shielded electronics anywhere. As a result, all telephone, radio and television communications ended in affected areas for as long as twenty years. In these areas, where electricity was restored, simple electrical telegraphy became the earliest form of long-distant communication. For the most part, though, isolated communities began to resort to "city-state" status just to survive.

In the larger nation-states that arose, however, a rebuilding of the electrical grid became a major priority. Older equipment that had survived the EMPs began to be put into service as soon as electricity was available. In some places batteries were used even before power grids were up. Printing presses were the first forms of mass information to be refurbished, followed by weak radio stations. Citizen Band radios became popular as more were reconstructed or obtained from areas outside of the EMP areas (northern Canada and southern Mexico in the case of the United States). Slowly, mostly after 2000, television stations became operational. Even then, though, explorers from unaffected area had received no definitive signals as late as 2008 when the League of Nations was formed.

One notable exception to the development of electronics in North America came out of Binghamton, New York, where a regional office of New York City-based IBM maintained an office. It had been in Binghamton that IBM (International Business Machines) had operated from its beginning until 1938, when it moved to New York City. Though operations were small, the office had some computer scientists on staff who collected whatever old manuals they had as well as began to put on record their collective knowledge in hopes of restoring IBM as a leader in computer technology at a later date. Over a quarter of a century later, after contact had been made with the "first world" of the Southern Hemisphere, IBM would take its place again in the world of international affairs.

Southern HemisphereEdit

As the world was "coming apart" north of the Equator, the nations to the south opened to new possibilities. When scientists in South America (especially Brazil) and Australia realized that no research in computer technologies from IBM and Apple in the USA was forthcoming, they began to work on innovations of their own. The science was, after all, over thirty years in the making and machines were in place in major universities and government facilities all over the developing world. Radio, television and the newspapers continued as they had in the years before Doomsday.

South AmericaEdit
Australia and New ZealandEdit
IndiaEdit
AfricaEdit

Military Technologies Edit

With the nuclear exchange, most of the arsenal of the USSR and the USA had been depleted. However, LoN officials realized that some nations had such weapons of mass destruction remaining. Consequently, the first official piece of international business in 2008 was a ban on the development of any such weapons, and of course, of the deployment of any in international conflict. Early in 2009 the governments in the USSR and the ANZC signed agreements to begin dismantlement of any remaining weapons by teams drawn from each other's armed forces.

Meanwhile, conventional weaponry has continued to be developed in both the developed and developing world. Production of aircraft and tanks for peace-keeping and for war has continued throughout the SAC, USSR and especially in parts of North America. As the orbits decayed, and ground stations went unmanned, the "spy satellites" of the USSR and the former USA became useless. The ground stations in Australia and other places in the southern hemisphere had remained open until 1995 by orders of the APA, but when President Bush dissolved the government, the ANZC had closed those as well.

Climatology Edit

As up to three thousand nuclear weapons detonated on and over the surface of the earth, serious changes occurred in the atmosphere. The short term effects had been caused by the thermal blasts as miniature "suns" heated millions of cubic miles of air. This caused climate change in the northern hemisphere amounting to higher temperatures on the average of 10 degrees Fahrenheit (5.6 degrees Celsius) above normal.

In both hemispheres, the rising clouds of the bombs reached into the stratosphere, affecting the balance of ozone to an extent that greater ultraviolet radiation began to take its toll on the populations of areas of the ANZC and SAC, as well as developing nations such as the USSR and the Nordic Alliance.

As early as 1987, though, officials in the ANZC and the APA had been able to determine the increased danger and had begun massive information campaigns to combat the danger of both heat and radiation damage to people and livestock. Sunblock chemicals became a priority, and long-sleeved garments and protective headgear became the norm.

Energy Edit

With the destruction of much of the Northern Hemisphere, the production and use of petroleum-based fuels ceased. The oil wells of Texas and the Gulf of Mexico were either destroyed or abandoned to disrepair. Meanwhile, it the Gulf states of the Mideast production was reduced due to a loss of market. The price of oil dropped so far that most oil producers in Saudi Arabia and other places could barely afford to remain in operation.

This had consequences in both the developed south and the devastated north. As the survivors in America and Europe coped to make do with their reserves, the governments of the SAC became protective of their resources. The ANZC began to exploit the resources of Alaska and the outback of Australia in hopes of keeping up with the SAC. In the North, the Nordic Union and the Celtic Alliance began to co-operate in the North Sea. The fractured nation-states of North America slowly began to rebuild their power grid after the effects of the EMPs. Pipelines from Texas and Louisiana were tapped in such places as the Republic of Piedmont, but as of 2010 no oil has been pumped out of Texas. Pennsylvanian oil fields have produced enough oil for the small struggling member states of the United Communities.

The utilization of other fossil fuels, such as coal and natural gas, has begun to take the place of oil in many of the developing nations. The nation-states on the islands of the former United Kingdom have jealously guarded their coal mines, and have begun to restore their power grid using coal-fired power plants.

Around the world, especially in the northern hemisphere, as more and more land is turned over to agriculture, it became apparent that food was not the only thing the crops were good for. In fact, since transportation was limited by the lack of fuel, stores of surplus grain had begun to spoil. The answer to both these problems was "bio-fuel," both in the form of alcohol and a new type of diesel made from plant oils. Local, isolated nation-states independently began to produce fuel from fermenting grain, and from chemically altered oils, to replace the dwindling stores of gasoline and diesel.

Meanwhile, in Hawaii, the production of sugar and pineapples had proven to be an ineffective source for food for the developing nation. To keep from being a "welfare state" in association with the ANZC, the tropical islands became producers of vegetables and livestock. By the 1990's, though, they had reached a level of production in which they could keep themselves fed, and even export some. But, a dependence on refined Alaskan oil from Australia had become a burden to the economy, so the surplus land began to produce sugar again. In 1997, production began on Hawaii's Big Island of sugarcane-based automobile fuel. This has become a major industry in the Free State.

Meanwhile, in Australia, development of solar energy technologies became a priority. Vast deserts in the interior began to be utilized to use solar furnaces -- curved mirrors focusing the sun's light to heat water to run generators. Battery technology was improved to more efficiently store surplus energy while networks of power lines stretched out to the coastal cities. In New Zealand, the mountaintops began to be populated by "wind farms" and the coastlines sported tidal dynamos creating energy from the forces of nature.

Though the use of nuclear weapons had dampened the enthusiasm for the peaceful use of nuclear energy, cooler heads have prevailed in parts of the world as nuclear power plants are restored and maintained to provide another source of energy. Pre-Doomsday optimism for the technology, though, is most likely a thing of the past, as both traditional and alternative fuels are more than adequate for most of the known world.

Agriculture Edit

Since Doomsday, agriculture has been patchy, because a lot of places the ground is still irradiated. This has led to the obvious food shortages.

Aerospace technologyEdit

A History Technology and Science after DoomsdayEdit

After the war most countries focused on the survival of mankind. As things began to improve, new technologies came into existence.

1987-1990: RestructuringEdit

1990-1995: StagnationEdit

1995-1999: Priorities and PreparationEdit

2000: BreakthroughEdit

The first worldwide communication network accessible via computer terminals in public sites worldwide was created in 2000. The Argentina-Chile - SAC initiated "Red Mundial de Communicacion" (REMUNDO), known just as REM.

2005-2008: DevelopmentEdit

See alsoEdit

--

-- This module will implement Template loop detected: Template:Navbox --

local p = {}

local HtmlBuilder = require('Module:HtmlBuilder') local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized

local args local tableRowAdded = false local border local listnums = {}

local function trim(s)

   return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1"))

end

local function addNewline(s)

   if s:match('^[*:;#]') or s:match('^{|') then
       return '\n' .. s ..'\n'
   else
       return s
   end

end

local function addTableRow(tbl)

   -- If any other rows have already been added, then we add a 2px gutter row.
   if tableRowAdded then
       tbl
           .tag('tr')
               .css('height', '2px')
               .tag('td')
               	.attr('colspan',2)
   end

   tableRowAdded = true

   return tbl.tag('tr')

end

local function renderNavBar(titleCell)

   -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left
   -- or right to keep the title centered.
   local spacerSide = nil

   if args.navbar == 'off' then
       -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's
       -- also no show/hide link, then we need a spacer on the right to achieve the left shift.
       if args.state == 'plain' then spacerSide = 'right' end
   elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle() == 'Template:Navbox' and (border == 'subgroup' or border == 'child' or border == 'none')) then
       -- No navbar. Need a spacer on the left to balance out the width of the show/hide link.
       if args.state ~= 'plain' then spacerSide = 'left' end
   else
       -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right
       -- to balance out the width of the navbar.
       if args.state == 'plain' then spacerSide = 'right' end

       titleCell.wikitext(navbar{ 
           args.name, 
           mini = 1, 
           fontstyle = (args.basestyle or ) .. ';' .. (args.titlestyle or ) ..  ';background:none transparent;border:none;'
       })
   end

   -- Render the spacer div.
   if spacerSide then
       titleCell
           .tag('span')
               .css('float', spacerSide)
               .css('width', '6em')
               .wikitext(' ')
   end

end

-- -- Title row -- local function renderTitleRow(tbl)

   if not args.title then return end

   local titleRow = addTableRow(tbl)

   if args.titlegroup then
       titleRow
           .tag('th')
               .attr('scope', 'row')
               .addClass('navbox-group')
               .addClass(args.titlegroupclass)
               .cssText(args.basestyle)
               .cssText(args.groupstyle)
               .cssText(args.titlegroupstyle)
               .wikitext(args.titlegroup)
   end

   local titleCell = titleRow.tag('th').attr('scope', 'col')

   if args.titlegroup then
       titleCell
           .css('border-left', '2px solid #fdfdfd')
           .css('width', '100%')
   end

   local titleColspan = 2
   if args.imageleft then titleColspan = titleColspan + 1 end
   if args.image then titleColspan = titleColspan + 1 end
   if args.titlegroup then titleColspan = titleColspan - 1 end

   titleCell
       .cssText(args.basestyle)
       .cssText(args.titlestyle)
       .addClass('navbox-title')
       .attr('colspan', titleColspan)

   renderNavBar(titleCell)

   titleCell
        .tag('div')
            .addClass(args.titleclass)
            .css('font-size', '110%')
            .wikitext(addNewline(args.title))

end

-- -- Above/Below rows --

local function getAboveBelowColspan()

   local ret = 2
   if args.imageleft then ret = ret + 1 end
   if args.image then ret = ret + 1 end
   return ret

end

local function renderAboveRow(tbl)

   if not args.above then return end

   addTableRow(tbl)
       .tag('td')
           .addClass('navbox-abovebelow')
           .addClass(args.aboveclass)
           .cssText(args.basestyle)
           .cssText(args.abovestyle)
           .attr('colspan', getAboveBelowColspan())
           .tag('div')
               .wikitext(addNewline(args.above))

end

local function renderBelowRow(tbl)

   if not args.below then return end

   addTableRow(tbl)
       .tag('td')
           .addClass('navbox-abovebelow')
           .addClass(args.belowclass)
           .cssText(args.basestyle)
           .cssText(args.belowstyle)
           .attr('colspan', getAboveBelowColspan())
           .tag('div')
               .wikitext(addNewline(args.below))

end

-- -- List rows -- local function renderListRow(tbl, listnum)

   local row = addTableRow(tbl)

   if listnum == 1 and args.imageleft then
       row
           .tag('td')
               .addClass('navbox-image')
               .addClass(args.imageclass)
               .css('width', '0%')
               .css('padding', '0px 2px 0px 0px')
               .cssText(args.imageleftstyle)
               .attr('rowspan', 2 * #listnums - 1)
               .tag('div')
                   .wikitext(addNewline(args.imageleft))
   end

   if args['group' .. listnum] then
       local groupCell = row.tag('th')

       groupCell
              .attr('scope', 'row')
              .addClass('navbox-group')
              .addClass(args.groupclass)
              .cssText(args.basestyle)

       if args.groupwidth then
           groupCell.css('width', args.groupwidth)
       end

       groupCell
           .cssText(args.groupstyle)
           .cssText(args['group' .. listnum .. 'style'])
           .wikitext(args['group' .. listnum])
   end

   local listCell = row.tag('td')

   if args['group' .. listnum] then
       listCell
           .css('text-align', 'left')
           .css('border-left-width', '2px')
           .css('border-left-style', 'solid')
   else
       listCell.attr('colspan', 2)
   end

   if not args.groupwidth then 
       listCell.css('width', '100%')
   end

   local isOdd = (listnum % 2) == 1
   local rowstyle = args.evenstyle
   if isOdd then rowstyle = args.oddstyle end

   local evenOdd
   if args.evenodd == 'swap' then
       if isOdd then evenOdd = 'even' else evenOdd = 'odd' end
   else
       if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end
   end

   listCell
       .css('padding', '0px')
       .cssText(args.liststyle)
       .cssText(rowstyle)
       .cssText(args['list' .. listnum .. 'style'])
       .addClass('navbox-list')
       .addClass('navbox-' .. evenOdd)
       .addClass(args.listclass)
       .tag('div')
           .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em')
           .wikitext(addNewline(args['list' .. listnum]))

   if listnum == 1 and args.image then
       row
           .tag('td')
               .addClass('navbox-image')
               .addClass(args.imageclass)
               .css('width', '0%')
               .css('padding', '0px 0px 0px 2px')
               .cssText(args.imagestyle)
               .attr('rowspan', 2 * #listnums - 1)
               .tag('div')
                   .wikitext(addNewline(args.image))
   end

end


-- -- Tracking categories --

local function needsHorizontalLists()

   if border == 'child' or border == 'subgroup'  or args.tracking == 'no' then return false end

   local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'}
   for i, cls in ipairs(listClasses) do
       if args.listclass == cls or args.bodyclass == cls then
           return false
       end
   end

   return true

end

local function hasBackgroundColors()

   return mw.ustring.match(args.titlestyle or ,'background') or mw.ustring.match(args.groupstyle or ,'background') or mw.ustring.match(args.basestyle or ,'background')

end

local function getTrackingCategories()

   local cats = {}
   if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end
   if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end
   return cats

end

local function renderTrackingCategories(builder)

   local title = mw.title.getCurrentTitle()
   if title.namespace ~= 10 then return end -- not in template space
   local subpage = title.subpageText
   if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end

   for i, cat in ipairs(getTrackingCategories()) do
       builder.wikitext() 
   end

end

-- -- Main navbox tables -- local function renderMainTable()

   local tbl = HtmlBuilder.create('table')
       .attr('cellspacing', 0)
       .addClass('nowraplinks')
       .addClass(args.bodyclass)

   if args.title and (args.state ~= 'plain' and args.state ~= 'off') then
       tbl
           .addClass('collapsible')
           .addClass(args.state or 'autocollapse')
   end

   tbl.css('border-spacing', 0)
   if border == 'subgroup' or border == 'child' or border == 'none' then
       tbl
           .addClass('navbox-subgroup')
           .cssText(args.bodystyle)
           .cssText(args.style)
   else -- regular navobx - bodystyle and style will be applied to the wrapper table
       tbl
           .addClass('navbox-inner')
           .css('background', 'transparent')
           .css('color', 'inherit')
   end
   tbl.cssText(args.innerstyle)

   renderTitleRow(tbl)
   renderAboveRow(tbl)
   for i, listnum in ipairs(listnums) do
       renderListRow(tbl, listnum) 
   end
   renderBelowRow(tbl)

   return tbl

end

function p._navbox(navboxArgs)

   args = navboxArgs

   for k, v in pairs(args) do
       local listnum = ( .. k):match('^list(%d+)$')
       if listnum then table.insert(listnums, tonumber(listnum)) end
   end
   table.sort(listnums)

   border = trim(args.border or args[1] or )

   -- render the main body of the navbox
   local tbl = renderMainTable()

   -- render the appropriate wrapper around the navbox, depending on the border param
   local res = HtmlBuilder.create()
   if border == 'none' then
       res.node(tbl)
   elseif border == 'subgroup' or border == 'child' then
       -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is
       -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the
-- padding being applied, and at the end add a
to balance out the parent's
       res
           .tag('/div', {unclosed = true})
               .done()
           .node(tbl)
           .tag('div', {unclosed = true})
   else
       res
           .tag('table')
               .attr('cellspacing', 0)
               .addClass('navbox')
               .css('border-spacing', 0)
               .cssText(args.bodystyle)
               .cssText(args.style)
               .tag('tr')
                   .tag('td')
                       .css('padding', '2px')
                       .node(tbl)
   end

   renderTrackingCategories(res)

   return tostring(res)

end

function p.navbox(frame)

   if not getArgs then
   	getArgs = require('Module:Arguments').getArgs
   end
   args = getArgs(frame)

   -- Read the arguments in the order they'll be output in, to make references number in the right order.
   local _
   _ = args.title
   _ = args.above
   for i = 1, 20 do
       _ = args["group" .. tostring(i)]
       _ = args["list" .. tostring(i)]
   end    
   _ = args.below

   return p._navbox(args)

end

return p

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.