Dropping LJ
anime
[info]mmol_6453
Tired of the spam.

If you're interested in following me, you can find me at funnybutnot.wordpress.com.
  • Add to Memories

Thinking about netboots.
anime
[info]mmol_6453
So I'm in a scenario where they only real way to install operating systems on two[1] (and the only convenient way to install on another few[2]) boxes here is via netbooting.

I'd like to set up a library of netboot options on my router, so that I can select from many different choices. I'd love to find a list of distros with PXE boot configurations already prepared. Otherwise, I've been putting a lot of thought into how to build netbootable distro environments from liveCDs.

Two things I've realized:
  • A Linux environment only requires a filesystem and a kernel image. If the filesystem isn't immediately available, you need an initial ramdisk(initrd) or initial ram filesystem (initramfs).
  • You can take an entire Linux system and stuff it into an initrd or initramfs, if you've got enough RAM to hold it. So, anything you can do on a Linux box, you can do there.
Taken to the logical extreme, this means you could pack a LiveCD as a kernel and initramfs image, boot it from a CD, and then eject the CD while running with a full KDE desktop with all kinds of bells and whistles--as long as you've got enough RAM to hold the filesystem and run the applications. An overfeatured liveDVD comes in at under 4GB, and newer systems can easily have that much RAM; you can get 16GB of desktop memory for under $100. Alternately, you might be booting a tiny little rescue or install image that weighs in under 80MB...and that'll fit on just about anything.

So, take a liveCD and convert it to a kernel+initramfs...and that's pretty much what you need for PXE booting scenarios, too. Well, except for the bootloader.

PXE booting is different from CD or disk booting, and every liveCD will have its own equivalent of grub.conf for tuning ISOLINUX or whatever bootloader it uses to provide the menu options it wants--and you'd want to provide those menu options.

You can't just launch the disc image's bootloader; that'd require chainloading, and I've learned that that's not something you can do with devices that the system BIOS can't see--and it's not going to see an blob of memory in RAM as a CD-ROM drive.
  • You might be able to parse the image's bootloader's configuration and execute it as part of the PXE bootloader, but that seems like it'd require a lot of patching and work on the PXE bootloader.
  • You might be able to parse the image's bootloader's configuration and prepare separate netboot profiles on your server, but that seems very manual and likely to require a lot of work.
  • You might be able to set your PXE bootloader up as a hardware-accelerated hypervisor, leaving the liveCD as a very, very privileged guest VM. That'd be awesome, but that'd depend on the hardware having either AMD or Intel's x86 virtualization support.
  • You might be able to set your PXE bootloader to launch some stripped-down or specially-configured variant of Xen, which would remove the necessity for the hardware to have virtualization accelerations, but only if the guest supported the hypervisor.
Anyway, these have been my thoughts these last couple days.

[1] In one case, the DVD-ROM drive has stopped working, and I can't get it to boot from USB or SD, even though it'll boot from the hard drive. In the other case, it's an ARM device, and netboot is the next option I can try short of plugging in a USB CD-ROM drive or cracking it open and replacing firmware. The ARM device looks like a pre-rebranding version of this.
[2] One is a PC with a couple dead DVD-rom drives. Booting off USB is an option, but I don't have many USB sticks right now, and I don't want them continually occupied for the duration. Most of the rest of my boxes get a little annoying wrt grub and mappings of the likes of (hd0), (hd1), etc.

  • Add to Memories

ePub versioning
anime
[info]mmol_6453
So, I'm reading through the ePUB 3 specs. I keep seeing things like:
The meta element defined in [OPF2] has been obsoleted and replaced by the new meta element, but may be included as an optional repeatable child of the metadata element for forwards compatibility purposes.

EPUB 3 Reading Systems must ignore this element.

So, if you published a fully-conformant document in EPUB 2, it cannot remain fully functional in an EPUB 3 reader if the EPUB 3 reader is to be complaint with spec.

This doesn't bode well for EPUB. Or, rather, this doesn't bode well for the use of EPUB as a format for long-term storage of publications. I've bought well over a dozen ebooks in EPUB format, and now I must wonder whether or not an ebook reader developed ten years from now will process my current books as well as current readers do.

  • Add to Memories

TT: Reshuffling my thoughts on DRM
anime
[info]mmol_6453
DRM is being examined again and again as a way of patching the digital aspects of our universe in order to extend the utility of established philosophies and law regarding copyright and ownership of physical objects in the face of a truly disruptive technology.

