appswarm 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (305) hide show
  1. data/.autotest +124 -0
  2. data/History.txt +7 -0
  3. data/Manifest.txt +304 -0
  4. data/README.txt +373 -0
  5. data/Rakefile +153 -0
  6. data/TODO +7 -0
  7. data/apps/README.txt +17 -0
  8. data/apps/admin/admin.rb +79 -0
  9. data/apps/admin/controllers/admin.rb +81 -0
  10. data/apps/admin/controllers/settings.rb +63 -0
  11. data/apps/admin/controllers/users.rb +3 -0
  12. data/apps/admin/features/access.feature +21 -0
  13. data/apps/admin/features/mountLocal.feature +12 -0
  14. data/apps/admin/features/settings.feature +68 -0
  15. data/apps/admin/features/startApps.feature +27 -0
  16. data/apps/admin/layouts/main.rhtml +10 -0
  17. data/apps/admin/lib/settings.rb +52 -0
  18. data/apps/admin/static/admin.css +23 -0
  19. data/apps/admin/views/_log.rhtml +21 -0
  20. data/apps/admin/views/index.rhtml +43 -0
  21. data/apps/admin/views/info.rhtml +7 -0
  22. data/apps/admin/views/settings.rhtml +9 -0
  23. data/apps/admin/views/settings/_http_app.rhtml +15 -0
  24. data/apps/admin/views/settings/_web_server.rhtml +32 -0
  25. data/apps/admin/views/settings/index.rhtml +3 -0
  26. data/apps/admin/views/users/index.rhtml +6 -0
  27. data/apps/application_provider/application_provider.rb +11 -0
  28. data/apps/blog/blog.rb +27 -0
  29. data/apps/blog/controllers/blog.rb +29 -0
  30. data/apps/blog/views/index.rhtml +27 -0
  31. data/apps/browser_starter/browser_starter.rb +32 -0
  32. data/apps/crypto/crypto.rb +47 -0
  33. data/apps/crypto/crypto_rsa.rb +102 -0
  34. data/apps/crypto/spec/crypto_spec.rb +10 -0
  35. data/apps/directory_service/directory_service.rb +107 -0
  36. data/apps/directory_service/net_application.rb +92 -0
  37. data/apps/directory_service/spec/directory_service_spec.rb +36 -0
  38. data/apps/directory_service/spec/net_application_spec.rb +3 -0
  39. data/apps/global_application_interface/global_application.rb +52 -0
  40. data/apps/global_application_interface/global_application_interface.rb +84 -0
  41. data/apps/global_application_interface/spec/app_api_spec.rb +5 -0
  42. data/apps/global_tuple_space/global_tuple_space.rb +27 -0
  43. data/apps/global_web_proxy/features/session_handling.feature +7 -0
  44. data/apps/global_web_proxy/global_web_proxy.rb +221 -0
  45. data/apps/global_web_proxy/proxy/HTTPProxyServer-Dateien/rdoc-style.css +208 -0
  46. data/apps/global_web_proxy/proxy/HTTPProxyServer.html +566 -0
  47. data/apps/global_web_proxy/proxy/dnstest.rb +30 -0
  48. data/apps/global_web_proxy/proxy/proxy.rb +86 -0
  49. data/apps/global_web_proxy/proxy/wiki.html +267 -0
  50. data/apps/global_web_proxy/proxy/wiki.rb +115 -0
  51. data/apps/global_web_proxy/spec/res1 +112 -0
  52. data/apps/global_web_proxy/spec/res2 +125 -0
  53. data/apps/global_web_proxy/spec/web_proxy_spec.rb +88 -0
  54. data/apps/global_web_server/global_web_server.rb +120 -0
  55. data/apps/global_web_server/global_web_servlet.rb +6 -0
  56. data/apps/hello_world/controllers/hello_world.rb +11 -0
  57. data/apps/hello_world/features/show_on_local_web_server.feature +44 -0
  58. data/apps/hello_world/features/starting_apps.feature +6 -0
  59. data/apps/hello_world/features/through_global.feature +12 -0
  60. data/apps/hello_world/hello_world.rb +3 -0
  61. data/apps/hello_world/views/get.rhtml +10 -0
  62. data/apps/hello_world/views/index.rhtml +9 -0
  63. data/apps/hello_world/views/post.rhtml +10 -0
  64. data/apps/home/controllers/home.rb +11 -0
  65. data/apps/home/home.rb +12 -0
  66. data/apps/home/layouts/main.rhtml +16 -0
  67. data/apps/home/static/Zeichnung.svg +240 -0
  68. data/apps/home/static/home.css +134 -0
  69. data/apps/home/static/menu.css +99 -0
  70. data/apps/home/views/_appInfo.rhtml +22 -0
  71. data/apps/home/views/_dummy_fill.rhtml +3 -0
  72. data/apps/home/views/_info.rhtml +6 -0
  73. data/apps/home/views/_menu.rhtml +17 -0
  74. data/apps/home/views/index.rhtml +4 -0
  75. data/apps/home/views/overview.rhtml +2 -0
  76. data/apps/local_chunk_store/chunk_store.rb +15 -0
  77. data/apps/local_chunk_store/local_chunk_store.rb +123 -0
  78. data/apps/local_chunk_store/spec/local_chunk_store_spec.rb +30 -0
  79. data/apps/local_file_store/app_configuration.rb +78 -0
  80. data/apps/local_file_store/app_file_store.rb +32 -0
  81. data/apps/local_file_store/cached_file_store.rb +94 -0
  82. data/apps/local_file_store/features/testbed_handling_of_directories.feature +20 -0
  83. data/apps/local_file_store/local_file_store.rb +47 -0
  84. data/apps/local_file_store/spec/app_configuration_spec.rb +30 -0
  85. data/apps/local_file_store/spec/local_file_store_spec.rb +54 -0
  86. data/apps/local_object_storage/lib/cell.rb +29 -0
  87. data/apps/local_object_storage/lib/cellmgr.rb +57 -0
  88. data/apps/local_object_storage/lib/index.rb +43 -0
  89. data/apps/local_object_storage/lib/marshal.rb +96 -0
  90. data/apps/local_object_storage/lib/pagefile.rb +6 -0
  91. data/apps/local_object_storage/lib/persistent_object.rb +126 -0
  92. data/apps/local_object_storage/local_object_storage.rb +148 -0
  93. data/apps/local_object_storage/spec/local_object_storage_spec.rb +123 -0
  94. data/apps/local_secure_file_store/local_secure_file_store.rb +64 -0
  95. data/apps/local_secure_file_store/spec/local_secure_file_store_spec.rb +23 -0
  96. data/apps/local_tuple_space/local_tuple_space.rb +92 -0
  97. data/apps/local_tuple_space/spec/tuple_space_spec.rb +25 -0
  98. data/apps/local_web_server/features/parsing_args.feature +18 -0
  99. data/apps/local_web_server/local_web_server.rb +166 -0
  100. data/apps/logger/logger.rb +27 -0
  101. data/apps/master/master.rb +46 -0
  102. data/apps/master/spec/master_spec.rb +31 -0
  103. data/apps/my_spec_spec.rb +15 -0
  104. data/apps/name_service/name_service.rb +75 -0
  105. data/apps/name_service/spec/name_service_spec.rb +51 -0
  106. data/apps/network_discovery/network_discovery.rb +45 -0
  107. data/apps/network_discovery_localstore/network_discovery_localstore.rb +20 -0
  108. data/apps/network_discovery_udp/network_discovery_udp.rb +51 -0
  109. data/apps/network_lookup/network_lookup.rb +61 -0
  110. data/apps/network_node/abstract_node.rb +104 -0
  111. data/apps/network_node/drb_node.rb +90 -0
  112. data/apps/network_node/network_app.rb +9 -0
  113. data/apps/network_node/network_node.rb +471 -0
  114. data/apps/network_node/remote_service.rb +45 -0
  115. data/apps/network_node/secure_node.rb +125 -0
  116. data/apps/network_node/spec/drb_spec.rb +41 -0
  117. data/apps/network_node/spec/network_node_spec_not.rb +264 -0
  118. data/apps/new_network_node/new_network_node.rb +427 -0
  119. data/apps/new_network_node/spec/new_network_node_spec.rb +186 -0
  120. data/apps/node_broadcast/node_broadcast.rb +167 -0
  121. data/apps/node_broadcast/spec/node_broadcast_spec.rb +59 -0
  122. data/apps/permaspace/permaspace.rb +47 -0
  123. data/apps/plaindb/lib/btree.rb +38 -0
  124. data/apps/plaindb/plaindb.rb +199 -0
  125. data/apps/plaindb/spec/table_write_spec.rb +36 -0
  126. data/apps/routed_network/routed_network.rb +23 -0
  127. data/apps/routed_network/spec/routed_network_spec.rb +17 -0
  128. data/apps/session_manager/session_manager.rb +18 -0
  129. data/apps/spec_output.html +222 -0
  130. data/apps/todo/controllers/todo.rb +87 -0
  131. data/apps/todo/model/comment.rb +10 -0
  132. data/apps/todo/model/project.rb +20 -0
  133. data/apps/todo/model/todo.rb +16 -0
  134. data/apps/todo/model/user.rb +5 -0
  135. data/apps/todo/todo.rb +21 -0
  136. data/apps/todo/views/_commentList.rhtml +7 -0
  137. data/apps/todo/views/_createProject.rhtml +5 -0
  138. data/apps/todo/views/_partList.rhtml +12 -0
  139. data/apps/todo/views/_projectList.rhtml +16 -0
  140. data/apps/todo/views/edit.rhtml +11 -0
  141. data/apps/todo/views/editPart.rhtml +10 -0
  142. data/apps/todo/views/index.rhtml +2 -0
  143. data/apps/todo/views/question.rhtml +4 -0
  144. data/apps/transparent_network/transparent_network.rb +7 -0
  145. data/apps/udp_network/big_transfer.rb +97 -0
  146. data/apps/udp_network/features/information.feature +7 -0
  147. data/apps/udp_network/message_queue.rb +84 -0
  148. data/apps/udp_network/network_interface_api.rb +39 -0
  149. data/apps/udp_network/qos_queue.rb +186 -0
  150. data/apps/udp_network/simple_api.rb +180 -0
  151. data/apps/udp_network/spec/big_transfer_spec.rb +0 -0
  152. data/apps/udp_network/spec/qos_queue_spec.rb +99 -0
  153. data/apps/udp_network/spec/simple_api_spec.rb +35 -0
  154. data/apps/udp_network/spec/udp_network_spec.rb +115 -0
  155. data/apps/udp_network/spec/udp_transceiver_spec.rb +90 -0
  156. data/apps/udp_network/udp_network.rb +196 -0
  157. data/apps/udp_network/udp_transceiver.rb +329 -0
  158. data/apps/wiki/controllers/wiki.rb +56 -0
  159. data/apps/wiki/features/editing.feature +21 -0
  160. data/apps/wiki/layouts/main.rhtml +18 -0
  161. data/apps/wiki/lib/media_wiki_html.rb +35 -0
  162. data/apps/wiki/lib/wikicreole.rb +2147 -0
  163. data/apps/wiki/lib/wikicreole.tt +135 -0
  164. data/apps/wiki/lib/wikitest.rb +158 -0
  165. data/apps/wiki/lib/wikitest.tt +17 -0
  166. data/apps/wiki/model/menu.rb +15 -0
  167. data/apps/wiki/model/page.rb +31 -0
  168. data/apps/wiki/spec/wiki_creole_spec.rb +20 -0
  169. data/apps/wiki/spec/wiki_spec.rb +19 -0
  170. data/apps/wiki/static/Zeichnung.svg +240 -0
  171. data/apps/wiki/static/home.css +134 -0
  172. data/apps/wiki/static/mainMenu.css +32 -0
  173. data/apps/wiki/static/menu.css +99 -0
  174. data/apps/wiki/views/_mainMenu.rhtml +3 -0
  175. data/apps/wiki/views/_menu.rhtml +13 -0
  176. data/apps/wiki/views/edit.rhtml +13 -0
  177. data/apps/wiki/views/index.rhtml +2 -0
  178. data/apps/wiki/views/save.rhtml +1 -0
  179. data/apps/wiki/wiki.rb +17 -0
  180. data/bin/appswarm +47 -0
  181. data/cucumber.yml +2 -0
  182. data/data/PermaspaceApp/AFS_WikiApp_wiki_config +6 -0
  183. data/data/draft.txt +63 -0
  184. data/docs/appswarm_motivation.graffle +0 -0
  185. data/docs/appswarm_pics.graffle/QuickLook/Preview.pdf +0 -0
  186. data/docs/appswarm_pics.graffle/QuickLook/Thumbnail.tiff +0 -0
  187. data/docs/appswarm_pics.graffle/data.plist +63494 -0
  188. data/docs/appswarm_pics.graffle/image1.tiff +0 -0
  189. data/docs/appswarm_pics.graffle/image2.tif +0 -0
  190. data/docs/appswarm_pics.graffle/image3.tif +0 -0
  191. data/docs/appswarm_pics.graffle/image4.tif +0 -0
  192. data/docs/appswarm_pics.graffle/image5.tiff +0 -0
  193. data/docs/routing.graffle +0 -0
  194. data/features/step_definitions/appstart_steps.rb +28 -0
  195. data/features/step_definitions/cluster_steps.rb +18 -0
  196. data/features/step_definitions/testbed_steps.rb +64 -0
  197. data/features/step_definitions/webapp_steps.rb +257 -0
  198. data/features/support/env.rb +7 -0
  199. data/lib/appswarm.rb +127 -0
  200. data/lib/appswarm/README.txt +67 -0
  201. data/lib/appswarm/app_config.rb +19 -0
  202. data/lib/appswarm/application.rb +267 -0
  203. data/lib/appswarm/breaking_mutex.rb +41 -0
  204. data/lib/appswarm/cluster_funcs.rb +157 -0
  205. data/lib/appswarm/cross_spectool.rb +153 -0
  206. data/lib/appswarm/crypt.rb +10 -0
  207. data/lib/appswarm/crypt/crypto.rb +90 -0
  208. data/lib/appswarm/crypt/rsa_key +15 -0
  209. data/lib/appswarm/crypt/rsa_key.pub +5 -0
  210. data/lib/appswarm/crypt/test.rb +27 -0
  211. data/lib/appswarm/dir_tool.rb +41 -0
  212. data/lib/appswarm/event_api.rb +7 -0
  213. data/lib/appswarm/features_helper.rb +44 -0
  214. data/lib/appswarm/global_service.rb +38 -0
  215. data/lib/appswarm/http.rb +1 -0
  216. data/lib/appswarm/http/http_app.rb +257 -0
  217. data/lib/appswarm/http/http_controller.rb +267 -0
  218. data/lib/appswarm/http/http_provider.rb +80 -0
  219. data/lib/appswarm/http/static/favicon.ico +0 -0
  220. data/lib/appswarm/http/static/javascript/._prototype.js +0 -0
  221. data/lib/appswarm/http/static/javascript/prototype.js +2515 -0
  222. data/lib/appswarm/http/webrick_logger.rb +12 -0
  223. data/lib/appswarm/net_service.rb +69 -0
  224. data/lib/appswarm/package.rb +88 -0
  225. data/lib/appswarm/parallel_each.rb +46 -0
  226. data/lib/appswarm/protocols/protocol_dice.rb +25 -0
  227. data/lib/appswarm/proxy_testing.rb +48 -0
  228. data/lib/appswarm/public_api.rb +35 -0
  229. data/lib/appswarm/routing/matrix_math.rb +57 -0
  230. data/lib/appswarm/routing/pca.rb +211 -0
  231. data/lib/appswarm/routing/routetest.rb +85 -0
  232. data/lib/appswarm/routing/routing.rb +326 -0
  233. data/lib/appswarm/routing/spec/nods_spec.rb +23 -0
  234. data/lib/appswarm/routing/spec/pca_spec.rb +27 -0
  235. data/lib/appswarm/routing/spec/routing_spec.rb +91 -0
  236. data/lib/appswarm/secure_con.rb +437 -0
  237. data/lib/appswarm/secure_connection.rb +79 -0
  238. data/lib/appswarm/secure_marshal.rb +137 -0
  239. data/lib/appswarm/service.rb +76 -0
  240. data/lib/appswarm/simple_marshal.rb +96 -0
  241. data/lib/appswarm/simple_marshal_parser.rb +1243 -0
  242. data/lib/appswarm/simple_marshal_parser.tt +158 -0
  243. data/lib/appswarm/spec/application_spec.rb +50 -0
  244. data/lib/appswarm/spec/cluster_spec.rb +2 -0
  245. data/lib/appswarm/spec/hexdist_spec.rb +13 -0
  246. data/lib/appswarm/spec/http_controller_spec.rb +18 -0
  247. data/lib/appswarm/spec/main_spec.rb +6 -0
  248. data/lib/appswarm/spec/parallel_each_spec.rb +30 -0
  249. data/lib/appswarm/spec/secure_connection_spec.rb +108 -0
  250. data/lib/appswarm/spec/secure_marshal_spec.rb +93 -0
  251. data/lib/appswarm/spec/simple_marshal_spec.rb +87 -0
  252. data/lib/appswarm/spec/tools_spec.rb +13 -0
  253. data/lib/appswarm/spec/whiteboard_spec.rb +20 -0
  254. data/lib/appswarm/spec_helper.rb +18 -0
  255. data/lib/appswarm/test_bed.rb +207 -0
  256. data/lib/appswarm/tools.rb +284 -0
  257. data/lib/appswarm/tools/http_tunnel_client.rb +139 -0
  258. data/lib/appswarm/tools/http_tunnel_common.rb +8 -0
  259. data/lib/appswarm/tools/http_tunnel_server.rb +78 -0
  260. data/lib/appswarm/tools/parser/example_data.simple +102 -0
  261. data/lib/appswarm/tools/parser/match_test.rb +14 -0
  262. data/lib/appswarm/tools/parser/parser_lib.rb +165 -0
  263. data/lib/appswarm/tools/parser/parser_test.rb +104 -0
  264. data/lib/appswarm/tools/parser/spec/parser_spec.rb +44 -0
  265. data/lib/appswarm/tools/pipes.rb +95 -0
  266. data/lib/appswarm/tools/spec/tracing_spec.rb +16 -0
  267. data/lib/appswarm/tools/spec/waiting_queue_spec.rb +15 -0
  268. data/lib/appswarm/tools/thread_tool.rb +61 -0
  269. data/lib/appswarm/tools/tracing.rb +84 -0
  270. data/lib/appswarm/tools/treetop_test.rb +20 -0
  271. data/lib/appswarm/tools/treetop_test_grammar.rb +114 -0
  272. data/lib/appswarm/tools/treetop_test_grammar.tt +7 -0
  273. data/lib/appswarm/tools/waiting_prio_queue.rb +47 -0
  274. data/lib/appswarm/tools/waiting_queue.rb +34 -0
  275. data/lib/appswarm/whiteboard.rb +73 -0
  276. data/nettest.rb +50 -0
  277. data/packages/README.txt +1 -0
  278. data/packages/msandbox/data/packages/store/my.txt +1 -0
  279. data/packages/msandbox/interfaces.rb +172 -0
  280. data/packages/msandbox/old/defa.rb +3 -0
  281. data/packages/msandbox/old/test.rb +14 -0
  282. data/packages/msandbox/old/test2.rb +56 -0
  283. data/packages/msandbox/package.rb +67 -0
  284. data/packages/msandbox/packages/store/config.yml +1 -0
  285. data/packages/msandbox/packages/store/main.rb +27 -0
  286. data/packages/msandbox/packages/store/myinclude.rb +7 -0
  287. data/packages/msandbox/packages/store_test/config.yml +1 -0
  288. data/packages/msandbox/packages/store_test/main.rb +9 -0
  289. data/packages/msandbox/server.rb +146 -0
  290. data/packages/msandbox/test.rb +13 -0
  291. data/packages/msandbox/test2.rb +29 -0
  292. data/templates/web/appswarm/controllers/appswarm.rb +41 -0
  293. data/templates/web/appswarm/layouts/main.rhtml +20 -0
  294. data/templates/web/appswarm/models/asmenu.rb +14 -0
  295. data/templates/web/appswarm/models/asuser.rb +30 -0
  296. data/templates/web/appswarm/static/custom.css +15 -0
  297. data/templates/web/appswarm/static/home.css +134 -0
  298. data/templates/web/appswarm/static/mainMenu.css +32 -0
  299. data/templates/web/appswarm/static/menu.css +99 -0
  300. data/templates/web/appswarm/views/_mainMenu.rhtml +5 -0
  301. data/templates/web/appswarm/views/_menu.rhtml +13 -0
  302. data/templates/web/appswarm/views/_userInfo.rhtml +7 -0
  303. data/templates/web/appswarm/views/login.rhtml +9 -0
  304. data/tools/checkPort.rb +11 -0
  305. metadata +379 -0
