democracy 0.0.56

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of democracy might be problematic. Click here for more details.

Files changed (647) hide show
  1. checksums.yaml +7 -0
  2. data/LIBERTY +310 -0
  3. data/README +310 -0
  4. data/README2 +14 -0
  5. data/READ_THIS_TO_CHANGE_THINGS +310 -0
  6. data/Resume.pdf +0 -0
  7. data/Ruby Installer.exe +0 -0
  8. data/VERSION_NUMBER +1 -0
  9. data/WE_NEEDNT_BE_ENSLAVED +310 -0
  10. data/_.html +460 -0
  11. data/__index.html +11 -0
  12. data/a.html +21 -0
  13. data/ac +73 -0
  14. data/all_code.cpp +280 -0
  15. data/all_code.js +30 -0
  16. data/app_topics +93 -0
  17. data/background.jpg +0 -0
  18. data/better_string +26 -0
  19. data/bin/abs +0 -0
  20. data/bin/ac +34 -0
  21. data/bin/add +0 -0
  22. data/bin/append +14 -0
  23. data/bin/args +0 -0
  24. data/bin/autorequire +85 -0
  25. data/bin/big_num +155 -0
  26. data/bin/black +0 -0
  27. data/bin/blue +0 -0
  28. data/bin/bold +0 -0
  29. data/bin/c_repl +76 -0
  30. data/bin/close +3 -0
  31. data/bin/copy +0 -0
  32. data/bin/count +0 -0
  33. data/bin/cpy +0 -0
  34. data/bin/cyan +0 -0
  35. data/bin/democracyinstall.exe +0 -0
  36. data/bin/div +0 -0
  37. data/bin/down_all_links +50 -0
  38. data/bin/dump +0 -0
  39. data/bin/email +127 -0
  40. data/bin/emerald-browser +0 -0
  41. data/bin/emoji +176 -0
  42. data/bin/executable +1 -0
  43. data/bin/exp +0 -0
  44. data/bin/files +0 -0
  45. data/bin/floor +0 -0
  46. data/bin/foreach +49 -0
  47. data/bin/g+ +557 -0
  48. data/bin/get_all_links +11 -0
  49. data/bin/github +55 -0
  50. data/bin/green +0 -0
  51. data/bin/gsearch +159 -0
  52. data/bin/gsub +0 -0
  53. data/bin/gsub_in_place +0 -0
  54. data/bin/last_nth +0 -0
  55. data/bin/lines +0 -0
  56. data/bin/magenta +0 -0
  57. data/bin/mkfile +47 -0
  58. data/bin/mul +0 -0
  59. data/bin/nth +0 -0
  60. data/bin/open +0 -0
  61. data/bin/play +0 -0
  62. data/bin/prepend +14 -0
  63. data/bin/processes +3 -0
  64. data/bin/qt_download +21 -0
  65. data/bin/record +121 -0
  66. data/bin/red +0 -0
  67. data/bin/replace_in_place +0 -0
  68. data/bin/replace_not_in_place +0 -0
  69. data/bin/selectlines +0 -0
  70. data/bin/sort_in_place +0 -0
  71. data/bin/splitfiles +16 -0
  72. data/bin/squeeze +17 -0
  73. data/bin/string +161 -0
  74. data/bin/strip_extensions +13 -0
  75. data/bin/sub +0 -0
  76. data/bin/t +63 -0
  77. data/bin/tracefile +555 -0
  78. data/bin/underline +0 -0
  79. data/bin/undump +0 -0
  80. data/bin/viu +0 -0
  81. data/bin/white +0 -0
  82. data/bin/yellow +0 -0
  83. data/bin/youtube_video +45 -0
  84. data/bin/youtube_video2 +45 -0
  85. data/code.js +28490 -0
  86. data/crystal-gobject/.git/HEAD +1 -0
  87. data/crystal-gobject/.git/config +11 -0
  88. data/crystal-gobject/.git/description +1 -0
  89. data/crystal-gobject/.git/hooks/applypatch-msg.sample +15 -0
  90. data/crystal-gobject/.git/hooks/commit-msg.sample +24 -0
  91. data/crystal-gobject/.git/hooks/fsmonitor-watchman.sample +109 -0
  92. data/crystal-gobject/.git/hooks/post-update.sample +8 -0
  93. data/crystal-gobject/.git/hooks/pre-applypatch.sample +14 -0
  94. data/crystal-gobject/.git/hooks/pre-commit.sample +49 -0
  95. data/crystal-gobject/.git/hooks/pre-merge-commit.sample +13 -0
  96. data/crystal-gobject/.git/hooks/pre-push.sample +53 -0
  97. data/crystal-gobject/.git/hooks/pre-rebase.sample +169 -0
  98. data/crystal-gobject/.git/hooks/pre-receive.sample +24 -0
  99. data/crystal-gobject/.git/hooks/prepare-commit-msg.sample +42 -0
  100. data/crystal-gobject/.git/hooks/update.sample +128 -0
  101. data/crystal-gobject/.git/index +0 -0
  102. data/crystal-gobject/.git/info/exclude +6 -0
  103. data/crystal-gobject/.git/logs/HEAD +1 -0
  104. data/crystal-gobject/.git/logs/refs/heads/main +1 -0
  105. data/crystal-gobject/.git/logs/refs/remotes/origin/HEAD +1 -0
  106. data/crystal-gobject/.git/objects/pack/pack-c21cfd88c6eef3076f2c2aebb658b750e87e10b6.idx +0 -0
  107. data/crystal-gobject/.git/objects/pack/pack-c21cfd88c6eef3076f2c2aebb658b750e87e10b6.pack +0 -0
  108. data/crystal-gobject/.git/packed-refs +15 -0
  109. data/crystal-gobject/.git/refs/heads/main +1 -0
  110. data/crystal-gobject/.git/refs/remotes/origin/HEAD +1 -0
  111. data/crystal-gobject/.github/workflows/ci.yml +22 -0
  112. data/crystal-gobject/.gitignore +14 -0
  113. data/crystal-gobject/LICENSE +27 -0
  114. data/crystal-gobject/README.md +143 -0
  115. data/crystal-gobject/samples/base_class_container.cr +15 -0
  116. data/crystal-gobject/samples/connect_after.cr +35 -0
  117. data/crystal-gobject/samples/crout/crout.cr +59 -0
  118. data/crystal-gobject/samples/e +0 -0
  119. data/crystal-gobject/samples/gdk_window.cr +36 -0
  120. data/crystal-gobject/samples/glist.cr +16 -0
  121. data/crystal-gobject/samples/greeter.cr +34 -0
  122. data/crystal-gobject/samples/greeter.glade +91 -0
  123. data/crystal-gobject/samples/gtk_accel_group.cr +13 -0
  124. data/crystal-gobject/samples/gtk_application.cr +12 -0
  125. data/crystal-gobject/samples/gtk_boxes.cr +44 -0
  126. data/crystal-gobject/samples/gtk_css_styling/css_window.cr +37 -0
  127. data/crystal-gobject/samples/gtk_css_styling/css_window.css +3 -0
  128. data/crystal-gobject/samples/gtk_css_styling/css_window.glade +104 -0
  129. data/crystal-gobject/samples/gtk_editable.cr +14 -0
  130. data/crystal-gobject/samples/gtk_entry.cr +10 -0
  131. data/crystal-gobject/samples/gtk_hello_world.cr +13 -0
  132. data/crystal-gobject/samples/gtk_menu_and_actions.cr +69 -0
  133. data/crystal-gobject/samples/gtk_message_dialog.cr +9 -0
  134. data/crystal-gobject/samples/gtk_subclasses.cr +30 -0
  135. data/crystal-gobject/samples/gtk_tree_view.cr +30 -0
  136. data/crystal-gobject/samples/gtk_tree_view.glade +44 -0
  137. data/crystal-gobject/samples/hello +0 -0
  138. data/crystal-gobject/samples/libgdk-3.a +0 -0
  139. data/crystal-gobject/samples/libgdk_pixbuf-2.0.a +0 -0
  140. data/crystal-gobject/samples/libgtk-3.a +0 -0
  141. data/crystal-gobject/samples/timeout.cr +34 -0
  142. data/crystal-gobject/script/ci.sh +17 -0
  143. data/crystal-gobject/script/release.sh +31 -0
  144. data/crystal-gobject/script/run_with_timeout.cr +14 -0
  145. data/crystal-gobject/script/test +7 -0
  146. data/crystal-gobject/shard.yml +16 -0
  147. data/crystal-gobject/spec/basic_spec.cr +46 -0
  148. data/crystal-gobject/spec/libsample/Makefile +28 -0
  149. data/crystal-gobject/spec/libsample/test-subject.c +107 -0
  150. data/crystal-gobject/spec/libsample/test-subject.h +65 -0
  151. data/crystal-gobject/spec/spec_helper.cr +5 -0
  152. data/crystal-gobject/src/atk/atk.cr +2 -0
  153. data/crystal-gobject/src/closure_data_manager.cr +62 -0
  154. data/crystal-gobject/src/crout.cr +601 -0
  155. data/crystal-gobject/src/g_i_repository/dumper.cr +116 -0
  156. data/crystal-gobject/src/g_i_repository/g_i_repository.cr +46 -0
  157. data/crystal-gobject/src/g_i_repository/info/arg_info.cr +157 -0
  158. data/crystal-gobject/src/g_i_repository/info/base_info.cr +169 -0
  159. data/crystal-gobject/src/g_i_repository/info/callable_info.cr +266 -0
  160. data/crystal-gobject/src/g_i_repository/info/callback_info.cr +54 -0
  161. data/crystal-gobject/src/g_i_repository/info/constant_info.cr +115 -0
  162. data/crystal-gobject/src/g_i_repository/info/enum_info.cr +88 -0
  163. data/crystal-gobject/src/g_i_repository/info/field_info.cr +97 -0
  164. data/crystal-gobject/src/g_i_repository/info/function_info.cr +237 -0
  165. data/crystal-gobject/src/g_i_repository/info/interface_info.cr +97 -0
  166. data/crystal-gobject/src/g_i_repository/info/object_info.cr +170 -0
  167. data/crystal-gobject/src/g_i_repository/info/property_info.cr +93 -0
  168. data/crystal-gobject/src/g_i_repository/info/registered_type_info.cr +62 -0
  169. data/crystal-gobject/src/g_i_repository/info/signal_info.cr +119 -0
  170. data/crystal-gobject/src/g_i_repository/info/struct_info.cr +139 -0
  171. data/crystal-gobject/src/g_i_repository/info/type_info.cr +326 -0
  172. data/crystal-gobject/src/g_i_repository/info/union_info.cr +136 -0
  173. data/crystal-gobject/src/g_i_repository/info/v_func_info.cr +33 -0
  174. data/crystal-gobject/src/g_i_repository/info/value_info.cr +62 -0
  175. data/crystal-gobject/src/g_i_repository/repository.cr +68 -0
  176. data/crystal-gobject/src/g_i_repository/wrapper_generator.cr +103 -0
  177. data/crystal-gobject/src/g_lib/error.cr +34 -0
  178. data/crystal-gobject/src/g_lib/g_lib.cr +81 -0
  179. data/crystal-gobject/src/g_lib/list_iterator.cr +81 -0
  180. data/crystal-gobject/src/g_lib/s_list_iterator.cr +54 -0
  181. data/crystal-gobject/src/g_object/closure.cr +40 -0
  182. data/crystal-gobject/src/g_object/g_object.cr +7 -0
  183. data/crystal-gobject/src/g_object/module_functions.cr +38 -0
  184. data/crystal-gobject/src/g_object/object.cr +104 -0
  185. data/crystal-gobject/src/g_object/type.cr +68 -0
  186. data/crystal-gobject/src/g_object/value.cr +308 -0
  187. data/crystal-gobject/src/gdk/event.cr +34 -0
  188. data/crystal-gobject/src/gdk/gdk.cr +35 -0
  189. data/crystal-gobject/src/generated/g_i_repository/argument.cr +130 -0
  190. data/crystal-gobject/src/generated/g_i_repository/array_type.cr +34 -0
  191. data/crystal-gobject/src/generated/g_i_repository/attribute_iter.cr +65 -0
  192. data/crystal-gobject/src/generated/g_i_repository/base_info.cr +134 -0
  193. data/crystal-gobject/src/generated/g_i_repository/direction.cr +33 -0
  194. data/crystal-gobject/src/generated/g_i_repository/field_info_flags.cr +34 -0
  195. data/crystal-gobject/src/generated/g_i_repository/function_info_flags.cr +38 -0
  196. data/crystal-gobject/src/generated/g_i_repository/g_i_repository.cr +7 -0
  197. data/crystal-gobject/src/generated/g_i_repository/info_type.cr +50 -0
  198. data/crystal-gobject/src/generated/g_i_repository/module_functions.cr +816 -0
  199. data/crystal-gobject/src/generated/g_i_repository/repository.cr +214 -0
  200. data/crystal-gobject/src/generated/g_i_repository/repository_class.cr +55 -0
  201. data/crystal-gobject/src/generated/g_i_repository/repository_error.cr +34 -0
  202. data/crystal-gobject/src/generated/g_i_repository/repository_load_flags.cr +33 -0
  203. data/crystal-gobject/src/generated/g_i_repository/repository_private.cr +46 -0
  204. data/crystal-gobject/src/generated/g_i_repository/scope_type.cr +34 -0
  205. data/crystal-gobject/src/generated/g_i_repository/transfer.cr +33 -0
  206. data/crystal-gobject/src/generated/g_i_repository/type_tag.cr +52 -0
  207. data/crystal-gobject/src/generated/g_i_repository/typelib.cr +61 -0
  208. data/crystal-gobject/src/generated/g_i_repository/unresolved_info.cr +45 -0
  209. data/crystal-gobject/src/generated/g_i_repository/v_func_info_flags.cr +36 -0
  210. data/crystal-gobject/src/generated/g_object/param_flags.cr +44 -0
  211. data/crystal-gobject/src/generated/g_object/signal_flags.cr +42 -0
  212. data/crystal-gobject/src/generated/lib_g_i_repository.cr +302 -0
  213. data/crystal-gobject/src/generated/lib_g_lib.cr +2261 -0
  214. data/crystal-gobject/src/generated/lib_g_object.cr +874 -0
  215. data/crystal-gobject/src/generator/build_namespace.cr +22 -0
  216. data/crystal-gobject/src/generator/doc.cr +259 -0
  217. data/crystal-gobject/src/generator/dump.cr +55 -0
  218. data/crystal-gobject/src/generator/generator.cr +22 -0
  219. data/crystal-gobject/src/generator/namespace.cr +192 -0
  220. data/crystal-gobject/src/generator/stage2.cr +113 -0
  221. data/crystal-gobject/src/generator/stage3.cr +3 -0
  222. data/crystal-gobject/src/gio/gio.cr +4 -0
  223. data/crystal-gobject/src/gobject.cr +54 -0
  224. data/crystal-gobject/src/gtk/autorun.cr +16 -0
  225. data/crystal-gobject/src/gtk/gtk.cr +61 -0
  226. data/crystal-gobject/src/notify/notification.cr +158 -0
  227. data/crystal-gobject/src/notify/notify.cr +4 -0
  228. data/crystal-gobject/src/pointer_iterator.cr +49 -0
  229. data/crystal-gobject/src/wrapped_type.cr +53 -0
  230. data/democracy.gemspec +14 -0
  231. data/dictate +183 -0
  232. data/emerald-browser/.qmake.stash +23 -0
  233. data/emerald-browser/Makefile +469 -0
  234. data/emerald-browser/OUT +90 -0
  235. data/emerald-browser/a.out +0 -0
  236. data/emerald-browser/empty +0 -0
  237. data/emerald-browser/empty.c +1 -0
  238. data/emerald-browser/open +0 -0
  239. data/emerald-browser/open.c +57 -0
  240. data/emerald-browser/qmake.pro +23 -0
  241. data/emerald-browser/src/OUT +438 -0
  242. data/emerald-browser/src/a.cpp +303 -0
  243. data/emerald-browser/src/a.out +0 -0
  244. data/emerald-browser/src/ss.h +12 -0
  245. data/emerald-browser/src/t/fullscreennotification.cpp +98 -0
  246. data/emerald-browser/src/t/fullscreennotification.h +72 -0
  247. data/emerald-browser/src/t/fullscreenwindow.cpp +99 -0
  248. data/emerald-browser/src/t/fullscreenwindow.h +76 -0
  249. data/emerald-browser/src/t/main.cpp +64 -0
  250. data/emerald-browser/src/t/mainwindow.cpp +83 -0
  251. data/emerald-browser/src/t/mainwindow.h +75 -0
  252. data/emerald-browser/test/a.cpp +2 -0
  253. data/f +0 -0
  254. data/faster_googler +31 -0
  255. data/favicon.ico +0 -0
  256. data/foo +80 -0
  257. data/foo.c +39 -0
  258. data/foo.cpp +36 -0
  259. data/foo.js +25 -0
  260. data/free_icons/site/bulb +0 -0
  261. data/free_icons/site/chess +0 -0
  262. data/free_icons/site/compiz.svg +463 -0
  263. data/free_icons/site/cursor.svg +1 -0
  264. data/free_icons/site/dock +0 -0
  265. data/free_icons/site/gnu +0 -0
  266. data/free_icons/site/info.svg +200 -0
  267. data/free_icons/site/iphone.svg +222 -0
  268. data/free_icons/site/laptop +0 -0
  269. data/free_icons/site/magic.svg +856 -0
  270. data/free_icons/site/man +0 -0
  271. data/free_icons/site/mint +0 -0
  272. data/free_icons/site/mouse +0 -0
  273. data/free_icons/site/paint.svg +2640 -0
  274. data/free_icons/site/present +0 -0
  275. data/free_icons/site/python +0 -0
  276. data/free_icons/site/reality +0 -0
  277. data/free_icons/site/ruby +0 -0
  278. data/free_icons/site/skeptic +0 -0
  279. data/free_icons/site/terminal +0 -0
  280. data/free_icons/site/video.svg +358 -0
  281. data/free_icons/site/warning +0 -0
  282. data/free_icons/site/wikipedia.svg +553 -0
  283. data/free_icons/site/write.svg +287 -0
  284. data/g +0 -0
  285. data/graphical_help.c +6 -0
  286. data/gregory_coreutils/DOC +14 -0
  287. data/gregory_coreutils/build/Makefile +12 -0
  288. data/gregory_coreutils/build/code +1 -0
  289. data/gregory_coreutils/build/functions +465 -0
  290. data/gregory_coreutils/build/make +93 -0
  291. data/gregory_coreutils/build/mk +74 -0
  292. data/gregory_coreutils/build/regex +2 -0
  293. data/gregory_coreutils/build/ruby_functions +0 -0
  294. data/gregory_coreutils/utilities/abs +0 -0
  295. data/gregory_coreutils/utilities/add +0 -0
  296. data/gregory_coreutils/utilities/args +0 -0
  297. data/gregory_coreutils/utilities/black +0 -0
  298. data/gregory_coreutils/utilities/blue +0 -0
  299. data/gregory_coreutils/utilities/bold +0 -0
  300. data/gregory_coreutils/utilities/copy +0 -0
  301. data/gregory_coreutils/utilities/count +0 -0
  302. data/gregory_coreutils/utilities/cpy +0 -0
  303. data/gregory_coreutils/utilities/cyan +0 -0
  304. data/gregory_coreutils/utilities/div +0 -0
  305. data/gregory_coreutils/utilities/dump +0 -0
  306. data/gregory_coreutils/utilities/exp +0 -0
  307. data/gregory_coreutils/utilities/files +0 -0
  308. data/gregory_coreutils/utilities/floor +0 -0
  309. data/gregory_coreutils/utilities/green +0 -0
  310. data/gregory_coreutils/utilities/gsub +0 -0
  311. data/gregory_coreutils/utilities/gsub_in_place +0 -0
  312. data/gregory_coreutils/utilities/last_nth +0 -0
  313. data/gregory_coreutils/utilities/lines +0 -0
  314. data/gregory_coreutils/utilities/magenta +0 -0
  315. data/gregory_coreutils/utilities/mul +0 -0
  316. data/gregory_coreutils/utilities/nth +0 -0
  317. data/gregory_coreutils/utilities/red +0 -0
  318. data/gregory_coreutils/utilities/replace_in_place +0 -0
  319. data/gregory_coreutils/utilities/replace_not_in_place +0 -0
  320. data/gregory_coreutils/utilities/selectlines +0 -0
  321. data/gregory_coreutils/utilities/sort_in_place +0 -0
  322. data/gregory_coreutils/utilities/sub +0 -0
  323. data/gregory_coreutils/utilities/underline +0 -0
  324. data/gregory_coreutils/utilities/undump +0 -0
  325. data/gregory_coreutils/utilities/white +0 -0
  326. data/gregory_coreutils/utilities/yellow +0 -0
  327. data/gtk +3 -0
  328. data/html_file +0 -0
  329. data/html_file.html +92 -0
  330. data/i +181 -0
  331. data/index.html +38 -0
  332. data/index2.html +344 -0
  333. data/inspect.rb +209 -0
  334. data/lib/README +310 -0
  335. data/lib/__index.html +11 -0
  336. data/lib/because.rb +41 -0
  337. data/lib/code.js +28490 -0
  338. data/lib/compile +5 -0
  339. data/lib/conjunction.rb +49 -0
  340. data/lib/evidence.rb +45 -0
  341. data/lib/graphical_help +90 -0
  342. data/lib/however.rb +42 -0
  343. data/lib/index.html +49 -0
  344. data/lib/index2.html +344 -0
  345. data/lib/inputreceiver.rb +135 -0
  346. data/lib/item.rb +77 -0
  347. data/lib/itemlist.rb +50 -0
  348. data/lib/negative.rb +43 -0
  349. data/lib/neutral.rb +43 -0
  350. data/lib/outputter.rb +60 -0
  351. data/lib/p.rb +71 -0
  352. data/lib/positive.rb +41 -0
  353. data/lib/script.js +423 -0
  354. data/lib/string__.rb +110 -0
  355. data/lib/sub/file +5 -0
  356. data/man/foo.rb +6 -0
  357. data/man/gtk.html +1 -0
  358. data/man/out +7288 -0
  359. data/more/ac.desktop +12 -0
  360. data/more/res +1 -0
  361. data/more/web-speech-api/.git/HEAD +1 -0
  362. data/more/web-speech-api/.git/config +11 -0
  363. data/more/web-speech-api/.git/description +1 -0
  364. data/more/web-speech-api/.git/hooks/applypatch-msg.sample +15 -0
  365. data/more/web-speech-api/.git/hooks/commit-msg.sample +24 -0
  366. data/more/web-speech-api/.git/hooks/fsmonitor-watchman.sample +109 -0
  367. data/more/web-speech-api/.git/hooks/post-update.sample +8 -0
  368. data/more/web-speech-api/.git/hooks/pre-applypatch.sample +14 -0
  369. data/more/web-speech-api/.git/hooks/pre-commit.sample +49 -0
  370. data/more/web-speech-api/.git/hooks/pre-merge-commit.sample +13 -0
  371. data/more/web-speech-api/.git/hooks/pre-push.sample +53 -0
  372. data/more/web-speech-api/.git/hooks/pre-rebase.sample +169 -0
  373. data/more/web-speech-api/.git/hooks/pre-receive.sample +24 -0
  374. data/more/web-speech-api/.git/hooks/prepare-commit-msg.sample +42 -0
  375. data/more/web-speech-api/.git/hooks/update.sample +128 -0
  376. data/more/web-speech-api/.git/index +0 -0
  377. data/more/web-speech-api/.git/info/exclude +6 -0
  378. data/more/web-speech-api/.git/logs/HEAD +1 -0
  379. data/more/web-speech-api/.git/logs/refs/heads/master +1 -0
  380. data/more/web-speech-api/.git/logs/refs/remotes/origin/HEAD +1 -0
  381. data/more/web-speech-api/.git/objects/pack/pack-4d2adae000c513b287d53e24937e9e836954f901.idx +0 -0
  382. data/more/web-speech-api/.git/objects/pack/pack-4d2adae000c513b287d53e24937e9e836954f901.pack +0 -0
  383. data/more/web-speech-api/.git/packed-refs +2 -0
  384. data/more/web-speech-api/.git/refs/heads/master +1 -0
  385. data/more/web-speech-api/.git/refs/remotes/origin/HEAD +1 -0
  386. data/more/web-speech-api/CODE_OF_CONDUCT.md +15 -0
  387. data/more/web-speech-api/LICENSE +116 -0
  388. data/more/web-speech-api/README.md +23 -0
  389. data/more/web-speech-api/index.html +25 -0
  390. data/more/web-speech-api/phrase-matcher/index.html +30 -0
  391. data/more/web-speech-api/phrase-matcher/script.js +124 -0
  392. data/more/web-speech-api/phrase-matcher/style.css +54 -0
  393. data/more/web-speech-api/speak-easy-synthesis/img/ws128.png +0 -0
  394. data/more/web-speech-api/speak-easy-synthesis/img/ws512.png +0 -0
  395. data/more/web-speech-api/speak-easy-synthesis/index.html +43 -0
  396. data/more/web-speech-api/speak-easy-synthesis/manifest.webapp +14 -0
  397. data/more/web-speech-api/speak-easy-synthesis/script.js +87 -0
  398. data/more/web-speech-api/speak-easy-synthesis/style.css +74 -0
  399. data/more/web-speech-api/speech-color-changer/img/ws128.png +0 -0
  400. data/more/web-speech-api/speech-color-changer/img/ws512.png +0 -0
  401. data/more/web-speech-api/speech-color-changer/index.html +26 -0
  402. data/more/web-speech-api/speech-color-changer/manifest.webapp +23 -0
  403. data/more/web-speech-api/speech-color-changer/script.js +58 -0
  404. data/more/web-speech-api/speech-color-changer/style.css +38 -0
  405. data/opensrc +68 -0
  406. data/out +39 -0
  407. data/playsrc +14 -0
  408. data/program.c +11 -0
  409. data/program.prog +568 -0
  410. data/proj/a +0 -0
  411. data/proj/a.c +1 -0
  412. data/proj/a.o +0 -0
  413. data/proj/a.rs +18 -0
  414. data/proj/b.rs +22 -0
  415. data/proj/linker.sh +8 -0
  416. data/proj/save_last +4 -0
  417. data/push +16 -0
  418. data/q.cpp +175 -0
  419. data/qt/.qmake.stash +23 -0
  420. data/qt/Qt5Core.dll +0 -0
  421. data/qt/Qt5Gui.dll +0 -0
  422. data/qt/Qt5Multimedia.dll +0 -0
  423. data/qt/Qt5MultimediaWidgets.dll +0 -0
  424. data/qt/Qt5Network.dll +0 -0
  425. data/qt/Qt5PrintSupport.dll +0 -0
  426. data/qt/Qt5Qml.dll +0 -0
  427. data/qt/Qt5QmlModels.dll +0 -0
  428. data/qt/Qt5Quick.dll +0 -0
  429. data/qt/Qt5Sensors.dll +0 -0
  430. data/qt/Qt5WebChannel.dll +0 -0
  431. data/qt/Qt5WebKit.dll +0 -0
  432. data/qt/Qt5WebKitWidgets.dll +0 -0
  433. data/qt/Qt5Widgets.dll +0 -0
  434. data/qt/a.cpp +39 -0
  435. data/qt/a.out +0 -0
  436. data/qt/a.sh +7 -0
  437. data/qt/icudt66.dll +0 -0
  438. data/qt/icuin66.dll +0 -0
  439. data/qt/icuuc66.dll +0 -0
  440. data/qt/libbz2.dll +0 -0
  441. data/qt/libcrypto-1_1-x64.dll +0 -0
  442. data/qt/libfreetype-6.dll +0 -0
  443. data/qt/libgcc_s_seh-1.dll +0 -0
  444. data/qt/libglib-2.0-0.dll +0 -0
  445. data/qt/libharfbuzz-0.dll +0 -0
  446. data/qt/libiconv-2.dll +0 -0
  447. data/qt/libintl-8.dll +0 -0
  448. data/qt/libjpeg-9.dll +0 -0
  449. data/qt/liblzma-5.dll +0 -0
  450. data/qt/libpcre-1.dll +0 -0
  451. data/qt/libpcre2-16-0.dll +0 -0
  452. data/qt/libpng16-16.dll +0 -0
  453. data/qt/libsqlite3-0.dll +0 -0
  454. data/qt/libssl-1_1-x64.dll +0 -0
  455. data/qt/libstdc++-6.dll +0 -0
  456. data/qt/libwebp-7.dll +0 -0
  457. data/qt/libwinpthread-1.dll +0 -0
  458. data/qt/libxml2-2.dll +0 -0
  459. data/qt/libxslt-1.dll +0 -0
  460. data/qt/libzstd.dll +0 -0
  461. data/qt/prog +1 -0
  462. data/qt/qwindows.dll +0 -0
  463. data/qt/zlib1.dll +0 -0
  464. data/quickjs/.git/HEAD +1 -0
  465. data/quickjs/.git/config +11 -0
  466. data/quickjs/.git/description +1 -0
  467. data/quickjs/.git/hooks/applypatch-msg.sample +15 -0
  468. data/quickjs/.git/hooks/commit-msg.sample +24 -0
  469. data/quickjs/.git/hooks/fsmonitor-watchman.sample +109 -0
  470. data/quickjs/.git/hooks/post-update.sample +8 -0
  471. data/quickjs/.git/hooks/pre-applypatch.sample +14 -0
  472. data/quickjs/.git/hooks/pre-commit.sample +49 -0
  473. data/quickjs/.git/hooks/pre-merge-commit.sample +13 -0
  474. data/quickjs/.git/hooks/pre-push.sample +53 -0
  475. data/quickjs/.git/hooks/pre-rebase.sample +169 -0
  476. data/quickjs/.git/hooks/pre-receive.sample +24 -0
  477. data/quickjs/.git/hooks/prepare-commit-msg.sample +42 -0
  478. data/quickjs/.git/hooks/update.sample +128 -0
  479. data/quickjs/.git/index +0 -0
  480. data/quickjs/.git/info/exclude +6 -0
  481. data/quickjs/.git/logs/HEAD +1 -0
  482. data/quickjs/.git/logs/refs/heads/master +1 -0
  483. data/quickjs/.git/logs/refs/remotes/origin/HEAD +1 -0
  484. data/quickjs/.git/objects/pack/pack-744a13dba8773a756b22372ba65ded3aca50cdeb.idx +0 -0
  485. data/quickjs/.git/objects/pack/pack-744a13dba8773a756b22372ba65ded3aca50cdeb.pack +0 -0
  486. data/quickjs/.git/packed-refs +2 -0
  487. data/quickjs/.git/refs/heads/master +1 -0
  488. data/quickjs/.git/refs/remotes/origin/HEAD +1 -0
  489. data/quickjs/.obj/.d +1 -0
  490. data/quickjs/.obj/cutils.nolto.o +0 -0
  491. data/quickjs/.obj/cutils.o +0 -0
  492. data/quickjs/.obj/cutils.o.d +1 -0
  493. data/quickjs/.obj/hello.o +0 -0
  494. data/quickjs/.obj/hello.o.d +1 -0
  495. data/quickjs/.obj/libbf.nolto.o +0 -0
  496. data/quickjs/.obj/libbf.o +0 -0
  497. data/quickjs/.obj/libbf.o.d +1 -0
  498. data/quickjs/.obj/libregexp.nolto.o +0 -0
  499. data/quickjs/.obj/libregexp.o +0 -0
  500. data/quickjs/.obj/libregexp.o.d +2 -0
  501. data/quickjs/.obj/libunicode.nolto.o +0 -0
  502. data/quickjs/.obj/libunicode.o +0 -0
  503. data/quickjs/.obj/libunicode.o.d +1 -0
  504. data/quickjs/.obj/qjs.check.o +0 -0
  505. data/quickjs/.obj/qjs.check.o.d +1 -0
  506. data/quickjs/.obj/qjs.o +0 -0
  507. data/quickjs/.obj/qjs.o.d +1 -0
  508. data/quickjs/.obj/qjsc.o +0 -0
  509. data/quickjs/.obj/qjsc.o.d +1 -0
  510. data/quickjs/.obj/qjscalc.o +0 -0
  511. data/quickjs/.obj/qjscalc.o.d +1 -0
  512. data/quickjs/.obj/quickjs-libc.nolto.o +0 -0
  513. data/quickjs/.obj/quickjs-libc.o +0 -0
  514. data/quickjs/.obj/quickjs-libc.o.d +2 -0
  515. data/quickjs/.obj/quickjs.check.o +0 -0
  516. data/quickjs/.obj/quickjs.check.o.d +2 -0
  517. data/quickjs/.obj/quickjs.nolto.o +0 -0
  518. data/quickjs/.obj/quickjs.o +0 -0
  519. data/quickjs/.obj/quickjs.o.d +2 -0
  520. data/quickjs/.obj/repl.o +0 -0
  521. data/quickjs/.obj/repl.o.d +1 -0
  522. data/quickjs/.obj/run-test262.o +0 -0
  523. data/quickjs/.obj/run-test262.o.d +2 -0
  524. data/quickjs/COMPILE_WIN +1 -0
  525. data/quickjs/Changelog +148 -0
  526. data/quickjs/LICENSE +22 -0
  527. data/quickjs/Makefile +470 -0
  528. data/quickjs/TODO +70 -0
  529. data/quickjs/VERSION +1 -0
  530. data/quickjs/a.c +50038 -0
  531. data/quickjs/a.js +26075 -0
  532. data/quickjs/a.rb +3 -0
  533. data/quickjs/cutils.c +631 -0
  534. data/quickjs/cutils.h +297 -0
  535. data/quickjs/doc/jsbignum.texi +589 -0
  536. data/quickjs/doc/quickjs.texi +1097 -0
  537. data/quickjs/examples/fib.c +72 -0
  538. data/quickjs/examples/fib_module.js +10 -0
  539. data/quickjs/examples/hello +0 -0
  540. data/quickjs/examples/hello.js +1 -0
  541. data/quickjs/examples/hello_module.js +6 -0
  542. data/quickjs/examples/pi_bigdecimal.js +68 -0
  543. data/quickjs/examples/pi_bigfloat.js +66 -0
  544. data/quickjs/examples/pi_bigint.js +118 -0
  545. data/quickjs/examples/point.c +151 -0
  546. data/quickjs/examples/test_fib.js +6 -0
  547. data/quickjs/examples/test_point.js +40 -0
  548. data/quickjs/hello.c +44 -0
  549. data/quickjs/libbf.c +8466 -0
  550. data/quickjs/libbf.h +535 -0
  551. data/quickjs/libquickjs.a +0 -0
  552. data/quickjs/libquickjs.lto.a +0 -0
  553. data/quickjs/libregexp-opcode.h +58 -0
  554. data/quickjs/libregexp.c +2610 -0
  555. data/quickjs/libregexp.h +92 -0
  556. data/quickjs/libunicode-table.h +4368 -0
  557. data/quickjs/libunicode.c +1556 -0
  558. data/quickjs/libunicode.h +124 -0
  559. data/quickjs/libwinpthread-1.dll +0 -0
  560. data/quickjs/list.h +100 -0
  561. data/quickjs/out.c +24 -0
  562. data/quickjs/out55.c +59 -0
  563. data/quickjs/out56.c +79 -0
  564. data/quickjs/out57.c +24 -0
  565. data/quickjs/out58.c +4 -0
  566. data/quickjs/p.exe +0 -0
  567. data/quickjs/qjs +0 -0
  568. data/quickjs/qjs.c +570 -0
  569. data/quickjs/qjsc +0 -0
  570. data/quickjs/qjsc.c +762 -0
  571. data/quickjs/qjsc.exe +0 -0
  572. data/quickjs/qjscalc.c +4005 -0
  573. data/quickjs/qjscalc.js +2657 -0
  574. data/quickjs/quickjs-atom.h +273 -0
  575. data/quickjs/quickjs-libc.c +3927 -0
  576. data/quickjs/quickjs-libc.h +59 -0
  577. data/quickjs/quickjs-opcode.h +365 -0
  578. data/quickjs/quickjs.c +54036 -0
  579. data/quickjs/quickjs.h +1049 -0
  580. data/quickjs/readme.txt +1 -0
  581. data/quickjs/release.sh +158 -0
  582. data/quickjs/repl.c +2020 -0
  583. data/quickjs/repl.js +1566 -0
  584. data/quickjs/run-test262 +0 -0
  585. data/quickjs/run-test262.c +2107 -0
  586. data/quickjs/test262.conf +199 -0
  587. data/quickjs/test262_errors.txt +35 -0
  588. data/quickjs/test262o.conf +410 -0
  589. data/quickjs/test262o_errors.txt +0 -0
  590. data/quickjs/tests/bjson.c +96 -0
  591. data/quickjs/tests/microbench.js +1065 -0
  592. data/quickjs/tests/test262.patch +71 -0
  593. data/quickjs/tests/test_bignum.js +326 -0
  594. data/quickjs/tests/test_bjson.js +191 -0
  595. data/quickjs/tests/test_builtin.js +685 -0
  596. data/quickjs/tests/test_closure.js +221 -0
  597. data/quickjs/tests/test_language.js +547 -0
  598. data/quickjs/tests/test_loop.js +368 -0
  599. data/quickjs/tests/test_op_overloading.js +207 -0
  600. data/quickjs/tests/test_qjscalc.js +256 -0
  601. data/quickjs/tests/test_std.js +281 -0
  602. data/quickjs/tests/test_worker.js +62 -0
  603. data/quickjs/tests/test_worker_module.js +31 -0
  604. data/quickjs/unicode_download.sh +19 -0
  605. data/quickjs/unicode_gen.c +3057 -0
  606. data/quickjs/unicode_gen_def.h +284 -0
  607. data/readline +3 -0
  608. data/rm_com +1 -0
  609. data/run.sh +13 -0
  610. data/scaling +6 -0
  611. data/script.js +572 -0
  612. data/server_creator/__ +307 -0
  613. data/server_creator/a/a (1).tar.gz +0 -0
  614. data/server_creator/a/a.out +0 -0
  615. data/server_creator/a/hello_world +0 -0
  616. data/server_creator/a/help +57 -0
  617. data/server_creator/a/main_v1.cpp +83 -0
  618. data/server_creator/a/my_libs_gregory/.deps +0 -0
  619. data/server_creator/a/my_libs_gregory/.libs/mod_my_libs_gregory.lai +41 -0
  620. data/server_creator/a/my_libs_gregory/.libs/mod_my_libs_gregory.o +0 -0
  621. data/server_creator/a/my_libs_gregory/.libs/mod_my_libs_gregory.so +0 -0
  622. data/server_creator/a/my_libs_gregory/mod_my_libs_gregory.c +72 -0
  623. data/server_creator/a/my_libs_gregory/mod_my_libs_gregory.la +41 -0
  624. data/server_creator/a/my_libs_gregory/mod_my_libs_gregory.lo +12 -0
  625. data/server_creator/a/my_libs_gregory/mod_my_libs_gregory.slo +0 -0
  626. data/server_creator/a/nginx.conf +32 -0
  627. data/server_creator/a/six +1 -0
  628. data/server_creator/a.out +0 -0
  629. data/server_creator/all_code.cpp +448 -0
  630. data/server_creator/all_code.js +27 -0
  631. data/server_creator/code +510 -0
  632. data/server_creator/make_application +64 -0
  633. data/server_creator/prog.cpp +33 -0
  634. data/server_creator/prog.js +22 -0
  635. data/server_creator/program.js +745 -0
  636. data/server_creator/rm_com +1 -0
  637. data/server_creator/test.sh +82 -0
  638. data/speakcat.rb +9 -0
  639. data/string +48 -0
  640. data/super_trans +83 -0
  641. data/test.sh +21 -0
  642. data/todo +8 -0
  643. data/version_decrement +3 -0
  644. data/viu_license +21 -0
  645. data/windows/program.c +21 -0
  646. data/windows/program.exe +0 -0
  647. metadata +759 -0