There are, of course, both pros and cons to DRM, certainly. An obvious 'con' is that it's not necessary to the long-term survival and function of any existing abstract activity or industry; regardless of the existing of DRM, art will always continue to be made, knowledge will always continue to be shared--it's only the incentives and nature of distribution would change.

From the standpoint of industry, an obvious 'pro' is that by establishing a 'false scarcity' in digital media and transmission, the body of existing sensibilities, philosophy and law relating to an item's worth remain applicable, and thus there's less need to be distracted into spending resources puzzling out a completely new terrain.

Curiously, even the 'pro' is only a short-term one; as noted in the obvious 'con', whether or not DRM exists is irrelevant to the long-term continuation of the generation of art and the creation and sharing of knowledge; these things will always continue, because that's just human nature.

  • Add to Memories

Books and tutors
anime
[info]mmol_6453
When you're looking to get into a subject, and you're pretty much at ground-level, it may very well be the case that everything you need to know is already out there, but you don't know where to look.

A search engine query for a problem[1]turns up some really specific solution to a really specific problem[2]  Does it apply to you, in your just-getting-started state? Who knows? If it's analogous or indirectly applicable, it'd take a quasi-expert to correctly realize how. You ask, and people around you may not know, may not think they know, or may simply tell you to google for it.[3] Sometimes, you don't even know who to ask.

Having the right book in this scenario is like having a personal tutor. A good tutor will help you with your problems around core concepts, and will have good answers to your immediate questions. A good tutor just gets you on your feet; once you're there, you can gain experience and learn where to find answers to your next sets of questions.

[1] "Why is my program getting terminated without a crash dump?"
[2] "That's a bug in that particular version. It's fixed in VCS, grab the latest sources."
[3] Which may well be the first two or three responses in a search engine query. "I'm feeling lucky" indeed.

