Here it is the first of June in 2015, and our dev team has been working long and hard to get the foundation code to this site upgraded to handle newer versions of perl and apache. I lent a hand with QA duties and can attest that this was no small feat. Many *many* thanks to NCommander and Paulej72!
And, this acts as a test that the journal code is still working. Please let me know if you cannot see it! ;)
There are an awful lot of pages on my web site, and I've been busy making them all "mobile-friendly". Most of them are little or no problem making them look good on all platforms, but there are three that are especially problematic.
I jumped this hurdle (well, sort of stumbled past it) by making two of each of the pages with a link to the mobile page from the index.
Ideally, I could just check to see if it was a phone or not and redirect phones to the mobile page, but there's no way to make this 100% successful*. Each brand of phone has a different user agent, there are a lot of installable phone browsers. On top of that, is it an Android phone or an Android tablet? With the minimum typeface size and viewport set, those pages are fine on the PC version but the phone version looks like crap.
Apple should have thought of this when they made the first iPhone, and Google should have thought of this when developing Android. The answer is simple, but it can only be implimented by browser makers and perhaps the W3C.
From the beginning of the World Wide Web, browsers looked for index.html, the default front page in any directory. This worked fine before smart phones, but no longer.
Phone browsers should look first for mobile.html, and if it exists display that, and display index.html if it isn't there. Tablets and computers would behave as they always have.
It doesn't have to be mobile.html, it could be any name as long as everyone agreed that it was the standard, like they did with index.html.
Maintaining a web site would be much easier if they did this. What do you guys think?
* A fellow Soylent tipped me to the Apache Mobile Filter. It looks promising, especially since my host uses Apache. I'm looking into it.
I finally got the full texts of Nobots and Mars, Ho! to display well on a phone. My thanks to Google for showing me how, even if the way they present the information is more like trial and error, but it's actually easy once you jump through all their hoops. I'll make it easy.
First, you need to make sure it will fit on a phone's screen. I've been preaching for years that it's stupid to use absolute values, except with images; if you don't tell the browser the image size and you are using style sheets, your visitors will be playing that annoying "click the link before it moves again" game.
Some of you folks who studied this in college should demand your tuition be refunded, because they obviously didn't teach this.
Giving tables, divs, and such absolute values almost assures that some of your visitors will have that incredibly annoying and unprofessional horizontal scroll (*cough* slashdot *cough*).
None of the elements (images, divs, etc) can be more than 320 pixels wide, and you need to tell the browser to make it fit on a screen. To do this, add this meta tag to your page's head:
<meta name="viewport" content="width=device-width, initial-scale=1.0">
Next, you need to make sure the text is large enough to read without double tapping. The <p> tag does this:
<p {min-height: 16px}>
This needs to be placed after the <body> tag and before anything having to do with text.
To test it, just pull the page up on your phone. If it scrolls sideways, you need to work on it.
If you're worried about your Google pagerank, Google has a "mobile friendly test" here. If you flunk, well, when Google says "jump"...
My main index page fails their test. To make it pass the test I would have to ruin the desktop/tablet design. As it is now, the text is readably large on a phone but it has a sideways scroll, which is tiny if you hold the phone sideways, and I added a link at the very start of the page to a version that will pass Google's test, looks fine on a phone, not bad on a tablet but looks like excrement on a computer. The main index works fine on a tablet, since I've made it as "mobile-friendly" as possible.
I'd have it redirect if it saw Android or iOS, but it's been fifteen years since I've done that and I've forgotten how.
I have two new stories nearly finished, but I've decided to see if I can sell first publication rights to a magazine. If everyone rejects them, I'll post them then. If one is accepted, it will likely be quite a while before I can post.
With three books in the works I've been really busy. Hell, I've been working harder since I retired than I did when I worked! I got the index pages to my three published books and the "coming soon" page for Yesterday's Tomorrows "mobile-friendly". I don't know why I'm bothering; almost nobody surfs in on a phone or from Google. But at any rate, I got the book Triplanetary and the first two chapters of Mars, Ho "mobile friendly" as well. The Time Machine is next; the epub versions of my books are better than the HTML versions, on a phone, anyway. Twain, Dickens, and God are going to be mobile-hostile for quite a while because of all the artwork in them.
I couldn't make the main index "mobile friendly" without making it look like crap on a computer screen, so I made a copy "mobile friendly", posted it as mobile.html and added a link from the main index.
Site stats say Google has spidered, so I tried to find Mars, Ho!" by googling on the phone. Nothing but Marsho Medical Group, Andy Weir's The Martian, and a facebook page for someone named Mars Ho. Googling "Mars, Ho! novel" did bring up Amazon's e'book copy halfway through the page.
"Mars, Ho! mcgrew" brought up Amazon's e'book first, followed by the mobile-hostile main index, THEN the actual Mars, Ho! index which IS "mobile friendly" (it passed their test). And I thought "mobile friendly" was supposed to raise your ranks? What's up, Google?
The second copy of Yesterday's Tomorrows came yesterday. I didn't expect until the day after tomorrow. I went through it twice yesterday and it's almost ready; there is still a little work before it's published, but it won't be long.
It's a really nice book, with stories by Isaac Asimov, John W Campbell, Murray Leinster, Frederik Pohl, Neil R Jones, Kurt Vonnegut, A. E. Van Vogt, Theodore Sturgeon, Poul Anderson, Phillip K Dick, Frank Herbert, James Blish, Lester del Rey, and Jerome Bixby. Covers of the magazines they appeared in are shown, with short biographies and photos of the authors. It's also well-illustrated with illustrations from the original magazines.
Random Scribblings: Junk I've littered the internet with for two decades will probably be next year.
Oh, how do you like my new shirt?
NOTE: This is a work-in-progress; read at your own risk/confusion. It is an attempt to gather together bookmarks, tabs, and information pertaining to Unicode, UTF-8, HTML, and 'characters'.
It would seem to be a simple enough question to answer, but things are not always as they seem:
What characters should SoylentNews support?
Motivation: as many of you are aware, one of the early improvements that SoylentNews made to its base source code was to support Unicode characters. (Thanks to the heroic efforts of The Mighty Buzzard.) The underlying code only supported ASCII (American Standard Code for Information Interchange) characters. Which was just fine for as far as it went. It just didn't go far enough for us...
I took on the task of testing our implementation of UTF-8 support. Little did I know what I was getting into! It has been a fascinating journey, indeed!
What is Unicode?
This is taken from What is Unicode?:
Fundamentally, computers just deal with numbers. They store letters and other characters by assigning a number for each one. Before Unicode was invented, there were hundreds of different encoding systems for assigning these numbers. No single encoding could contain enough characters: for example, the European Union alone requires several different encodings to cover all its languages. Even for a single language like English no single encoding was adequate for all the letters, punctuation, and technical symbols in common use.
These encoding systems also conflict with one another. That is, two encodings can use the same number for two different characters, or use different numbers for the same character. Any given computer (especially servers) needs to support many different encodings; yet whenever data is passed between different encodings or platforms, that data always runs the risk of corruption.
Unicode is changing all that!
Unicode provides a unique number for every character, no matter what the platform, no matter what the program, no matter what the language. The Unicode Standard has been adopted by such industry leaders as Apple, HP, IBM, JustSystems, Microsoft, Oracle, SAP, Sun, Sybase, Unisys and many others. Unicode is required by modern standards such as XML, Java, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML, etc., and is the official way to implement ISO/IEC 10646. It is supported in many operating systems, all modern browsers, and many other products. The emergence of the Unicode Standard, and the availability of tools supporting it, are among the most significant recent global software technology trends.
Here is an excerpt from Wikipedia's entry for Unicode:
Unicode has the explicit aim of transcending the limitations of traditional character encodings, such as those defined by the ISO 8859 standard, which find wide usage in various countries of the world but remain largely incompatible with each other. Many traditional character encodings share a common problem in that they allow bilingual computer processing (usually using Latin characters and the local script), but not multilingual computer processing (computer processing of arbitrary scripts mixed with each other).
Unicode, in intent, encodes the underlying characters—graphemes and grapheme-like units—rather than the variant glyphs (renderings) for such characters. ...
In text processing, Unicode takes the role of providing a unique code point—a number, not a glyph—for each character. In other words, Unicode represents a character in an abstract way and leaves the visual rendering (size, shape, font, or style) to other software, such as a web browser or word processor.
A little more background: There are certain code points in Unicode that are of questionable value in the context of a web page; further, there are code points which are defined to be invalid! And then, just to make things even more interesting, I found a list of invalid characters in an HTML document:
Illegal characters
HTML forbids[6] the use of the characters with Universal Character Set/Unicode code points (in decimal form, preceded by x in hexadecimal form)
- 0 to 31, except 9, 10, and 13 (C0 control characters)
- 127 (DEL character)
- 128 to 159 (x80 – x9F, C1 control characters)
- 55296 to 57343 (xD800 – xDFFF, the UTF-16 surrogate halves)
The Unicode standard also forbids:
- 65534 and 65535 (xFFFE – xFFFF), non-characters, related to xFEFF, the byte order mark.
UTF-8; Unicode Transfer Format - 8-bit
Though there are several means by which Unicode characters can be transmitted between contexts, one of the most popular is UTF-8, which is what was chosen for use in SoylentNews.
SoylentNews:
What you see from our site mostly comes via a browser (though we also support Gopher and NNTP; you can have stories e-mailed to you; and we also have an RSS/Atom feeds... wow!)
Our site currently formats web pages as HTML 4.01; here's a representative DOCTYPE:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
At some point in the future we may want to directly support HTML5; ideally nothing should preclude or complicate that effort.
See also:
Obviously, we need not support the invalid code points. (Enumerate them here).
Unicode and UTF-8
So Unicode is a collection of mappings of code-points (numbers) to 'characters'; UTF-8 is a Unicode Transformation Format, 8-bit, used to transmit/encode Unicode code points.
To be continued...
Around the first of the year all three working computers were just about stuffed full, so I thought of sticking a spare drive in the Linux box, when the Linux box died from a hardware problem. It's too old to spend time and money on, so its drive is going in the XP box (which is, of course, not on the network; except sneakernet). I decided to break down and buy an external hard drive. I found what I was looking for in the "Seagate Personal Cloud". And here I thought the definition of "the cloud" was someone else's server!
I ordered it the beginning of January, not noticing that it was a preorder; it wasn't released until late March. I got it right before April.
I was annoyed with its lack of documentation -- it had a tiny pamphlet full of pictures and icons and very few words. Whoever put that pamphlet together must beleive the old adage "a picture is worth a thousand words". Tell me, if a picture is worth a thousand words, convey that thought in pictures. I don't think it can be done.
I did find a good manual on the internet. For what I wanted, I really didn't need a manual, but since I'm a nerd I wanted to understand everything about the thing. Before looking for a manual I plugged it all up, and Windows 7 had no problem connecting with it. It takes a few minutes to boot; it isn't really simply a drive, it must have an operating system and network software, because it looks to the W7 notebook to be another file server. Its only connections are a jack for the power cord and a network jack.
The model I got has three terrabytes. I moved all the data from the two working computers (using a thumb drive to move data from XP) and the "cloud" was still empty. Streaming audio and video from it is flawless; I'm completely satisfied with it, it's a fine piece of hardware.
However, it WON'T do what is advertised to do, which is to be able to get to your data from anywhere. In order to do that, Seagate has a "software as a service" thing where you can connect to a computer from anywhere, but only the computer and its internal drives, NOT the "personal cloud". And they want ten bucks a month for it.
I downloaded the Android app, and I could see and copy files that were on my notebook to my phone, but I couldn't play music stored there on it. I uninstalled the crap. "Software as a service" is IMO evil in the first place, but to carge a monthly fee to use a piece of crap software like this is an insult. Barnum must have been right.
If you're just looking for an external hard drive, like I was, it's a good solution. If you want what they're advertising, you ain't gettin' it. The Seagate Personal Cloud's name is a lie, as is its advertising.
It's been a busy week between class, and doing my Let's Play series; I've found doing Let's Plays a good way to unwind after a stressful day, and I've also done a bit more livestreaming. To avoid spamming the journal list, I'll likely just do weekly updates until I have communities implemented properly in rehash.
Dwarf Fortress
For those who missed it, I've started a livestreaming series where I play one of my favorite games of all time, Dwarf Fortress. I'm keeping a recap thread going alive on the official DF forums at Bay12. For those who are fans of the game are recommended to check it out. My schedule is somewhat fluid from week to week, and is complicated by a trip to New York City Sunday-Tuesday, but I will try and stream at least once week, or two; I'll usually announce streaming times 24-48 hours in advance, and on Twitter.
I'll name dwarves after those who commit story snipits, or those in the Livestream chat. My next broadcast date is tentatively late Wednesday, but that's subject to change.
NetHack
I have uploaded episodes 2, 3 and 4 (scheduled to go live at midnight tonight), with hope of having regular updates on Monday, Wednesdays, and Fridays. I have footage through episode 7 recorded, but episode 5 requires considerable editing as I do Sokoban in that, and I edited out most of the boring parts (which will be uploaded as a "special" video) with, or soon after 5.
Episode 2
- On this episode of Let's Play NetHack, we wander our way through the Gnomish Mine's, groaping our way through the dark in hopes of finding Minetown.
Episode 3
- As our first character meet an unfortunate end, a shocking revelation is revealed that sending our poor host into a mental breakdown.
Episode 4 (goes public at midnight)
- We learn that Barbarians can fight well in the dark as multiple events conspire to drive us crazy.
If you enjoy my videos, please, leave comments, and subscribe to my channel. Furthermore, I'll offer shoutouts and credits to anyone who'd be up for creating titlecards for my series, and perhaps offer them an exclusive chance to choose a game to me livestream or do a LPs. Given requests, I'm also going to record a special video at some point that goes more into detail on how to play NetHack specifically.
So, I've been feeling the urge on doing another livestream this weekend, and was debating what game to stream. I've had an urge to play Dwarf Fortress as of late, which also allows for good interaction with those in the community due to nickname and assigning roles; and perhaps keep playing the same fort over a series of streams. The tentative time of this livestream would be 12-6PM EST, on my Twitch channel. I'd be up for fielding questions from the community, talking about gaming and tech in general, basically the insanity of April Fools, only a more reasonable block of time.
I think I got all the kinks out of my recording setup, so I should be more reasonably be able to edit and post the stream (for those who missed the previous post, my recording of the 24 hour livestream was corrupted due to stupidity and user error). I'd be interested in suggests of what biome to play in, as well as names for the initial dwarves (6 remaining, excluding the one I claim for myself).
In other news, I've continued my Let's Play of NetHack, with Part 2 posting on Wednesday. Part 3 was supposed to go live on Friday, but got released a day early by mistake.
As promised, I've started a Let's Play series going into the details of NetHack as I once again quest for the Amulet of Yender through the Mines of Menace. For those who've never ascended, or just wish to understand the game better, I'm going into detail on much of the mechanics behind the game such as wand identification, price IDing, curse testing, and so forth. Hopefully with my guidance, you too can one day ascend into a demi-god. I'll try and update the series Monday, Wednesdays and Fridays, but I may miss a day if life gets too hectic.
All my content, unless otherwise noted, is licensed under the Creative Commons ShareLike-Attribution license, and encoding in a WebM container with the VP8 and Ogg Vorbis codecs. I'll be uploading the raw WebM files once I have a suitable host to do so.
Introduction to NetHack
- In which the interface, goals of the game, and dungeon layout are explained.
Let's Play Nethack #1
- In which we start off as a Dwarvish Valkerie, get our first artifact, and run into trouble.