Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18...
Transcript of Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18...
![Page 1: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/1.jpg)
Stupid Ideas forMany Computers
Aja Hammerly@thagomizer_rb
![Page 2: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/2.jpg)
@thagomizer_rb
My first Ruby Conf
![Page 3: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/3.jpg)
@thagomizer_rb
![Page 4: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/4.jpg)
@thagomizer_rbhttps://www.flickr.com/photos/jamisonjudd/2433102356/
![Page 5: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/5.jpg)
@thagomizer_rb
![Page 6: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/6.jpg)
@thagomizer_rb
![Page 7: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/7.jpg)
@thagomizer_rb
110% More
Bad Ideas
AT SCALE
![Page 8: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/8.jpg)
Aja Hammerly
@thagomizer_rb
http://www.thagomizer.com
http://github.com/thagomizer/StupidIdeas
![Page 9: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/9.jpg)
@thagomizer_rb
http://cloud.google.com/rubyOffice Hours:
Monday during the PM Break
![Page 10: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/10.jpg)
@thagomizer_rb
Unless otherwise stated:all code is copyright Google and
licensed Apache V2
![Page 11: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/11.jpg)
@thagomizer_rb
Stupid
![Page 12: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/12.jpg)
@thagomizer_rb
Load Testing
![Page 13: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/13.jpg)
@thagomizer_rb
Really Stupid ™Load Testing
![Page 14: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/14.jpg)
@thagomizer_rb
Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m Processing by Rails::WelcomeController#index as HTML Rendered /Users/ajahammerly/.gem/repos/blog/gems/railties-4.1.8/lib/rails/templates/rails/welcome/index.html.erb (1.1ms) Completed 200 OK in 58ms (Views: 35.8ms | ActiveRecord: 0.0ms)
Started GET "/" for 127.0.0.1 at 2014-12-18 11:12:26 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m Processing by PostsController#index as HTML [1m[35mPost Load (0.1ms)[0m SELECT "posts".* FROM "posts" Rendered posts/index.html.erb within layouts/application (1.7ms) Completed 200 OK in 1101ms (Views: 1080.9ms | ActiveRecord: 0.1ms)
Started GET "/assets/scaffolds.css?body=1" for 127.0.0.1 at 2014-12-18 11:12:28 -0800
Started GET "/assets/application.css?body=1" for 127.0.0.1 at 2014-12-18 11:12:28 -0800
Started GET "/assets/jquery.js?body=1" for 127.0.0.1 at 2014-12-18 11:12:28 -0800
Started GET "/assets/posts.css?body=1" for 127.0.0.1 at 2014-12-18 11:12:28 -0800
Started GET "/assets/jquery_ujs.js?body=1" for 127.0.0.1 at 2014-12-18 11:12:28 -0800
Started GET "/assets/turbolinks.js?body=1" for 127.0.0.1 at 2014-12-18 11:12:28 -0800
Started GET "/assets/posts.js?body=1" for 127.0.0.1 at 2014-12-18 11:12:28 -0800
Started GET "/assets/application.js?body=1" for 127.0.0.1 at 2014-12-18 11:12:28 -0800
Started GET "/" for 127.0.0.1 at 2014-12-18 11:14:31 -0800 Processing by PostsController#index as HTML Completed 500 Internal Server Error in 2ms
ArgumentError (wrong number of arguments (1 for 0)): app/controllers/posts_controller.rb:7:in `index'
Rendered /Users/ajahammerly/.gem/repos/blog/gems/actionpack-4.1.8/lib/action_dispatch/middleware/
Started GET "/assets/application.js?body=1" for 127.0.0.1 at 2014-12-18 11:15:11 -0800
Started GET "/posts" for 127.0.0.1 at 2014-12-18 11:15:13 -0800 Processing by PostsController#index as HTML [1m[35mPost Load (0.1ms)[0m SELECT "posts".* FROM "posts" ORDER BY created_at DESC Rendered posts/index.html.erb within layouts/application (3.6ms) Completed 200 OK in 29ms (Views: 28.0ms | ActiveRecord: 0.1ms)
Started GET "/posts/new" for 127.0.0.1 at 2014-12-18 11:15:14 -0800 Processing by PostsController#new as HTML Rendered posts/_form.html.erb (2.5ms) Rendered posts/new.html.erb within layouts/application (3.6ms) Completed 200 OK in 37ms (Views: 36.1ms | ActiveRecord: 0.0ms)
Started POST "/posts" for 127.0.0.1 at 2014-12-18 11:15:22 -0800 Processing by PostsController#create as HTML Parameters: {"utf8"=>"✓", "authenticity_token"=>"sdU1eASFmHcNz/I+HRSnKOQfsvt/jMe/y65LHfABZRU=", "post"=>{"title"=>"Post 2", "body"=>"Stupid LDB"}, "commit"=>"Create Post"} [1m[36m (0.1ms)[0m [1mbegin transaction[0m [1m[35mSQL (0.2ms)[0m INSERT INTO "posts" ("body", "created_at", "title", "updated_at") VALUES (?, ?, ?, ?) [["body", "Stupid LDB"], ["created_at", "2014-12-18 19:15:22.628020"], ["title", "Post 2"], ["updated_at", "2014-12-18 19:15:22.628020"]] [1m[36m (0.7ms)[0m [1mcommit transaction[0m Redirected to http://localhost:3000/posts/2 Completed 302 Found in 4ms (ActiveRecord: 1.0ms)
Started GET "/posts/2" for 127.0.0.1 at 2014-12-18 11:15:22 -0800 Processing by PostsController#show as HTML Parameters: {"id"=>"2"} [1m[35mPost Load (0.1ms)[0m SELECT "posts".* FROM "posts" WHERE "posts"."id" = ? LIMIT 1 [["id", 2]] Rendered posts/show.html.erb within layouts/application (0.3ms) Completed 200 OK in 61ms (Views: 59.9ms | ActiveRecord: 0.1ms)
Started GET "/assets/scaffolds.css?body=1" for 127.0.0.1 at 2014-12-18 11:15:22 -0800
Started GET "/assets/jquery_ujs.js?body=1" for 127.0.0.1 at 2014-12-18 11:15:22 -0800
Started GET "/assets/turbolinks.js?body=1" for Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
Rendered posts/new.html.erb within layouts/application (14.7ms) Completed 200 OK in 41ms (Views: 39.7ms | ActiveRecord: 0.2ms)
Started POST "/posts" for 127.0.0.1 at 2014-12-18 11:15:11 -0800 Processing by PostsController#create as HTML Parameters: {"utf8"=>"✓", "authenticity_token"=>"sdU1eASFmHcNz/I+HRSnKOQfsvt/jMe/y65LHfABZRU=", "post"=>{"title"=>"Post 1", "body"=>"Blah blah blah"}, "commit"=>"Create Post"} [1m[35m (0.1ms)[0m begin transaction [1m[36mSQL (0.3ms)[0m [1mINSERT INTO "posts" ("body", "created_at", "title", "updated_at") VALUES (?, ?, ?, ?)[0m [["body", "Blah blah blah"], ["created_at", "2014-12-18 19:15:11.521855"], ["title", "Post 1"], ["updated_at", "2014-12-18 19:15:11.521855"]] [1m[35m (0.7ms)[0m commit transaction Redirected to http://localhost:3000/posts/1 Completed 302 Found in 7ms (ActiveRecord: 1.2ms)
Started GET "/posts/1" for 127.0.0.1 at 2014-12-18 11:15:11 -0800 Processing by PostsController#show as HTML Parameters: {"id"=>"1"} [1m[36mPost Load (0.2ms)[0m [1mSELECT "posts".* FROM "posts" WHERE "posts"."id" = ? LIMIT 1[0m [["id", 1]] Rendered posts/show.html.erb within layouts/application (0.9ms) Completed 200 OK in 65ms (Views: 63.1ms | ActiveRecord: 0.2ms)
Started GET "/assets/jquery_ujs.js?body=1" for 127.0.0.1 at 2014-12-18 11:15:11 -0800
Started GET "/assets/jquery.js?body=1" for 127.0.0.1 at 2014-12-18 11:15:11 -0800
Started GET "/assets/application.css?body=1" for 127.0.0.1 at 2014-12-18 11:15:11 -0800
Started GET "/assets/scaffolds.css?body=1" for 127.0.0.1 at 2014-12-18 11:15:11 -0800
Started GET "/assets/posts.css?body=1" for 127.0.0.1 at 2014-12-18 11:15:11 -0800
Started GET "/assets/turbolinks.js?body=1" for 127.0.0.1 at 2014-12-18 11:15:11 -0800
Started GET "/assets/posts.js?body=1" for 127.0.0.1 at 2014-12-18 11:15:11 -0800
Started GET "/assets/application.js?body=1" for 127.0.0.1 at 2014-12-18 11:15:11 -0800
Started GET "/posts" for 127.0.0.1 at 2014-12-18
Started GET "/assets/jquery.js?body=1" for 127.0.0.1 at 2014-12-18 11:12:28 -0800
Started GET "/assets/posts.css?body=1" for 127.0.0.1 at 2014-12-18 11:12:28 -0800
Started GET "/assets/jquery_ujs.js?body=1" for 127.0.0.1 at 2014-12-18 11:12:28 -0800
Started GET "/assets/turbolinks.js?body=1" for 127.0.0.1 at 2014-12-18 11:12:28 -0800
Started GET "/assets/posts.js?body=1" for 127.0.0.1 at 2014-12-18 11:12:28 -0800
Started GET "/assets/application.js?body=1" for 127.0.0.1 at 2014-12-18 11:12:28 -0800
Started GET "/" for 127.0.0.1 at 2014-12-18 11:14:31 -0800 Processing by PostsController#index as HTML Completed 500 Internal Server Error in 2ms
ArgumentError (wrong number of arguments (1 for 0)): app/controllers/posts_controller.rb:7:in `index'
Rendered /Users/ajahammerly/.gem/repos/blog/gems/actionpack-4.1.8/lib/action_dispatch/middleware/templates/rescues/_source.erb (0.6ms) Rendered /Users/ajahammerly/.gem/repos/blog/gems/actionpack-4.1.8/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (0.8ms) Rendered /Users/ajahammerly/.gem/repos/blog/gems/actionpack-4.1.8/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.1ms) Rendered /Users/ajahammerly/.gem/repos/blog/gems/actionpack-4.1.8/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (15.4ms)
Started GET "/" for 127.0.0.1 at 2014-12-18 11:15:03 -0800 Processing by PostsController#index as HTML [1m[36mPost Load (0.3ms)[0m [1mSELECT "posts".* FROM "posts" ORDER BY created_at DESC[0m Rendered posts/index.html.erb within layouts/application (1.8ms) Completed 200 OK in 31ms (Views: 28.8ms | ActiveRecord: 0.3ms)
Started GET "/assets/scaffolds.css?body=1" for 127.0.0.1 at 2014-12-18 11:15:03 -0800
Started GET "/assets/jquery.js?body=1" for 127.0.0.1 at 2014-12-18 11:15:03 -0800
Started GET "/assets/application.css?body=1" for 127.0.0.1 at 2014-12-18 11:15:03 -0800
![Page 15: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/15.jpg)
@thagomizer_rb
0)): app/controllers/posts_controller.rb:7:in `index'
Rendered /Users/ajahammerly/.gem/repos/blog/gems/actionpack-4.1.8/lib/action_dispatch/middleware/templates/rescues/_source.erb (0.6ms) Rendered /Users/ajahammerly/.gem/repos/blog/gems/actionpack-4.1.8/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (0.8ms) Rendered /Users/ajahammerly/.gem/repos/blog/gems/actionpack-4.1.8/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.1ms) Rendered /Users/ajahammerly/.gem/repos/blog/gems/actionpack-4.1.8/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (15.4ms)
Started GET "/" for 127.0.0.1 at 2014-12-18 11:15:03 -0800 Processing by PostsController#index as HTML [1m[36mPost Load (0.3ms)[0m [1mSELECT "posts".* FROM "posts" ORDER BY created_at DESC[0m Rendered posts/index.html.erb within layouts/application (1.8ms) Completed 200 OK in 31ms (Views: 28.8ms | ActiveRecord: 0.3ms)
Started GET "/assets/scaffolds.css?body=1" for 127.0.0.1 at 2014-12-18 11:15:03 -0800
Started GET "/assets/jquery.js?body=1" for 127.0.0.1 at 2014-12-18 11:15:03 -0800
Started GET "/assets/application.css?body=1" for 127.0.0.1 at 2014-12-18 11:15:03 -0800
Started GET "/assets/posts.css?body=1" for 127.0.0.1 at 2014-12-18 11:15:03 -0800
Started GET "/assets/jquery_ujs.js?body=1" for 127.0.0.1 at 2014-12-18 11:15:03 -0800
Started GET "/assets/turbolinks.js?body=1" for 127.0.0.1 at 2014-12-18 11:15:03 -0800
Started GET "/assets/posts.js?body=1" for 127.0.0.1 at 2014-12-18 11:15:03 -0800
Started GET "/assets/application.js?body=1" for 127.0.0.1 at 2014-12-18 11:15:03 -0800
Started GET "/posts/new" for 127.0.0.1 at 2014-12-18 11:15:05 -0800 Processing by PostsController#new as HTML Rendered posts/_form.html.erb (12.2ms) Rendered posts/new.html.erb within layouts/application (14.7ms) Completed 200 OK in 41ms (Views: 39.7ms | ActiveRecord: 0.2ms)
Started GET "/assets/turbolinks.js?body=1" for Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m Processing by Rails::WelcomeController#index as HTML Rendered /Users/ajahammerly/.gem/repos/blog/gems/railties-4.1.8/lib/rails/templates/rails/welcome/index.html.erb (1.1ms) Completed 200 OK in 58ms (Views: 35.8ms | ActiveRecord: 0.0ms)
Started GET "/" for 127.0.0.1 at 2014-12-18 11:12:26 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m Processing by PostsController#index as HTML [1m[35mPost Load (0.1ms)[0m SELECT "posts".* FROM "posts" Rendered posts/index.html.erb within layouts/application (1.7ms) Completed 200 OK in 1101ms (Views: 1080.9ms | ActiveRecord: 0.1ms)
Started GET "/assets/scaffolds.css?body=1" for 127.0.0.1 at 2014-12-18 11:12:28 -0800
Started GET "/assets/application.css?body=1" for 127.0.0.1 at 2014-12-18 11:12:28 -0800
Started GET "/assets/jquery.js?body=1" for 127.0.0.1 at 2014-12-18 11:12:28 -0800
Started GET "/assets/posts.css?body=1" for 127.0.0.1 at 2014-12-18 11:12:28 -0800
Started GET "/assets/jquery_ujs.js?body=1" for 127.0.0.1 at 2014-12-18 11:12:28 -0800
Started GET "/assets/turbolinks.js?body=1" for 127.0.0.1 at 2014-12-18 11:12:28 -0800
Started GET "/assets/posts.js?body=1" for 127.0.0.1 at 2014-12-18 11:12:28 -0800
Started GET "/assets/application.js?body=1" for 127.0.0.1 at 2014-12-18 11:12:28 -0800
Started GET "/" for 127.0.0.1 at 2014-12-18 11:14:31 -0800 Processing by PostsController#index as HTML Completed 500 Internal Server Error in 2ms
ArgumentError (wrong number of arguments (1 for 0)): app/controllers/posts_controller.rb:7:in `index'
Rendered /Users/ajahammerly/.gem/repos/blog/gems/actionpack-4.1.8/lib/action_dispatch/middleware/templates/rescues/_source.erb (0.6ms)
Started GET "/assets/application.js?body=1" for 127.0.0.1 at 2014-12-18 11:15:11 -0800
Started GET "/posts" for 127.0.0.1 at 2014-12-18 11:15:13 -0800 Processing by PostsController#index as HTML [1m[35mPost Load (0.1ms)[0m SELECT "posts".* FROM "posts" ORDER BY created_at DESC Rendered posts/index.html.erb within layouts/application (3.6ms) Completed 200 OK in 29ms (Views: 28.0ms | ActiveRecord: 0.1ms)
Started GET "/posts/new" for 127.0.0.1 at 2014-12-18 11:15:14 -0800 Processing by PostsController#new as HTML Rendered posts/_form.html.erb (2.5ms) Rendered posts/new.html.erb within layouts/application (3.6ms) Completed 200 OK in 37ms (Views: 36.1ms | ActiveRecord: 0.0ms)
Started POST "/posts" for 127.0.0.1 at 2014-12-18 11:15:22 -0800 Processing by PostsController#create as HTML Parameters: {"utf8"=>"✓", "authenticity_token"=>"sdU1eASFmHcNz/I+HRSnKOQfsvt/jMe/y65LHfABZRU=", "post"=>{"title"=>"Post 2", "body"=>"Stupid LDB"}, "commit"=>"Create Post"} [1m[36m (0.1ms)[0m [1mbegin transaction[0m [1m[35mSQL (0.2ms)[0m INSERT INTO "posts" ("body", "created_at", "title", "updated_at") VALUES (?, ?, ?, ?) [["body", "Stupid LDB"], ["created_at", "2014-12-18 19:15:22.628020"], ["title", "Post 2"], ["updated_at", "2014-12-18 19:15:22.628020"]] [1m[36m (0.7ms)[0m [1mcommit transaction[0m Redirected to http://localhost:3000/posts/2 Completed 302 Found in 4ms (ActiveRecord: 1.0ms)
Started GET "/posts/2" for 127.0.0.1 at 2014-12-18 11:15:22 -0800 Processing by PostsController#show as HTML Parameters: {"id"=>"2"} [1m[35mPost Load (0.1ms)[0m SELECT "posts".* FROM "posts" WHERE "posts"."id" = ? LIMIT 1 [["id", 2]] Rendered posts/show.html.erb within layouts/application (0.3ms) Completed 200 OK in 61ms (Views: 59.9ms | ActiveRecord: 0.1ms)
Started GET "/assets/scaffolds.css?body=1" for 127.0.0.1 at 2014-12-18 11:15:22 -0800
Started GET "/assets/jquery_ujs.js?body=1" for 127.0.0.1 at 2014-12-18 11:15:22 -0800
Started GET "/assets/turbolinks.js?body=1" for 127.0.0.1 at 2014-12-18 11:15:22 -0800
Started GET "/assets/application.css?body=1" for 127.0.0.1 at 2014-12-18 11:15:22 -0800
Started GET "/assets/jquery.js?body=1" for 127.0.0.1 at 2014-12-18 11:15:03 -0800
Started GET "/assets/application.css?body=1" for 127.0.0.1 at 2014-12-18 11:15:03 -0800
Started GET "/assets/posts.css?body=1" for 127.0.0.1 at 2014-12-18 11:15:03 -0800
Started GET "/assets/jquery_ujs.js?body=1" for 127.0.0.1 at 2014-12-18 11:15:03 -0800
Started GET "/assets/turbolinks.js?body=1" for 127.0.0.1 at 2014-12-18 11:15:03 -0800
Started GET "/assets/posts.js?body=1" for 127.0.0.1 at 2014-12-18 11:15:03 -0800
Started GET "/assets/application.js?body=1" for 127.0.0.1 at 2014-12-18 11:15:03 -0800
Started GET "/posts/new" for 127.0.0.1 at 2014-12-18 11:15:05 -0800 Processing by PostsController#new as HTML Rendered posts/_form.html.erb (12.2ms) Rendered posts/new.html.erb within layouts/application (14.7ms) Completed 200 OK in 41ms (Views: 39.7ms | ActiveRecord: 0.2ms)
Started POST "/posts" for 127.0.0.1 at 2014-12-18 11:15:11 -0800 Processing by PostsController#create as HTML Parameters: {"utf8"=>"✓", "authenticity_token"=>"sdU1eASFmHcNz/I+HRSnKOQfsvt/jMe/y65LHfABZRU=", "post"=>{"title"=>"Post 1", "body"=>"Blah blah blah"}, "commit"=>"Create Post"} [1m[35m (0.1ms)[0m begin transaction [1m[36mSQL (0.3ms)[0m [1mINSERT INTO "posts" ("body", "created_at", "title", "updated_at") VALUES (?, ?, ?, ?)[0m [["body", "Blah blah blah"], ["created_at", "2014-12-18 19:15:11.521855"], ["title", "Post 1"], ["updated_at", "2014-12-18 19:15:11.521855"]] [1m[35m (0.7ms)[0m commit transaction Redirected to http://localhost:3000/posts/1 Completed 302 Found in 7ms (ActiveRecord: 1.2ms)
Started GET "/posts/1" for 127.0.0.1 at 2014-12-18 11:15:11 -0800 Processing by PostsController#show as HTML Parameters: {"id"=>"1"} [1m[36mPost Load (0.2ms)[0m [1mSELECT "posts".* FROM "posts" WHERE "posts"."id" = ? LIMIT 1[0m [["id", 1]] Rendered posts/show.html.erb within layouts/application (0.9ms) Completed 200 OK in 65ms (Views: 63.1ms | ActiveRecord: 0.2ms)
Started GET "/assets/jquery_ujs.js?body=1" for 127.0.0.1 at 2014-12-18 11:15:11 -0800
![Page 16: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/16.jpg)
@thagomizer_rb
Mechanize
![Page 17: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/17.jpg)
@thagomizer_rb
Computers
![Page 18: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/18.jpg)
@thagomizer_rb
LOAD TESTING
![Page 19: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/19.jpg)
@thagomizer_rb
Code
![Page 20: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/20.jpg)
@thagomizer_rb
Not Good
![Page 21: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/21.jpg)
@thagomizer_rb
# HIDEOUS REG EX
![Page 22: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/22.jpg)
@thagomizer_rb
# HIDEOUS REG EX # # /Parameters:\s\{\"action\"=>\"(\w*)\",\s\"controller\"=>\"(\w*)\",\s(\"properties\"=>\".*)/ puts "require 'rubygems'" puts "require 'mechanize'" puts puts "server = 'http://' + ARGV[0]"
puts "agent = WWW::Mechanize.new" puts "login_pg = agent.get(server)"
File.open(ARGV[0]) do |log| log.each do |line| if line =~ /Parameters:\s\{\"action\"=>\"(\w*)\",\s\"controller\"=>\"(\w*)\",\s(\"properties\"=>\".*)/ if $2 == 'state_manager'
puts "page = agent.post(state_manager_url, #$3 )" elsif $1 == 'nextLesson' puts "page = agent.post(next_lesson_url, #$3 )" end end end end
![Page 23: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/23.jpg)
@thagomizer_rb
# HIDEOUS REG EX # # /Parameters:\s\{\"action\"=>\"(\w*)\",\s\"controller\"=>\"(\w*)\",\s(\"properties\"=>\".*)/ puts "require 'rubygems'" puts "require 'mechanize'" puts puts "server = 'http://' + ARGV[0]"
puts "agent = WWW::Mechanize.new" puts "login_pg = agent.get(server)"
File.open(ARGV[0]) do |log| log.each do |line| if line =~ /Parameters:\s\{\"action\"=>\"(\w*)\",\s\"controller\"=>\"(\w*)\",\s(\"properties\"=>\".*)/ if $2 == 'state_manager'
puts "page = agent.post(state_manager_url, #$3 )" elsif $1 == 'nextLesson' puts "page = agent.post(next_lesson_url, #$3 )" end end end end
![Page 24: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/24.jpg)
@thagomizer_rb
# HIDEOUS REG EX # # /Parameters:\s\{\"action\"=>\"(\w*)\",\s\"controller\"=>\"(\w*)\",\s(\"properties\"=>\".*)/ puts "require 'rubygems'" puts "require 'mechanize'" puts puts "server = 'http://' + ARGV[0]"
puts "agent = WWW::Mechanize.new" puts "login_pg = agent.get(server)"
File.open(ARGV[0]) do |log| log.each do |line| if line =~ /Parameters:\s\{\"action\"=>\"(\w*)\",\s\"controller\"=>\"(\w*)\",\s(\"properties\"=>\".*)/ if $2 == 'state_manager'
puts "page = agent.post(state_manager_url, #$3 )" elsif $1 == 'nextLesson' puts "page = agent.post(next_lesson_url, #$3 )" end end end end
![Page 25: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/25.jpg)
@thagomizer_rb
# HIDEOUS REG EX # # /Parameters:\s\{\"action\"=>\"(\w*)\",\s\"controller\"=>\"(\w*)\",\s(\"properties\"=>\".*)/ puts "require 'rubygems'" puts "require 'mechanize'" puts puts "server = 'http://' + ARGV[0]"
puts "agent = WWW::Mechanize.new" puts "login_pg = agent.get(server)"
File.open(ARGV[0]) do |log| log.each do |line| if line =~ /Parameters:\s\{\"action\"=>\"(\w*)\",\s\"controller\"=>\"(\w*)\",\s(\"properties\"=>\".*)/ if $2 == 'state_manager'
puts "page = agent.post(state_manager_url, #$3 )" elsif $1 == 'nextLesson' puts "page = agent.post(next_lesson_url, #$3 )" end end end end
![Page 26: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/26.jpg)
@thagomizer_rb
Flexible
![Page 27: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/27.jpg)
@thagomizer_rb
Load
![Page 28: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/28.jpg)
@thagomizer_rb
Parallelism
![Page 29: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/29.jpg)
@thagomizer_rb
loop do end
![Page 30: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/30.jpg)
@thagomizer_rb
bash
![Page 31: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/31.jpg)
@thagomizer_rb
Toasty Cheese Sandwichhttps://www.flickr.com/photos/chefdruck/4541489084
![Page 32: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/32.jpg)
@thagomizer_rb
Cloud
![Page 33: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/33.jpg)
@thagomizer_rb
Toasty Cheese Sandwichhttps://www.flickr.com/photos/chefdruck/4541489084
![Page 34: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/34.jpg)
@thagomizer_rb
DeploymentHackery
![Page 35: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/35.jpg)
@thagomizer_rb
VMs
![Page 36: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/36.jpg)
@thagomizer_rb
ssh
![Page 37: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/37.jpg)
@thagomizer_rb
Feature!
![Page 38: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/38.jpg)
@thagomizer_rb
Stupid?
![Page 39: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/39.jpg)
@thagomizer_rb
Tweets & Emoji
![Page 40: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/40.jpg)
@thagomizer_rb
sen·ti·ment a·nal·y·sis (noun)the process of computationally identifying and categorizing opinions expressed in a piece of text, especially in order to determine whether the writer's attitude towards a particular topic, product, etc., is positive, negative, or neutral.
![Page 41: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/41.jpg)
@thagomizer_rb
Hard
![Page 42: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/42.jpg)
@thagomizer_rb
"Sure, I'd love to"
![Page 43: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/43.jpg)
@thagomizer_rb
💩❤#👿😀
![Page 44: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/44.jpg)
@thagomizer_rb
Positive Negative
❤ 💩
# 👿
😀
![Page 45: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/45.jpg)
@thagomizer_rb
30-30
# 😀❤💩👿
0-15 15
![Page 46: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/46.jpg)
@thagomizer_rb
Tweets
![Page 47: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/47.jpg)
@thagomizer_rb
Code
![Page 48: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/48.jpg)
@thagomizer_rb
tweetstream
![Page 49: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/49.jpg)
@thagomizer_rb
SENTIMENTS = { ":-)" => 10, "😀" => 30, "❤" => 25, "(:" => 5, "👿" => -30, ":-D" => 15, "#" => 7, "💩" => -15}
![Page 50: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/50.jpg)
@thagomizer_rb
def analyze tweet SENTIMENTS.each do |s, val| if tweet.include? s then sentiment += val end end end
![Page 51: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/51.jpg)
@thagomizer_rb
Many Computers!
![Page 52: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/52.jpg)
@thagomizer_rb
rinda
![Page 53: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/53.jpg)
@thagomizer_rb
linda
![Page 54: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/54.jpg)
@thagomizer_rb
![Page 55: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/55.jpg)
@thagomizer_rb
Server
![Page 56: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/56.jpg)
@thagomizer_rb
require 'rinda/tuplespace'
URI = ARGV[0] || "druby://0.0.0.0:61676" DRb.start_service(URI, Rinda::TupleSpace.new) DRb.thread.join
![Page 57: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/57.jpg)
@thagomizer_rb
3 Worker Types
![Page 58: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/58.jpg)
@thagomizer_rb
Server (Tuple Space)
Fetcher Analyzer Reducer
![Page 59: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/59.jpg)
@thagomizer_rb
Server (Tuple Space)
Fetcher Analyzer Reducer
[:tweet, "My :-)"]
![Page 60: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/60.jpg)
@thagomizer_rb
Server (Tuple Space)
Fetcher Analyzer Reducer
[:tweet, "My :-)"]
![Page 61: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/61.jpg)
@thagomizer_rb
Server (Tuple Space)
Fetcher Analyzer Reducer
[:tweet, "My :-)"]
![Page 62: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/62.jpg)
@thagomizer_rb
Server (Tuple Space)
Fetcher Analyzer Reducer
[:sentiment, 10]
![Page 63: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/63.jpg)
@thagomizer_rb
Server (Tuple Space)
Fetcher Analyzer Reducer
[:sentiment, 10]
![Page 64: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/64.jpg)
@thagomizer_rb
Server (Tuple Space)
Fetcher Analyzer Reducer[:sentiment, 10]
![Page 65: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/65.jpg)
@thagomizer_rb
Server (Tuple Space)
Fetcher Analyzer Reducer
total_sentiment = 10
![Page 66: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/66.jpg)
@thagomizer_rb
Fetcher
![Page 67: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/67.jpg)
@thagomizer_rb
[:tweet, "My tweets :-)"]
![Page 68: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/68.jpg)
@thagomizer_rb
require 'rinda/rinda'
DRb.start_service("druby://#{my_ip}:3000") ts = Rinda::TupleSpaceProxy.new(DRbObject.new(nil, uri))
tf = TweetFetcher.new tf.fetch("emoji") { |text| ts.write([:tweet, text]) }
![Page 69: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/69.jpg)
@thagomizer_rb
Analyzer(mapper)
![Page 70: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/70.jpg)
@thagomizer_rb
require "rinda/rinda" require "sentiments"
DRb.start_service("druby://#{my_ip}:3000") ts = Rinda::TupleSpaceProxy.new(DRbObject.new(nil, URI))
loop do _, tweet = ts.take([:tweet, String]) sentiment = 0 SENTIMENTS.each do |s, val| if tweet.include? s then sentiment += val end end ts.write([:sentiment, sentiment]) end
![Page 71: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/71.jpg)
@thagomizer_rb
[:sentiment, 5]
![Page 72: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/72.jpg)
@thagomizer_rb
Reducer
![Page 73: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/73.jpg)
@thagomizer_rb
require 'rinda/rinda'
DRb.start_service("druby://#{my_ip}:3000") ts = Rinda::TupleSpaceProxy.new(DRbObject.new(nil, URI))
total_sentiment = 0
loop do _, sentiment = ts.take([:sentiment, Numeric]) total_sentiment += sentiment STDERR.puts "Final Sentiment: #{total_sentiment}" end
![Page 74: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/74.jpg)
@thagomizer_rb
Making It Go
![Page 75: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/75.jpg)
@thagomizer_rb
Containers
![Page 76: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/76.jpg)
@thagomizer_rb
8 Containers
![Page 77: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/77.jpg)
@thagomizer_rb
5 Vms
![Page 78: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/78.jpg)
@thagomizer_rb
![Page 79: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/79.jpg)
@thagomizer_rb
Kubernetes
![Page 80: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/80.jpg)
@thagomizer_rb
![Page 81: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/81.jpg)
@thagomizer_rb
Demo
![Page 82: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/82.jpg)
@thagomizer_rb
#RubyConfEmoji
![Page 83: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/83.jpg)
@thagomizer_rb
Latin Squares
![Page 84: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/84.jpg)
@thagomizer_rb
Latin SquareIn combinatorics and in experimental design, a Latin square is an n × n array filled with n different symbols, each occurring exactly once in each row and exactly once in each column.
![Page 85: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/85.jpg)
@thagomizer_rb
A B C D
D A B C
B C D A
C D A B
![Page 86: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/86.jpg)
@thagomizer_rb https://en.wikipedia.org/wiki/File:Fisher-stainedglass-gonville-caius.jpg
![Page 87: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/87.jpg)
@thagomizer_rb
Euler
![Page 88: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/88.jpg)
@thagomizer_rb
Simple
![Page 89: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/89.jpg)
@thagomizer_rb
4 x 4
![Page 90: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/90.jpg)
@thagomizer_rb
576
![Page 91: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/91.jpg)
@thagomizer_rb
6 x 6
![Page 92: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/92.jpg)
@thagomizer_rb
812,851,200
![Page 93: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/93.jpg)
@thagomizer_rb
9 x 9
![Page 94: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/94.jpg)
@thagomizer_rb https://en.wikipedia.org/wiki/Sudoku#/media/File:Sudoku-by-L2G-20050714.svg
![Page 95: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/95.jpg)
@thagomizer_rb
5,524,751,496,156,892,842,531,225,600
![Page 96: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/96.jpg)
@thagomizer_rb
~ 5 x 1027
![Page 97: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/97.jpg)
@thagomizer_rb
Code
![Page 98: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/98.jpg)
@thagomizer_rb
Sieve
![Page 99: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/99.jpg)
@thagomizer_rb
Array#permute
![Page 100: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/100.jpg)
@thagomizer_rb
SIZE = ARGV[0].to_i || 6
permutes = (1..SIZE).to_a.permutation.map { |n| n } permutes.permutation(SIZE).each do |grid| pp grid end
![Page 101: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/101.jpg)
@thagomizer_rb
SIZE = ARGV[0].to_i || 6
permutes = (1..SIZE).to_a.permutation.map { |n| n } permutes.permutation(SIZE).each do |grid| pp grid end
![Page 102: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/102.jpg)
@thagomizer_rb
SIZE = ARGV[0].to_i || 6
permutes = (1..SIZE).to_a.permutation.map { |n| n } permutes.permutation(SIZE).each do |grid| pp grid end
![Page 103: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/103.jpg)
@thagomizer_rb
SIZE = ARGV[0].to_i || 6
permutes = (1..SIZE).to_a.permutation.map { |n| n } permutes.permutation(SIZE).each do |grid| pp grid end
![Page 104: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/104.jpg)
@thagomizer_rb
[[1, 2, 3, 4, 5], [1, 2, 3, 5, 4], [1, 5, 4, 2, 3], [5, 3, 4, 2, 1], [3, 2, 1, 5, 4]]
![Page 105: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/105.jpg)
@thagomizer_rb
[[1, 2, 3, 4, 5], [1, 2, 3, 5, 4], [1, 5, 4, 2, 3], [5, 3, 4, 2, 1], [3, 2, 1, 5, 4]]
![Page 106: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/106.jpg)
@thagomizer_rb
(n!)! / (n! - n)!
![Page 107: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/107.jpg)
@thagomizer_rb
O(n!!)
![Page 108: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/108.jpg)
@thagomizer_rb
~ 1 x 1050
![Page 109: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/109.jpg)
@thagomizer_rb
size = solution[0].length example = (1..size).to_a
correct = solution.all? { |row| row.sort == example } && solution.transpose.all? { |col| col.sort == example }
if correct then pp solution end
![Page 110: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/110.jpg)
@thagomizer_rb
size = solution[0].length example = (1..size).to_a
correct = solution.all? { |row| row.sort == example } && solution.transpose.all? { |col| col.sort == example }
if correct then pp solution end
![Page 111: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/111.jpg)
@thagomizer_rb
size = solution[0].length example = (1..size).to_a
correct = solution.all? { |row| row.sort == example } && solution.transpose.all? { |col| col.sort == example }
if correct then pp solution end
![Page 112: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/112.jpg)
@thagomizer_rb
size = solution[0].length example = (1..size).to_a
correct = solution.all? { |row| row.sort == example } && solution.transpose.all? { |col| col.sort == example }
if correct then pp solution end
![Page 113: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/113.jpg)
@thagomizer_rb
1050
![Page 114: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/114.jpg)
@thagomizer_rb
SCALE!!!!
![Page 115: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/115.jpg)
@thagomizer_rb
rinda
![Page 116: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/116.jpg)
@thagomizer_rb
[:possibility, [[3, 4, 2, 1], [2, 3, 1, 4], [1, 2, 4, 3], [4, 1, 3, 2] ]
![Page 117: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/117.jpg)
@thagomizer_rb
[:solution, [[3, 4, 2, 1], [2, 3, 1, 4], [1, 2, 4, 3], [4, 1, 3, 2] ]
![Page 118: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/118.jpg)
@thagomizer_rb
Server
![Page 119: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/119.jpg)
@thagomizer_rb
require 'rinda/tuplespace'
URI = ARGV[0] || "druby://0.0.0.0:61676" DRb.start_service(URI, Rinda::TupleSpace.new) DRb.thread.join
![Page 120: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/120.jpg)
@thagomizer_rb
Generator
![Page 121: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/121.jpg)
@thagomizer_rb
#!/usr/bin/env ruby
require 'rinda/rinda'
SIZE = ARGV[0].to_i || 6 URI = ARGV[1] || "druby://0.0.0.0:61676" DRb.start_service ts = Rinda::TupleSpaceProxy.new(DRbObject.new(nil, URI))
permutes = (1..SIZE).to_a.permutation.map { |n| n } permutes.permutation(SIZE).each do |n| ts.write([:possiblity, n]) end
![Page 122: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/122.jpg)
@thagomizer_rb
Checker
![Page 123: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/123.jpg)
@thagomizer_rb
require 'rinda/rinda' require 'pp'
URI = ARGV[0] || "druby://0.0.0.0:61676" DRb.start_service ts = Rinda::TupleSpaceProxy.new(DRbObject.new(nil, URI))
loop do _, solution = ts.take([:possiblity, Array])
size = solution[0].length example = (1..size).to_a
correct = solution.all? { |row| row.sort == example } && solution.transpose.all? { |col| col.sort == example }
if correct then ts.write([:solution, solution]) pp solution break end end
![Page 124: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/124.jpg)
@thagomizer_rb
Deployment
![Page 125: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/125.jpg)
@thagomizer_rb
Same As Before
![Page 126: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/126.jpg)
@thagomizer_rb
![Page 127: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/127.jpg)
@thagomizer_rb
![Page 128: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/128.jpg)
@thagomizer_rb
![Page 129: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/129.jpg)
@thagomizer_rb
💩❤#👿😀
![Page 130: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/130.jpg)
@thagomizer_rb
Profound Thoughts
![Page 131: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/131.jpg)
@thagomizer_rb
Useful
![Page 132: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/132.jpg)
@thagomizer_rb
Useful
![Page 133: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/133.jpg)
@thagomizer_rb
Well Engineered
![Page 134: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/134.jpg)
@thagomizer_rb
Well Engineered
![Page 135: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/135.jpg)
@thagomizer_rb
Correct Tool
![Page 136: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/136.jpg)
@thagomizer_rb
Correct Tool
![Page 137: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/137.jpg)
@thagomizer_rb
Fun
![Page 138: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/138.jpg)
@thagomizer_rb
Yes
![Page 139: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/139.jpg)
@thagomizer_rb
Fast
![Page 140: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/140.jpg)
@thagomizer_rb
Power
![Page 141: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/141.jpg)
@thagomizer_rb
Computer?
![Page 142: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/142.jpg)
@thagomizer_rb
Limits
![Page 143: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/143.jpg)
@thagomizer_rb
Distributed Systems Are
Fun & Easy
![Page 144: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/144.jpg)
@thagomizer_rb
Fun
![Page 145: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/145.jpg)
@thagomizer_rb
Thank You
![Page 146: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/146.jpg)
@thagomizer_rb
Ryan DavisScott Windsor
Eric HodelBrian Dorsey
![Page 147: Stupid Ideas for Many Computers · @thagomizer_rb Started GET "/" for 127.0.0.1 at 2014-12-18 11:10:33 -0800 [1m[36mActiveRecord::SchemaMigration Load (0.1ms) [0m [1mSELECT "schema_migrations".*](https://reader034.fdocuments.net/reader034/viewer/2022050407/5f845b9928c5492141218479/html5/thumbnails/147.jpg)
@thagomizer_rb