{"id":784,"date":"2025-12-22T10:07:13","date_gmt":"2025-12-22T10:07:13","guid":{"rendered":"https:\/\/ruby-doc.org\/blog\/?p=784"},"modified":"2025-12-22T10:08:16","modified_gmt":"2025-12-22T10:08:16","slug":"ruby-devs-stop-uploading-300-mb-demo-videos","status":"publish","type":"post","link":"https:\/\/ruby-doc.org\/blog\/ruby-devs-stop-uploading-300-mb-demo-videos\/","title":{"rendered":"Ruby Devs &#8211; Stop Uploading 300 MB Demo Videos"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"682\" src=\"https:\/\/ruby-doc.org\/blog\/wp-content\/uploads\/2025\/12\/ruby-devs-video-upload-1024x682.jpg\" alt=\"\" class=\"wp-image-786\" srcset=\"https:\/\/ruby-doc.org\/blog\/wp-content\/uploads\/2025\/12\/ruby-devs-video-upload-1024x682.jpg 1024w, https:\/\/ruby-doc.org\/blog\/wp-content\/uploads\/2025\/12\/ruby-devs-video-upload-300x200.jpg 300w, https:\/\/ruby-doc.org\/blog\/wp-content\/uploads\/2025\/12\/ruby-devs-video-upload-768x512.jpg 768w, https:\/\/ruby-doc.org\/blog\/wp-content\/uploads\/2025\/12\/ruby-devs-video-upload.jpg 1075w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Ok, hear me out. This is a small problem in the grand scheme of things, but it drives me crazy.<\/p>\n\n\n\n<p>Someone posts a Ruby demo. Could be a bug repro, a gem walkthrough, or even just a simple Rails feature explanation. It is a two minute screen recording. Then you click it and the file is as big as Santa&#8217;s belly &#8211; you will notice I am keeping this seasonal.<\/p>\n\n\n\n<p>Nobody asked for a feature film. We just wanted to see the thing work.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">How this happens every time<\/h2>\n\n\n\n<p>Most screen recorders normally record everything at their max available resolution. Big monitor. High frame rate. Maximum quality. It looks great &#8211; until you try to upload this massive bloated file.<\/p>\n\n\n\n<p>Terminal text does not need 4K. A Rails console definitely does not need cinematic fps. But here we are.<\/p>\n\n\n\n<p>Once that video exists, people avoid it. GitHub loads slowly. Docs feel heavy. Someone on a train gives up after three seconds.<\/p>\n\n\n\n<p>The video technically exists, but functionally it might as well not.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Here is what actually matters for dev videos<\/h2>\n\n\n\n<p>You can ignore most video advice on the internet.<\/p>\n\n\n\n<p>Three things matter.<\/p>\n\n\n\n<p>Resolution. If the code is readable, you are done. Anything above that is ego.<\/p>\n\n\n\n<p>Bitrate. This is where file size explodes. You can cut it down without any noticable difference in quality.<\/p>\n\n\n\n<p>Frame rate. Unless something is moving fast, thirty is already generous.<\/p>\n\n\n\n<p>Here is a more indepth technical explanation- Wikipedia covers video compression without trying to sell you anything. Not like I ever do this of course&#8230;<br><a href=\"https:\/\/en.wikipedia.org\/wiki\/Video_compression\">https:\/\/en.wikipedia.org\/wiki\/Video_compression<\/a><\/p>\n\n\n\n<p>But honestly, you do not need to care how it works. The compression will do the heavy lifting.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Formats that do not cause problems<\/h2>\n\n\n\n<p>Use MP4.<\/p>\n\n\n\n<p>That is it. Do not be clever. Do not experiment. MP4 works. Browsers. Docs. Internal tools. Everything.<\/p>\n\n\n\n<p>WebM is fine until it is not. MOV is for editing, not sharing.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">My unscientific workflow<\/h2>\n\n\n\n<p>This is what I do, every time.<\/p>\n\n\n\n<p>I cut the beginning and the end hard. Nobody needs to watch me open a browser.<\/p>\n\n\n\n<p>I drop the resolution if it recorded my whole screen.<\/p>\n\n\n\n<p>I lower bitrate until it looks like it was recorded on a Nokia 3510 &#8211; yes, this was my first camera phone. Then gradually increase it so it looks better.<\/p>\n\n\n\n<p>I export once and move on with my life.<\/p>\n\n\n\n<p>That turns most demo videos into something people will actually click.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Why I do not bother scripting this in Ruby<\/h2>\n\n\n\n<p>Yes, you can automate video compression. Yes, you can wrap FFmpeg in Ruby. That is fine if video is your product.<\/p>\n\n\n\n<p>For random demos, it is friction. I do not want to debug flags or remember command line options. I just want the file smaller.<\/p>\n\n\n\n<p>That is why I usually use something browser based like the <a href=\"https:\/\/clideo.com\/compress-video\">video size reducer<\/a> clideo.com. Upload. Compress. Download. Done. No setup. No environment drama.<\/p>\n\n\n\n<p>If I am doing it from my phone, the iOS app does the same job<br><a href=\"https:\/\/apps.apple.com\/us\/app\/clideo-video-editor\/id1552262611\">https:\/\/apps.apple.com\/us\/app\/clideo-video-editor\/id1552262611<\/a><\/p>\n\n\n\n<p>This is not a tooling philosophy. It is laziness in the best sense.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Why this is worth fixing<\/h2>\n\n\n\n<p>Smaller videos get watched.<\/p>\n\n\n\n<p>That is the whole argument.<\/p>\n\n\n\n<p>People actually click them. Docs load faster. Bug reports make sense. Demos do their job.<\/p>\n\n\n\n<p>If your Ruby project cares about performance, this is part of it. Heavy videos are just slow pages in disguise.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Final rant<\/h2>\n\n\n\n<p>If your demo video is larger than the app it is showing, something went wrong.<\/p>\n\n\n\n<p>Compression is not about polish. It is about not wasting everyone\u2019s time. If someone bothered to record a video, the least we can do is make it easy to watch.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ok, hear me out. This is a small problem in the grand scheme of things, but it drives me crazy. Someone posts a Ruby demo. Could be a bug repro, a gem walkthrough, or even just a simple Rails feature explanation. It is a two minute screen recording. Then you click it and the file [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":786,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-784","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ruby-tips"],"blocksy_meta":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Ruby Devs - Stop Uploading 300 MB Demo Videos - Ruby-Doc.org<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ruby-doc.org\/blog\/ruby-devs-stop-uploading-300-mb-demo-videos\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ruby Devs - Stop Uploading 300 MB Demo Videos - Ruby-Doc.org\" \/>\n<meta property=\"og:description\" content=\"Ok, hear me out. This is a small problem in the grand scheme of things, but it drives me crazy. Someone posts a Ruby demo. Could be a bug repro, a gem walkthrough, or even just a simple Rails feature explanation. It is a two minute screen recording. Then you click it and the file [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ruby-doc.org\/blog\/ruby-devs-stop-uploading-300-mb-demo-videos\/\" \/>\n<meta property=\"og:site_name\" content=\"Ruby-Doc.org\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-22T10:07:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-22T10:08:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ruby-doc.org\/blog\/wp-content\/uploads\/2025\/12\/ruby-devs-video-upload.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1075\" \/>\n\t<meta property=\"og:image:height\" content=\"716\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/ruby-devs-stop-uploading-300-mb-demo-videos\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/ruby-devs-stop-uploading-300-mb-demo-videos\\\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/#\\\/schema\\\/person\\\/ab09f3c83839f6ae0fce6a106971fe05\"},\"headline\":\"Ruby Devs &#8211; Stop Uploading 300 MB Demo Videos\",\"datePublished\":\"2025-12-22T10:07:13+00:00\",\"dateModified\":\"2025-12-22T10:08:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/ruby-devs-stop-uploading-300-mb-demo-videos\\\/\"},\"wordCount\":629,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/ruby-devs-stop-uploading-300-mb-demo-videos\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/ruby-devs-video-upload.jpg\",\"articleSection\":[\"Ruby tips\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/ruby-devs-stop-uploading-300-mb-demo-videos\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/ruby-devs-stop-uploading-300-mb-demo-videos\\\/\",\"url\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/ruby-devs-stop-uploading-300-mb-demo-videos\\\/\",\"name\":\"Ruby Devs - Stop Uploading 300 MB Demo Videos - Ruby-Doc.org\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/ruby-devs-stop-uploading-300-mb-demo-videos\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/ruby-devs-stop-uploading-300-mb-demo-videos\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/ruby-devs-video-upload.jpg\",\"datePublished\":\"2025-12-22T10:07:13+00:00\",\"dateModified\":\"2025-12-22T10:08:16+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/ruby-devs-stop-uploading-300-mb-demo-videos\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/ruby-devs-stop-uploading-300-mb-demo-videos\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/ruby-devs-stop-uploading-300-mb-demo-videos\\\/#primaryimage\",\"url\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/ruby-devs-video-upload.jpg\",\"contentUrl\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/ruby-devs-video-upload.jpg\",\"width\":1075,\"height\":716},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/ruby-devs-stop-uploading-300-mb-demo-videos\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ruby Devs &#8211; Stop Uploading 300 MB Demo Videos\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/\",\"name\":\"Ruby-Doc.org\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/#organization\",\"name\":\"Ruby-Doc.org\",\"url\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/Ruby-Doc.org_logo_cropped.png\",\"contentUrl\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/Ruby-Doc.org_logo_cropped.png\",\"width\":909,\"height\":833,\"caption\":\"Ruby-Doc.org\"},\"image\":{\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/#\\\/schema\\\/person\\\/ab09f3c83839f6ae0fce6a106971fe05\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/26848ea831ed514872b3e082aca26a3683d863f5329285817afb04b9ee36764b?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/26848ea831ed514872b3e082aca26a3683d863f5329285817afb04b9ee36764b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/26848ea831ed514872b3e082aca26a3683d863f5329285817afb04b9ee36764b?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\\\/\\\/ruby-doc.org\\\/blog\"],\"url\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Ruby Devs - Stop Uploading 300 MB Demo Videos - Ruby-Doc.org","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/ruby-doc.org\/blog\/ruby-devs-stop-uploading-300-mb-demo-videos\/","og_locale":"en_US","og_type":"article","og_title":"Ruby Devs - Stop Uploading 300 MB Demo Videos - Ruby-Doc.org","og_description":"Ok, hear me out. This is a small problem in the grand scheme of things, but it drives me crazy. Someone posts a Ruby demo. Could be a bug repro, a gem walkthrough, or even just a simple Rails feature explanation. It is a two minute screen recording. Then you click it and the file [&hellip;]","og_url":"https:\/\/ruby-doc.org\/blog\/ruby-devs-stop-uploading-300-mb-demo-videos\/","og_site_name":"Ruby-Doc.org","article_published_time":"2025-12-22T10:07:13+00:00","article_modified_time":"2025-12-22T10:08:16+00:00","og_image":[{"width":1075,"height":716,"url":"https:\/\/ruby-doc.org\/blog\/wp-content\/uploads\/2025\/12\/ruby-devs-video-upload.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/ruby-doc.org\/blog\/ruby-devs-stop-uploading-300-mb-demo-videos\/#article","isPartOf":{"@id":"https:\/\/ruby-doc.org\/blog\/ruby-devs-stop-uploading-300-mb-demo-videos\/"},"author":{"name":"admin","@id":"https:\/\/ruby-doc.org\/blog\/#\/schema\/person\/ab09f3c83839f6ae0fce6a106971fe05"},"headline":"Ruby Devs &#8211; Stop Uploading 300 MB Demo Videos","datePublished":"2025-12-22T10:07:13+00:00","dateModified":"2025-12-22T10:08:16+00:00","mainEntityOfPage":{"@id":"https:\/\/ruby-doc.org\/blog\/ruby-devs-stop-uploading-300-mb-demo-videos\/"},"wordCount":629,"commentCount":0,"publisher":{"@id":"https:\/\/ruby-doc.org\/blog\/#organization"},"image":{"@id":"https:\/\/ruby-doc.org\/blog\/ruby-devs-stop-uploading-300-mb-demo-videos\/#primaryimage"},"thumbnailUrl":"https:\/\/ruby-doc.org\/blog\/wp-content\/uploads\/2025\/12\/ruby-devs-video-upload.jpg","articleSection":["Ruby tips"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/ruby-doc.org\/blog\/ruby-devs-stop-uploading-300-mb-demo-videos\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/ruby-doc.org\/blog\/ruby-devs-stop-uploading-300-mb-demo-videos\/","url":"https:\/\/ruby-doc.org\/blog\/ruby-devs-stop-uploading-300-mb-demo-videos\/","name":"Ruby Devs - Stop Uploading 300 MB Demo Videos - Ruby-Doc.org","isPartOf":{"@id":"https:\/\/ruby-doc.org\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/ruby-doc.org\/blog\/ruby-devs-stop-uploading-300-mb-demo-videos\/#primaryimage"},"image":{"@id":"https:\/\/ruby-doc.org\/blog\/ruby-devs-stop-uploading-300-mb-demo-videos\/#primaryimage"},"thumbnailUrl":"https:\/\/ruby-doc.org\/blog\/wp-content\/uploads\/2025\/12\/ruby-devs-video-upload.jpg","datePublished":"2025-12-22T10:07:13+00:00","dateModified":"2025-12-22T10:08:16+00:00","breadcrumb":{"@id":"https:\/\/ruby-doc.org\/blog\/ruby-devs-stop-uploading-300-mb-demo-videos\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ruby-doc.org\/blog\/ruby-devs-stop-uploading-300-mb-demo-videos\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ruby-doc.org\/blog\/ruby-devs-stop-uploading-300-mb-demo-videos\/#primaryimage","url":"https:\/\/ruby-doc.org\/blog\/wp-content\/uploads\/2025\/12\/ruby-devs-video-upload.jpg","contentUrl":"https:\/\/ruby-doc.org\/blog\/wp-content\/uploads\/2025\/12\/ruby-devs-video-upload.jpg","width":1075,"height":716},{"@type":"BreadcrumbList","@id":"https:\/\/ruby-doc.org\/blog\/ruby-devs-stop-uploading-300-mb-demo-videos\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ruby-doc.org\/blog\/"},{"@type":"ListItem","position":2,"name":"Ruby Devs &#8211; Stop Uploading 300 MB Demo Videos"}]},{"@type":"WebSite","@id":"https:\/\/ruby-doc.org\/blog\/#website","url":"https:\/\/ruby-doc.org\/blog\/","name":"Ruby-Doc.org","description":"","publisher":{"@id":"https:\/\/ruby-doc.org\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ruby-doc.org\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/ruby-doc.org\/blog\/#organization","name":"Ruby-Doc.org","url":"https:\/\/ruby-doc.org\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ruby-doc.org\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/ruby-doc.org\/blog\/wp-content\/uploads\/2025\/07\/Ruby-Doc.org_logo_cropped.png","contentUrl":"https:\/\/ruby-doc.org\/blog\/wp-content\/uploads\/2025\/07\/Ruby-Doc.org_logo_cropped.png","width":909,"height":833,"caption":"Ruby-Doc.org"},"image":{"@id":"https:\/\/ruby-doc.org\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/ruby-doc.org\/blog\/#\/schema\/person\/ab09f3c83839f6ae0fce6a106971fe05","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/26848ea831ed514872b3e082aca26a3683d863f5329285817afb04b9ee36764b?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/26848ea831ed514872b3e082aca26a3683d863f5329285817afb04b9ee36764b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/26848ea831ed514872b3e082aca26a3683d863f5329285817afb04b9ee36764b?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/ruby-doc.org\/blog"],"url":"https:\/\/ruby-doc.org\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/ruby-doc.org\/blog\/wp-json\/wp\/v2\/posts\/784","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ruby-doc.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ruby-doc.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ruby-doc.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ruby-doc.org\/blog\/wp-json\/wp\/v2\/comments?post=784"}],"version-history":[{"count":3,"href":"https:\/\/ruby-doc.org\/blog\/wp-json\/wp\/v2\/posts\/784\/revisions"}],"predecessor-version":[{"id":788,"href":"https:\/\/ruby-doc.org\/blog\/wp-json\/wp\/v2\/posts\/784\/revisions\/788"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ruby-doc.org\/blog\/wp-json\/wp\/v2\/media\/786"}],"wp:attachment":[{"href":"https:\/\/ruby-doc.org\/blog\/wp-json\/wp\/v2\/media?parent=784"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ruby-doc.org\/blog\/wp-json\/wp\/v2\/categories?post=784"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ruby-doc.org\/blog\/wp-json\/wp\/v2\/tags?post=784"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}