{"id":6568,"date":"2026-10-02T06:04:11","date_gmt":"2026-10-02T06:04:11","guid":{"rendered":"https:\/\/dev95.site\/hacking-displate-for-fun\/"},"modified":"2026-10-02T06:04:11","modified_gmt":"2026-10-02T06:04:11","slug":"hacking-displate-for-fun","status":"publish","type":"post","link":"https:\/\/dev95.site\/ar\/hacking-displate-for-fun\/","title":{"rendered":"Hacking Displate (For Fun!)"},"content":{"rendered":"<div id=\"dev95-2833885302\" class=\"dev95-- dev95-entity-placement\"><script async=\"async\" data-cfasync=\"false\" src=\"https:\/\/pl27862732.profitableratecpmnetwork.com\/2ad7a50e0bbc23ac6801d7b77c501463\/invoke.js\"><\/script>\r\n<div id=\"container-2ad7a50e0bbc23ac6801d7b77c501463\"><\/div><\/div><div id=\"dev95-2203977538\" class=\"dev95-before-content dev95-entity-placement\"><p style=\"text-align: center;\"><strong>Stop wasting time on dead links! \ud83d\uded1 This smart platform automatically detects your device and country to give you the exact best offer instantly. Check it out now 100% free! \ud83d\udc47<\/strong><br data-sfc-root=\"ep\" data-sfc-pl=\"|||[]\" data-complete=\"true\" data-copy-service-computed-style=\"font-family: Arial, sans-serif, &quot;Noto Color Emoji&quot;; font-size: 16px; font-weight: 400; margin: 0px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);\" \/><a href=\"https:\/\/www.profitableratecpmnetwork.com\/pvhx5mbcc?key=ff7d362db3c20bc86fad685cc94f1fc4\">\ud83d\udd17 <strong class=\"rQesXe MPyX\" data-sfc-cp=\"\" data-sfc-root=\"ep\" data-complete=\"true\" aria-owns=\"action-menu-parent-container\" data-copy-service-computed-style=\"font-family: Arial, sans-serif, &quot;Noto Color Emoji&quot;; font-size: 16px; font-weight: 700; margin: 0px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);\">[Click here]<\/strong><\/a><\/p>\n<\/div><div>\n<p>During the pandemic my weird vice\/obsession became <a href=\"https:\/\/displate.com\/?ref=blog.danlew.net\"><u>Displates<\/u><\/a> (metal wall art hung up by magnets):<\/p><div id=\"dev95-2827410837\" class=\"dev95- dev95-entity-placement\"><center>\r\n<script>\r\n  atOptions = {\r\n    'key' : '4ba6b6513c00e0ba76511f798ae56401',\r\n    'format' : 'iframe',\r\n    'height' : 50,\r\n    'width' : 320,\r\n    'params' : {}\r\n  };\r\n<\/script>\r\n<script src=\"https:\/\/www.highrevenueformat.com\/4ba6b6513c00e0ba76511f798ae56401\/invoke.js\"><\/script>\r\n\t<\/center><\/div>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/storage.ghost.io\/c\/4a\/b9\/4ab96a0e-cea9-4968-a6a6-e1fa56bf8891\/content\/images\/2025\/11\/R0000010.JPG?resize=1280%2C853&#038;ssl=1\" class=\"kg-image\" alt=\"Two rows of floating wall shelves; each has five Displates on it, with a variety of LEGOs &amp; other small statues\/toys\" loading=\"lazy\" width=\"1280\" height=\"853\" srcset=\"https:\/\/storage.ghost.io\/c\/4a\/b9\/4ab96a0e-cea9-4968-a6a6-e1fa56bf8891\/content\/images\/size\/w600\/2025\/11\/R0000010.JPG 600w, https:\/\/storage.ghost.io\/c\/4a\/b9\/4ab96a0e-cea9-4968-a6a6-e1fa56bf8891\/content\/images\/size\/w1000\/2025\/11\/R0000010.JPG 1000w, https:\/\/storage.ghost.io\/c\/4a\/b9\/4ab96a0e-cea9-4968-a6a6-e1fa56bf8891\/content\/images\/size\/w1600\/2025\/11\/R0000010.JPG 1600w, https:\/\/storage.ghost.io\/c\/4a\/b9\/4ab96a0e-cea9-4968-a6a6-e1fa56bf8891\/content\/images\/size\/w2400\/2025\/11\/R0000010.JPG 2400w\" sizes=\"auto, (min-width: 720px) 720px\"><figcaption><span style=\"white-space: pre-wrap;\">Some of my Displates (along with other tchotchkes in my office)<\/span><\/figcaption><\/figure>\n<p>For me, part of the hobby was poking holes in their website. I\u2019ve long stopped trying to give their devs heartburn, so I figured I\u2019d document some of my hacking highlights.<\/p>\n<h1 id=\"limited-edition-displates\">Limited Edition Displates<\/h1>\n<p>Some context is required: there are normal Displates that are just flat prints on metal (made on demand), and then there are <a href=\"https:\/\/displate.com\/limited-edition?ref=blog.danlew.net\"><u>limited edition Displates<\/u><\/a> that add textures &amp; other features (printed in a limited quantity). I\u2019ll call them \u201cLEs\u201d from here on out, and they tended to be the focus of the most obsessed.<\/p>\n<p>Anything that\u2019s limited creates a resale market. When I saw old LEs for selling 10x over MSRP, I started tracking market prices for fun. Through a combination of <a href=\"https:\/\/github.com\/dlew\/displate?ref=blog.danlew.net\"><u>scraping Displate<\/u><\/a> and eBay data, I\u2019ve <a href=\"https:\/\/docs.google.com\/spreadsheets\/d\/1VQklhZs6vdYVuYK_dliG8BGDXSijjtOfxXN5YIRfVq0\/edit?gid=0&amp;ref=blog.danlew.net#gid=0\"><u>kept track of price fluctuations<\/u><\/a> for a while.<\/p>\n<p>Tracking fair market value for infrequently sold items is a fascinating problem. What happens when the value of an LE suddenly shoots up in price? A simple average doesn\u2019t suffice, so I implemented <a href=\"https:\/\/github.com\/dlew\/displate?tab=readme-ov-file&amp;ref=blog.danlew.net#weighted-average\"><u>a weighted average<\/u><\/a> to account for timing. What if more than one LE is sold at once in a bundle? Again, <a href=\"https:\/\/github.com\/dlew\/displate?tab=readme-ov-file&amp;ref=blog.danlew.net#bundles\"><u>some specific calculations for that use case<\/u><\/a>. Some questions were philosophical: what happens when a low-information seller puts an LE on the market for way under what people normally pay &#8211; does it count? (My answer: yes, because I don\u2019t want to be the arbiter of \u201ctrue market value\u201d).<\/p>\n<p>Anyways, without further ado: the hacks!<\/p>\n<h1 id=\"%E2%80%9Cearly%E2%80%9D-early-access\">\u201cEarly\u201d Early Access<\/h1>\n<p>If you are <a href=\"https:\/\/displate.com\/join-displate-club?ref=blog.danlew.net\"><u>a Displate Club member<\/u><\/a>, you get an email each week giving you early access to the latest LE. At some point I wondered: <strong>is the early access link active before they send out the email?<\/strong><\/p>\n<p>Every LE has a unique ID, so I wrote a program to use their API, checking every single ID, to find the LE link early. What I discovered shocked me: LEs are always \u201cpreviewed\u201d a week early, and that\u2019s when the link is live!<\/p>\n<p>I first tested the waters by ordering an LE five minutes before it went live, curious if they\u2019d cancel my order or not. They didn\u2019t! And because I\u2019d ordered first, I got the (vaguely) coveted #1 edition of the Displate. Now I had a surefire way to get all the #1s I wanted!<\/p>\n<p>I soon discovered, though, that I was not the only one who had figured this out. At least one other person was also using the same trick to order #1s early (which I knew because I\u2019d written <a href=\"https:\/\/github.com\/dlew\/displate-inventory-extension?ref=blog.danlew.net\"><u>a browser extension to show inventory<\/u><\/a>). We would race against each other some weeks to find the link early; I never found out who I was racing against.<\/p>\n<p>It all came crashing down when a third person figured it out and shared it publicly. Displate updated their website to only allow sales when they intended. Ultimately, I only collected four #1s this way (I don\u2019t actually buy THAT many LEs).<\/p>\n<h1 id=\"exposing-custom-images\">Exposing Custom Images<\/h1>\n<p>While working with the API to find LE links early, I noticed something interesting &#8211; sometimes, an API call would fail for mysterious reasons, for specific IDs.<\/p>\n<p>I discovered that there were three kinds of IDs: normal, limited edition, and <a href=\"https:\/\/displate.com\/custom-displate?ref=blog.danlew.net\"><u>custom Displates<\/u><\/a>. With customs, you can print anything using your own uploaded images. By using my scraper, I could find the IDs of customs that users had uploaded.<\/p>\n<p>This led me to a thought: <strong>can I access the uploaded customs from other people?<\/strong><\/p>\n<p>There\u2019s no explicit API around getting custom data, but through experimentation I discovered that I could add other users\u2019 custom uploads to my own shopping cart. Then, I could examine my cart to get information about the custom, including the image used and the name of the uploader. Oops!<\/p>\n<p>I wrote a scraper that went through and downloaded hundreds of users\u2019 custom images. It was approximately \u2154rds horny anime stuff, \u2153 family photos, and nothing else. After getting my proof-of-concept up and running, I messaged Displate and told them about the privacy vulnerability. They fixed it soon thereafter.<\/p>\n<h1 id=\"the-vault-heist\">The Vault Heist<\/h1>\n<p>Part of the deal with LEs is that, after 30 days, they stop selling the LE (even if there\u2019s some stock left).<\/p>\n<p>In interviews, Displate said that they put old LEs in a vault, never to be released. But I knew that wasn\u2019t true: sometimes, people would ask for replacements for old, damaged LEs from Displate, and Displate would ship them out.<\/p>\n<p>How does fulfillment work for those old, out-of-sale LEs? Probably some worker in their warehouse gets an order to fulfill, packages it up, and ships it out. I theorized that the ordering of an LE is separate from the shipping request &#8211; thus, <strong>if I could somehow order an old LE, the warehouse might still send me one.<\/strong><\/p>\n<p>I quickly figured out that it was possible to add old LEs to your cart (their API didn\u2019t stop you). However, when you tried to start checking out, it wouldn\u2019t work &#8211; it would block you from going to the checkout page if you had old LEs in your cart.<\/p>\n<p>Eventually, I had a breakthrough: what if you <em>started<\/em> the checkout experience with a valid cart (e.g. a currently for-sale LE), then changed your cart before the <em>finalizing<\/em> payment? Nervously, I tried this out\u2026 and it worked!<\/p>\n<p>At this point, I made two key mistakes: first, I tried to buy an old LE that was truly out of stock (whoops). The other was that I was so excited, I told someone else. Apparently loose lips sink ships, and within a couple hours Displate was deluged with orders for old LEs and they put the kibosh on the whole thing.<\/p>\n<p>However! Before all those mistakes came back to bite me, I put in one other order for an old LE I\u2019d always wanted. It <em>was<\/em> actually still in stock, and sure enough, they shipped it to me! My greatest victory.<\/p>\n<h1 id=\"the-race-for-1\">The Race for #1<\/h1>\n<p>Once the early links were no longer a source for #1s, <strong>I pioneered a few other methods for ordering faster than anyone else<\/strong>.<\/p>\n<p>The first method was essentially to use my \u201cvault heist\u201d method to pre-rig the checkout page, then quickly swap the cart before checking out. This skipped a couple page loads, catapulting me to first.<\/p>\n<p>The second method was using vouchers. It was generally known that you want a <em>fast <\/em>payment method to get #1. The fastest possible method is to use a coupon (from Displate Club) which means you don\u2019t have to pay for the LE at all, skipping all payment processors.<\/p>\n<p>In both cases, I was more interested in figuring out the method than actually collecting #1s, so I shared my knowledge with the community once I proved it out.<\/p>\n<h1 id=\"lessons\">Lessons<\/h1>\n<p>What could Displate have done to put a stop to my shenanigans? Let\u2019s count the ways:<\/p>\n<ul>\n<li><strong>Don\u2019t use sequential IDs.<\/strong> If each Displate were, say, a UUID, I would never have been able to find the links early.<\/li>\n<li><strong>Avoid <\/strong><a href=\"https:\/\/en.wikipedia.org\/wiki\/Security_through_obscurity?ref=blog.danlew.net\"><strong><u>security through obscurity<\/u><\/strong><\/a><strong>.<\/strong> If you truly don\u2019t want anyone to order a Displate early, don\u2019t let them! Don\u2019t simply trust that they can\u2019t find the link.<\/li>\n<li><strong>Add API rate limiting<\/strong>. Some of the hacks above required scanning much of the Displate inventory. Rate limiting (which they <em>did<\/em> eventually add) would\u2019ve stopped me in my tracks (no normal user would\u2019ve been looking at thousands of Displates every second).<\/li>\n<li><strong>Disallow cart modification mid-checkout<\/strong>. Frankly, kind of astounded this was ever allowed. I was not interested in cheating Displate out of money so I always swapped with an equivalently-priced item, but I always wondered: what would happen if I ordered an expensive item using the initial cart of a cheap item? Nightmare scenario!<\/li>\n<li><strong>Make customs user-private<\/strong>. It probably never occurred to them that there was an issue here, but it does seem weird (in hindsight) that any uploaded custom just became a standard Displate you could order later.<\/li>\n<\/ul>\n<\/div>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_6568\" class=\"pvc_stats total_only  \" data-element-id=\"6568\" style=\"\"><i class=\"pvc-stats-icon large\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/i0.wp.com\/dev95.site\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif?resize=16%2C16&#038;ssl=1\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n<div id=\"dev95-1221172766\" class=\"dev95-after-content dev95-entity-placement\"><p style=\"text-align: center;\"><strong>Finally, a link that actually works for your region and device! \ud83c\udf0d Get instant access to the top exclusive offers tailored just for you right now. Don&#8217;t miss out, click here! \ud83d\udc47<\/strong><br data-sfc-root=\"ep\" data-sfc-pl=\"|||[]\" data-complete=\"true\" data-copy-service-computed-style=\"font-family: Arial, sans-serif, &quot;Noto Color Emoji&quot;; font-size: 16px; font-weight: 400; margin: 0px; text-decoration: none; border-bottom: 0px rgb(10, 10, 10);\" \/><a href=\"https:\/\/www.profitableratecpmnetwork.com\/uzeja8ahze?key=bc876be53d6ad0ff6370ab8ea030e479\"><strong>\ud83d\udd17 [Click here]<\/strong><\/a><\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>During the pandemic my weird vice\/obsession became Displates (metal wall art hung up by magnets): Some of my Displates (along with other tchotchkes in my office) For me, part of the hobby was poking holes in their website. I\u2019ve long<\/p>\n<div class=\"hosteria-entry-more\"><a href=\"https:\/\/dev95.site\/ar\/hacking-displate-for-fun\/\" class=\"no-underline font-light  group-hover:text-primary-800 dark:group-hover:text-primary-300 py-1\">Read more &gt;&gt;&gt;<\/a><\/div>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_6568\" class=\"pvc_stats total_only\" data-element-id=\"6568\" style=\"\"><i class=\"pvc-stats-icon large\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/dev95.site\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=\"0\" \/><\/p>\n<div class=\"pvc_clear\"><\/div>","protected":false},"author":1,"featured_media":6578,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fp_fajr_begins":"","fp_fajr_iqamah":"","fp_dhuhr_begins":"","fp_dhuhr_iqamah":"","fp_asr_begins":"","fp_asr_iqamah":"","fp_maghrib_begins":"","fp_maghrib_iqamah":"","fp_isha_begins":"","fp_isha_iqamah":"","fp_midnight":"","fp_midnight_name":"","fp_sunrise":"","fp_single_prayer_begins_title":"","fp_single_prayer_iqamah_title":"","fp_prayer_times_for_today":"","fp_hijra_date":"","fp_fajr_name":"","fp_dhuhr_name":"","fp_asr_name":"","fp_maghrib_name":"","fp_isha_name":"","fp_sunrise_name":"","fp_currentDate":"","fp_current_time":"","fp_current_title":"","fp_current_location":"","fp_masjid_name":"","fp_prayer_title":"","fp_next_prayer_iqamah_time":"","fp_next_prayer_iqamah_title":"","fp_next_prayer_begins_time":"","fp_next_prayer_begins_title":"","fp_next_prayer_title":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[9],"tags":[],"class_list":["post-6568","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-android"],"a3_pvc":{"activated":true,"total_views":1,"today_views":1},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Hacking Displate (For Fun!) - Dev95<\/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:\/\/dev95.site\/ar\/hacking-displate-for-fun\/\" \/>\n<meta property=\"og:locale\" content=\"ar_AR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Hacking Displate (For Fun!) - Dev95\" \/>\n<meta property=\"og:description\" content=\"During the pandemic my weird vice\/obsession became Displates (metal wall art hung up by magnets): Some of my Displates (along with other tchotchkes in my office) For me, part of the hobby was poking holes in their website. I\u2019ve longRead more &gt;&gt;&gt;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dev95.site\/ar\/hacking-displate-for-fun\/\" \/>\n<meta property=\"og:site_name\" content=\"Dev95\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-02T06:04:11+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/storage.ghost.io\/c\/4a\/b9\/4ab96a0e-cea9-4968-a6a6-e1fa56bf8891\/content\/images\/2025\/11\/R0000010.JPG\" \/>\n<meta name=\"author\" content=\"dev95\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u0643\u064f\u062a\u0628 \u0628\u0648\u0627\u0633\u0637\u0629\" \/>\n\t<meta name=\"twitter:data1\" content=\"dev95\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u0648\u0642\u062a \u0627\u0644\u0642\u0631\u0627\u0621\u0629 \u0627\u0644\u0645\u064f\u0642\u062f\u0651\u0631\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 \u062f\u0642\u0627\u0626\u0642\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/dev95.site\\\/hacking-displate-for-fun\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/hacking-displate-for-fun\\\/\"},\"author\":{\"name\":\"dev95\",\"@id\":\"https:\\\/\\\/dev95.site\\\/#\\\/schema\\\/person\\\/b807805ffe2916206b04d0938bce0298\"},\"headline\":\"Hacking Displate (For Fun!)\",\"datePublished\":\"2026-10-02T06:04:11+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/hacking-displate-for-fun\\\/\"},\"wordCount\":1369,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/hacking-displate-for-fun\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/dev95.site\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/R0000010.jpg?fit=2000%2C1333&ssl=1\",\"articleSection\":[\"Android\"],\"inLanguage\":\"ar\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/dev95.site\\\/hacking-displate-for-fun\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/dev95.site\\\/hacking-displate-for-fun\\\/\",\"url\":\"https:\\\/\\\/dev95.site\\\/hacking-displate-for-fun\\\/\",\"name\":\"Hacking Displate (For Fun!) - Dev95\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/hacking-displate-for-fun\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/hacking-displate-for-fun\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/dev95.site\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/R0000010.jpg?fit=2000%2C1333&ssl=1\",\"datePublished\":\"2026-10-02T06:04:11+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/hacking-displate-for-fun\\\/#breadcrumb\"},\"inLanguage\":\"ar\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/dev95.site\\\/hacking-displate-for-fun\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ar\",\"@id\":\"https:\\\/\\\/dev95.site\\\/hacking-displate-for-fun\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/dev95.site\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/R0000010.jpg?fit=2000%2C1333&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/dev95.site\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/R0000010.jpg?fit=2000%2C1333&ssl=1\",\"width\":2000,\"height\":1333},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/dev95.site\\\/hacking-displate-for-fun\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/dev95.site\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Hacking Displate (For Fun!)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/dev95.site\\\/#website\",\"url\":\"https:\\\/\\\/dev95.site\\\/\",\"name\":\"Dev95\",\"description\":\"A comprehensive platform for data and knowledge, delivering reliable content that meets the aspirations of readers and enthusiasts.\",\"publisher\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/dev95.site\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ar\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/dev95.site\\\/#organization\",\"name\":\"Dev95\",\"url\":\"https:\\\/\\\/dev95.site\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ar\",\"@id\":\"https:\\\/\\\/dev95.site\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/dev95.site\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/rbrrbr-6.png?fit=512%2C512&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/dev95.site\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/rbrrbr-6.png?fit=512%2C512&ssl=1\",\"width\":512,\"height\":512,\"caption\":\"Dev95\"},\"image\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/dev95.site\\\/#\\\/schema\\\/person\\\/b807805ffe2916206b04d0938bce0298\",\"name\":\"dev95\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ar\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a70a73d950838b20cd80d7ebdc955737e802e8cd896044c5473b32b946c0662a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a70a73d950838b20cd80d7ebdc955737e802e8cd896044c5473b32b946c0662a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a70a73d950838b20cd80d7ebdc955737e802e8cd896044c5473b32b946c0662a?s=96&d=mm&r=g\",\"caption\":\"dev95\"},\"url\":\"https:\\\/\\\/dev95.site\\\/ar\\\/author\\\/mohammad\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Hacking Displate (For Fun!) - Dev95","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:\/\/dev95.site\/ar\/hacking-displate-for-fun\/","og_locale":"ar_AR","og_type":"article","og_title":"Hacking Displate (For Fun!) - Dev95","og_description":"During the pandemic my weird vice\/obsession became Displates (metal wall art hung up by magnets): Some of my Displates (along with other tchotchkes in my office) For me, part of the hobby was poking holes in their website. I\u2019ve longRead more &gt;&gt;&gt;","og_url":"https:\/\/dev95.site\/ar\/hacking-displate-for-fun\/","og_site_name":"Dev95","article_published_time":"2026-10-02T06:04:11+00:00","og_image":[{"url":"https:\/\/storage.ghost.io\/c\/4a\/b9\/4ab96a0e-cea9-4968-a6a6-e1fa56bf8891\/content\/images\/2025\/11\/R0000010.JPG","type":"","width":"","height":""}],"author":"dev95","twitter_card":"summary_large_image","twitter_misc":{"\u0643\u064f\u062a\u0628 \u0628\u0648\u0627\u0633\u0637\u0629":"dev95","\u0648\u0642\u062a \u0627\u0644\u0642\u0631\u0627\u0621\u0629 \u0627\u0644\u0645\u064f\u0642\u062f\u0651\u0631":"7 \u062f\u0642\u0627\u0626\u0642"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/dev95.site\/hacking-displate-for-fun\/#article","isPartOf":{"@id":"https:\/\/dev95.site\/hacking-displate-for-fun\/"},"author":{"name":"dev95","@id":"https:\/\/dev95.site\/#\/schema\/person\/b807805ffe2916206b04d0938bce0298"},"headline":"Hacking Displate (For Fun!)","datePublished":"2026-10-02T06:04:11+00:00","mainEntityOfPage":{"@id":"https:\/\/dev95.site\/hacking-displate-for-fun\/"},"wordCount":1369,"commentCount":0,"publisher":{"@id":"https:\/\/dev95.site\/#organization"},"image":{"@id":"https:\/\/dev95.site\/hacking-displate-for-fun\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/dev95.site\/wp-content\/uploads\/2026\/10\/R0000010.jpg?fit=2000%2C1333&ssl=1","articleSection":["Android"],"inLanguage":"ar","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/dev95.site\/hacking-displate-for-fun\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/dev95.site\/hacking-displate-for-fun\/","url":"https:\/\/dev95.site\/hacking-displate-for-fun\/","name":"Hacking Displate (For Fun!) - Dev95","isPartOf":{"@id":"https:\/\/dev95.site\/#website"},"primaryImageOfPage":{"@id":"https:\/\/dev95.site\/hacking-displate-for-fun\/#primaryimage"},"image":{"@id":"https:\/\/dev95.site\/hacking-displate-for-fun\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/dev95.site\/wp-content\/uploads\/2026\/10\/R0000010.jpg?fit=2000%2C1333&ssl=1","datePublished":"2026-10-02T06:04:11+00:00","breadcrumb":{"@id":"https:\/\/dev95.site\/hacking-displate-for-fun\/#breadcrumb"},"inLanguage":"ar","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dev95.site\/hacking-displate-for-fun\/"]}]},{"@type":"ImageObject","inLanguage":"ar","@id":"https:\/\/dev95.site\/hacking-displate-for-fun\/#primaryimage","url":"https:\/\/i0.wp.com\/dev95.site\/wp-content\/uploads\/2026\/10\/R0000010.jpg?fit=2000%2C1333&ssl=1","contentUrl":"https:\/\/i0.wp.com\/dev95.site\/wp-content\/uploads\/2026\/10\/R0000010.jpg?fit=2000%2C1333&ssl=1","width":2000,"height":1333},{"@type":"BreadcrumbList","@id":"https:\/\/dev95.site\/hacking-displate-for-fun\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dev95.site\/"},{"@type":"ListItem","position":2,"name":"Hacking Displate (For Fun!)"}]},{"@type":"WebSite","@id":"https:\/\/dev95.site\/#website","url":"https:\/\/dev95.site\/","name":"Dev95","description":"\u0645\u0646\u0635\u0629 \u0634\u0627\u0645\u0644\u0629 \u0644\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0648\u0627\u0644\u0645\u0639\u0631\u0641\u0629\u060c \u062a\u0642\u062f\u0645 \u0645\u062d\u062a\u0648\u0649\u064b \u0645\u0648\u062b\u0648\u0642\u0627\u064b \u064a\u0644\u0628\u064a \u062a\u0637\u0644\u0639\u0627\u062a \u0627\u0644\u0642\u0631\u0627\u0621 \u0648\u0627\u0644\u0645\u0647\u062a\u0645\u064a\u0646.","publisher":{"@id":"https:\/\/dev95.site\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dev95.site\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ar"},{"@type":"Organization","@id":"https:\/\/dev95.site\/#organization","name":"Dev95","url":"https:\/\/dev95.site\/","logo":{"@type":"ImageObject","inLanguage":"ar","@id":"https:\/\/dev95.site\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/dev95.site\/wp-content\/uploads\/2026\/07\/rbrrbr-6.png?fit=512%2C512&ssl=1","contentUrl":"https:\/\/i0.wp.com\/dev95.site\/wp-content\/uploads\/2026\/07\/rbrrbr-6.png?fit=512%2C512&ssl=1","width":512,"height":512,"caption":"Dev95"},"image":{"@id":"https:\/\/dev95.site\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/dev95.site\/#\/schema\/person\/b807805ffe2916206b04d0938bce0298","name":"dev95","image":{"@type":"ImageObject","inLanguage":"ar","@id":"https:\/\/secure.gravatar.com\/avatar\/a70a73d950838b20cd80d7ebdc955737e802e8cd896044c5473b32b946c0662a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a70a73d950838b20cd80d7ebdc955737e802e8cd896044c5473b32b946c0662a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a70a73d950838b20cd80d7ebdc955737e802e8cd896044c5473b32b946c0662a?s=96&d=mm&r=g","caption":"dev95"},"url":"https:\/\/dev95.site\/ar\/author\/mohammad\/"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/i0.wp.com\/dev95.site\/wp-content\/uploads\/2026\/10\/R0000010.jpg?fit=2000%2C1333&ssl=1","_links":{"self":[{"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/posts\/6568","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/comments?post=6568"}],"version-history":[{"count":0,"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/posts\/6568\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/media\/6578"}],"wp:attachment":[{"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/media?parent=6568"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/categories?post=6568"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/tags?post=6568"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}