data/server_creator/__ ADDED
@@ -0,0 +1,307 @@
1
+
2
+
3
+
4
+
5
+
6
+ #include <cstddef>
7
+ #include <iostream>
8
+ #include <vector>
9
+ #include <sstream>
10
+ #include <cstring>
11
+
12
+ enum {INT, DOUBLE, STRING, VECTOR} Types;
13
+
14
+ #define c construct
15
+
16
+ class Type {
17
+ public:
18
+ double type, *value, refs;
19
+
20
+ operator std::string();
21
+ void print();
22
+ };
23
+
24
+
25
+
26
+ template <class A>
27
+ class Array_sub : public std::vector<A>
28
+ {
29
+ public:
30
+
31
+
32
+
33
+ inline std::string to_s_(const Type val_) {
34
+
35
+ if (val_.type == STRING) {
36
+ return *(const char**)&val_.value;
37
+ }
38
+ if (val_.type == INT) {
39
+ return std::to_string((long long int)val_.value);
40
+ }
41
+ if (val_.type == DOUBLE) {
42
+ return std::to_string(*(double*)val_.value);
43
+ }
44
+
45
+ if (val_.type == VECTOR) {
46
+ return (*(Array_sub<A>**)(&val_.value))->to_s();
47
+ }
48
+
49
+ std::cout << "Error";
50
+ exit(1);
51
+
52
+ }
53
+
54
+ public:
55
+ Array_sub(std::initializer_list<A> a) : std::vector<A>{a}
56
+ {}
57
+
58
+ inline void push(A value) {
59
+ std::vector<A>::emplace_back(value);
60
+ }
61
+
62
+ ~Array_sub() {
63
+ for ( Type& i: *this) {
64
+ if (i.refs) {
65
+ --i.refs;
66
+ free(i.value);
67
+ }
68
+ }
69
+ }
70
+
71
+
72
+
73
+ inline Array_sub<A>& operator<< (A v) {
74
+ push(v);
75
+ return *this;
76
+ }
77
+
78
+ /* void append() {
79
+ }
80
+
81
+ append_all() {
82
+ std::for_each(i.begin(), i.end(), append);
83
+ }*/
84
+
85
+ Type
86
+ construct(char* const a, const double refs) { return Type{2, (double*)a, refs}; }
87
+
88
+
89
+ inline auto surround(const char* first=, const char* second=) {
90
+
91
+ typedef Array_sub<Type> Array;
92
+ Array b{};
93
+ for (size_t i = 0; i < this->size(); ++i) {
94
+ std::string s{first};
95
+ s += to_s_((*this)[i]);
96
+ s += second;
97
+
98
+ b.push(c(strdup(s.c_str()), 1));
99
+ }
100
+ return b;
101
+ }
102
+
103
+ inline auto js() {
104
+ return surround("<script type='text/javascript'>", "</script>");
105
+ }
106
+
107
+ operator std::string() {
108
+ return to_s();
109
+ }
110
+
111
+ inline auto append(const char* arg1) {
112
+ return surround("", arg1);
113
+ }
114
+
115
+
116
+ inline auto prepend(const char* arg1) {
117
+ return surround("", arg1);
118
+ }
119
+
120
+ inline auto quote() {
121
+ return surround("'", "'");
122
+ }
123
+
124
+ inline auto join(const char* delim) {
125
+ std::string result;
126
+ const auto length=this->size();
127
+ for (size_t i = 0; i < length; ++i) {
128
+ result += (*this)[i];
129
+ if (i==length-1) {
130
+ } else {
131
+ result += delim;
132
+ }
133
+ }
134
+
135
+ return result;
136
+ }
137
+
138
+ inline auto html() {
139
+ return surround("<html><body>", "</body></html>");
140
+ }
141
+
142
+ inline auto p() {
143
+ return surround("<p>", "</p>");
144
+ }
145
+
146
+ inline auto div() {
147
+ return surround("<div>", "</div>");
148
+ }
149
+
150
+ inline auto nls() {
151
+ return surround("", "
152
+ ");
153
+ }
154
+
155
+
156
+
157
+ std::string to_s() {
158
+ std::ostringstream str;
159
+ str << "[";
160
+ for (size_t i = 0; i < this->size(); ++i) {
161
+ str << to_s_((*this)[i]);
162
+
163
+ if (i == this->size() - 1) {
164
+ } else {
165
+ str << ", ";
166
+ }
167
+ }
168
+ str << "]";
169
+
170
+
171
+
172
+ return str.str();
173
+
174
+ }
175
+ };
176
+ typedef Array_sub<Type> Array;
177
+
178
+
179
+
180
+
181
+ Type::operator std::string() {
182
+ const Type& val_ = *this;
183
+
184
+ if (val_.type == STRING) {
185
+ return *(const char**)&val_.value;
186
+ }
187
+ if (val_.type == INT) {
188
+ return std::to_string((long long int)val_.value);
189
+ }
190
+ if (val_.type == DOUBLE) {
191
+ const size_t a = *(long long*)&val_.value;
192
+ return std::to_string((double)a);
193
+ }
194
+
195
+ if (val_.type == VECTOR) {
196
+ return (*(Array **)(&val_.value))->to_s();
197
+ }
198
+
199
+ std::cout << "Error";
200
+ exit(1);
201
+ };
202
+
203
+ void puts(std::string a) {
204
+ puts(a.c_str());
205
+ }
206
+
207
+ void Type::print() {
208
+ puts(((std::string)(*this)).c_str());
209
+ // printf("%s
210
+ ",
211
+ }
212
+ Type construct(const long long int a) { return Type{0, (double*)a,0}; }
213
+
214
+
215
+ Type construct(Array a) {return
216
+ Type{3, *(double**)&a,0};
217
+
218
+ }
219
+ Type operator ""_c(unsigned long long a) {
220
+ return c(a);
221
+ }
222
+
223
+ Type construct(const double a) {
224
+ return Type{1, *(double**)&a, 0};
225
+
226
+ }
227
+
228
+ Type construct(const char* const a, const double refs=0) { return Type{2, (double*)a, refs}; }
229
+
230
+
231
+
232
+
233
+
234
+
235
+
236
+
237
+
238
+
239
+
240
+
241
+
242
+
243
+
244
+
245
+
246
+
247
+
248
+
249
+
250
+
251
+
252
+
253
+
254
+
255
+
256
+
257
+
258
+ #ifndef foo_macro
259
+ #define foo_macro
260
+ #undef foo
261
+ #undef foo_otherwise
262
+ #ifndef nop_func_macro
263
+ #define nop_func_macro
264
+ static void * nop_func(...) { return nullptr; }
265
+ #endif
266
+ #define foo_otherwise nop_func
267
+
268
+ #define function static inline void*
269
+ #define var auto
270
+ #define let auto
271
+ #define const const auto
272
+ function foo(Array & array, size_t i) {
273
+ void* rvalue;
274
+
275
+ ;
276
+ const max = array.size();
277
+ while (i < max) {
278
+ Type element = array[i];
279
+
280
+ const v = element;
281
+ const value = element;
282
+
283
+ const condition = 1;
284
+ if (condition) {
285
+ rvalue = *(void**)(size_t*)&(std::cout << (std::string)element << std::endl);
286
+ } else {
287
+ rvalue = foo_otherwise(&(element), 0);
288
+ } ++i; }
289
+ return rvalue;
290
+ }
291
+ #endif
292
+
293
+ function e1638878978870_main() {
294
+ {Array a
295
+ {
296
+ c(1ll),
297
+ c(2ll),
298
+ c(3ll),
299
+ c(4ll),
300
+ c(5ll)
301
+ };
302
+ foo(a, 0);
303
+ return 0; }
304
+ }
305
+
306
+
307
+ int main() { e1638878978870_main(); }
Binary file
Binary file
Binary file
@@ -0,0 +1,57 @@
1
+ #!/bin/bash
2
+
3
+ the_config_file=/usr/share/nginx/nginx.conf
4
+
5
+ which spawn-fcgi > /dev/null || sudo apt-get install libfcgi-dev spawn-fcgi nginx curl
6
+
7
+
8
+
9
+ echo '
10
+
11
+ events {
12
+ worker_connections 1024;
13
+ }
14
+
15
+ http {
16
+ server {
17
+ listen 80;
18
+ server_name localhost;
19
+
20
+ location / {
21
+ fastcgi_pass 127.0.0.1:8000;
22
+
23
+ fastcgi_param GATEWAY_INTERFACE CGI/1.1;
24
+ fastcgi_param SERVER_SOFTWARE nginx;
25
+ fastcgi_param QUERY_STRING $query_string;
26
+ fastcgi_param REQUEST_METHOD $request_method;
27
+ fastcgi_param CONTENT_TYPE $content_type;
28
+ fastcgi_param CONTENT_LENGTH $content_length;
29
+ fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
30
+ fastcgi_param SCRIPT_NAME $fastcgi_script_name;
31
+ fastcgi_param REQUEST_URI $request_uri;
32
+ fastcgi_param DOCUMENT_URI $document_uri;
33
+ fastcgi_param DOCUMENT_ROOT $document_root;
34
+ fastcgi_param SERVER_PROTOCOL $server_protocol;
35
+ fastcgi_param REMOTE_ADDR $remote_addr;
36
+ fastcgi_param REMOTE_PORT $remote_port;
37
+ fastcgi_param SERVER_ADDR $server_addr;
38
+ fastcgi_param SERVER_PORT $server_port;
39
+ fastcgi_param SERVER_NAME $server_name;
40
+ }
41
+ }
42
+ }
43
+ '>$the_config_file
44
+
45
+
46
+ killall nginx hello_world apache2 spawn-fcgi
47
+
48
+ nginx -c $the_config_file
49
+
50
+ g++ *.cpp -lfcgi++ -lfcgi -O3 -s -Wall -Wextra -o hello_world
51
+
52
+ # spawn the fcgi app on port 8000 with no fork
53
+ spawn-fcgi -p 8000 -n hello_world &
54
+
55
+ #clear
56
+
57
+ echo "Everything should work fine."
@@ -0,0 +1,83 @@
1
+ #include <iostream>
2
+ #include "fcgio.h"
3
+
4
+ using namespace std;
5
+
6
+ int mmain();
7
+ #include <array>
8
+
9
+ int main(void) {
10
+ // Backup the stdio streambufs
11
+ streambuf * cin_streambuf = cin.rdbuf();
12
+ streambuf * cout_streambuf = cout.rdbuf();
13
+ streambuf * cerr_streambuf = cerr.rdbuf();
14
+
15
+ FCGX_Request request;
16
+
17
+ FCGX_Init();
18
+ FCGX_InitRequest(&request, 0, 0);
19
+
20
+ while (FCGX_Accept_r(&request) == 0) {
21
+ fcgi_streambuf cin_fcgi_streambuf(request.in);
22
+ fcgi_streambuf cout_fcgi_streambuf(request.out);
23
+ fcgi_streambuf cerr_fcgi_streambuf(request.err);
24
+
25
+ cin.rdbuf(&cin_fcgi_streambuf);
26
+ cout.rdbuf(&cout_fcgi_streambuf);
27
+ cerr.rdbuf(&cerr_fcgi_streambuf);
28
+
29
+ cout << "Content-type: text/html\r\n"
30
+ << "\r\n"
31
+ << "<html>\n"
32
+ << " <head>\n"
33
+ << " <title>Hello, World!</title>\n"
34
+ << " </head>\n"
35
+ << " <body>\n"
36
+ << " <h1>Hello, World!</h1>\n"
37
+ << " </body>\n"
38
+ << "</html>\n";
39
+
40
+ system("echo 5 > /root/six");
41
+ mmain();
42
+ // system("echo 6");
43
+
44
+ // Note: the fcgi_streambuf destructor will auto flush
45
+ }
46
+
47
+ // restore stdio streambufs
48
+ cin.rdbuf(cin_streambuf);
49
+ cout.rdbuf(cout_streambuf);
50
+ cerr.rdbuf(cerr_streambuf);
51
+
52
+ return 0;
53
+ }
54
+
55
+
56
+
57
+
58
+
59
+ int mmain()
60
+ {
61
+ std::string command("ls * 2>&1");
62
+
63
+ std::array<char, 4096> buffer;
64
+ std::string result;
65
+
66
+ std::cout << "Opening reading pipe" << std::endl;
67
+ FILE* pipe = popen(command.c_str(), "r");
68
+ if (!pipe)
69
+ {
70
+ std::cerr << "Couldn't start command." << std::endl;
71
+ return 0;
72
+ }
73
+ while (fgets(buffer.data(), 128, pipe) != NULL) {
74
+ //std::cout << "Reading..." << std::endl;
75
+ result += buffer.data();
76
+ }
77
+ auto returnCode = pclose(pipe);
78
+
79
+ std::cout << result << std::endl;
80
+ std::cout << returnCode << std::endl;
81
+
82
+ return 0;
83
+ }
File without changes
@@ -0,0 +1,41 @@
1
+ # mod_my_libs_gregory.la - a libtool library file
2
+ # Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-13
3
+ #
4
+ # Please DO NOT delete this file!
5
+ # It is necessary for linking the library.
6
+
7
+ # The name that we can dlopen(3).
8
+ dlname='mod_my_libs_gregory.so'
9
+
10
+ # Names of this library.
11
+ library_names='mod_my_libs_gregory.so mod_my_libs_gregory.so mod_my_libs_gregory.so'
12
+
13
+ # The name of the static archive.
14
+ old_library=''
15
+
16
+ # Linker flags that cannot go in dependency_libs.
17
+ inherited_linker_flags=''
18
+
19
+ # Libraries that this one depends upon.
20
+ dependency_libs=''
21
+
22
+ # Names of additional weak libraries provided by this library
23
+ weak_library_names=''
24
+
25
+ # Version information for mod_my_libs_gregory.
26
+ current=0
27
+ age=0
28
+ revision=0
29
+
30
+ # Is this an already installed library?
31
+ installed=yes
32
+
33
+ # Should we warn about portability when linking against -modules?
34
+ shouldnotlink=yes
35
+
36
+ # Files to dlopen/dlpreopen
37
+ dlopen=''
38
+ dlpreopen=''
39
+
40
+ # Directory that this library needs to be installed in:
41
+ libdir='/usr/lib/apache2/modules'
@@ -0,0 +1,72 @@
1
+
2
+
3
+ static void foo() {}
4
+
5
+
6
+
7
+
8
+ #include "httpd.h"
9
+
10
+
11
+
12
+
13
+ #include "http_config.h"
14
+ #include "http_protocol.h"
15
+ #include "ap_config.h"
16
+
17
+
18
+ //extern "C" {
19
+ /* The sample content handler */
20
+ static int my_libs_gregory_handler(request_rec *r)
21
+ {
22
+ if (strcmp(r->handler, "my_libs_gregory")) {
23
+ return DECLINED;
24
+ };char buf[ 1000] = {}; //ap_rputs(buf, getcwd());
25
+
26
+ system("echo foo > /tmp/gr");
27
+ int file=open("/tmp/file",O_APPEND|O_CREAT|O_WRONLY
28
+ , 0642);// );// , O_WRONLY);
29
+ ap_rprintf(r, "%s %d\n", strerror(errno), file); //"Hello",r);
30
+ write(file, "Hello", 5);
31
+ r->content_type = "text/html";
32
+
33
+ if (!r->header_only) {
34
+ // ap_rputs(getwd(), r);
35
+ ap_rputs("Theam\n", r);
36
+ ap_rputs("Hello",r);
37
+ puts("g");
38
+
39
+ while (1==2) {
40
+ FILE* f = fopen("/tmp/fifo", "w");
41
+
42
+ if (!f) continue;
43
+
44
+ while (fwrite("D", 1, 1, f) != 1) {
45
+ //continue;
46
+ }
47
+
48
+ fclose(f);
49
+ break;
50
+
51
+ }
52
+ }
53
+
54
+ return OK;
55
+ }
56
+
57
+ static void my_libs_gregory_register_hooks(apr_pool_t *p)
58
+ {
59
+ ap_hook_handler(my_libs_gregory_handler, NULL, NULL, APR_HOOK_MIDDLE);
60
+ }
61
+ //};
62
+
63
+ /* Dispatch list for API hooks */
64
+ module AP_MODULE_DECLARE_DATA my_libs_gregory_module = {
65
+ STANDARD20_MODULE_STUFF,
66
+ NULL, /* create per-dir config structures */
67
+ NULL, /* merge per-dir config structures */
68
+ NULL, /* create per-server config structures */
69
+ NULL, /* merge per-server config structures */
70
+ NULL, /* table of config file commands */
71
+ my_libs_gregory_register_hooks /* register hooks */
72
+ };
@@ -0,0 +1,41 @@
1
+ # mod_my_libs_gregory.la - a libtool library file
2
+ # Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-13
3
+ #
4
+ # Please DO NOT delete this file!
5
+ # It is necessary for linking the library.
6
+
7
+ # The name that we can dlopen(3).
8
+ dlname='mod_my_libs_gregory.so'
9
+
10
+ # Names of this library.
11
+ library_names='mod_my_libs_gregory.so mod_my_libs_gregory.so mod_my_libs_gregory.so'
12
+
13
+ # The name of the static archive.
14
+ old_library=''
15
+
16
+ # Linker flags that cannot go in dependency_libs.
17
+ inherited_linker_flags=''
18
+
19
+ # Libraries that this one depends upon.
20
+ dependency_libs=''
21
+
22
+ # Names of additional weak libraries provided by this library
23
+ weak_library_names=''
24
+
25
+ # Version information for mod_my_libs_gregory.
26
+ current=0
27
+ age=0
28
+ revision=0
29
+
30
+ # Is this an already installed library?
31
+ installed=no
32
+
33
+ # Should we warn about portability when linking against -modules?
34
+ shouldnotlink=yes
35
+
36
+ # Files to dlopen/dlpreopen
37
+ dlopen=''
38
+ dlpreopen=''
39
+
40
+ # Directory that this library needs to be installed in:
41
+ libdir='/usr/lib/apache2/modules'
@@ -0,0 +1,12 @@
1
+ # mod_my_libs_gregory.lo - a libtool object file
2
+ # Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-13
3
+ #
4
+ # Please DO NOT delete this file!
5
+ # It is necessary for linking the library.
6
+
7
+ # Name of the PIC object.
8
+ pic_object='.libs/mod_my_libs_gregory.o'
9
+
10
+ # Name of the non-PIC object
11
+ non_pic_object=none
12
+
@@ -0,0 +1,32 @@
1
+ events {
2
+ worker_connections 1024;
3
+ }
4
+
5
+ http {
6
+ server {
7
+ listen 80;
8
+ server_name localhost;
9
+
10
+ location / {
11
+ fastcgi_pass 127.0.0.1:8000;
12
+
13
+ fastcgi_param GATEWAY_INTERFACE CGI/1.1;
14
+ fastcgi_param SERVER_SOFTWARE nginx;
15
+ fastcgi_param QUERY_STRING $query_string;
16
+ fastcgi_param REQUEST_METHOD $request_method;
17
+ fastcgi_param CONTENT_TYPE $content_type;
18
+ fastcgi_param CONTENT_LENGTH $content_length;
19
+ fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
20
+ fastcgi_param SCRIPT_NAME $fastcgi_script_name;
21
+ fastcgi_param REQUEST_URI $request_uri;
22
+ fastcgi_param DOCUMENT_URI $document_uri;
23
+ fastcgi_param DOCUMENT_ROOT $document_root;
24
+ fastcgi_param SERVER_PROTOCOL $server_protocol;
25
+ fastcgi_param REMOTE_ADDR $remote_addr;
26
+ fastcgi_param REMOTE_PORT $remote_port;
27
+ fastcgi_param SERVER_ADDR $server_addr;
28
+ fastcgi_param SERVER_PORT $server_port;
29
+ fastcgi_param SERVER_NAME $server_name;
30
+ }
31
+ }
32
+ }
@@ -0,0 +1 @@
1
+ 5
Binary file