{"id":4711,"date":"2018-07-12T15:31:54","date_gmt":"2018-07-12T21:31:54","guid":{"rendered":"http:\/\/www.realtimerendering.com\/blog\/?p=4711"},"modified":"2021-04-05T08:41:43","modified_gmt":"2021-04-05T14:41:43","slug":"moving-targets-and-why-theyre-bad","status":"publish","type":"post","link":"https:\/\/www.realtimerendering.com\/blog\/moving-targets-and-why-theyre-bad\/","title":{"rendered":"Moving Targets, and Why They&#8217;re Bad"},"content":{"rendered":"<p>Executive summary: if you write anything or show off\u00a0any images, you should make a real website, both for yourself and for others. <a href=\"http:\/\/www.realtimerendering.com\/blog\/less-movable-targets\/\">The followup post<\/a> gives some resources for doing so.<\/p>\n<p>We&#8217;ve been updating the <em>Real-Time Rendering<\/em> site (<a href=\"http:\/\/realtimerendering.com\">take a peek<\/a>\u00a0&#8211; you might at least enjoy <a href=\"http:\/\/www.realtimerendering.com\/rtr4.jpg\">the 4th edition cover<\/a>). Today I&#8217;ve been grinding through updating URLs for\u00a0<a href=\"http:\/\/www.realtimerendering.com\/refs.html\">the\u00a0references in the book<\/a>. Even though the book&#8217;s not yet out, you can see what articles we reference and jump to the article from <a href=\"http:\/\/www.realtimerendering.com\/refs.html\">this page<\/a>.<\/p>\n<p>Most of the articles can be found through using Google or Google Scholar. A few articles are trickier to find, or have a few URLs that are relevant &#8211; that&#8217;s the value I feel I&#8217;m adding by doing this laborious task. The other reason is for helping avoid link rot &#8211; I&#8217;ll explain that in a minute. Another is virus protection. For example, one blog URL, for the article &#8220;Render Color Spaces&#8221; by Anders Langlands, has had its domain anderslanglands.com (<strong>DON&#8217;T GO THERE (REALLY)<\/strong>) taken over by some evil entity in May 2018 and now leads to a page full of nastiness.<\/p>\n<p>In going through our reference page today and adding links, doing so reminds me how tenuous our storage of knowledge is for some resources on the internet. Printed journals at least have a bunch of copies around the world, vs. one point of failure. I&#8217;ve <a href=\"http:\/\/www.realtimerendering.com\/blog\/journal-of-graphics-tools-code-repository\/\">noted this before<\/a>. My point today is this: if you publish anything, <strong><em>go buy yourself a domain and host it somewhere<\/em><\/strong> (I like <a href=\"https:\/\/www.bluehost.com\/\">bluehost<\/a>, as do Morgan McGuire and Andrew Glassner, but there are no doubt cheaper ways). All totaled, this will cost you maybe around $110 a year.\u00a0<strong><a href=\"https:\/\/media.giphy.com\/media\/1oC7ENXZ3GOHKS0lEA\/source.mov\">Do it<\/a><\/strong>, if you care about sharing your work or are at all serious about your career (e.g., lose your job or want another? You now have a website holding your CV or work, ready to show). URLs have a permanence to them, vs. company-specific semi-hosting schemes such as <a href=\"https:\/\/pages.github.com\/\">Github<\/a>\u00a0or <a href=\"https:\/\/www.dropbox.com\/help\/files-folders\/public-folder\">Dropbox<\/a>, where the rules can and do change. For example, I just found a\u00a0Github-based blog entry\u00a0from Feb. 2017\u00a0<a href=\"http:\/\/pcwalton.github.io\/blog\/2017\/02\/14\/pathfinder\/\">that&#8217;s now gone<\/a>\u00a0(luckily still\u00a0<a href=\"https:\/\/web.archive.org\/web\/20171230152423\/http:\/\/pcwalton.github.io:80\/blog\/2017\/02\/14\/pathfinder\/\">on\u00a0archive.org<\/a>). With some poking around, I found that the blog entry is in fact\u00a0<a href=\"http:\/\/pcwalton.github.io\/blog\/2017\/02\/14\/pathfinder\/\">still\u00a0on Github<\/a>, but appeared to be gone because Github had changed its URL scheme and did not redirect from the old URL to the new one.<\/p>\n<p>Once you have a\u00a0hosted URL, look at how others arrange their resources, e.g., <a href=\"https:\/\/casual-effects.com\/\">Morgan McGuire<\/a> recently moved all his content from the Williams College website to his own personal site. Grab a free template, say from <a href=\"https:\/\/www.w3schools.com\/w3css\/w3css_templates.asp\">W3 Schools<\/a>\u00a0or copy a site you like. Put any articles or presentations or images or whatever that you want people to find on that site. Me, I&#8217;m old school; I use basic HTML with a text editor and <a href=\"https:\/\/filezilla-project.org\/\">FileZilla<\/a>\u00a0for transfers, end of story. Start a WordPress or other blog, which is then hosted on your site and so won&#8217;t die off so easily. Once you have a modest site up, you are now done, your contributions to civilization are available to everyone until you forget to renew your domain or pay for web hosting. Assuming you remember, your content is\u00a0available until you&#8217;re both dead and no one else keeps up with the payments (another good reason to renew for the longest duration). Setting up your own website isn&#8217;t some ego-stroking thing on your part &#8211; some of the rest of us want continued access to the content you&#8217;ve provided, so please do keep it available. If your goal in writing is to help the graphics community, then allow your work to live as long as possible. &#8220;But my blog posts and whatnot have a short freshness &#8216;read by&#8217; date,&#8221; you complain. Let <em>us<\/em> decide that; as someone who maintains the <a href=\"http:\/\/graphicsgems.org\">Graphics Gems repository<\/a>, a collection of articles from 1990-1995, I know people are still using this code and the related articles, as they report bugs and errata to me. &#8220;I have tenure, and my school&#8217;s been around for 200 years.&#8221; So when you retire, they&#8217;re going to keep your site going?<\/p>\n<p>Most of us don&#8217;t\u00a0grab a URL and host it, which is a pity for all concerned.\u00a0Most of the\u00a0links I fixed today rotted for one of\u00a0three\u00a0reasons: the site itself died (e.g., the company disappeared; I now can&#8217;t find <a href=\"http:\/\/leegoonz.blogspot.com\/2012\/09\/siggraph-2012-talk-shadows-in-games.html\">this talk<\/a> from 2012\u00a0<em>anywhere<\/em>, and at least\u00a0<a href=\"https:\/\/www.google.com\/search?q=valient12_shadows_in_games.pdf&amp;rlz=1C1CHBF_enUS689US690&amp;oq=valient12_shadows_in_games.pdf&amp;aqs=chrome..69i57j69i60.3158j0j4&amp;sourceid=chrome&amp;ie=UTF-8\">14 other sites link to it<\/a>), the subdirectory on the site was deleted (e.g., for a student or faculty member no longer at the institution), or the URLs were reorganized and no redirection was put in place\u00a0(and if you&#8217;re a webmaster, please don&#8217;t do this &#8211; take the time to put in <a href=\"https:\/\/en.wikipedia.org\/wiki\/URL_redirection\">some redirection<\/a>, no matter how untidy it may feel to you). Some resources that still work are hanging on by a thread, e.g., three\u00a0articles on our page are served up by FTP only. FTP!\u00a0<em>Update:\u00a0<\/em>see <a href=\"http:\/\/www.realtimerendering.com\/blog\/less-movable-targets\/\">my follow-up post<\/a> for where to find that 2012 talk now.<\/p>\n<p>BTW, people\u00a0<a href=\"https:\/\/code.tutsplus.com\/tutorials\/hosting-your-website-after-death--cms-23492\">have worked on how to have their sites outlive them<\/a>, but so far I\u00a0don&#8217;t know of a convincing system, one where the service itself is likely to outlast its participants. Some blog and presentation content does outlive its creator, or at least its original URL, as much of the internet gets archived by <a href=\"https:\/\/archive.org\/\">The Wayback Machine<\/a>. So, for the virus-ridden anderslanglands.com site, the article I wanted to link to\u00a0<a href=\"http:\/\/web.archive.org\/web\/20171222063013\/http:\/\/anderslanglands.com\/blog\/\/2016\/06\/23\/render-color-space.html\">is available on archive.org<\/a>. Jendrik Illner does something for <a href=\"https:\/\/www.jendrikillner.com\/post\/\">his (wonderful) summary posts<\/a> that I hadn&#8217;t seen before: each link also has a &#8220;wayback-archive&#8221; link for convenience, in case the link no longer works. You can also easily try such links yourself on any dead site by using\u00a0<a href=\"https:\/\/chrome.google.com\/webstore\/detail\/wayback-machine\/fpnmgdkabkmnadcjpehmlllkndpkmiak\">this Chrome extension<\/a>. With this extension active, by default a dead page will cause the extension to offer you to look on archive.org.\u00a0Links have an average\u00a0<a href=\"https:\/\/journalistsresource.org\/studies\/society\/internet\/website-linking-best-practices-media-online-publishers\">life of 9.3 years<\/a>\u00a0before they rot, and that&#8217;s just the average. You&#8217;re likely to live longer, so do your future older self a favor\u00a0by saving them some time and distress: make a nice home for your resources now so you don&#8217;t have to later.<\/p>\n<p>If you&#8217;re too busy or poor to host your own content, at least <a href=\"https:\/\/blog.archive.org\/2017\/01\/25\/see-something-save-something\/\">paste your important URLs into archive.org&#8217;s site<\/a>\u00a0(you can also use the &#8220;Save Page Now&#8221; option in\u00a0<a href=\"https:\/\/chrome.google.com\/webstore\/detail\/wayback-machine\/fpnmgdkabkmnadcjpehmlllkndpkmiak\">the Chrome extension<\/a>, if you have a lot of pages)\u00a0and your content will get archived (though if it&#8217;s a large PDF, maybe not). However, <em>content on\u00a0archive.org is not included in Google searches<\/em>, so articles there effectively disappear unless the searcher happens to have the original URL and thinks to use the Wayback Machine. Also, people may stop looking when they try your original URL and find, for example, a porn site (e.g., this <a href=\"https:\/\/web.archive.org\/web\/20170927055030\/http:\/\/coretechniques.info\/\">archive.org graphics site&#8217;s<\/a> original URL goes to one now). This won&#8217;t happen if you have your own URL and maintain it.<\/p>\n<p>For longer-term storage of your best ideas,\u00a0don&#8217;t just blog about a topic, submit it to a journal (for example, <a href=\"http:\/\/jcgt.org\/\">JCGT<\/a>\u00a0takes practical articles) or article collection book (e.g., <a href=\"http:\/\/gpuzen.blogspot.com\/\">GPU Zen<\/a> series, <a href=\"http:\/\/raytracinggems.com\">Ray Tracing Gems<\/a>) and so have it become accessible for a good long while.\u00a0It is possible and reasonable to take good blog content and rework it into an article. Going through peer review and copy editing will polish your idea all that much more.<\/p>\n<p>These ramblings reflect\u00a0my (limited) view of the world. If you know other approaches or resources to combat any aspect of link rot, please do <a href=\"mailto:erich@acm.org\">let me know<\/a> and I&#8217;ll fold them in here and credit you. Me, I hate\u00a0seeing information get lost. Fight entropy now. Oh, and please put a date on any page you put up, so the rest of us can know if the page is recent or ancient history. Blog entries all have dates; everything else should, too.<\/p>\n<p><em>Update:<\/em> see <a href=\"http:\/\/www.realtimerendering.com\/blog\/less-movable-targets\/\">my next post<\/a> for some followups and a bunch of inexpensive options for making your own site.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Executive summary: if you write anything or show off\u00a0any images, you should make a real website, both for yourself and for others. The followup post gives some resources for doing so. We&#8217;ve been updating the Real-Time Rendering site (take a peek\u00a0&#8211; you might at least enjoy the 4th edition cover). Today I&#8217;ve been grinding through [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,7],"tags":[],"class_list":["post-4711","post","type-post","status-publish","format-standard","hentry","category-misc","category-resources"],"_links":{"self":[{"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/posts\/4711","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/comments?post=4711"}],"version-history":[{"count":6,"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/posts\/4711\/revisions"}],"predecessor-version":[{"id":5493,"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/posts\/4711\/revisions\/5493"}],"wp:attachment":[{"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/media?parent=4711"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/categories?post=4711"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/tags?post=4711"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}