@@ -0,0 +1,30 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'net/http'
4
+ require 'pp'
5
+
6
+ host="blub.appswarm"
7
+ port="80"
8
+ proxy_host=nil
9
+ proxy_port=nil
10
+ request_method="GET"
11
+
12
+ path="/"
13
+ header=""
14
+
15
+ begin
16
+ http = Net::HTTP.new(host, port, proxy_host, proxy_port)
17
+ http.start{
18
+ case request_method
19
+ when "GET" then response = http.get(path, header)
20
+ when "POST" then response = http.post(path, req.body || "", header)
21
+ when "HEAD" then response = http.head(path, header)
22
+ else
23
+ raise HTTPStatus::MethodNotAllowed,
24
+ "unsupported method `#{req.request_method}'."
25
+ end
26
+ }
27
+
28
+ rescue Object=>e
29
+ pp e,e.backtrace
30
+ end
@@ -0,0 +1,86 @@
1
+ require 'open-uri'
2
+ require 'webrick/httpproxy'
3
+ require 'pp'
4
+ require 'open-uri'
5
+
6
+
7
+ class DNSLookup
8
+ def initialize(hash={})
9
+ @hash=hash
10
+ end
11
+
12
+ def []=(a,b)
13
+ @hash[a]=b
14
+ end
15
+
16
+ def [](name)
17
+ @hash[name]
18
+ end
19
+ end
20
+
21
+ class MyWebApp
22
+ attr_reader :name
23
+ def initialize(name)
24
+ @name=name
25
+ end
26
+
27
+ def get(req,res)
28
+ res.body="<html><body><h1>MUH</h1>NAME:#{@name}</body></html>"
29
+ res["content-type"]="text/html"
30
+ end
31
+ end
32
+
33
+ class Web
34
+ def initialize(dns)
35
+ @apps=[]
36
+ @dns=dns
37
+ end
38
+ def <<(app)
39
+ @apps<<app
40
+ end
41
+ def [](url)
42
+ name=@dns[url]
43
+ if name
44
+ @apps.select{|app|app.name==name}[0]
45
+ end
46
+ end
47
+ end
48
+
49
+
50
+ class MProxy< WEBrick::HTTPProxyServer
51
+ def initialize(port,web)
52
+ @web=web
53
+ super(:BindAddress => ARGV[0] || "127.0.0.1",
54
+ :Port => ARGV[1] || port
55
+ )
56
+ end
57
+ def proxy_service(req, res)
58
+ app=@web[req.request_uri.host]
59
+ if app
60
+ return app.get(req,res)
61
+ end
62
+ begin
63
+ super
64
+ rescue Object=>e
65
+ pp e,e.backtrace
66
+ end
67
+ end
68
+ end
69
+
70
+ begin
71
+
72
+ dns=DNSLookup.new
73
+ dns["blub.appswarm"]="127.0.0.1"
74
+
75
+ web=Web.new(dns)
76
+ web << MyWebApp.new("my")
77
+ dns["my.appswarm"]="my"
78
+
79
+ pp dns
80
+ server = MProxy::new(37004,web)
81
+ trap( :INT ) { server.shutdown }
82
+ server.start
83
+ rescue Exception
84
+ puts "Error: #{$!}"
85
+ server.shutdown
86
+ end
@@ -0,0 +1,267 @@
1
+ <html><body>
2
+ <b>Milton William Cooper</b> (<a href='http://wiki.appswarm/May_6'>May 6</a>, <a href='http://wiki.appswarm/1943'>1943</a> - <a href='http://wiki.appswarm/November_5'>November 5</a>, <a href='http://wiki.appswarm/2001'>2001</a>) was an <a href='http://wiki.appswarm/USA'>American</a> <a href='http://wiki.appswarm/writer'>writer</a>, <a href='http://wiki.appswarm/shortwave'>shortwave</a> broadcaster. Cooper came to public awareness in the late 1980s. <br><br>The son of a <a href='http://wiki.appswarm/U.S._Air_Force'>U.S. Air Force</a> officer, Cooper graduated in 1961 from Yamato High School in Japan, and enlisted in the U.S. Air force. He was honorably discharged in 1965, and enlisted in the <a href='http://wiki.appswarm/U.S._Navy'>U.S. Navy</a> in December of that year. He served in <a href='http://wiki.appswarm/Vietnam'>Vietnam</a>, rising to the rank of <a href='http://wiki.appswarm/petty_officer'>petty officer</a>. Cooper was awarded the <a href='http://wiki.appswarm/Navy_Commendation_Medal'>Navy Commendation Medal</a> with combat ''V'' and the <a href='http://wiki.appswarm/Navy_Achievement_Medal'>Navy Achievement Medal</a> with combat ''V''. He was honorably discharged in 1974.<ref><a href='#cite1'><small>[1]</small></a></ref> <br><br><h1>The Secret Government</h1>
3
+ Cooper's earliest notoriety developed among <a href='http://wiki.appswarm/UFO'>UFO</a> enthusiasts, as he promoted <a href='http://wiki.appswarm/UFO_conspiracy_theory'>UFO conspiracy theories</a>, <a href='http://wiki.appswarm/Kennedy_assassination_theories'>Kennedy assassination theories</a>, and theories about a <a href='http://wiki.appswarm/New_World_Order_(conspiracy_theory)'>New World Order</a>.<br><br>In many ways, his accounts were similar to earlier UFO reports: UFOs had crashed, the ships and their alien pilots had been recovered, and the government made agreements with aliens. Cooper further detailed his arguments in a <a href='http://wiki.appswarm/vanity_press'>self-published</a> pamphlet, "The Secret Government: The Origin, Identity and Purpose of <a href='http://wiki.appswarm/w:MJ-12'>MJ-12</a>".<ref><a href='#cite2'><small>[2]</small></a></ref><br><br>The pamphlet contains multiple claims: UFOs had been crashing on Earth by the dozens since the mid-1940s, and <a href='http://wiki.appswarm/Secretary_of_Defense'>Secretary of Defense</a> <a href='http://wiki.appswarm/James_Forrestal'>James Forrestal</a> threatened to publicize the fact and was killed to prevent him from doing so; in 1954 "His Omnipotent Highness Krlll"&mdash;leader of a species living on a planet orbiting <a href='http://wiki.appswarm/Betelgeuse'>Betelgeuse</a>&mdash;appeared on earth and suggested a treaty: The aliens would abduct humans and wipe their memories of the event in exchange for sharing their technology. U.S. officials feared the aliens' superior technology, and felt they had no choice but to accept the conditions offered by the aliens.<br><br>Aliens quickly broke the treaty, kidnapping and killing humans and livestock. The <a href='http://wiki.appswarm/Cold_War'>Cold War</a>, Cooper says, was largely a façade in that the United States and the Soviet Union were actually in close collaboration, both to combat the aliens and to pave the way for a totalitarian <a href='http://wiki.appswarm/one_world_government'>one world government</a>. The Majestic 12 committee began selling drugs to raise funds to combat the aliens, reports Cooper, and President <a href='http://wiki.appswarm/John_F._Kennedy'>John F. Kennedy</a> was assassinated when he objected. Cooper also notes that the alien threat could be a carefully crafted hoax and notes that these reports could also be top secret government aircraft.<br><br><h1>Behold a Pale Horse</h1>
4
+ Many <a href='http://wiki.appswarm/ufology'>ufologists</a> striving for mainstream acceptance ignored Cooper, yet he became a popular speaker on the UFO lecture circuit, and expanded his account into the book ''<a href='http://wiki.appswarm/Behold_a_Pale_Horse'>Behold a Pale Horse</a>''.<br><br>Cooper is perhaps best known for this 1991 book which details many of his claims about various conspiracy theories. The title is from the Bible, {{bibleverse||Revelation|6:8|9}}: "And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him." The book includes the text of ''<a href='http://wiki.appswarm/The_Protocols_of_the_Learned_Elders_of_Zion'>The Protocols of the Learned Elders of Zion</a>''. Cooper placed a notice at the beginning of the chapter that the Protocols were not Jewish in origin but were disguised as such.<br><br>Written after Cooper had been a member of the US Naval Intelligence Briefing Team of the Commander in Chief of the United States Pacific Fleet, ''Behold a Pale Horse'' details Cooper's claims about the <a href='http://wiki.appswarm/UFO_conspiracy_theory'>influence of UFOs</a> on the US government, the <a href='http://wiki.appswarm/New_World_Order_(conspiracy)'>New World Order</a>, the <a href='http://wiki.appswarm/Kennedy_assassination_theories'>assassination of President Kennedy</a>, and the <a href='http://wiki.appswarm/Apollo_Moon_landing_hoax_accusations'>Apollo Moon landing</a>.<br><br>Cooper later stated that he had been deceived by superiors into believing the UFO conspiracy. In a paper available at his website (hourofthetime.com) called MAJESTYTWELVE he stated:<br><br>::When I saw Operation Majority while serving in the Navy I believed the alien threat was real just like everyone else. It was not until I had performed many years of research that I was able to fully understand exactly what it was that I had seen. It was extremely difficult for me to believe that my government and the United States Navy had used me, especially since I had dedicated my life to government and military service. Most government and military personnel cannot and will not believe such and [sic] idea.<ref>See <a href='http://www.hourofthetime.com/majestyt.htm'>http://www.hourofthetime.com/majestyt.htm</a>.</ref><br><br><h1>Radio host, author and political activist</h1><br><br>Cooper was also a radio host, author and political activist known for his best-selling <a href='http://wiki.appswarm/underground_culture'>underground</a> book titled ''Behold A Pale Horse'' and his worldwide <a href='http://wiki.appswarm/shortwave'>shortwave</a> radio show ''<a href='http://wiki.appswarm/Hour_of_the_Time'>Hour of the Time</a>''. Cooper was also known for his court battle with the <a href='http://wiki.appswarm/Internal_Revenue_Service'>Internal Revenue Service</a> (IRS) and the recorded attempts to dissuade him from pursuing his case.{{Fact|date=February 2007}} He and <a href='http://wiki.appswarm/Wayne_Bentson'>Wayne Bentson</a> co-researched the related CAJI News Service brief titled ''BATF/IRS -- Criminal Fraud''<ref name=batf><a href='#cite3'><small>[3]</small></a></ref> where he did a history of crimes committed by the <a href='http://wiki.appswarm/Internal_Revenue_Service'>Internal Revenue Service</a>, <a href='http://wiki.appswarm/Bureau_of_Alcohol,_Tobacco_and_Firearms'>Bureau of Alcohol, Tobacco and Firearms</a> and the <a href='http://wiki.appswarm/Department_of_the_Treasury'>Department of the Treasury</a>. The article was first published in <a href='http://wiki.appswarm/Veritas_(disambiguation)'>Veritas</a> magazine, issue #6, from September 1995. In the article, he asserts that the <a href='http://wiki.appswarm/Internal_Revenue_Service'>IRS</a> is actually the same organization as the <a href='http://wiki.appswarm/Bureau_of_Alcohol,_Tobacco_and_Firearms'>Bureau of Alcohol, Tobacco and Firearms</a>.<br><br>He claimed that a <a href='http://wiki.appswarm/Form_1040'>Form 1040</a> is the <a href='http://wiki.appswarm/income_tax'>income</a> <a href='http://wiki.appswarm/Tax_return_(United_States)'>tax return</a> for a nonresident alien citizen of the U.S. <a href='http://wiki.appswarm/Virgin_Islands'>Virgin Islands</a> residing within one of the 50 States of the Union known as the <a href='http://wiki.appswarm/United_States_of_America'>United States of America</a>. He also claimed that in <a href='http://wiki.appswarm/Internal_Revenue_Service'>Internal Revenue Service</a> publication 6209 - Computer Codes for IRS, TC 150 is the code for <a href='http://wiki.appswarm/Virgin_Island'>Virgin Island</a> returns and codes 300 through 398 are "U.S. and UK Tax Treaty claims involving taxes on <a href='http://wiki.appswarm/narcotics'>narcotics</a> which were financed in the <a href='http://wiki.appswarm/Cayman_Islands'>Cayman Islands</a> and imported into the <a href='http://wiki.appswarm/Virgin_Islands'>Virgin Islands</a>." Cooper supposedly filed <a href='http://wiki.appswarm/Freedom_of_Information_Act'>Freedom of Information Act</a> requests for the IRS's Individual Master File of people experiencing tax problems and every return was found to contain those codes, except those coded as <a href='http://wiki.appswarm/Guam'>Guam</a> returns. It is his assertion that ''"the Citizen is being taxed on income derived from importing <a href='http://wiki.appswarm/narcotics'>narcotics</a>, <a href='http://wiki.appswarm/alcohol'>alcohol</a>, <a href='http://wiki.appswarm/tobacco'>tobacco</a>, or <a href='http://wiki.appswarm/firearms'>firearms</a> into the <a href='http://wiki.appswarm/United_States'>United States</a>, or one of its territories or possessions, from a foreign country, or from <a href='http://wiki.appswarm/Guam'>Guam</a>, <a href='http://wiki.appswarm/Puerto_Rico'>Puerto Rico</a>, the <a href='http://wiki.appswarm/Virgin_Islands'>Virgin Islands</a>, or into the Virgin Islands from the <a href='http://wiki.appswarm/Cayman_Islands'>Cayman Islands</a>."''<ref name=batf/><br><br>He had also produced several documentaries covering subjects such as the <a href='http://wiki.appswarm/John_F._Kennedy'>John F. Kennedy</a> assassination and government 'black projects'.<br><br>Cooper's detractors labeled him a <a href='http://wiki.appswarm/conspiracy_theorist'>conspiracy theorist</a> because of his publications, a charge Cooper did not deny, arguing this:<br><br><blockquote>
5
+ Investigation of the alleged Internal Revenue Service and the <a href='http://wiki.appswarm/Bureau_of_Alcohol,_Tobacco,_Firearms_and_Explosives'>Bureau of Alcohol, Tobacco and Firearms</a> has disclosed a broad, premeditated conspiracy to defraud the Citizens of the United States of America. Examination of the <a href='http://wiki.appswarm/United_States_Code'>United States Code</a>, the <a href='http://wiki.appswarm/Code_of_Federal_Regulations'>Code of Federal Regulations</a>, the <a href='http://wiki.appswarm/United_States_Statutes_at_Large'>Statutes at Large</a>, <a href='http://wiki.appswarm/Congressional_Record'>Congressional Record</a>, the <a href='http://wiki.appswarm/Federal_Register'>Federal Register</a>, and Internal Revenue manuals too numerous to list, reveals a crime of such magnitude that words cannot adequately describe the betrayal of the American people. What we uncovered has clearly been designed to circumvent the limitations of the Constitution for the United States of America and to implement the <a href='http://wiki.appswarm/The_Communist_Manifesto'>Communist Manifesto</a> within the 50 States. <a href='http://wiki.appswarm/Karl_Marx'>Marx</a> and <a href='http://wiki.appswarm/Friedrich_Engels'>Engels</a> claimed that, in the effort to create a classless society, a "graduated income tax" could be used as a weapon to destroy the middle class. [ . . . ] Through the clever use of language, the government promotes the fraud.<ref>"BATF/IRS - Criminal Fraud", ''Veritas'' (issue no. 6, September 1995).<a href='http://www.tax-freedom.com/origins.txt'>http://www.tax-freedom.com/origins.txt</a></ref>
6
+ </blockquote><br><br>Throughout the late 1980s, Cooper was a controversial figure in the <a href='http://wiki.appswarm/UFO'>UFO</a> research community. For the most part, he followed many of the claims of <a href='http://wiki.appswarm/John_Lear'>John Lear</a>, specifically, that the government of the United States has had contact and has entered into a bargain with an extraterrestrial society and that those ETs were responsible for <a href='http://wiki.appswarm/Abduction_Phenomenon'>abductions</a>. He circulated materials on <a href='http://wiki.appswarm/Usenet'>Usenet</a> as well as the old Paranet BBS. Notable among them was a <a href='http://web.ukonline.co.uk/darrenp/ufo/petition.htm Petition to Indict'>http://web.ukonline.co.uk/darrenp/ufo/petition.htm Petition to Indict</a> those involved with the UFO cover-up. His UFO beliefs of the time are well described in ''Behold a Pale Horse''. <br><br>In later years, Cooper recanted his UFO-oriented beliefs, asserting that they were in fact part of the <a href='http://wiki.appswarm/Illuminati'>Illuminati</a> plot to subjugate the United States.{{Fact|date=October 2008}} <br><br>William Cooper founded Harvest Trust, the CAJI News Service, <a href='http://wiki.appswarm/Veritas_(disambiguation)'>Veritas</a> newspaper, The Intelligence Service, and Harvest Publications. Under his leadership Harvest Trust ventured into publishing. The first book under the Harvest Trust imprint was ''Oklahoma City: Day One'' (ISBN 0-9653307-1-0), by Michele Marie Moore about the <a href='http://wiki.appswarm/Oklahoma_City_bombing'>Oklahoma City bombing</a>. In 1998 <a href='http://wiki.appswarm/Veritas_(disambiguation)'>Veritas</a> and Harvest Publications was sold to Hallmark Creative Corporation along with the copyright and all rights to all written material produced or ever to be produced by William Cooper including ''Behold A Pale Horse'' and ''Oklahoma City: Day One''. Hallmark Creative Corporation has contracted to ensure this material is always available to the public.<ref name=hott><a href='#cite4'><small>[4]</small></a></ref><br><br>An advocate for <a href='http://wiki.appswarm/free_radio'>free radio</a>, Cooper operated the <a href='http://wiki.appswarm/pirate_radio'>unlicensed</a> Independence Foundation Trust at 101.1 <a href='http://wiki.appswarm/FM_radio'>FM</a> in <a href='http://wiki.appswarm/Eagar,_Arizona'>Eagar, Arizona</a>. Cooper claimed to have helped over 700 low power FM affiliate stations get equipped and on the air.<br><br><h1>Later life</h1>
7
+ According to ''<a href='http://wiki.appswarm/Commander_X'>Commander X</a>'',<ref name=X><a href='#cite5'><small>[5]</small></a></ref> shortly after the bombing of the <a href='http://wiki.appswarm/Alfred_P._Murrah_Federal_Building'>Alfred P. Murrah Federal Building</a>, <a href='http://wiki.appswarm/Rush_Limbaugh'>Rush Limbaugh</a> read a <a href='http://wiki.appswarm/White_House'>White House</a> memo on the air during his broadcast which named William Cooper, ".&nbsp;.&nbsp;. the most dangerous radio host in America". Mr. Cooper considered <a href='http://wiki.appswarm/President_of_the_United_States'>President</a> <a href='http://wiki.appswarm/Bill_Clinton'>Bill Clinton</a>'s pronouncement the greatest compliment that he had ever received.<ref name=hott/><br><br>An outspoken critic of US government abuses, Cooper was charged with various crimes, including <a href='http://wiki.appswarm/tax_evasion'>tax evasion</a> from 1992 to 1994, and <a href='http://wiki.appswarm/bank_fraud'>bank fraud</a> for giving false information on a loan application. He was never convicted of any of these charges.{{Fact|date=October 2008}}<br><br>In the 1990s Cooper's interest moved from UFOs, to covert government programs, and finally to the militia movement. Having been torn in earlier writings with the possibility, he concluded that all UFO reports were New World Order propaganda. {{Fact|date=October 2008}} <!--When did he move to Arizona?--><br><br><h1>Death</h1><br><br>By 1998 Cooper was living in Arizona. There was a warrant for his arrest due to claims by a local doctor that Cooper made threatening actions when the doctor was loitering near Cooper's home. Cooper said he would meet with armed resistance any attempt to execute what he saw as "unlawful warrants." Later a warrant was issued for aggravated assault with a deadly weapon, following a dispute with a local man who was stalking Cooper.<ref><a href='#cite6'><small>[6]</small></a></ref> According to ''Commander X'', in March of 1999 Cooper sent his family out of the United States for their security. He lived and worked alone with his two dogs, one rooster, and one chicken until his death in 2001.<ref name=X/> In July and September 2001, Cooper was accused of using a handgun to threaten a loiterer near his home in <a href='http://wiki.appswarm/Eagar,_Arizona'>Eagar, Arizona</a>. <br><br>The circumstances surrounding Cooper's death are controversial. On <a href='http://wiki.appswarm/September_16'>September 16</a> <a href='http://wiki.appswarm/2001'>2001</a>, officers of the <a href='http://wiki.appswarm/Apache_County,_Arizona'>Apache County</a> Sheriff's Office decided to serve Cooper a warrant based on the above-mentioned charges. For reasons not explained, the Sheriff's Office sent deputies to Cooper's home at approximately 11:00PM, and instead of knocking on his door and announcing themselves, the deputies attempted to lure Cooper from his house by posing as citizens playing loud music on or near his property. Cooper, who was an above the knee amputee, went down to investigate the scene in his truck. It is disputed whether the deputies identified themselves or tried to serve an arrest warrant at that time. Nevertheless, Cooper announced he was returning to his house to contact the Eager Police Department, either to verify the warrant or to contact the local authorities in order to report what he may have still believed was a real disturbance. Before he could do so however, the sheriff's deputies tried to apprehend him, at which point shooting began. Although it is unclear who began firing, there are some who question the uncertain circumstances, and who was responsible for first shots fired. Cooper was armed and one deputy was wounded. Another deputy returned fire, killing Cooper.<ref><a href='#cite7'><small>[7]</small></a></ref> Milton William Cooper was 58 years old.<br><br><h1>Videography</h1>
8
+ Milton William Cooper also produced videos, including
9
+ *''Assassin Unmasked''
10
+ *''Behold A Pale Horse''<ref><a href='http://video.google.com/videoplay?docid=-729985813912005672 Behold a Pale Horse<!-- bot-generated title -->'>http://video.google.com/videoplay?docid=-729985813912005672 Behold a Pale Horse<!-- bot-generated title --></a> at video.google.com</ref>
11
+ *''CNN Interview With William Cooper''
12
+ *''Dimensions in Parapsychology''
13
+ *''Kennedy - The Sacrificed King''
14
+ *''Lansing Michigan''
15
+ *''Luxor''
16
+ *''Project Redlight I''
17
+ *''Project Redlight II''
18
+ *''The Secret Government''
19
+ *''The Branch Davidian's Last Will and Testament''
20
+ *''UFOs - The secret government''<ref><a href='http://www.archive.org/details/UFOs_The_Secret_Government Internet Archive: Details: UFOs = The Secret Government<!-- bot-generated title -->'>http://www.archive.org/details/UFOs_The_Secret_Government Internet Archive: Details: UFOs = The Secret Government<!-- bot-generated title --></a> at www.archive.org</ref>
21
+ His life and theories are the subject of the 2006 documentary film, ''The Hour of Our Time, The Legacy of William Cooper''.<br><br><h1> Audio Recordings </h1>
22
+ <a href='http://wiki.appswarm/Mystery_Babylon'>Mystery Babylon</a> Complete list of episodes:<br><br><table><tr><td>
23
+ </td></tr>
24
+ <tr><td>
25
+ </td><td> HOTT Episode #
26
+ </td><td> Original Airdate
27
+ </td><td> Show Title
28
+ </td></tr>
29
+ <tr><td>
30
+ </td><td> 29
31
+ </td><td> Feb. 11, 1993
32
+ </td><td> The Dawn of Man
33
+ </td></tr>
34
+ <tr><td>
35
+ </td><td> 30
36
+ </td><td> Feb. 12, 1993
37
+ </td><td> Mystery Babylon #1 - The Sun of God
38
+ </td></tr>
39
+ <tr><td>
40
+ </td><td> 31
41
+ </td><td> Feb. 15, 1993
42
+ </td><td> Mystery Babylon #2 - Egyptian Magic
43
+ </td></tr>
44
+ <tr><td>
45
+ </td><td> 32
46
+ </td><td> Feb. 16, 1993
47
+ </td><td> Mystery Babylon #3 - <a href='http://wiki.appswarm/Isis'>Isis</a> and <a href='http://wiki.appswarm/Osiris'>Osiris</a>, part I
48
+ </td></tr>
49
+ <tr><td>
50
+ </td><td> 33
51
+ </td><td> Feb. 17, 1993
52
+ </td><td> Mystery Babylon #3 - Isis and Osiris, part II
53
+ </td></tr>
54
+ <tr><td>
55
+ </td><td> 34
56
+ </td><td> Feb. 18, 1993
57
+ </td><td> Mystery Babylon #5 - The NWO and Freemasonry
58
+ </td></tr>
59
+ <tr><td>
60
+ </td><td> 35
61
+ </td><td> Feb. 19, 1993
62
+ </td><td> Mystery Babylon #6 - <a href='http://wiki.appswarm/Maitreya'>Maitreya</a>
63
+ </td></tr>
64
+ <tr><td>
65
+ </td><td> 36
66
+ </td><td> Feb. 22, 1993
67
+ </td><td> Mystery Babylon #7 - <a href='http://wiki.appswarm/Ecumenism'>Ecumenism</a>
68
+ </td></tr>
69
+ <tr><td>
70
+ </td><td> 38
71
+ </td><td> Feb. 24, 1993
72
+ </td><td> Mystery Babylon #8 - Initiation
73
+ </td></tr>
74
+ <tr><td>
75
+ </td><td> 39
76
+ </td><td> Feb. 25, 1993
77
+ </td><td> Mystery Babylon #9 - <a href='http://wiki.appswarm/Gnosticism'>Gnosticism</a>
78
+ </td></tr>
79
+ <tr><td>
80
+ </td><td> 41
81
+ </td><td> Mar. 1, 1993
82
+ </td><td> Mystery Babylon #10 - <a href='http://wiki.appswarm/Hashshashin'>The Assassins</a>
83
+ </td></tr>
84
+ <tr><td>
85
+ </td><td> 42
86
+ </td><td> Mar. 2, 1993
87
+ </td><td> Mystery Babylon #11 - <a href='http://wiki.appswarm/Knights_Templar'>The Templars</a> and the Assassins
88
+ </td></tr>
89
+ <tr><td>
90
+ </td><td> 43
91
+ </td><td> Mar. 3, 1993
92
+ </td><td> Mystery Babylon #12 - The End of the Templars
93
+ </td></tr>
94
+ <tr><td>
95
+ </td><td> 46
96
+ </td><td> Mar. 8, 1993
97
+ </td><td> Mystery Babylon #13 - <a href='http://wiki.appswarm/Skull_and_Bones'>Skull and Bones</a>
98
+ </td></tr>
99
+ <tr><td>
100
+ </td><td> 47
101
+ </td><td> Mar. 9, 1993
102
+ </td><td> Mystery Babylon #14 - The <a href='http://wiki.appswarm/Roshaniya'>Roshaniya</a>
103
+ </td></tr>
104
+ <tr><td>
105
+ </td><td> 48
106
+ </td><td> Mar. 10, 1993
107
+ </td><td> Mystery Babylon #15 - Quotes by Freemasons
108
+ </td></tr>
109
+ <tr><td>
110
+ </td><td> 62
111
+ </td><td> Mar. 30, 1993
112
+ </td><td> Mystery Babylon #16 - <a href='http://wiki.appswarm/Sun_Worship'>Sun Worship</a>
113
+ </td></tr>
114
+ <tr><td>
115
+ </td><td> 63
116
+ </td><td> Mar. 31, 1993
117
+ </td><td> Mystery Babylon #17 - Bibliography
118
+ </td></tr>
119
+ <tr><td>
120
+ </td><td> 92
121
+ </td><td> May 11, 1993
122
+ </td><td> Mystery Babylon #19 - 68th Convocation of the <a href='http://wiki.appswarm/Ancient_Mystical_Order_of_the_Rose_Cross'>Rose Cross Order</a>
123
+ </td></tr>
124
+ <tr><td>
125
+ </td><td> 93
126
+ </td><td> May 12, 1993
127
+ </td><td> Mystery Babylon #18 - <a href='http://wiki.appswarm/Luciferianism'>Lucifer Worship</a>
128
+ </td></tr>
129
+ <tr><td>
130
+ </td><td> 95
131
+ </td><td> May 14, 1993
132
+ </td><td> Mystery Babylon #20 - <a href='http://wiki.appswarm/William_Morgan_(anti-Mason)'>William Morgan</a>* Interview, part I
133
+ </td></tr>
134
+ <tr><td>
135
+ </td><td> 96
136
+ </td><td> May 17, 1993
137
+ </td><td> Mystery Babylon #21 - William Morgan Interview, part II
138
+ </td></tr>
139
+ <tr><td>
140
+ </td><td> 97
141
+ </td><td> May 18, 1993
142
+ </td><td> Mystery Babylon #22 - William Morgan Interview, part III
143
+ </td></tr>
144
+ <tr><td>
145
+ </td><td> 119
146
+ </td><td> June 17, 1993
147
+ </td><td> Mystery Babylon #23 - <a href='http://wiki.appswarm/Jordan_Maxwell'>Jordan Maxwell</a> interview
148
+ </td></tr>
149
+ <tr><td>
150
+ </td><td> 128
151
+ </td><td> June 30, 1993
152
+ </td><td> Mystery Babylon #24 - America's Assignment With Destiny, part I
153
+ </td></tr>
154
+ <tr><td>
155
+ </td><td> 129
156
+ </td><td> July 1, 1993
157
+ </td><td> Mystery Babylon #25 - America's Assignment With Destiny, part II
158
+ </td></tr>
159
+ <tr><td>
160
+ </td><td> 151
161
+ </td><td> Aug. 2, 1993
162
+ </td><td> Mystery Babylon #26 - America's Assignment With Destiny, part III
163
+ </td></tr>
164
+ <tr><td>
165
+ </td><td> 162
166
+ </td><td> Aug. 17, 1993
167
+ </td><td> Mystery Babylon #27 - In The Coils of The Coming Conflict
168
+ </td></tr>
169
+ <tr><td>
170
+ </td><td> 163
171
+ </td><td> Aug. 18, 1993
172
+ </td><td> Mystery Babylon #28 - <a href='http://wiki.appswarm/Lucifer'>Lucifer</a> 2000
173
+ </td></tr>
174
+ <tr><td>
175
+ </td><td> 203
176
+ </td><td> Oct. 13, 1993
177
+ </td><td> Mystery Babylon #29 - The Godmakers and <a href='http://wiki.appswarm/Bo_Gritz'>Bo Gritz</a>
178
+ </td></tr>
179
+ <tr><td>
180
+ </td><td> 206
181
+ </td><td> Oct. 22, 1993
182
+ </td><td> Mystery Babylon #30 - United Nations Meditation Room<ref><a href='http://www.un.org/depts/dhl/dag/meditationroom.htm DAG HAMMARSKJ&Ouml;LD: The UN years ...'>http://www.un.org/depts/dhl/dag/meditationroom.htm DAG HAMMARSKJ&Ouml;LD: The UN years ...</a> at www.un.org</ref>
183
+ </td></tr>
184
+ <tr><td>
185
+ </td><td> 240
186
+ </td><td> Dec. 3, 1993
187
+ </td><td> Mystery Babylon #31 - Rerun 123 (5-5-2000 Ice The Ultimate Disaster)
188
+ </td></tr>
189
+ <tr><td>
190
+ </td><td> 261A
191
+ </td><td> Jan. 3, 1994
192
+ </td><td> Mystery Babylon #32 - Aid & Abet Newsletter
193
+ </td></tr>
194
+ <tr><td>
195
+ </td><td> 267A
196
+ </td><td> Jan. 11, 1994
197
+ </td><td> Mystery Babylon #33 - <a href='http://wiki.appswarm/Luxor'>Luxor</a>, The Source of Light – VIDEO**
198
+ </td></tr>
199
+ <tr><td>
200
+ </td><td> 267B
201
+ </td><td> Jan. 11, 1994
202
+ </td><td> Mystery Babylon #33 - Open Phones
203
+ </td></tr>
204
+ <tr><td>
205
+ </td><td> 268A
206
+ </td><td> Jan. 12, 1994
207
+ </td><td> Mystery Babylon #34 - <a href='http://wiki.appswarm/Secret_Societies'>Secret Societies</a> & <a href='http://wiki.appswarm/Second_Vatican_Council'>Vatican II</a>
208
+ </td></tr>
209
+ <tr><td>
210
+ </td><td> 287A
211
+ </td><td> Feb. 8, 1994
212
+ </td><td> Mystery Babylon #35 - From Christianity to <a href='http://wiki.appswarm/Babylon_(New_Testament)'>Babylon</a>
213
+ </td></tr>
214
+ <tr><td>
215
+ </td><td> 296A
216
+ </td><td> Feb. 22, 1994
217
+ </td><td> Mystery Babylon #36 - Rose Cross College #1
218
+ </td></tr>
219
+ <tr><td>
220
+ </td><td> 296B
221
+ </td><td> Feb. 22, 1994
222
+ </td><td> Mystery Babylon #37 - Rose Cross College #2
223
+ </td></tr>
224
+ <tr><td>
225
+ </td><td> 298A
226
+ </td><td> Feb. 24, 1994
227
+ </td><td> Mystery Babylon #38 - Rose Cross College #3
228
+ </td></tr>
229
+ <tr><td>
230
+ </td><td> 300
231
+ </td><td> Feb. 28, 1994
232
+ </td><td> Mystery Babylon #39 - Occult History of the <a href='http://wiki.appswarm/Nazi_Germany'>Third Reich</a> (The Enigma of the <a href='http://wiki.appswarm/Swastika'>Swastika</a>)
233
+ </td></tr>
234
+ <tr><td>
235
+ </td><td> 301
236
+ </td><td> Mar. 1, 1994
237
+ </td><td> Mystery Babylon #40 - Occult History of the Third Reich (<a href='http://wiki.appswarm/The_SS'>The SS</a> - Blood and Soil)
238
+ </td></tr>
239
+ <tr><td>
240
+ </td><td> 302
241
+ </td><td> Mar. 2, 1994
242
+ </td><td> Mystery Babylon #41 - Occult History of the Third Reich (<a href='http://wiki.appswarm/Himmler'>Himmler</a> the Mystic)
243
+ </td></tr>
244
+ <tr><td>
245
+ </td><td> 959
246
+ </td><td> Sep. 20, 1996
247
+ </td><td> Darkness***
248
+ </td><td>}</td></tr></table><br><br><nowiki>*</nowiki> The individual being interviewed is using the name William Morgan as a <a href='http://wiki.appswarm/pseudonym'>pseudonym</a>.<br>
249
+ <nowiki>**</nowiki> This episode is a video rather than a radio broadcast.<br>
250
+ <nowiki>***</nowiki> At the beginning of this show, Cooper states the title and refers to the episode as one in the Mystery Babylon series.<br><br><h1>References</h1>
251
+ <ol><li>Cooper, MiltonWilliam () <a href=''>BeholdaPaleHorse</a></li><li>, (2006-07-28) <a href='http://www.totse.com/en/fringe/mj_12_the_alien_government_conspiracy/162416.html'>TheSecretGovernment:TheOrigin,Identity,andPurposeofMJ-12</a></li><li>Cooper, William (2006-08-12) <a href='http://www.supremelaw.org/authors/cooper/cooper.htm'>BATF/IRS--CriminalFraud</a></li><li>, (2006-08-12) <a href='http://www.hourofthetime.com/william.htm'>WilliamCooper:AShortBiography</a></li><li>CommanderX, () <a href=''>WilliamCooper:DeathOfAConspiracySalesman</a></li><li>, (2006-07-29) <a href=''>Suspectiskilledinshootoutwithdeputies</a></li><li>Sieveking, Paul (2006-07-29) <a href=''>Howaconspiracytheoristlosttheplot</a></li><li>Barkun, Michael () <a href=''>ACultureofConspiracy:ApocalypticVisionsinContemporaryAmerica</a></li><li>Montes, Eduardo (2006-08-13) <a href=''>Militiafigurekilledaftershootingdeputy</a></li><li>Shaffer, Mark (2006-08-13) <a href=''>Officerskillmilitiavoice</a></li></ol>
252
+ *<a href='#cite8'><small>[8]</small></a>
253
+ *Jerome Clark, The Ufo Book: Encyclopedia of the Extraterrestrial, Visible Ink, 1998, ISBN 1-57859-029-9<br><br><h1>Further reading</h1>
254
+ *<a href='#cite9'><small>[9]</small></a>
255
+ *<a href='#cite10'><small>[10]</small></a><br><br><h1>External links</h1>
256
+ *<a href='http://www.hourofthetime.com/williamcooper.html Biography of Cooper'>http://www.hourofthetime.com/williamcooper.html Biography of Cooper</a> at hourofthetime.com<br><br>*The document <a href='http://www.hourofthetime.com/majestyt.htm MAJESTYTWELVE'>http://www.hourofthetime.com/majestyt.htm MAJESTYTWELVE</a> outlines Cooper's beliefs and theories at the time of his death.
257
+ *<a href='http://oneheartbooks.com/resources/audios/cooper_mystery_babylon.htm One Heart Books '>http://oneheartbooks.com/resources/audios/cooper_mystery_babylon.htm One Heart Books </a> hosts downloadable mp3 audio files of Cooper's Mystery Babylon series.<br><br><a href='http://wiki.appswarm/Category:1943_births'>Cooper, William Milton</a>
258
+ <a href='http://wiki.appswarm/Category:2001_deaths'>Cooper, William Milton</a>
259
+ <a href='http://wiki.appswarm/Category:American_non-fiction_writers'>Cooper, William Milton</a>
260
+ <a href='http://wiki.appswarm/Category:Conspiracy_theorists'>Cooper, William Milton</a>
261
+ <a href='http://wiki.appswarm/Category:People_shot_dead_by_police'>Cooper, William Milton</a>
262
+ <a href='http://wiki.appswarm/Category:American_radio_personalities'>Cooper, William</a>
263
+ <a href='http://wiki.appswarm/Category:UFO_conspiracy_theorists'>Cooper, William</a>
264
+ <a href='http://wiki.appswarm/Category:Deaths_by_firearm_in_Arizona'>Cooper, William Milton</a><br><br><a href='http://wiki.appswarm/es:Milton_William_Cooper'>es:Milton William Cooper</a>
265
+ <a href='http://wiki.appswarm/fr:William_Milton_Cooper'>fr:William Milton Cooper</a>
266
+ <a href='http://wiki.appswarm/he:מילטון_ויליאם_קופר'>he:מילטון ויליאם קופר</a>
267
+ </body></html>
@@ -0,0 +1,115 @@
1
+ require 'pp'
2
+
3
+ class File
4
+ def self.load(filename)
5
+ f=File.open(filename)
6
+ c=f.read
7
+ f.close
8
+ c
9
+ end
10
+ end
11
+
12
+
13
+ class WikiPage
14
+ def initialize
15
+ @source=""
16
+ end
17
+ def source=(s)
18
+ @source=s
19
+ end
20
+
21
+ def to_html(baseurl=nil)
22
+ text=@source.dup
23
+ # ''' to <b>...</b>
24
+ text.gsub!(/'''(([^']|'[^']|''[^'])*)'''/,'<b>\1</b>')
25
+
26
+ # [[...]] to <a href='baseurl/...'>...</a>
27
+ text.gsub!(/\[\[(([^\]\n]|\][^\]\n])*)\]\]/) {|fm|
28
+ match=fm[2..-3]
29
+ url=name=match
30
+ if match=~/.*\|.*/
31
+ url,name=match.split("|")
32
+ end
33
+ "<a href='"+baseurl+"/"+url.gsub(" ","_")+"'>"+name+"</a>"
34
+ }
35
+
36
+ # [...] to <a href='...'>...</a>
37
+ text.gsub!(/\[http:\/\/([^\n\]]*)\]/) {|fm|
38
+ match=fm[1..-2]
39
+ url=name=match
40
+ if match=~/.*\|.*/
41
+ url,name=match.split("|")
42
+ end
43
+ "<a href='"+url+"'>"+name+"</a>"
44
+ }
45
+
46
+ # \n:whitespace:*\n to <br>
47
+ text.gsub!(/\n([ \t]*\n)+/,"<br><br>")
48
+
49
+ # ==...== to <h1>...</h1>
50
+ text.gsub!(/==(([^=]|=[^=])*)==/,'<h1>\1</h1>')
51
+
52
+
53
+ # table
54
+ text.gsub!(/\{\| class="wikitable"[^\}]*\}/) {|t|
55
+ t=t.gsub('{| class="wikitable"',"").gsub(/<!--(--[^>]|-[^-]|[^-])*-->/,"")
56
+ "<table>"+
57
+ t.split("|-").map{|row|
58
+ "<tr>"+
59
+ row.split(/[!\|]/).map{|cell|"<td>#{cell}</td>"}.join("")+
60
+ "</tr>"
61
+ }.join("\n")+
62
+ "</table>"
63
+
64
+
65
+ }
66
+
67
+ # cites
68
+ cites=[]
69
+
70
+ text.gsub!(/\{\{cite[^\}]*\}\}/) {|match|
71
+ cite=match[2..-3]
72
+ cites<<cite
73
+ num=cites.length.to_s
74
+ "<a href='#cite#{num}'><small>[#{num}]</small></a>"
75
+ }
76
+
77
+
78
+ cites=cites.map{|cite|
79
+ args=cite.split("|")
80
+ ps={}
81
+ args.each{|arg|
82
+ n,v=arg.gsub("\n","").split("=")
83
+ if n and v
84
+ n.chomp!
85
+ v.chomp!
86
+ n.gsub!(" ","")
87
+ v.gsub!(" ","")
88
+ ps[n]=v
89
+ end
90
+ }
91
+
92
+ # pp ps
93
+ "<li>#{ps['last']}, #{ps['first']} (#{ps['accessdate']}) <a href='#{ps['url']}'>#{ps['title']}</a></li>"
94
+ #exit
95
+ }.join("")
96
+
97
+ cites="<ol>"+cites+"</ol>"
98
+
99
+ if text=~/.*\{\{reflist\}\}.*/
100
+ text.gsub!(/\{\{reflist\}\}/,cites)
101
+ else
102
+ text+=cites
103
+ end
104
+
105
+ text
106
+ end
107
+
108
+ end
109
+
110
+ c=File.load("wiki/Milton_William_Cooper.wiki")
111
+ p=WikiPage.new
112
+ p.source=c
113
+ puts "<html><body>"
114
+ puts p.to_html("http://wiki.appswarm")
115
+ puts "</body></html>"