<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:georss="http://www.georss.org/georss" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0"><id>tag:blogger.com,1999:blog-16809467</id><updated>2009-06-20T13:17:14.891-07:00</updated><title type="text">Traveller Map News</title><subtitle type="html">Updates to the Traveller Map, an interactive web-based map for the Traveller universe.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://travellermap.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://travellermap.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default?start-index=26&amp;max-results=25" /><author><name>Joshua Bell</name><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>132</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><logo>http://www.feedburner.com/fb/images/pub/fb_pwrd.gif</logo><link rel="self" href="http://feeds.feedburner.com/TravellerMap" type="application/atom+xml" /><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site, subject to copyright and fair use.</feedburner:browserFriendly><entry><id>tag:blogger.com,1999:blog-16809467.post-5049429717498557539</id><published>2009-06-20T13:14:00.000-07:00</published><updated>2009-06-20T13:17:14.904-07:00</updated><title type="text">IE problems?</title><content type="html">Long time user Alex Ingram reported a few months ago that the map tiles weren't fully loading for him in Internet Explorer.&lt;br /&gt;&lt;br /&gt;I finally had a chance to put together a prototype page that reduces the number of map tiles loaded at once, which may address this problem. If you've experienced this, try the following URL and let me know if it improves the experience for you:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.travellermap.com/index_pool.htm"&gt;http://www.travellermap.com/index_pool.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;(NOTE: That URL will go away at some point so don't get used to it!)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16809467-5049429717498557539?l=travellermap.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://travellermap.blogspot.com/feeds/5049429717498557539/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=16809467&amp;postID=5049429717498557539" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/5049429717498557539" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/5049429717498557539" /><link rel="alternate" type="text/html" href="http://travellermap.blogspot.com/2009/06/ie-problems.html" title="IE problems?" /><author><name>Joshua Bell</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03352506243815052967" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16809467.post-3598099728629774027</id><published>2009-04-20T10:45:00.000-07:00</published><updated>2009-04-20T12:59:52.238-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="secondlife" /><title type="text">Traveller Map in Second Life</title><content type="html">Okay, this is pretty sweet.&lt;br /&gt;&lt;br /&gt;About a year ago I took advantage of Second Life's "Parcel Media" support to build an in-world map browser of TravellerMap.com in SL. This basically just sets the media URL of a parcel (a chunk of land) to a map URL, and built an object that is textured with that media URL, along with controls to pan and scale the map. Here's what I came up with:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_MpMDZ7vPi9E/Sey1QWb3XUI/AAAAAAAAAB8/hMz78v05bmo/s1600-h/Traveller+Map+In+World.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px; height: 147px;" src="http://3.bp.blogspot.com/_MpMDZ7vPi9E/Sey1QWb3XUI/AAAAAAAAAB8/hMz78v05bmo/s200/Traveller+Map+In+World.bmp" alt="" id="BLOGGER_PHOTO_ID_5326831751777443138" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;(I'm that attractive sea creature, by the way.)&lt;br /&gt;&lt;br /&gt;Today I got a link from Corro Moseley pointing me at another in-world build by Daden Limited:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_MpMDZ7vPi9E/Sey1VQEQGxI/AAAAAAAAACE/rsn1R24XIbg/s1600-h/TravellerMap+in+SL_001.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px; height: 156px;" src="http://4.bp.blogspot.com/_MpMDZ7vPi9E/Sey1VQEQGxI/AAAAAAAAACE/rsn1R24XIbg/s200/TravellerMap+in+SL_001.png" alt="" id="BLOGGER_PHOTO_ID_5326831835967134482" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I believe it supports multiple map sources, not just TravellerMap.com, and wow is that integration nice. Look, look! I'm standing on Utoland! Look at the text board in the upper left corner - it's showing the RSS feed from this blog, and you can click to read articles!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16809467-3598099728629774027?l=travellermap.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://travellermap.blogspot.com/feeds/3598099728629774027/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=16809467&amp;postID=3598099728629774027" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/3598099728629774027" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/3598099728629774027" /><link rel="alternate" type="text/html" href="http://travellermap.blogspot.com/2009/04/traveller-map-in-second-life.html" title="Traveller Map in Second Life" /><author><name>Joshua Bell</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03352506243815052967" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_MpMDZ7vPi9E/Sey1QWb3XUI/AAAAAAAAAB8/hMz78v05bmo/s72-c/Traveller+Map+In+World.bmp" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16809467.post-1717102943420754940</id><published>2009-04-19T10:27:00.000-07:00</published><updated>2009-04-19T10:44:48.705-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="API" /><category scheme="http://www.blogger.com/atom/ns#" term="security" /><title type="text">JSONP and XSS</title><content type="html">&lt;a href="https://www.blogger.com/comment.g?blogID=16809467&amp;amp;postID=7248565713819917335"&gt;Allen Varney asks&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;...doesn't this functionality leave the map site open to -- at the very least -- cross-site scripting (XSS) hacks? The whole procedure sounds quite insecure.&lt;/blockquote&gt;Short answer: no (but read on)&lt;br /&gt;&lt;br /&gt;But it's an excellent question, so let's analyze the potential security vulnerability.&lt;br /&gt;&lt;br /&gt;First off, &lt;a href="http://en.wikipedia.org/wiki/Cross-site_scripting"&gt;Wikipedia has a reasonable Cross Site Scripting (XSS) overview&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The short version is that a vulnerability in some site allows an hacker to add content that, when viewed by a victim, executes the hacker's code using the victim's data.&lt;br /&gt;&lt;br /&gt;For example, let's say VulnerableForum.com allows evil hacker Eve to post arbitrary script code. When victim Alice visits the site, the web page loads and Eve's code can execute within the context of VulnerableForum.com. That means it could do things like make forum posts in Alice's name, change Alice's password, modify Alice's profile (perhaps to include additional copies of Eve's code, turning this into a viral worm), and so forth.&lt;br /&gt;&lt;br /&gt;The Wikipedia article lists several variations of this beyond simple persistent content modification, e.g. Eve sends Alice a URL to VunerableForum.com that includes parameters which induce bugs in the forum software, allowing code injection.&lt;br /&gt;&lt;br /&gt;The "classic" form of XSS was what led to the Same Origin Policy (SOP). In the old days, Eve's web site (EvilHacker.com) could load up AlicesBank.com in an IFRAME. If Alice visited EvilHacker.com, the IFRAME would load AlicesBank.com - and possibly log in automatically. The scripts from EvilHacker.com could then reach into the IFRAME and manipulate the now-authenticated bank pages to steal money. In response to this, browser makers implemented the SOP, which means that the scripts can't reach into the IFRAME if the content is from a different site.&lt;br /&gt;&lt;br /&gt;This SOP has been extended to all web technology - Flash, AJAX calls, and so forth. Unfortunately, this means that sites that want to cooperate - say, your site and TravellerMap.com - don't have a way to share data. &lt;a href="http://www.adobe.com/devnet/flashplayer/articles/fplayer9_security.html"&gt;Flash exposes a cross-domain mechanism&lt;/a&gt; (where receiving second site can explicitly allow requests from requesting first site). For &lt;a href="http://www.json.org/JSONRequest.html"&gt;JavaScript there are some cross-domain-enabling proposals&lt;/a&gt;. But for now, JSONP is a workaround. JSONP requires that both sites cooperate – the requesting site must specify a JSONP parameter in a URL request, and the receiving site must understand the JSONP parameter and create an appropriate response.&lt;br /&gt;&lt;br /&gt;So…. back to the question of security.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Does accepting JSONP requests expose TravellerMap.com to XSS attacks? &lt;span style="font-weight: bold;"&gt;No &lt;/span&gt;– the site does not interpret the content of the JSONP parameter beyond %-decoding. It is simply pre-pended (along with "&lt;span style="font-family: courier new;"&gt;(&lt;/span&gt;" prefix and "&lt;span style="font-family: courier new;"&gt;);&lt;/span&gt;" suffix) to the data being returned.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Does using JSONP requests expose your site to XSS attacks? &lt;span style="font-weight: bold;"&gt;Ah, there’s the rub&lt;/span&gt;. By making JSONP requests &lt;span style="font-style: italic;"&gt;you are allowing TravellerMap.com to inject script and data into the execution context of your web pages&lt;/span&gt;. Let’s analyze how this could be exploited:&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;(1) TravellerMap.com could &lt;span style="font-weight: bold; font-style: italic;"&gt;THEORETICALLY &lt;/span&gt;add malicious script to the JSONP results. In that case, instead of emitting "&lt;span style="font-family: courier new;"&gt;callback(…);&lt;/span&gt;" the site emits "&lt;span style="font-family: courier new;"&gt;make_forum_post(…);&lt;/span&gt;" or something. Since the script is executed automatically (via the JSONP mechanism) and the data can’t be filtered (it appears as a script tag which executes the content, not data you can deserialize with paranoid JSON parsing code), there is no simple defense against this. If TravellerMap.com is compromised (or I turn to the dark side…) then your site is vulnerable.&lt;br /&gt;&lt;br /&gt;Note that this vulnerability is restricted to XSS behavior, that is, users of the site would have code executed in the context of the web site. This doesn’t allow arbitrary code execution on the victim’s machine (it’s still in the web page sandbox), or on the web server (it’s all client-side). So this isn't a "pwn'd your machine" exploit, but it is a (&lt;span style="font-weight: bold; font-style: italic;"&gt;theoretical&lt;/span&gt;) "pwn'd your account" exploit.&lt;br /&gt;&lt;br /&gt;Also note that sites like Flickr expose JSONP APIs with the same risks, so it’s not a flaw in the design of the TravellerMap.com API. &lt;span style="font-style: italic;"&gt;Either you trust the site you’re calling into with JSONP or you don’t. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For the paranoid (i.e. you want to use the TravellerMap.com JSONP APIs, but don’t trust the site to remain exploit-free), one mitigation would be to sandbox any use of the JSONP APIs. For example, your main site might be &lt;span style="font-style: italic;"&gt;mytravellerforum.com&lt;/span&gt;, and create a &lt;span style="font-style: italic;"&gt;sandbox.mytravellerforum.com&lt;/span&gt; subdomain that doesn’t do anything with users' forum accounts. And of course, if you are implementing server-side functionality, you can call directly into the non-JSONP versions of the APIs, in which case you’re parsing the data yourself.&lt;br /&gt;&lt;br /&gt;(2) TravellerMap.com could &lt;span style="font-weight: bold; font-style: italic;"&gt;THEORETICALLY &lt;/span&gt;expose a vulnerability that allows JSONP requests to include arbitrary content.&lt;br /&gt;&lt;br /&gt;Here’s how a hacker might exploit that:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Your site exposes a "make a map for sector X" form. The user can type the sector name into a form, which causes a JSONP request to TravellerMap.com&lt;/li&gt;&lt;li&gt;A hacker crafts a URL which makes your site make that request automatically (due to the architecture of your site, possibly a redirect).  The URL includes the sector name as: &lt;span style="font-family: courier new;"&gt;"); do_evil(…); void("&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Your page turns that into a JSONP request&lt;/li&gt;&lt;li&gt;The TravellerMap.com site THEORETICALLY blithely outputs that as part of a valid response, un-escaped &lt;/li&gt;&lt;li&gt;Your site executes that script with the &lt;span style="font-family: courier new;"&gt;do_evil()&lt;/span&gt; content (which, say, makes a forum post)&lt;/li&gt;&lt;li&gt;The hacker posts this nasty URL to a forum. Any user that clicks on the link ends up with &lt;span style="font-family: courier new;"&gt;do_evil()&lt;/span&gt; running within their authenticated context.&lt;/li&gt;&lt;/ul&gt;It’s a bit convoluted, but that’s how these XSS attacks happen. A further &lt;span style="font-weight: bold; font-style: italic;"&gt;THEORETICAL &lt;/span&gt;vulnerability would be if the TravellerMap.com site allowed users to post arbitrary data which could then be retreived by a third-party site, but it does not. (No submitted data is retained by the site beyond the lifetime of the request.)&lt;br /&gt;&lt;br /&gt;So how to mitigate it?&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Sanitize user input on your site – don’t make arbitrary requests to external sites&lt;/li&gt;&lt;li&gt;Ensure JSONP logic exists in a sub-domain sandbox (see above)&lt;/li&gt;&lt;li&gt;Perform your own security audit – try the TravellerMap.com JSONP-enabled APIs and send test data. To the best of my knowledge, all data from successful requests are properly escaped (user data would appear as strings within JSON data) and errors are returned as 404s (the scripts should not execute).&lt;/li&gt;&lt;/ul&gt;Again, the same issues exist with any JSONP API - &lt;span style="font-style: italic;"&gt;you must trust the site you're calling both to not return malicious scripts intentionally and to be hardened against vulnerabilities that would allow someone to cause malicious script to be returned.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So... an excellent question with a non-trivial answer. Feedback, as always, appreciated!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16809467-1717102943420754940?l=travellermap.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://travellermap.blogspot.com/feeds/1717102943420754940/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=16809467&amp;postID=1717102943420754940" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/1717102943420754940" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/1717102943420754940" /><link rel="alternate" type="text/html" href="http://travellermap.blogspot.com/2009/04/jsonp-and-xss.html" title="JSONP and XSS" /><author><name>Joshua Bell</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03352506243815052967" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16809467.post-7248565713819917335</id><published>2009-04-18T20:34:00.000-07:00</published><updated>2009-04-18T20:39:53.585-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="API" /><title type="text">SEC/MSEC go JSONP</title><content type="html">You can now slap a JSONP parameter to SEC and MSEC calls to get data in cross-domain-friendly format.&lt;br /&gt;&lt;br /&gt;Add something like this to the code in your page, triggered (for example) after the user clicks a link or fills in a form field:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;   var sector = "Spinward Marches";&lt;br /&gt;   var url = 'http://www.travellermap.com/SEC.aspx' +&lt;br /&gt;       '?q=' + encodeURIComponent(sector) +&lt;br /&gt;       '&amp;amp;jsonp=myfunction';&lt;br /&gt;   var script_tag = document.createElement('script');&lt;br /&gt;   script_tag.setAttribute('src',url);&lt;br /&gt;   document.body.appendChild(script_tag);&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;This adds a new &amp;lt;script&amp;gt; element on the fly, filled in with "source code" by TravellerMap.com. The script it generates will look like this:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;    myfunction("# Spinward Marches\r\n# blah blah\r\nRegina    1910 ...";&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The script will run immediately when it is done loading. So you add a function called "myfunction" (or whatever) to your code and it will be called with a whopping huge string containing the sector data, ready for your parsing needs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16809467-7248565713819917335?l=travellermap.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://travellermap.blogspot.com/feeds/7248565713819917335/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=16809467&amp;postID=7248565713819917335" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/7248565713819917335" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/7248565713819917335" /><link rel="alternate" type="text/html" href="http://travellermap.blogspot.com/2009/04/secmsec-go-jsonp.html" title="SEC/MSEC go JSONP" /><author><name>Joshua Bell</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03352506243815052967" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16809467.post-204118334607863887</id><published>2009-04-16T21:57:00.000-07:00</published><updated>2009-04-16T22:04:04.332-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="API" /><category scheme="http://www.blogger.com/atom/ns#" term="embedding" /><category scheme="http://www.blogger.com/atom/ns#" term="searching" /><title type="text">JSONP - It's what's for breakfast</title><content type="html">Good news, everybody!&lt;br /&gt;&lt;br /&gt;I've added JSONP support to the data APIs (the image APIs don't need it). JSONP allows web pages living on your sites to call APIs on the TravellerMap.com site without any server-side work - it's all in the JavaScript.&lt;br /&gt;&lt;br /&gt;More details: &lt;a href="http://www.travellermap.com/api.htm#jsonp"&gt;JSONP in the TravellerMap.com API Documentation&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here's a short introduction to &lt;a href="http://remysharp.com/2007/10/08/what-is-jsonp/"&gt;using JSONP from jQuery&lt;/a&gt; which is my favorite JavaScript framework. (You'll note that I don't use any frameworks on the TravellerMap.com site; I was loathe to touch them when I started, and the site was a grand experiment in building everything from scratch. But I digress...)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16809467-204118334607863887?l=travellermap.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://travellermap.blogspot.com/feeds/204118334607863887/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=16809467&amp;postID=204118334607863887" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/204118334607863887" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/204118334607863887" /><link rel="alternate" type="text/html" href="http://travellermap.blogspot.com/2009/04/jsonp-its-whats-for-breakfast.html" title="JSONP - It's what's for breakfast" /><author><name>Joshua Bell</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03352506243815052967" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16809467.post-6399090456954191054</id><published>2009-04-11T10:10:00.000-07:00</published><updated>2009-04-11T11:03:09.329-07:00</updated><title type="text">Spinward Marches Data Update</title><content type="html">Despite numerous updates to the bulk of the Imperial data (thanks to the CotI cleanup crew), the Domain of Deneb has suffered in comparison. There has been so much attention paid to this area that there are multiple updates and contradictory canonical and quasi-canonical publications (&lt;a href="http://www.travellerbibliography.org/gdw-ct/Supp3.html"&gt;&lt;span style="font-style: italic;"&gt;Supplement 3: The Spinward Marches&lt;/span&gt;&lt;/a&gt;, &lt;a href="http://www.travellerbibliography.org/gdw-ct/SMC.html"&gt;&lt;span style="font-style: italic;"&gt;The Spinward Marches Campaign&lt;/span&gt;&lt;/a&gt;, &lt;a href="http://www.travellerbibliography.org/dgp/mtj3.html"&gt;&lt;span style="font-style: italic;"&gt;MegaTraveller Journal&lt;/span&gt;&lt;/a&gt;, &lt;span style="font-style: italic;"&gt;Regency Sourcebook&lt;/span&gt;, etc). Of course, between the &lt;a href="http://traveller.wikia.com/wiki/Second_Survey"&gt;Second Survey (1065) &lt;/a&gt;and &lt;a href="http://traveller.wikia.com/wiki/Rebellion"&gt;Rebellion (1116-) &lt;/a&gt;there was also the &lt;a href="http://traveller.wikia.com/wiki/Fifth_Frontier_War"&gt;Fifth Frontier War (1107-1110)&lt;/a&gt; that redrew borders. So even if you set your campaign on the eve of the Rebellion (not coincidentally the end of the &lt;span style="font-weight: bold; font-style: italic;"&gt;Classic Traveller &lt;/span&gt;era and the branch point with the &lt;span style="text-decoration: underline;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://traveller.wikia.com/wiki/GURPS_Traveller"&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;GURPS Traveller &lt;/span&gt;&lt;/a&gt;alternate timeline) - which is ostensibly the era of my map - it's tricky to get the data just right.&lt;br /&gt;&lt;br /&gt;A few weeks ago I sent email to Jerry R. Mapes asking if I could include his &lt;a href="http://www.spinwardmain.net/sector-files/"&gt;cleaned up Spinward Marches data &lt;/a&gt;in my site. He granted permission, with a warning that there was additional cleanup to do and that his failing health precluded spending time on it, but that he was optimistic for the future. Sadly, &lt;a href="http://www.travellerrpg.com/CotI/Discuss/showthread.php?t=19161"&gt;reality intervened&lt;/a&gt;, and &lt;a href="http://www.morningsun.net/obituaries/x1579125016/Jerry-R-Mapes"&gt;Jerry passed away a few days ago&lt;/a&gt;. (&lt;br /&gt;&lt;br /&gt;I've taken his SM 1105 file and made some further corrections by comparing it with other extant data files to turn up anomalies, and set the allegiances to Post-5FW which match the borders on my map.&lt;br /&gt;&lt;br /&gt;Here are the specific changes:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;0605 name "Algeblaster" --&gt; "Algebaster" (per S3:SM, RSB) - &lt;/span&gt;this is consistently mis-typed in SEC files, but is consistently "Algebaster" in print.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;3228 name "Fen's Gren" --&gt; "Fenl's Gren" (per S3:SM text) - &lt;/span&gt;the alternate "Fen's Gren" name appears on the S3 map and in SMC and RSB.  I have no particular attachment, but I saw no big reason to deviate from S3:SM&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;2125 pbg "725" --&gt; "723" (per RSB) - &lt;/span&gt;probably just a typo&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;2519 name "Plannet" --&gt; "Pannet" (per S3:SM, RSB) - &lt;/span&gt;another consistently mis-typed name in SEC files, but consistently "Pannet" in print&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;0234 name "Andory" --&gt; "Andor" (per SMC, RSB)&lt;/span&gt; - this is contraversial. In S3:SM this "Andory" in both the data and map but later sources use "Andor". As this is a fairly well-known world (one of the few multi-world Droyne states in Charted Space) I kept "Andor".&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;1110,1209,1210,1311 alleg --&gt; "Fa"&lt;/span&gt; - the Federation of Arden worlds, post-5FW&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;1324,1325,1522,1523,1524,1525,1526,1529,1626,1627,1628 alleg --&gt; "Bw" - &lt;/span&gt;the Border Worlds,  post-5FW&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;0236,0336 alleg "Im" --&gt; "Dr"&lt;/span&gt; - S3:SM left these as Imperial, but later sources annotate these as trade code "Dw" (Droyne world) or allegiance "Dr" (Droyne). Again, since these are Significant in Charted Space, I decided to make them stand out on the map.&lt;/li&gt;&lt;/ul&gt;As always, comments appreciated.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16809467-6399090456954191054?l=travellermap.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://travellermap.blogspot.com/feeds/6399090456954191054/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=16809467&amp;postID=6399090456954191054" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/6399090456954191054" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/6399090456954191054" /><link rel="alternate" type="text/html" href="http://travellermap.blogspot.com/2009/04/spinward-marches-data-update.html" title="Spinward Marches Data Update" /><author><name>Joshua Bell</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03352506243815052967" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16809467.post-7961690406183127814</id><published>2009-03-28T21:56:00.000-07:00</published><updated>2009-03-29T21:52:12.407-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="API" /><category scheme="http://www.blogger.com/atom/ns#" term="standards" /><category scheme="http://www.blogger.com/atom/ns#" term="stellar" /><category scheme="http://www.blogger.com/atom/ns#" term="sector data" /><category scheme="http://www.blogger.com/atom/ns#" term="data cleanup" /><title type="text">Stellar Data</title><content type="html">A week or so ago I slipped out a &lt;a href="http://www.travellermap.com/formats.htm"&gt;file format&lt;/a&gt; page, adapting Marc Miller's article in Challenge #26 describing the first standard sector data file format. It's pretty bare bones at the moment - just what's in the article so it is preserved for posterity - but I plan to grow this over time to document other sector data file formats that have appeared over the years. Call this "Version 1.0". &lt;br /&gt;&lt;br /&gt;(Honestly, posting it was inspired by site users wondering what the various base codes in the data meant. But everyone seems to love file format discussions...)&lt;br /&gt;&lt;br /&gt;Then, inspired by Yet Another Thread on &lt;a href="http://www.travellerrpg.com/CotI/Discuss/showthread.php?t=19007"&gt;sector data file formats on CotI&lt;/a&gt; I decided to finally tackle stellar data.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Stellar data now output by &lt;a href="http://www.travellermap.com/api.htm#sec"&gt;SEC.aspx API &lt;/a&gt;when present in source data. The following grammar is used:&lt;/li&gt;&lt;/ul&gt;&lt;pre style="font-size: 8pt;"&gt;&lt;br /&gt;// Basic:&lt;br /&gt;//   system     ::= star ( w+ star )*&lt;br /&gt;//&lt;br /&gt;// Extended: (Malenfant's Revised Stellar Generation Rules)&lt;br /&gt;//&lt;br /&gt;//   system     ::= unit ( w+ companion )*&lt;br /&gt;//   companion  ::= near | far&lt;br /&gt;//   near       ::= unit&lt;br /&gt;//   far        ::= "[" system "]"&lt;br /&gt;//   unit       ::= star | pair&lt;br /&gt;//   pair       ::= "(" star w+ star ")"&lt;br /&gt;//&lt;br /&gt;//   star       ::= type tenths w* size main?&lt;br /&gt;//                | dwarf&lt;br /&gt;//                | unknown&lt;br /&gt;//   type       ::= "O" | "B" | "A" | "F" | "G" | "K" | "M"&lt;br /&gt;//   tenths     ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"&lt;br /&gt;//   size       ::= "D" | "Ia" | "Ib" | "II" | "III" | "IV" | "V" | "VI" | "VII"&lt;br /&gt;//   dwarf      ::= "DB" | "DA" | "DF" | "DG" | "DK" | "DM" | "D"&lt;br /&gt;//   unknown    ::= "Un"&lt;br /&gt;//&lt;br /&gt;//   main       ::= "*"&lt;br /&gt;//&lt;br /&gt;//   w          ::= " "&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;"Un" in stellar data is from &lt;a href="http://www.travellermap.com/?sector=Mendan&amp;amp;hex=0221"&gt;Mendan 0221 &lt;/a&gt;in Challenge #46 (by Mike Mikesh). That could be a typo, but I'm interpreting it as "Unknown" (mysteries abound!). Note that the world is an Amber zone, so it's a navigational hazard at least!&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Like other SEC.aspx output, the data is normalized - that is, it's been parsed and then re-output. In some cases this may filter the data. You get what you pay for. In particular, although Malenfant's revised stellar generation data is now consumed by my site, only basic star data is output. &lt;span style="font-style: italic;"&gt;Anyone have a link to Malenfant's rules?&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;SEC.aspx output now has a sector header, similar to the GEnie data. The field lengths are NOT guaranteed to remain fixed, however. Consumers that rely on fixed width fields (rather than Regular Expression or Grammar-based parsers) should parse this header to determine the field lengths.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;pre style="font-size: 8pt;"&gt;&lt;br /&gt; 1-25: Name&lt;br /&gt;27-30: HexNbr&lt;br /&gt;32-40: UWP&lt;br /&gt;   42: Bases&lt;br /&gt;44-68: Codes &amp;amp; Comments&lt;br /&gt;   70: Zone&lt;br /&gt;72-74: PBG&lt;br /&gt;76-77: Allegiance&lt;br /&gt;79-98: Stellar Data&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I tidied up some bogus stellar data: Night (&lt;a href="http://www.travellermap.com/?sector=Core&amp;amp;hex=0839"&gt;Core 0839&lt;/a&gt;) "K8 VI M4" to "K8 VI M4 D" (presumably a truncation); and Tender Mercy (&lt;a href="http://www.travellermap.com/?sector=Ley&amp;amp;hex=0314"&gt;Ley 0314&lt;/a&gt;) "2 V A6 D" to "K2 D M6 D" (ditto); in both cases I used older GEnie data as the source&lt;/li&gt;&lt;li&gt;While I was there, I fixed a couple of O/0  (oh/zero) typos: Kaskar (&lt;a href="http://www.travellermap.com/?sector=Vland&amp;amp;hex=1933"&gt;Vland 1933&lt;/a&gt;) stellar "MO V K6 D" to "M0 V K6 D", and Zdienjbats (&lt;a href="http://www.travellermap.com/?sector=Far+Frontiers&amp;amp;hex=1801"&gt;Far Frontiers 1801&lt;/a&gt;) PBG "BO4" to "B04". The latter actually inhibited the world from showing up on the map - oops!&lt;/li&gt;&lt;/ul&gt;That's it for now!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16809467-7961690406183127814?l=travellermap.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://travellermap.blogspot.com/feeds/7961690406183127814/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=16809467&amp;postID=7961690406183127814" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/7961690406183127814" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/7961690406183127814" /><link rel="alternate" type="text/html" href="http://travellermap.blogspot.com/2009/03/stellar-data.html" title="Stellar Data" /><author><name>Joshua Bell</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03352506243815052967" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16809467.post-2042093974986575123</id><published>2009-03-19T20:44:00.000-07:00</published><updated>2009-03-19T20:48:57.838-07:00</updated><title type="text">Two Cool Maps</title><content type="html">Two non-traditional renderings of some of our favorite subjects.&lt;br /&gt;&lt;br /&gt;First up, a &lt;span style="font-weight: bold; font-style: italic;"&gt;Traveller &lt;/span&gt;subsector, created and illustrated by Merxiless over on CotI:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.travellerrpg.com/CotI/Discuss/showthread.php?t=18839"&gt;http://www.travellerrpg.com/CotI/Discuss/showthread.php?t=18839&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Second, the Milky Way... in logical "subway map" form:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://arbesman.net/milkyway/"&gt;http://arbesman.net/milkyway/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;(When we moved back to San Francisco a few years ago we noted that it the light-rail Muni lines finally had "logical" maps - just like a real grown-up city!)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16809467-2042093974986575123?l=travellermap.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://travellermap.blogspot.com/feeds/2042093974986575123/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=16809467&amp;postID=2042093974986575123" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/2042093974986575123" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/2042093974986575123" /><link rel="alternate" type="text/html" href="http://travellermap.blogspot.com/2009/03/two-cool-maps.html" title="Two Cool Maps" /><author><name>Joshua Bell</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03352506243815052967" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16809467.post-5015444984834291624</id><published>2009-03-17T21:51:00.000-07:00</published><updated>2009-03-17T22:07:32.473-07:00</updated><title type="text">Mismatch Resolved (For Now)</title><content type="html">I've settled on a solution to the &lt;a href="http://travellermap.blogspot.com/2009/03/galaxy-scale-mismatch.html"&gt;galaxy scale mismatch discussed in the previous post&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I analyzed the &lt;a href="http://www.securityleak.com/slm/issue_05/onward_coreward_preface.html"&gt;Mikesh map &lt;/a&gt;and, while the horizontal/vertical parsec ratio is only 0.9, that's closer to the actual ratio than 1.0 which is the ratio of the Linehan map.&lt;br /&gt;&lt;br /&gt;So I've decided to keep the Mikesh map as the primary data source. The galactic structure is now scaled to fit it, which means &lt;a href="http://www.travellermap.com/?x=-8.433999999999969&amp;amp;y=-31.5&amp;amp;scale=0.5&amp;amp;options=2935"&gt;the Galactic Rifts line up&lt;/a&gt;. The change is subtle enough to be pretty much unnoticeable unless you zoom in to where the &lt;a href="http://www.travellermap.com/?x=-170.93399999999997&amp;amp;y=879&amp;amp;scale=4&amp;amp;options=2939"&gt;Core Route and the Galactic Rifts &lt;/a&gt;line up - then they are off by several sectors. But honestly, these were wonky anyway.&lt;br /&gt;&lt;br /&gt;BeRKA suggested dropping some of the Core Route sectors, but they actually have route metadata winding through them. Honestly, I think they're mostly just a "cute" addition to the site and don't take them particularly seriously, but enjoy having them. So I might as well keep them intact.&lt;br /&gt;&lt;br /&gt;By the way, the horizontal/vertical parsec ratio is noticable in Classic Traveller material as well. If you compare the shape of the Imperium presented in the Atlas of the Imperium (by, say, photocopying each page and laying it out like a poster... not that I ever did that...) with the shape of the Imperium as presented in the Alien Module maps you'll see that it's "squashed" in AotI. This is because the AotI-style maps use square hexes. The &lt;a href="http://www.travellermap.com/Poster.aspx?sector=Spinward+Marches&amp;amp;scale=16&amp;amp;options=2931"&gt;"Atlas"-style rendering&lt;/a&gt; on the site uses rectangular hexes. I believe this "squashing" infected the DGP dotmaps as well (in Vilani &amp;amp; Vargr and Solomani &amp;amp; Aslan).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16809467-5015444984834291624?l=travellermap.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://travellermap.blogspot.com/feeds/5015444984834291624/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=16809467&amp;postID=5015444984834291624" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/5015444984834291624" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/5015444984834291624" /><link rel="alternate" type="text/html" href="http://travellermap.blogspot.com/2009/03/mismatch-resolved-for-now.html" title="Mismatch Resolved (For Now)" /><author><name>Joshua Bell</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03352506243815052967" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16809467.post-7783871665917401853</id><published>2009-03-15T21:00:00.001-07:00</published><updated>2009-03-15T21:41:35.327-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="galaxy" /><category scheme="http://www.blogger.com/atom/ns#" term="core route" /><category scheme="http://www.blogger.com/atom/ns#" term="rifts" /><title type="text">Galaxy Scale Mismatch</title><content type="html">Hrm... my two sources of data for the &lt;span style="font-weight: bold; font-style: italic;"&gt;Traveller &lt;/span&gt;galaxy structure don't quite equate, leading to &lt;a href="http://www.travellermap.com/?x=348.56600000000003&amp;amp;y=553.5&amp;amp;scale=0.5&amp;amp;options=2935"&gt;fairly dramatic mismatches&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If you measure the Local Arm's girth at the Ray 0 i.e. through &lt;a href="http://www.travellermap.com/?x=-0.434&amp;amp;y=0.5&amp;amp;scale=64&amp;amp;options=887"&gt;Reference (Core 0140) &lt;/a&gt;on the detailed map from &lt;a href="http://www.securityleak.com/slm/issue_05/onward_coreward_preface.html"&gt;Security Leak by Mike Mikesh&lt;/a&gt;, you get a distance of 1600 parsecs. If you measure the distance on the detailed map by Clifford Linehan - which he used to construct the &lt;a href="http://travellermap.blogspot.com/2005/05/added-content-zhodani-core-route.html"&gt;Zhodani Core Route&lt;/a&gt; - you get a distance of 1760 parsecs.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_MpMDZ7vPi9E/Sb3QtQD7ZsI/AAAAAAAAABs/jvZluJQ6VZc/s1600-h/arm.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px; height: 142px;" src="http://4.bp.blogspot.com/_MpMDZ7vPi9E/Sb3QtQD7ZsI/AAAAAAAAABs/jvZluJQ6VZc/s200/arm.JPG" alt="" id="BLOGGER_PHOTO_ID_5313632611191187138" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-style: italic;"&gt;Composite of the two maps.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;That's about a 10% difference... and it's going to bother me. I dug a bit further and it looks like the Security Leak #5 map is the original source, &lt;a href="http://web.archive.org/web/20021020142743/www.geocities.com/traveller_core_route/proj001/faq.html"&gt;per this conversation between Marc Miller and Clifford Linehan&lt;/a&gt;. Mr. Linehan took Mike Mikesh's original, scanned it, cleaned it up, and handed the results back to MWM who took it under the FFE fold. This would indicate that either Mr. Linehan corrected the size (to fit known dimensions of the galaxy) or accidentally scaled it up. (Charted Space doesn't quite line up either.)&lt;br /&gt;&lt;br /&gt;Since &lt;span style="font-weight: bold; font-style: italic;"&gt;Traveller &lt;/span&gt;parsecs are based on a hexagonal grid, it's actually easy to introduce an error of  around 14% - hexes pack more tightly horizontally than vertically, with a ratio around 0.868. This is factored in when I map from image-space to world-space (and you'll see residue in the &lt;a href="http://www.travellermap.com/api.htm"&gt;API&lt;/a&gt;). Here's a sample - the red square is precisely 10 parsecs tall, but more than 11 parsecs wide - yet it's a perfect square if you count the pixels.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_MpMDZ7vPi9E/Sb3W9YjbXaI/AAAAAAAAAB0/uos62cH76DU/s1600-h/parsecs.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px; height: 136px;" src="http://4.bp.blogspot.com/_MpMDZ7vPi9E/Sb3W9YjbXaI/AAAAAAAAAB0/uos62cH76DU/s200/parsecs.png" alt="" id="BLOGGER_PHOTO_ID_5313639485418462626" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;If I had to guess, I'd say that one of the two galactic-scale map authors was unaware of this, and and used a horizontally-biased parsec scale for determining the number of sectors between Charted Space and the galactic core.&lt;br /&gt;&lt;br /&gt;Bleah. :(&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16809467-7783871665917401853?l=travellermap.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://travellermap.blogspot.com/feeds/7783871665917401853/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=16809467&amp;postID=7783871665917401853" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/7783871665917401853" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/7783871665917401853" /><link rel="alternate" type="text/html" href="http://travellermap.blogspot.com/2009/03/galaxy-scale-mismatch.html" title="Galaxy Scale Mismatch" /><author><name>Joshua Bell</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03352506243815052967" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_MpMDZ7vPi9E/Sb3QtQD7ZsI/AAAAAAAAABs/jvZluJQ6VZc/s72-c/arm.JPG" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16809467.post-901187401250673144</id><published>2009-03-14T22:08:00.000-07:00</published><updated>2009-03-14T22:28:12.010-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="rifts" /><category scheme="http://www.blogger.com/atom/ns#" term="styles" /><category scheme="http://www.blogger.com/atom/ns#" term="candy" /><title type="text" /><content type="html">That article on rifts from &lt;a href="http://www.securityleak.com/"&gt;Security Leak &lt;/a&gt;fanzine was too good to pass up, so I've incorporated &lt;a href="http://www.securityleak.com/slm/issue_05/onward_coreward_preface.html"&gt;Mike Mikesh's speculation on the extent of the local rifts&lt;/a&gt;. &lt;a href="http://www.travellermap.com/?x=-1.9339&amp;amp;y=-31.625&amp;amp;scale=0.5&amp;amp;options=4983"&gt;Check it out&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_MpMDZ7vPi9E/SbyN89KDdqI/AAAAAAAAABc/ucUz-KX3L4Q/s1600-h/rifts.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px; height: 117px;" src="http://1.bp.blogspot.com/_MpMDZ7vPi9E/SbyN89KDdqI/AAAAAAAAABc/ucUz-KX3L4Q/s200/rifts.jpg" alt="" id="BLOGGER_PHOTO_ID_5313277738738742946" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Rift rendering using vectors has been dropped, and it now relies on a bitmap - this gives softer edges which IMHO is an improvement. If you zoom out the rifts gradually fade as they become insignificant relative to the overall Galactic structure. If you zoom in they fade in, then disappear at the same point where the map stops rendering "background" stars - now at 4 pixels/parsec. In between they're quite pretty - and look somewhat like an absorption (or "dark") nebula.&lt;br /&gt;&lt;br /&gt;The effect is present but not particularly visible in non-Candy styles as well, most notably now as dark shading in the &lt;a href="http://www.travellermap.com/?x=-0.434&amp;amp;y=0.5&amp;amp;scale=2&amp;amp;options=2935"&gt;"Atlas" style&lt;/a&gt; which mimics (crudely) the shading of the rifts shown in the Alien Module maps. The edges of the rifts are a bit coarse, and I'll probably tweak them over time.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_MpMDZ7vPi9E/SbyPZtHuc2I/AAAAAAAAABk/5tYrxkMT-mE/s1600-h/rifts2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px; height: 144px;" src="http://3.bp.blogspot.com/_MpMDZ7vPi9E/SbyPZtHuc2I/AAAAAAAAABk/5tYrxkMT-mE/s200/rifts2.jpg" alt="" id="BLOGGER_PHOTO_ID_5313279332161844066" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;As always, comments appreciated.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16809467-901187401250673144?l=travellermap.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://travellermap.blogspot.com/feeds/901187401250673144/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=16809467&amp;postID=901187401250673144" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/901187401250673144" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/901187401250673144" /><link rel="alternate" type="text/html" href="http://travellermap.blogspot.com/2009/03/that-article-on-rifts-from-security.html" title="" /><author><name>Joshua Bell</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03352506243815052967" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_MpMDZ7vPi9E/SbyN89KDdqI/AAAAAAAAABc/ucUz-KX3L4Q/s72-c/rifts.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16809467.post-3798298089302089146</id><published>2009-03-14T12:39:00.001-07:00</published><updated>2009-03-14T14:16:40.434-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="galaxy" /><category scheme="http://www.blogger.com/atom/ns#" term="styles" /><category scheme="http://www.blogger.com/atom/ns#" term="candy" /><title type="text">Far Out, Man!</title><content type="html">Start at &lt;a href="http://www.travellermap.com/?x=-0.434&amp;amp;y=0.5&amp;amp;scale=128&amp;amp;options=4983"&gt;Reference in "Candy" style&lt;/a&gt; - and then zoom out. A lot.&lt;br /&gt;&lt;br /&gt;Go ahead, I'll wait for you.&lt;br /&gt;&lt;br /&gt;Nifty, huh?&lt;br /&gt;&lt;br /&gt;Okay, if you're lazy, here's the image:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.travellermap.com/res/Candy/Galaxy.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 384px; height: 384px;" src="http://www.travellermap.com/res/Candy/Galaxy.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Well, I think it's nice, at any rate. This is inspired by the latest renderings of the real Milky Way galaxy, such as the one over at the &lt;a href="http://www.atlasoftheuniverse.com/milkyway.html"&gt;Atlas of the Universe&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.atlasoftheuniverse.com/milkyway2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 384px; height: 384px;" src="http://www.atlasoftheuniverse.com/milkyway2.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;(Milky Way image © Richard Powell, c/o &lt;a href="http://www.atlasoftheuniverse.com/milkyway.html"&gt;Atlas of the Universe&lt;/a&gt;.)&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;However, the TravellerMap site is a map of the &lt;span style="font-weight: bold; font-style: italic;"&gt;Traveller &lt;/span&gt;galaxy, not the real Milky Way, so I had to pull out the image editor and build it from scratch. This is based on the &lt;span style="font-weight: bold; font-style: italic;"&gt;Traveller &lt;/span&gt;galaxy map first &lt;a href="http://travellermap.blogspot.com/2005/05/rendering-change-galactic-structure.html"&gt;introduced to the site back in 2005&lt;/a&gt;, courtesy of Clifford Linehan from his (now defunct?) &lt;a href="http://web.archive.org/web/20040523022859/http://www.geocities.com/traveller_core_route/"&gt;Zhodani Core Route&lt;/a&gt; site, sourced by Marc Miller:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_MpMDZ7vPi9E/SbwMkoM4L_I/AAAAAAAAABU/7YfRdObLBts/s1600-h/galaxy.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px; height: 200px;" src="http://1.bp.blogspot.com/_MpMDZ7vPi9E/SbwMkoM4L_I/AAAAAAAAABU/7YfRdObLBts/s200/galaxy.gif" alt="" id="BLOGGER_PHOTO_ID_5313135483796598770" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;(Traveller Galaxy image © Far Future Enterprises, c/o Clifford Linehan)&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;There are definite differences between the real and fictional galaxy. For example, in the real Milky Way, Earth's sun is part of the Orion Arm, which is mere spur off of the Perseus Arm, next to the Sagittarius Arm. In the &lt;span style="font-weight: bold; font-style: italic;"&gt;Traveller &lt;/span&gt;galaxy, Terra appears to be in the main body of a major arm.  The real Milky Way is a distinctive barred spiral, whereas the &lt;span style="font-weight: bold; font-style: italic;"&gt;Traveller &lt;/span&gt;galaxy is not notably barred (although I rendered a subtle bar in anyway). In a real galaxy, there are nearly as many stars in the rifts between arms as there are in the arms themselves - the arms are slowly propagating gas density waves that induce more star formation, so they are full of bright young stars. In the &lt;span style="font-weight: bold; font-style: italic;"&gt;Traveller &lt;/span&gt;galaxy, the rifts have much lower density, which makes things trickier for the &lt;a href="http://www.travellermap.com/?x=-181.434&amp;amp;y=929.6875&amp;amp;scale=16&amp;amp;options=891"&gt;Zhodani core expeditions&lt;/a&gt;. I don't have a problem with this difference - after all, space in &lt;span style="font-weight: bold; font-style: italic;"&gt;Traveller &lt;/span&gt;is 2D. I view this as a perfectly acceptable simplification for the game universe, and don't attempt to fit it to reality. To me, it's a lot like chess. Real battles between opposing armies rarely take place on a perfectly flat 8x8 grid, but that doesn't mean chess isn't a fun game that teaches real strategy.&lt;br /&gt;&lt;br /&gt;To create the image I took the galaxy map (isolated to a white-on-black mask), the &lt;a href="http://www.travellermap.com/?x=-448.43399999999997&amp;amp;y=9408.5&amp;amp;scale=0.03125&amp;amp;options=887"&gt;pseudorandom stars&lt;/a&gt; from the map site, &lt;a href="http://www.getpaint.net/"&gt;Paint.NET&lt;/a&gt; and experimented with various layers, blurs, and mixing functions. The cloudy arms were created by blurring the map, rendering in clouds, then using a twist filter. This had various densities of galactic structure and stars layered on top. The core was generated with several overlapping gradients to get an overall white glow, the rosy core, and the bright bar.&lt;br /&gt;&lt;br /&gt;If you zoom in, the "Galaxy" image will gradually fade to the "Nebula" background used for &lt;a href="http://travellermap.blogspot.com/2007/07/candy-candy-candy.html"&gt;candy-style rendering&lt;/a&gt; (c/o Wayne Peters). The only &lt;a href="http://www.travellermap.com/?x=16.926&amp;amp;y=22.5&amp;amp;scale=0.5&amp;amp;options=4983"&gt;really grody bit &lt;/a&gt;is that the local rifts fade in as well, and they have abrupt edges. I'm pondering what to do there. Classic Library Data states:&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;Situated in the center of the Imperium, Capital's astrographic location has proven of prime importance, &lt;span style="font-style: italic;"&gt;as it controls the only gap in the Rifts for thousands of parsecs. &lt;/span&gt;Besides being a communications hub, Capital is a cultural center, and educational focus. - &lt;span style="font-style: italic;"&gt;Adventure 3: Twilight's Peak&lt;/span&gt;&lt;span style="font-style: italic;"&gt; (emphasis mine)&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;The emphasized portion is not present in &lt;span style="font-weight: bold; font-style: italic;"&gt;Supplement 8: Library Data (A-M)&lt;/span&gt; and &lt;a href="http://traveller.wikia.com/wiki/Capital"&gt;later updates of the Library Data for Capital&lt;/a&gt;, possibly because the Traveller universe was more refined. However, looked at on the scale of hundreds of parsecs, it is true that the Imperium - centered on Capital, does control the only large gap in the rifts... if the Great Rift and Lesser Rift are presumed to continue on for a thousand parsecs in each direction.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;w00t! &lt;/span&gt;Google just found me an issue of &lt;a href="http://www.securityleak.com/"&gt;Security Leak Magazine&lt;/a&gt; where &lt;a href="http://www.securityleak.com/slm/issue_05/onward_coreward_preface.html"&gt;Mike Mikesh analyzes the local rifts&lt;/a&gt; in the context of the overall &lt;span style="font-weight: bold; font-style: italic;"&gt;Traveller &lt;/span&gt;galaxy - sweet! Well, I guess I know what I have to do next...&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16809467-3798298089302089146?l=travellermap.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://travellermap.blogspot.com/feeds/3798298089302089146/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=16809467&amp;postID=3798298089302089146" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/3798298089302089146" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/3798298089302089146" /><link rel="alternate" type="text/html" href="http://travellermap.blogspot.com/2009/03/far-out-man.html" title="Far Out, Man!" /><author><name>Joshua Bell</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03352506243815052967" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_MpMDZ7vPi9E/SbwMkoM4L_I/AAAAAAAAABU/7YfRdObLBts/s72-c/galaxy.gif" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16809467.post-8989893552892773060</id><published>2009-02-27T21:33:00.000-08:00</published><updated>2009-02-27T21:49:22.830-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="overview" /><category scheme="http://www.blogger.com/atom/ns#" term="borders" /><category scheme="http://www.blogger.com/atom/ns#" term="metadata" /><category scheme="http://www.blogger.com/atom/ns#" term="routes" /><title type="text">Data Overview 2009</title><content type="html">At the start of 2008 I &lt;a href="http://travellermap.blogspot.com/2008/01/data-overview-gushemege-routes-keyboard.html"&gt;posted a data overview&lt;/a&gt;, showing how much things had &lt;a href="http://travellermap.blogspot.com/2006/10/how-is-metadata-coming.html"&gt;changed since 2006&lt;/a&gt;. This should probably become a yearly tradition, so here's the official 2009 overview:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_MpMDZ7vPi9E/SajM6EGzooI/AAAAAAAAABM/b1L_gfxXHz4/s1600-h/travellermap_data_2009-02-27.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 320px;" src="http://2.bp.blogspot.com/_MpMDZ7vPi9E/SajM6EGzooI/AAAAAAAAABM/b1L_gfxXHz4/s320/travellermap_data_2009-02-27.gif" alt="" id="BLOGGER_PHOTO_ID_5307717458762900098" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Not a whole lot of change. So far as I can tell by doing a "&lt;a href="http://en.wikipedia.org/wiki/Blink_comparator"&gt;blink compare&lt;/a&gt;", at this scale the only differences are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://travellermap.blogspot.com/2008/07/minor-updates-uisilrao-theron-delphi.html"&gt;Routes in Delphi&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://travellermap.blogspot.com/2008/02/afachtiabr-far-frontiers.html"&gt;Coreward half of Far Frontiers&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://travellermap.blogspot.com/2008/07/minor-updates-uisilrao-theron-delphi.html"&gt;Rework of Kaa G!'kul &lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://travellermap.blogspot.com/2008/07/minor-updates-uisilrao-theron-delphi.html"&gt;Sector data updates to Theron&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Anything else I can plug in, dear readers?&lt;br /&gt;&lt;br /&gt;(I used &lt;a href="http://tortoisesvn.tigris.org/TortoiseIDiff.html"&gt;TortoiseIDiff &lt;/a&gt;to do the blink comparison. I used a similar technique while doing the &lt;a href="http://travellermap.blogspot.com/2005/09/added-content-solomani-and-aslan.html"&gt;Solomani and Aslan Dotmap Reconstruction&lt;/a&gt;.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16809467-8989893552892773060?l=travellermap.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://travellermap.blogspot.com/feeds/8989893552892773060/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=16809467&amp;postID=8989893552892773060" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/8989893552892773060" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/8989893552892773060" /><link rel="alternate" type="text/html" href="http://travellermap.blogspot.com/2009/02/data-overview-2009.html" title="Data Overview 2009" /><author><name>Joshua Bell</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03352506243815052967" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_MpMDZ7vPi9E/SajM6EGzooI/AAAAAAAAABM/b1L_gfxXHz4/s72-c/travellermap_data_2009-02-27.gif" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16809467.post-4282553579385314664</id><published>2009-02-20T21:38:00.000-08:00</published><updated>2009-02-20T21:51:10.295-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="API" /><category scheme="http://www.blogger.com/atom/ns#" term="searching" /><title type="text">More search tweaks</title><content type="html">Okay, a few more tweaks:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The handling of multi-word searches is now "Web-like". Multiple words in a search turn into multiple AND clauses. So "so ri" would find Solomani Rim sector.&lt;/li&gt;&lt;li&gt;You can specify &lt;span style="font-weight: bold;"&gt;exact:&lt;/span&gt; as a prefix to force an exact name match of that term. So "exact:sol" will find only Sol subsector.&lt;/li&gt;&lt;li&gt;You can specify &lt;span style="font-weight: bold;"&gt;uwp&lt;/span&gt;: as a prefix  to match a UWP. (Searching only for XXXXXXX-X remains as a shortcut for a UWP search.)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;If you use wildcards, the "prefix search" functionality is turned off. That is, normally "reg" would match "Regina" and "Beta Regilis". "reg*" will only match names starting with "reg"&lt;/li&gt;&lt;/ul&gt;And you can combine these, for example:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;t* uwp:*f &lt;span style="font-style: italic;"&gt;-  &lt;/span&gt;find worlds starting with T with Tech Level F&lt;/li&gt;&lt;li&gt;exact:terra uwp:a* - find worlds named Terra with Class A starports&lt;/li&gt;&lt;/ul&gt;Limitations:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Searches are performed on specific item data only, not the context of the item. By that I mean: you can't search on "solomani rim uwp:a*" since it would only search for worlds named "solomani" and "rim".&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Search results may include alternate languages or spellings that are known to the site metadata but aren't shown. For example, Solomani Rim is known as &lt;em&gt;Kushuggi&lt;/em&gt; in Vilani, so "kush*" would find it, although it won't be apparent why.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16809467-4282553579385314664?l=travellermap.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://travellermap.blogspot.com/feeds/4282553579385314664/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=16809467&amp;postID=4282553579385314664" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/4282553579385314664" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/4282553579385314664" /><link rel="alternate" type="text/html" href="http://travellermap.blogspot.com/2009/02/more-search-tweaks.html" title="More search tweaks" /><author><name>Joshua Bell</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03352506243815052967" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16809467.post-7107655303711782406</id><published>2009-02-19T21:23:00.000-08:00</published><updated>2009-02-19T21:37:00.201-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="API" /><category scheme="http://www.blogger.com/atom/ns#" term="searching" /><title type="text">Search: Now with UWPs</title><content type="html">Has this ever happened to you?&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;Damn... where did I leave that world?!?! I know it's UWP is A7899B9-B but I can't for the life of me remember where I left it! Well, I'm not sure... maybe it was B7899B9-C or A7899B9-C... ugh...&lt;/span&gt;&lt;/blockquote&gt;If so, your days of trouble are over! You can now search for UWPs. Here's how it works:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;By default, search still only looks for names (sectors, subsectors, and worlds), matching starts of words (so "sol" matches "Solomani Rim", "Sol", and "Nowa Sol")&lt;br /&gt;&lt;/li&gt;&lt;li&gt;If your search term has the pattern &lt;span style="font-weight: bold;"&gt;XXXXXXX-X&lt;/span&gt; (7-1) the search looks for exact matches of UWPs instead (not prefixes)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;You can also make it explicit and use a &lt;span style="font-weight: bold;"&gt;uwp:&lt;/span&gt; prefix on the search to force UWP matching&lt;/li&gt;&lt;/ul&gt;And for added bonus:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Wildcard searches are supported, using either the &lt;span style="font-weight: bold;"&gt;%&lt;/span&gt; or &lt;span style="font-weight: bold;"&gt;*&lt;/span&gt; character. They mean the same - match zero or more characters. So you could search on &lt;span style="font-weight: bold;"&gt;R*g*a&lt;/span&gt; to find Regina. Note that searches have an implicit wildcard at the end, so that's the same as &lt;span style="font-weight: bold;"&gt;R*g*a*&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;You can combine wildcards with the &lt;span style="font-weight: bold;"&gt;uwp: &lt;/span&gt;prefix as well. The &lt;a href="http://www.travellermap.com/api.htm#search"&gt;Search API documentation&lt;/a&gt; has been documented to reflect this.&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;A cookie to the first commenter that finds my missing world!&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16809467-7107655303711782406?l=travellermap.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://travellermap.blogspot.com/feeds/7107655303711782406/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=16809467&amp;postID=7107655303711782406" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/7107655303711782406" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/7107655303711782406" /><link rel="alternate" type="text/html" href="http://travellermap.blogspot.com/2009/02/search-now-with-uwps.html" title="Search: Now with UWPs" /><author><name>Joshua Bell</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03352506243815052967" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16809467.post-1580700259667555633</id><published>2009-02-18T21:44:00.000-08:00</published><updated>2009-02-19T21:37:31.298-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="API" /><category scheme="http://www.blogger.com/atom/ns#" term="searching" /><title type="text">Search: Better, Faster, Stronger... Geekier</title><content type="html">I've taken the plunge - the search feature (and back end of the &lt;a href="http://www.travellermap.com/api.htm#search"&gt;Search API&lt;/a&gt;) is now powered by a real honest-to-Turing database engine. Yes... I've entered the 1970s!&lt;br /&gt;&lt;br /&gt;If you were playing with the site for the last hour or so, you may have noticed that search went wonky. As usual, code that worked fine in my staging environment (my laptop) ran into scaling/performance issues when in the production environment - 130k separate INSERT statements took longer than ASP.NET likes to wait. A little fiddling with DataTables and SqlBulkCopy and now a rebuild of the database takes under ten seconds. Hooray!&lt;br /&gt;&lt;br /&gt;What you'll find:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Search is better. Instead of exact word matches it will now do stem matches. So "Sol" will find "Solomani Rim (sector)" and "Sol (subsector)"&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Search is faster. Previously, the search was done by creating an in-memory hashtable-based index that could be disposed of at ASP.NET's whim. So the first search on a cold index would take &gt;10 seconds; subsequent searches would be faster... until the server decided to reclaim memory. I don't believe my hosting provider executes the site across multiple hosts, but that's now feasible at least.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Search is stronger. The database can be rebuilt in a few seconds from the raw data files (and ginormous metadata map) but that will only be necessary on data updates.&lt;/li&gt;&lt;/ul&gt;Now, all that said...&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;It's not going to give any additional result data back just yet, nor allow searching on other fields. The outstanding request - that should now be easy to service - is to allow searching by UWP. I have the data ready, I just need to write the glue, but I'm out of time for tonight.&lt;/li&gt;&lt;li&gt;The results are fairly arbitrary - matching sectors, matching subsectors, then matching worlds - and a max of 20 results total. Previously that wasn't a problem, but with the looser matching it could be less than idea. Feedback?&lt;/li&gt;&lt;/ul&gt;What else do you want? What problems have you noticed?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16809467-1580700259667555633?l=travellermap.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://travellermap.blogspot.com/feeds/1580700259667555633/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=16809467&amp;postID=1580700259667555633" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/1580700259667555633" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/1580700259667555633" /><link rel="alternate" type="text/html" href="http://travellermap.blogspot.com/2009/02/search-better-faster-stronger-geekier.html" title="Search: Better, Faster, Stronger... Geekier" /><author><name>Joshua Bell</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03352506243815052967" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16809467.post-8915593391545319981</id><published>2009-01-30T11:54:00.000-08:00</published><updated>2009-01-30T12:01:24.658-08:00</updated><title type="text">It's Just Not There</title><content type="html">I was pondering the X-Boat route from &lt;a href="http://www.travellermap.com/?sector=Spinward+Marches&amp;amp;hex=1826"&gt;Tenalphi&lt;/a&gt; to &lt;a href="http://www.travellermap.com/?sector=Spinward+Marches&amp;amp;hex=2327"&gt;Strouden &lt;/a&gt;in the &lt;a href="http://www.travellermap.com/?sector=Spinward+Marches"&gt;Spinward Marches&lt;/a&gt; - which, as everyone knows, is 5-parsecs long despite X-Boats being J4 - and settled on an explanation IMTU.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.travellermap.com/?sector=Spinward+Marches&amp;amp;hex=2127"&gt;Spinward Marches 2127&lt;/a&gt; doesn't exist.&lt;br /&gt;&lt;br /&gt;Jump Space goes non-Cartesian for that parsec. You can't jump to that hex. Jump distances measured across that hex are one parsec shorter than they would appear to be. It's like... oh, I don't know... someone cut out that hex and stretched the map around it in to fill in the gap.&lt;br /&gt;&lt;br /&gt;Now... who could do a think like that? And why would they want to erase an entire hex in the Spinward Marches?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16809467-8915593391545319981?l=travellermap.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://travellermap.blogspot.com/feeds/8915593391545319981/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=16809467&amp;postID=8915593391545319981" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/8915593391545319981" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/8915593391545319981" /><link rel="alternate" type="text/html" href="http://travellermap.blogspot.com/2009/01/its-just-not-there.html" title="It's Just Not There" /><author><name>Joshua Bell</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03352506243815052967" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16809467.post-7380287047484329828</id><published>2008-11-08T13:46:00.000-08:00</published><updated>2008-11-08T13:48:08.944-08:00</updated><title type="text">Bigger Smaller Maps</title><content type="html">By request, I've replaced the Large/Small checkbox on the &lt;a href="http://www.travellermap.com/Mobile.aspx"&gt;Mobile Map&lt;/a&gt; page with a drop-down containing four size choices, for mobile devices with bigger screens.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16809467-7380287047484329828?l=travellermap.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://travellermap.blogspot.com/feeds/7380287047484329828/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=16809467&amp;postID=7380287047484329828" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/7380287047484329828" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/7380287047484329828" /><link rel="alternate" type="text/html" href="http://travellermap.blogspot.com/2008/11/bigger-smaller-maps.html" title="Bigger Smaller Maps" /><author><name>Joshua Bell</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03352506243815052967" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16809467.post-2346593821780738329</id><published>2008-09-20T21:34:00.001-07:00</published><updated>2008-09-20T21:36:37.134-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="poster" /><category scheme="http://www.blogger.com/atom/ns#" term="post" /><category scheme="http://www.blogger.com/atom/ns#" term="styles" /><title type="text">Minor Poster tweaks</title><content type="html">Per request, I've added the ability to specify style options (and other parameters) from the &lt;a href="http://www.travellermap.com/post.htm"&gt;post.htm&lt;/a&gt; demo page. As a convenience for web authors, the &lt;a href="http://www.travellermap.com/api.htm#poster"&gt;Poster API &lt;/a&gt;now handles options passed in as POST parameters, not just GET parameters.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16809467-2346593821780738329?l=travellermap.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://travellermap.blogspot.com/feeds/2346593821780738329/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=16809467&amp;postID=2346593821780738329" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/2346593821780738329" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/2346593821780738329" /><link rel="alternate" type="text/html" href="http://travellermap.blogspot.com/2008/09/minor-poster-tweaks.html" title="Minor Poster tweaks" /><author><name>Joshua Bell</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03352506243815052967" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16809467.post-3127351888481127588</id><published>2008-07-06T12:21:00.000-07:00</published><updated>2008-07-06T12:33:48.695-07:00</updated><title type="text">Minor Updates - Uisilrao, Theron, Delphi, Kaa G!'kul</title><content type="html">Some minor updates, hopefully nothing breaks:&lt;br /&gt;&lt;br /&gt;Data&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Replaced &lt;span style="font-style: italic;"&gt;Tealou Arlaoh &lt;/span&gt;worlds in my &lt;a href="http://travellermap.blogspot.com/2005/09/added-content-solomani-and-aslan.html"&gt;Dotmap Reconstruction &lt;/a&gt;of &lt;a href="http://www.travellermap.com/?sector=Uistilrao"&gt;Uistilrao&lt;/a&gt; sector with &lt;a href="%28http://zho.berka.com/data/CLASSIC/sector.pl?sector=UISTILAO"&gt;data from BeRKA&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Added &lt;a href="http://www.travellermap.com/?sector=Uistilao"&gt;Uistilao&lt;/a&gt; as an alias for &lt;a href="http://www.travellermap.com/?sector=Uistilrao"&gt;Uistilrao&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Replaced custom-generated &lt;a href="http://zho.berka.com/data/CLASSIC/sector.pl?sector=THERON"&gt;Theron &lt;/a&gt;data with BeRKA's&lt;/li&gt;&lt;li&gt;Incorporate xboat routes for &lt;a href="http://www.travellermap.com/?sector=Delphi"&gt;Delphi &lt;/a&gt;from the &lt;a href="http://jtas.sjgames.com/login/article.cgi?384"&gt;JTAS Delphi Discussion&lt;/a&gt; (subscription required)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Updated &lt;a href="http://www.travellermap.com/?sector=Kaa+G%21%27kul"&gt;Kaa G!'kul&lt;/a&gt; sector data based on Mike McKeown's redux of Leroy Guatney's HIWG data&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;   Rendering&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.travellermap.com/?sector=Ley"&gt;Ley Sector&lt;/a&gt; has IL (Imperial - Luriana Cultural) and IU (Imperial - Ursa Cultural) allegiances - map to "Im" for the purposes of rendering for map consistency (cultural regions are not generally called out on my map)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt; API&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.travellermap.com/api.htm#coordinates"&gt;Coordinates API&lt;/a&gt; now takes sector[/hex] OR sx/sy[/hx/hy] and returns (World-space) x/y in addition to sx/sy/hx/hy&lt;br /&gt;&lt;/li&gt;&lt;li&gt;API docs now validate as HTML 4.0 Transitional&lt;/li&gt;&lt;li&gt;Added &lt;a href="http://www.travellermap.com/api.htm#universe"&gt;Universe API&lt;/a&gt; for fetching high level data about the universe - list of known sectors&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16809467-3127351888481127588?l=travellermap.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://travellermap.blogspot.com/feeds/3127351888481127588/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=16809467&amp;postID=3127351888481127588" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/3127351888481127588" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/3127351888481127588" /><link rel="alternate" type="text/html" href="http://travellermap.blogspot.com/2008/07/minor-updates-uisilrao-theron-delphi.html" title="Minor Updates - Uisilrao, Theron, Delphi, Kaa G!'kul" /><author><name>Joshua Bell</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03352506243815052967" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16809467.post-8142572342674343781</id><published>2008-06-06T21:13:00.000-07:00</published><updated>2008-06-06T21:18:09.671-07:00</updated><title type="text">Here There Be Dragons</title><content type="html">&lt;span class="press_text"&gt;"Right now, our map of the Milky Way still has large  areas marked 'Here there be dragons.' Ten years from now, those areas will be  filled in," said Mark Reid, &lt;/span&gt;&lt;span class="press_text"&gt;of the  Harvard-Smithsonian Center for Astrophysics. - &lt;a href="http://www.universetoday.com/2008/06/04/map-of-milky-way-redrawn-again/"&gt;Universe Today&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A realistic rendering of a two-armed Milky Way is to be had at &lt;a href="http://antwrp.gsfc.nasa.gov/apod/ap080606.html"&gt;Astronomy Picture of the Day&lt;/a&gt; in lovely mouse-over format, or the originals at the &lt;a href="http://www.spitzer.caltech.edu/Media/releases/ssc2008-10/visuals.shtml"&gt;Spitzer Space Telescope&lt;/a&gt; site.&lt;br /&gt;&lt;br /&gt;Somewhere on the TODO list is to make the map look something like this in Candy style when you zoom out all the way.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16809467-8142572342674343781?l=travellermap.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://travellermap.blogspot.com/feeds/8142572342674343781/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=16809467&amp;postID=8142572342674343781" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/8142572342674343781" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/8142572342674343781" /><link rel="alternate" type="text/html" href="http://travellermap.blogspot.com/2008/06/here-there-be-dragons.html" title="Here There Be Dragons" /><author><name>Joshua Bell</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03352506243815052967" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16809467.post-6392022647257168851</id><published>2008-03-28T21:43:00.000-07:00</published><updated>2008-03-28T21:51:46.425-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="API" /><title type="text">JumpMap and Credits tweaks</title><content type="html">Three slight tweaks:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Further cleaned up &lt;a href="http://www.travellermap.com/api.htm#systems"&gt;coordinates documentation&lt;/a&gt; in the API docs&lt;/li&gt;&lt;li&gt;While doing that, added support for &lt;a href="http://www.travellermap.com/api.htm#system_location"&gt;sector/hex&lt;/a&gt; and &lt;a href="http://www.travellermap.com/api.htm#system_sectorhex"&gt;sx/sy/hx/hy&lt;/a&gt; in addition to x/y for specifying the location for the &lt;a href="http://www.travellermap.com/api.htm#credits"&gt;Credits API&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;After &lt;a href="http://www.west-wind.com/WebLog/posts/8230.aspx"&gt;bludgeoning at GDI+ with a pointy stick&lt;/a&gt;, made the JumpMap API spit out transparent PNGs, so the bit outside the border will blend more appropriately with hosting sites. Sorry, transparent GIFs are &lt;a href="http://www.bobpowell.net/giftransparency.htm"&gt;too much work&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16809467-6392022647257168851?l=travellermap.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://travellermap.blogspot.com/feeds/6392022647257168851/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=16809467&amp;postID=6392022647257168851" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/6392022647257168851" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/6392022647257168851" /><link rel="alternate" type="text/html" href="http://travellermap.blogspot.com/2008/03/jumpmap-and-credits-tweaks.html" title="JumpMap and Credits tweaks" /><author><name>Joshua Bell</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03352506243815052967" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16809467.post-653835307508519241</id><published>2008-03-26T00:30:00.001-07:00</published><updated>2008-03-26T00:31:10.355-07:00</updated><title type="text">Coordinate Systems</title><content type="html">Thanks to API users, I realized my documentation of coordinate systems used by the site and various APIs was horrible.&lt;br /&gt;&lt;br /&gt;Please take a peek at the new &lt;a href="http://www.travellermap.com/api.htm#systems"&gt;Coordinate Systems&lt;/a&gt; documentation and let me know if it makes any more sense.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16809467-653835307508519241?l=travellermap.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://travellermap.blogspot.com/feeds/653835307508519241/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=16809467&amp;postID=653835307508519241" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/653835307508519241" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/653835307508519241" /><link rel="alternate" type="text/html" href="http://travellermap.blogspot.com/2008/03/coordinate-systems.html" title="Coordinate Systems" /><author><name>Joshua Bell</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03352506243815052967" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16809467.post-1663664277773181515</id><published>2008-03-16T21:43:00.000-07:00</published><updated>2008-03-21T21:26:27.463-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="easter eggs" /><category scheme="http://www.blogger.com/atom/ns#" term="styles" /><title type="text">The Equinox is Nigh: Candy and Eggs</title><content type="html">Wayne Peters dropped me an updated background image for the &lt;a href="http://travellermap.blogspot.com/2007/07/candy-candy-candy.html"&gt;Candy Style rendering&lt;/a&gt;. The old image was a &lt;a href="http://www.jpeg.org/"&gt;JPEG&lt;/a&gt;, and since you always see it zoomed in the artifacts were noticeable. The new image is a &lt;a href="http://www.w3.org/Graphics/PNG/"&gt;PNG &lt;/a&gt;and so no more artifacts. The &lt;a href="http://travellermap.blogspot.com/2006/05/how-did-you-do-that.html"&gt;tiles &lt;/a&gt;themselves are still JPEG, but you don't notice the compression. (&lt;a href="http://www.travellermap.com/?x=-91.2499375&amp;amp;y=73.078125&amp;amp;scale=128&amp;amp;options=4983"&gt;example&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Also... it's that time of the year again. My wife has broken out her &lt;a href="http://en.wikipedia.org/wiki/Pysanky"&gt;&lt;span style="font-style: italic;"&gt;pysanky&lt;/span&gt;&lt;/a&gt;-making tools again and chickens are looking nervous. While decorating some she glanced at some of my &lt;span style="font-weight: bold; font-style: italic;"&gt;Traveller &lt;/span&gt;maps laying about (I finally picked up copies of &lt;a href="http://www.travellerbibliography.org/jg/Crucis.html"&gt;the&lt;/a&gt;&lt;span style="font-style: italic;"&gt; &lt;a href="http://www.travellerbibliography.org/jg/Glimmerdrift.html"&gt;Judges&lt;/a&gt; &lt;a href="http://www.travellerbibliography.org/jg/Ley.html"&gt;Guild&lt;/a&gt; &lt;/span&gt;&lt;a href="http://www.travellerbibliography.org/jg/Maranantha.html"&gt;sectors&lt;/a&gt;), and said "you should do a map egg - you design it, I'll do all the work". So here it is:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.travellermap.com/images/Traveller%20Egg%200.jpg"&gt;&lt;img style="cursor: pointer; height: 200px;" src="http://www.travellermap.com/images/Traveller%20Egg%200.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.travellermap.com/images/Traveller%20Egg%201.jpg"&gt;&lt;img style="cursor: pointer; height: 200px;" src="http://www.travellermap.com/images/Traveller%20Egg%201.jpg" alt="" border="0" /&gt;&lt;/a&gt;  &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.travellermap.com/images/Traveller%20Egg%202.jpg"&gt;&lt;img style="cursor: pointer; height: 200px;" src="http://www.travellermap.com/images/Traveller%20Egg%202.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.travellermap.com/images/Traveller%20Egg%203.jpg"&gt;&lt;img style="cursor: pointer; height: 200px;" src="http://www.travellermap.com/images/Traveller%20Egg%203.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.travellermap.com/images/Traveller%20Egg%204.jpg"&gt;&lt;img style="cursor: pointer; height: 200px;" src="http://www.travellermap.com/images/Traveller%20Egg%204.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_MpMDZ7vPi9E/R-SKLNM7TwI/AAAAAAAAAAY/24NbN4vJoOI/s1600-h/Unfolded.jpg"&gt;&lt;img style="cursor: pointer;" src="http://bp1.blogger.com/_MpMDZ7vPi9E/R-SKLNM7TwI/AAAAAAAAAAY/24NbN4vJoOI/s200/Unfolded.jpg" alt="" id="BLOGGER_PHOTO_ID_5180417396509986562" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16809467-1663664277773181515?l=travellermap.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://travellermap.blogspot.com/feeds/1663664277773181515/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=16809467&amp;postID=1663664277773181515" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/1663664277773181515" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/1663664277773181515" /><link rel="alternate" type="text/html" href="http://travellermap.blogspot.com/2008/03/equinox-is-nigh-candy-and-eggs.html" title="The Equinox is Nigh: Candy and Eggs" /><author><name>Joshua Bell</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03352506243815052967" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp1.blogger.com/_MpMDZ7vPi9E/R-SKLNM7TwI/AAAAAAAAAAY/24NbN4vJoOI/s72-c/Unfolded.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16809467.post-2682045528071255684</id><published>2008-03-06T21:27:00.000-08:00</published><updated>2008-03-06T21:34:04.638-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="demos" /><category scheme="http://www.blogger.com/atom/ns#" term="borders" /><category scheme="http://www.blogger.com/atom/ns#" term="code" /><title type="text">Border Generation</title><content type="html">I've written up a paper and demo page on the updates to the &lt;a style="font-style: italic;" href="http://dotclue.org/t20/allygen"&gt;allygen &lt;/a&gt;algorithms by J. Greely I used to generate most of the borders that weren't previously documented.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.travellermap.com/borders/doc.htm"&gt;Improved Automatic Border Generation for &lt;span style="font-style: italic;"&gt;TRAVELLER &lt;/span&gt;Sectors&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.travellermap.com/borders/demo.htm"&gt;Demo Page&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;The modified &lt;span style="font-style: italic;"&gt;allygen &lt;/span&gt;code I used isn't terribly pretty, but is available on request. I'd like to clean it up before publishing it. The demo version is reimplemented in JavaScript and is much easier to read. I encourage you to check out the source.&lt;br /&gt;&lt;br /&gt;Would a full blown web app that lets you copy/paste .SEC files and interactively generate border descriptors (useful for &lt;a href="http://dotclue.org/t20/"&gt;&lt;span style="font-style: italic;"&gt;sec2pdf &lt;/span&gt;&lt;/a&gt;) be useful for anyone?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16809467-2682045528071255684?l=travellermap.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://travellermap.blogspot.com/feeds/2682045528071255684/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=16809467&amp;postID=2682045528071255684" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/2682045528071255684" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/16809467/posts/default/2682045528071255684" /><link rel="alternate" type="text/html" href="http://travellermap.blogspot.com/2008/03/border-generation.html" title="Border Generation" /><author><name>Joshua Bell</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03352506243815052967" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry></feed>