(This the first part of a series of thoughts I had about how I don't think for-pay books are going away.)

  • Add to Memories

So, what's been going on in my Pathfinder game
anime
[info]mmol_6453
I've been running a Pathfinder game Tuesday evenings for two or three months, now. It seems to have hit its stride, and things are going nicely.

It's a handrolled campaign setting. The setting basically sets up the normal Pathfinder cosmology next to real-world cosmology. "Galleria" is the name of the world in the Material Plane, while Earth is the name of the Terran plane. Earth is set in our own history, early to mid 16th century.

The Terran Plane and the Material Plane have time pass at different rates.  Ten years on Terra comes to six years on the Material Plane. Likewise, ten miles on Earth is six miles on Galleria.

Every once in a while[1], the two planes touch. Where they touch, the terrain of the two places undergo a kind of mixing or merging. If you wander into one of these merged areas, and then wander back out, you might not come back out on the plane you went in on. The nature of the mergings, and the confident routes in and out, can be learned and intuited with training or experience, so it's certainly possible to intentionally navigate the crossings. Some people make a living off of it.

When these events happen, magic functions again in proximity to the points of contact on the Terran Plain. Creatures of legend and lore are seen again, generally near these places.

Right now, most of the current story has centered around a merging located in Spain, some distance from Toledo, near present-day Castilioblanco. An artifact was taken from its guardian in Galleria, and, last the PCs knew, was on its way to Toledo. The party is tasked with retrieving the artifact. Already, there's been intrigue, strange spells, mystery, betrayal and natural disasters.

As far as the campaign hitting its stride, it seems to have taken a tick/tock routine. In a tick session, things happen which largely involve the main plot, and you get plot exposition and the like. In a tock session, there are more random encounters, you learn more about the intricacies of the campaign[3] setting by interacting with it, and B plots are spawned, continued or concluded[2].

The other side of things...it took the players a while before they came up with a combination of PCs which didn't want to rip each others' throats out. These are intolerant times...

Anyway, it's pretty cool. At some point, I'll get the adventure-as-seen written up and posted.

[1] There regular components that lead to these events, there are irregular components, and there are means to affect them. The means to affect them are not generally known in either plane.
[2] I've got a whole *list* of loose ends consisting of NPCs affected by the players, which I can bring back at any point necessary or convenient. I even keep abandoned PCs so I can bring them back later.
[3] Sure, any non-human humanoid spotted in the Terran Plain is a huge target for sanctioned voilence--they're demons, right? On the other hand, that barkeep with the twinkle in his eye saw through your disguise, elf, and is going to protect you from the local authorities for a mere jacking up the costs of your room and board.

  • Add to Memories

Joe -> Bob -> Harry -> Joe
anime
[info]mmol_6453
So Joe intends to shoot and kill Bob, and will succeed if not first shot and killed.

Harry intends to shoot and kill Joe in order to prevent Joe from shooting and killing Bob. Harry will succeed if not first shot and killed.

Q1: Assuming no further information, and that no shooting or killing has yet occured, is it ethical for Harry to shoot and kill Joe, to prevent Joe from shot and killing Bob?

Now, Bob sees that Harry intends to shoot and kill Joe, and that Harry will succeed if not first shot and killed.

Q2: Assuming no further information, and that no shooting or killing has yet occurred, is it ethical for Bob to shoot and kill Harry, to prevent Harry from shooting and killing Joe?

Now, Bob sees that Harry intends to shoot and kill Joe in order to prevent Joe from shooting and killing Bob, and that Harry will succeed in shooting and killing Joe if not first shot and killed.

Q3: Assuming no further information, and that no shooting or killing has yet occurred, is it ethical for Bob to shoot and kill Joe?

  • Add to Memories

Advice to application developers
anime
[info]mmol_6453
If you're building or maintaining an app which uses hotplug so that users don't need to do things manually, don't remove their ability do things manually.

Example 1: If available, you tie into a mechanism which purports to tell you whether or not network access is available. This allows you to automagically configure your app's "Work Offline" mode.

What you did right: Yeah! Having the app be able to make intelligent choices based on system state will likely benefit the vast majority of your user base. That's probably a good move.

What you did wrong: So your visual indicator for "work online"/"work offline" reflects the app's state. That's great, except you didn't leave any clues as to why it's in that state.

What you did really wrong: You didn't leave an override. Suppose I know that the mechanism you tied into is giving erroneous reports? I can't tell you to go online anyway, because you're taking some component's word. I can't tell you to go online anyway. Worse, I can't tell you to ignore the faulty thing you've tied into. At best, if I'm an administrator, I can remove the thing, so you don't try tying into it, and it's just a hassle. At worst, your application can't work on my machine.

Example 2: You manage an app which syncs data with devices. For conveniences' sake, you watch for (or get some kind of notification for) device connections. Device is plugged in, you talk to it, present the user with their sync options or perform some other operation.

What you did right: Automatically noticing devices goes a long way toward "things just work" ... and that's important. I may be a Linux junkie, and I may be loving the hell out of Gentoo (which one could argue is just a hop, skip and a jump away from LFS), but that doesn't necessarily mean I don't like automation. Good on you. :)

What you did wrong: You probably assumed your hotplug tie-in is available everywhere.

What you did really wrong: You removed the ability to manually sync devices. You removed the ability for the user to say "here's where the device is! Don't recognize it? Ask me!"


Example 1, I encountered two years ago with Evolution+NetworkManager. NetworkManager wasn't managing any active network connections, and so it assumed there were no network connections on the system. It told Evolution so, and Evolution forced a 'Work Offline' state that couldn't be escaped.

Example 2, I'm dealing with for both Calibre and Banshee right now. Probably doesn't help that I'm not using GNOME, KDE or XFCE, but I have no idea what I need to add to get things to be recognized.

  • Add to Memories

Influencing Movies
anime
[info]mmol_6453
Three movies that got me into tech:
http://www.imdb.com/title/tt0089114/
http://www.imdb.com/title/tt0097523/
http://www.imdb.com/title/tt0091949/

(Curiously, I first saw Hackers and Weird Science within the last couple years)
What movies influenced your life path?

  • Add to Memories

How not to help people
anime
[info]mmol_6453
Scenario: Someone asks a question in an online environment.

Do you:

A) Answer their question
B) Answer the question they really should be asking
C) Tell them to "google" for something.

If you went with C, please turn off your computer and go outside. Or, at least, GTFO support environments.

You see, if you went with C, there's a good chance your reply was made part of some HTTP resource which search engines will go on and index. And if I search for that phrase, your "google for $x" response may easily be at the top of the search results.

So please, do the Internet a favor and leave off the useless responses. Remember, you change the Internet by posting to it. Those of us who actually do searches prior to asking will appreciate it.

  • Add to Memories

You are viewing [info]mmol_6453's journal