### Archive

Archive for the ‘Technology’ Category

## In Memoriam: Developer Shed Forums

In late-2003, I was a high school junior loving every second of my AP Computer Science AB course. While researching something for homework one day, I found a neat little forum on the internet called Developer Shed where people helped each other to solve programming problems, talk about algorithms and problem-solving strategies, and generally just chew the proverbial fat in a mostly-friendly setting.

I was a fledgling hobbyist LAMP developer at the time — hey, it was a phase — and I enjoyed helping others through simple problems such as fixing logic issues, rudimentary database usage, and the like. In so doing, I found (as any novice programmer probably would) that by working through those problems, I was learning more about programming: both PHP and SQL specifically, but also generalities of debugging techniques, and how to think through problems more methodically. Yes, we had a lot of hands-on projects for the AP Comp Sci AB coursework; but this was yet another outlet for my code creativity. And more practice meant more programming perfection. I soon became an avid member there, averaging an hour or two and multiple posts daily for what would be the next several years.

The following April (2004), after a few months of posting, I was nominated into a moderator position for some of the forum sections that I actively visited — such as PHP Development and the Dev Shed Lounge (the off-topic forum). I eagerly accepted, of course. Being an active community moderator enabled me to directly act against many of the personae non gratae including trolls, spammers, and belligerent users; while also promoting the beneficial posts of more well-reputable users, and working with the rest of the moderation team to write needed FAQs and other such guidelines to keep the forums running smoothly.

In fact, it was this initial foray into community moderation that gave me the confidence I needed to properly fulfill my duties once I became a moderator of the Gentoo Linux forums the following December — a role I held for the nearly two years that I was an active Gentoo user.

My activity on the Dev Shed forums declined rapidly once the combination of full-time college, work, and extracurriculars started consuming most of my available time; but I still checked in on weekends and such for many years. Ownership of the forums changed hands a few times with no apparent significant impact; and my semi-regularity continued until about 5 years ago (?), when the original owner of Dev Shed sold it to Jim Boykin, CEO of Internet Marketing Ninjas.

With their new administrator team running the forums, many of the outstanding problems were resolved — such as creating more responsive templates — and we had very polite and quick feedback to ensure that the forums continued to run smoothly for a long while. They were incredibly supportive of our community, and especially of the moderator team whose efforts kept it running day-to-day. We even got a nice gift box from them that holiday season which included some t-shirts (two of which I still often wear to this day), a signed team photo, and an Amazon gift card. Cool!

Because of their responsiveness and general benevolence, I found myself on the forums a lot more over the past few years: not posting as frequently so much as just helping maintain everything: removing spam posts, banning troll users, etc. However, even this became an extremely-infrequent occurrence in recent months because my time would be so often better spent elsewhere: Dev Shed was pretty much the only decent programming-focused community back when I first signed up those many years ago; but that has long since been superseded by communities like first like OSnews and Slashdot, now Reddit and others.

And so, I found myself perusing Dev Shed maybe once or twice per month — a far cry from the near-daily I had formerly been. Because of my inactivity, I had been pondering retiring my moderator status for the past year or so; but something kept pulling me back. On one hand, it felt a bit unfair that I should stay a moderator for a community that I wasn’t as much directly a part of anymore; but on the other, I couldn’t just suddenly stop being such a significant part of this developer community that had itself been a significant part of my online life for over a decade.

So I persisted, and kept checking in very infrequently to keep up with site news, moderation queues, and some Lounge chat. But I never returned to posting much in any of the programming-specific forums. I just didn’t have the time or patience that I once had to write those would-be responses with the necessary due diligence.

Then, in late 2018, tragedy befell our once-thriving community. For whatever reason, the forums stopped being actively maintained: the administrators became far less responsive in fixing issues; many of our moderation team were online much less frequently, and people were generally not posting as much on the forums anymore. Rumor had it among some of the then-moderators that the administrative team was trying to rewrite a lot of the database and vBulletin backend stuff from scratch because the original owners had implemented a lot of fancy things as layers of kludges — a software house of cards, so to speak. But it seems that was never quite accomplished.

…Which brings us to the present. This past week, the entireties of SEOChat and Dev Shed forums were effectively scrapped after months of effort by Brett Tabke (from Webmaster World, also owned by Internet Marketing Ninjas) to try to modernize them; but unfortunately there were simply too many flaws in the old systems to reasonably fix. I do wish Tabke could have kept the old archive of posts if for no other reason than as historical reference; but I very much appreciate their months of effort to keep that archive, as futile as they seem to have been.

And so it is with a simple goodbye that I leave my Dev Shed past behind. That said, I cannot bid it adieu without mentioning several of the users there whom I befriended during my time as a moderator, and who helped make my stay in that community a pleasant one. I know that I am certainly forgetting many so I apologise that this list must necessarily be incomplete, but the handful that first spring to mind are:

• SimonGreenill
• ChiefWiggums1982
• Sepodati
• Scorpions4ever
• B-Con
• Nilpo

Perhaps our paths online will cross again; but until then, goodbye… Hmm, it seems odd that a short “goodbye” should suffice for something that was a part of my online life for such a long time (15+ years); but so be it.

So long, Dev Shed, and thanks for all the fish.

(Also, yes I will try to post more here; apologies for the long bout of inactivity.)

Categories: Tags:

## Ingress: On Gameplay Goals And The Inefficacy Of Pineapples

For those who might not know, I am an avid Ingress player. It is a fun augmented-reality game, which is to say that it overlays the map of the game onto that of the physical world; so in order to interact with items and points of significance in the game, you must be near them in the real world.

To make a long story short, the game has two teams, or factions, called the Resistance (blue) and Enlightened (green), for story reasons. The goal of the game is to capture and hold control points, called “portals,” and link them together to form triangular areas called “control fields”: areas surrounded by your faction’s portal links. Larger and more numerous fields give the faction more total points (in game terminology, “mind units”, or simply “MUs”). These are what determine your faction’s score, if they are still standing, at the end at the end of that cycle checkpoint (each 5-hour period of time when the servers tally the MU scores of each faction) . Players, called “agents”, use a variety of items that they acquire from portals by “hacking” them, to capture portals and upgrade them. Among these items are bursters (weapons used to attack enemy portals), resonators (which empower the portals and align them an agent’s faction), so-called “flip cards” (JARVIS viruses and ADA refactors, which forcibly convert a portal to be aligned to the Enlightenment or Resistance factions, respectively), and enhancements (called “mods”) to the portal itself, such as defensive ones like shields (which reduce some damage from enemy attacks), or utility ones like heat sinks and multi-hacks (which allow agents to hack gear from the portal more often) and link amps (which increase the maximum link range of the portal).

I had a provocation earlier tonight with some would-be allies which inspired this post, in that I had destroyed, captured, and created fields from so-called “pineapples” that they set up. It’s only recently that I’ve come to learn about this tactic (so named because they resemble the fruit in appearance); but in essence, one can capture an enemy portal, deploy all 8 low-level resonators onto it as close to its center as possible, fill its mod slots with otherwise useless things (like regular link amps), then use a flip card to transfer control of it back to the opposition. The goal of such a tactic is straightforward: resource denial. What could have been a reasonably well-defended portal is at any point later easy to destroy (since it has no defensive mods, and the resonators are all packed so close together). Furthermore, since it is low-level, it does not provide much useful gear. In theory, it forces the enemy to use their own flip card (which are rare) and destroy it before recapturing themselves, thereby expending weaponry and their own resources and time. While this may have been a viable tactic when the game first began many years ago, it no longer is. It is said in this game that the best defense is a good offense, and such a flawed tactic demonstrates this by failing to take into account five important aspects of gameplay.

First, portals provide equipment to both factions, and so forcibly keeping a portal at a low level serves only to reduce the total gear available in the game from that portal, thereby reducing item opportunity for nearby agents in both factions. And even when flipped, enemy agents can still upgrade all of the resonators, thereby producing a high-level portal from which any agent can then acquire good equipment. Admittedly, the portal will not be as farm-friendly without these hack mods to acquire items more often from it; but this detriment in farm is in fact a detriment to the farm of both factions.

Second, since the portal has all its resonator slots filled, it can still be used to create links and fields (albeit weakened ones), which add to the key scoring metric used in determining the victor at each 5-hour checkpoint.

Third, items which used to be very rare in game, including flip cards, are now much more commonplace thanks to the existence of MUFG capsules (which gradually duplicate their contents). Because of their steady duplication of items, the introduction of MUFG capsules is arguably the most significant change to the game in its entire history, even moreso than flip cards or ultra strikes. In fact, I have two of these so-called “muffins” full of flip cards, giving me one or two free JARVISes and a handful of free ADAs every day. Forcing an enemy to expend what are now reasonably commonplace items in order to destroy and recapture their portals is inherently counterproductive, as doing so gives the enemy faction AP and badge credits (two other scoring metrics in the game, used to increase agent levels).

Fourth, it fails to account for the existence of ultra strikes (high power weapons with a very small blast radius). Once flipped, pineapples by their design are almost stupidly easy to destroy with a few well-placed ultra strike blasts. And because the resonators are all very low level, this will work even through the mitigation of any shields that might have been installed. Again, all that this accomplishes is a bit of AP and badge credit gain for both sides.

Lastly, the goal of pineapples is usually to deny an enemy gear, and so it is done in small portal clusters that are known to be often enemy-controlled and used for farming (with mods like multi-hacks and heat sinks, which allow equipment to be gained from these portals more often). But one of the strongest defenses a farm has is specifically the fact that it is clustered: any portal whose resonators are attacked is likely to counterattack the offending agent, so by spacing resonators in the farm widely, any enemy agent that attacks them is likely to hit multiple portals and therefore be counterattacked just as widely. On the other hand, pineapples, once flipped, are easy to destroy with weaker low-range weapons (or, a few well-placed ultra strikes as noted above) rather than the more powerful but larger-range ones, thus reducing the total counterattacks done to that enemy agent. It is therefore more detrimental to the enemy agents to fully capture and deploy on their farm, and put on attack mods like turrets and force amps (which make the portals’ counterattacks happen more often and make them more powerful). And again, these can simply be flipped just as easily; and if an enemy did, he or she would not be able to replace these attack mods with hack ones, being just as counterproductive to their farm as pineapples were perhaps intended.

But all this is simply an aside: pineapples are not a viable long-term tactic in Ingress; and the only purpose they serve is to waste the time and resources of both factions, one in creating the pineapple, and the other in destroying it to claim it properly. The true issue that provoked this post was that in capturing and fielding from the pineapples that I mentioned earlier, I had teammates remarking to me in chat a few moments after the fact that they had “made those portals […] fucked up and ada’d [sic] for a reason.” That’s all well and good perhaps, but the entire purpose of the game is to capture, link, and create control fields from portals. This is exactly what I did between these 5 portals in question. And in doing so, I was reprimanded by members of my own faction for simply playing the game as it was intended. These agents even went so far as to accuse me of somehow being a double-agent, playing for the Resistance’s benefit. That crossed the line of being sensible discussion of tactics to one of inflammatory and blatantly false accusations, and it was that at that point that I stopped responding to any of the three agents involved. Tactical disagreements happen, sure; but I will not be unjustly accused of being something I’m not.

Because, after all, it’s just a game; and I’m not going to let myself stop enjoying something that for almost two years has forced me to get more exercise and visit more of my city, all because three ignorant agents from my own faction apparently don’t want me earning points toward our faction’s victory.

And if any of those three are reading this post, please take note of the following: Should you decide to continue making pineapples in those spots which have become part of my daily walking path between classes, I intend to keep upgrading them and making fields from them just as often. Whether or not I capture them first is dependent only on whether or not they are blue at that time. I do this not out of spite or malice; but rather as a way to earn points for myself and the Enlightened faction (which is, again, the entire purpose of the game).

Categories: Tags:

## Obituary: CurvyLooks

Just over a decade ago, I took the reigns on a Fedora package called gnome-theme-clearlooks-bigpack. Among other niceties, it had many color themes and Cairo-enabled widgets for the Clearlooks (now Adwaita) GTK+ theme engine. But there was one and only one reason I took it: The Cairo_Curve theme.

This theme was a very smooth and rounded (thank you, Cairo rendering) but otherwise faithful reproduction of the Bluecurve color scheme and design philosophy (whether written or not) of just being simple and easy on the eyes for long periods of time. As you can imagine, this is great for people like myself who are using their systems for many hours at a time every day. As someone who used it on a daily basis, when it was orphaned I could not simply let it go unmanaged.

Time went on, as it so quickly does, and in mid-2007 I found myself a bit despondent: the upstream maintainers had all but vanished. What sources I had, I immediately mirrored onto my personal webspace; and I changed those in the RPM .spec file to match. I realized that if I cared about it enough, I should become the upstream contact myself.

And that is exactly what I did. That November, I ripped away every theme except for Cairo_Curve, as that was the only one I had any interest in, and formed the CurvyLooks project: A modest attempt to keep the Bluecurve-like color scheme and theme design for Clearlooks and essentially forward-port it to future versions of GTK+ as necessary.

Time again went on, however, and the chaos of life caught up with me. Newer GTK+ versions caused a few minor bugs (warnings about unused or invalid portions of the gtkrc file, for instance); but since it still more or less worked, I did little to fix them.

And time continued on. It was now July of 2011, and GTK+ 3.0 had just been released. I had already a release candidate of CurvyLooks that “worked” (though not well) together with the series of GTK+ 3 release candidates; but the distinction between “functioning” and “working well” can be a large one, as it was here. I fixed what I could of the theme drawing issues (such as opaque tooltips) and updated it to work with GTK+ 3 and the then-new Adwaita engine (which superseded Clearlooks). I released this as as CurvyLooks 0.4 RC2; and there it has stayed for nearly four years.

Except I also did something else. I also disabled the Dark theme, as I had become so accustomed to the idea of a bright background and dark text/foreground that it simply made no sense to me. In particular, some programs would use the Dark theme if it was installed, while others stayed with the “normal” variant; and that mismatch was rather frustrating.

A few short months later, I happily installed the Fedora 17 Beta and was thrilled with what I saw. In fact, the default Adwaita theme was almost exactly what I imagined CurvyLooks should be. I kept using that default but there was something…some je ne sais quoi about that Adwaita theme that broke my “easy on the eyes” rule. I couldn’t tell if it was that the contrast was too high or that the colors were not saturated enough or something else entirely but it just didn’t feel right. So I forced myself to try the dark theme. And I liked it.

No, scratch that. I loved it. Having long since grown accustomed to the light-on-dark theme on my Android phone, my UI tastes had changed rather drastically. To quote Morpheus from The Matrix: “Fate, it seems, is not without a sense of irony.” I enabled the forced global dark theme and time went on once more…

It was now July of 2012. GTK+ uses Adwaita as its default and the theme is bundled as a gresource tarball file within the engine itself. Hoping to update CurvyLooks, I started by writing a simple gresource extraction script to unpack those files so that I could base my new CurvyLooks version on a recoloration of that theme. But having no need for the theme itself anymore, as a user of the Dark Adwaita theme, I simply did not have the patience to work through how to implement it for this new format of theme packaging. I focused my time and efforts elsewhere, in Fedora and in real life. Thus time slipped into the present…

I suppose this end is long overdue; but such is one of the great lessons about flexibility and power of Free software: Just because the original maintainers disappeared, as long as I was willing to put in the effort, I could keep the project running myself. While my contributions to it were small at best, it was fun, in its own little way, to go through the process of setting up and publishing my own work. But it was just “working” and rarely “working well;” and I could no longer give it the due diligence to make it as awesome as it once was.

It’s only fitting that I should let time slip, once and for all, into the future; but without CurvyLooks advancing with alongside it…(Unless, of course, someone else wants to repeat this upstream initiative and maintain it themselves!)

Categories: Tags:

October 5th, 2012 1 comment

I’ve come to use LaTeX extensively for typesetting my Mathematics homework. It just makes things so beautiful. And like the XHTML/CSS split, it really does encourage strong separation of content from presentation. One of the things I first hated about it though, is that I grew quickly tired of using \left and \right with brackets, parentheses, or anything that needed to be automatically be sized to its content.

And, as any good engineering student might, I sought to encourage my own laziness by finding a clever shortcut. After a few minutes of searching Google, I came across the DeclarePairedDelimiter command in the mathtools package. Its usage is fairly self-explanatory, as I’ll let the following demonstrate.

\usepackage{mathtools}

Then you can create your own paired delimiters with the DeclarePairedDelimiter command:

\DeclarePairedDelimiter{\abs}{\lvert}{\rvert} \DeclarePairedDelimiter{\norm}{\lVert}{\rVert} \DeclarePairedDelimiter{\innerproduct}{\langle}{\rangle}

Finally, you can use these new commands in math mode to more easily group your expression. (Append an asterisk to make LaTeX automatically insert the necessary \left and \right commands when you need the delimiters to resize according to their content.)

If $$a \lt 0$$ and $$b \gt 0$$, then $$\abs{a} = -a$$, and so $$\abs*{\frac{a}{b}} = -\frac{a}{b}$$.
The norm of a vector $$v$$, denoted $$\norm{v}$$, is defined by $$\norm{v} = \sqrt{\innerproduct{v,v}}$$.

As a nice bonus, it increases readability of the LaTeX source tremendously, since it gives those grouped expressions some semantic name rather than just being a bunch of formatting. For instance with the above delimiters, \left\lvert \frac{a}{b} \right\rvert is more to type, and a lot less obviously an absolute value, than the simpler \abs*{\frac{a}{b}}.

Happy hacking!

Categories: Tags:

## CurvyLooks 0.4 RC1: Almost GNOME 3-ready!

After over three years, CurvyLooks has an update! Yes, folks – this time it’s for GNOME 3 support….well, almost. It is based heavily on the Adwaita GNOME theme (in fact, simply copied verbatim in many parts). Unfortunately, I’ve not been able to adequately set the menu item and notebook-tag coloring, so those parts still look a little bit ugly. I’ve been trying to tweak the Adwaita theme on a trial-and-error basis to see how to do this, to no avail. Contributions welcomed! 😉
Also, I need to post more often on here…this I have decided.

Categories: Tags:

## Slight E-Mail Hiccup

Having grown more than a little bit tired of how slow Evolution is at filtering emails, I decided to try the new Thunderbird. (I say “new” because I have not used it since it was version 1.5-ish.)

Unfortunately, I accidentally decided to have them both open at the same time – my understanding being that IMAP is okay with multiple simultaneous connections. Apparently this is not the case between Thunderbird and Evolution, as I quickly discovered. Something clashed with something else somewhere along the code, and now much to my dismay my Inbox is empty. (Oops.)

Long story short, if you sent me an email since Saturday morning (which was the last time I thuroughly checked my email) that you need me to read and/or respond to, please resend it.  Thanks.

Categories: Tags:

## ThinkPad T500: Initial Fedora Report – Marvelous!

Well, after receiving my ThinkPad T500, I set about tweaking the pre-installed Windows Vista, and spent most of the weekend attempting to get it dual-booting Vista and Fedora nicely. For better or worse, neither Fedora’s GRUB nor Windows’ BCD bootloader would accept booting the other OS properly. I came to realize that I hadn’t used or needed to use Windows in over 5 years (even the server at work is CentOS), so It’s highly unlikely that I will need it in the foreseeable future. Just in case though, I can always run it in a VM. So, after burning the Product Recovery Discs, I wiped it all and installed Fedora on this wonderful machine. 🙂

I configured it with 4 partitions:

1. /boot (about 500 MB)
3. / (FS root, about 35 GB)
4. /home (the remaining ~210 GB)

As far as the hardware goes, everything appears to work out of the (quite literal) box. The processor’s throttling is automatically handled by cpuspeed and ACPI. The LCD was automatically detected at the appropriate resolution (WSXGA+, 1680×1050) and DPI (129), and graphics (integrated Intel GMA X4500HD) work very well – 3D, Compiz, and everything. Virtualization extensions (so-called “VT”) were disabled in the BIOS by default for whatever reason, but enabling them took only a few seconds and KVM works wonderfully (running an Ubuntu 9.04 virtual machine for a Linux class).

The TrackPoint(tm) and TouchPad both work splendidly, although the TrackPoint does take a lot of practice to get comfortable with. I’m tempted to disable the touchpad in the BIOS, since I don’t actually use it for pointing (and I often erroneously swipe it with my palm while using the so-called “nipple mouse” of the TrackPoint); but I do use it for the scrolling, so I’ve not yet found a happy medium. Suggestions appreciated.

The hard disk (Western Digital WDC WD2500BEVS-0) and DVD burner drive (HL-DT-ST DVDRAM GSA-U20N) are surprisingly speedy. I’ve already burned two copies of the Fedora 11 LiveCD and several data discs (backups) with no problems. The Bluetooth works well, and I can easily send and receive files to and from my phone through the included Bluetooth stack. The wifi  (Intel WiFi Link 5300 [AGN]) works beautifully with the included iwlagn driver, enabled by default. Also, NetworkManager makes connectivity trivial. (Thanks, devs!)

The firewire and PC Card slot also seem to work – they are autodetected and drivers loaded. However, as I have no firewire- or PC Card-based devices, I cannot verify their functionality.

I have come to quickly love the GNOME Power Manager stack. According to it, the battery on a full charge should last me about 5 hours. It keeps track of how much charge the battery has, how quickly I’m consuming or charging it depending on if I am plugged into AC power, etc. It even shows me a graph of my recent power history! Wonderful little tool. With the help of Intel’s fantastic PowerTOP utility, I’ve increased that computed estimate to nearly 6 hours. (!)

With regards to multimedia, things worked beautifully without me even trying. The built-in webcam works perfectly with Cheese, and the built-in sound works for both playback (surprisingly loud at maximum volume!) and recording (not fantastic quality, but it’s very good at eliminating surrounding static and other noises). I can’t wait to try video-calling someone with the recent Empathy enhancements!

All of the hotkeys – brightness-switching, volume control, playback/navigation, etc.) work as expected, and ACPI (with GNOME Power Manager) even automatically suspends when I close the lid – wonderful!

I’ve also noticed that the machine stays colder in Fedora than it ever did while running the preinstalled Windows. Maybe this is only subjective though, as I never checked the actual temperatures in Windows. Or perhaps Linux/Fedora is better at staying in deeper C-states for longer intervals. In either case, I can work with it directly on my lap quite comfortably.

One of the main reasons I decided upon the T-series instead of a similar R-series laptop was weight. Even with the battery installed, it is only about 5.5 pounds. (That’s about 2.5 kilograms for the rest of the world who use a less-insane system of measurements.) This is quite comfortable to carry with me around school and work without tiring my shoulder.

The only thing which I’ve been unable to test, aside from the firewire and PC card slots, is the dual-screen capability. According to the included manual, it should be capable of using the DisplayPort interface to attach a secondary screen (such as a projector) and automatically resize appropriately, with [Fn]+[Spacebar]. I suppose that if this does not yet already Just Work(tm), it will be fixed by the time I need to worry about actually using it though.

Overall, I love this laptop, and am extremely happy with my purchase decision. In fact, the only qualm I have with this wonderful computer is that it’s not yet decorated! Oh great lazyweb, doe anyone know where I can get stickers for GNOME, Fedora, Linux/Tux, et al., to adorn it with? 😀

Also: A huge THANK YOU to all of the developers who helped make my first Linux-on-a-laptop experience an absolutely wonderful one. I love it when things work so simply and effectively!

Categories: Tags:

## My First Laptop: A ThinkPad

Another summer has passed me by, and I still haven’t learned how to ride a bike nor how to swim properly. Alas, I suppose I’ll get to these eventually. I have kept one of my resolutions though. I finally splurged and bought myself a ThinkPad (specifically, a T500). I decided upon the following specs:

• Intel Core 2 Duo Processor P8400 (2.26GHz 1066MHz 3MBL2) 25W
• Genuine Windows Vista Home Basic (Will be used only to verify hardware functionality. Fedora will replace it thereafter.)
• 15.4″ WSXGA+ TFT, w/ CCFL Backlight (137 DPI…sweet.)
• Intel Graphics Media Accelerator x4500HD with vPro
• 4 GB PC3-8500 DDR3 SDRAM 1067MHz SODIMM Memory (2 DIMM)
• 250 GB Hard Disk Drive, 5400rpm
• DVD Recordable 8x Max Dual Layer, Ultrabay Slim (Serial ATA)
• Integrated Bluetooth PAN
• Intel WiFi Link 5300 (AGN) with My WiFi Technology
• 9 cell Li-Ion Battery

Thankfully, I found an excellent discount through the CPP (Contractor Purchase Program) which cut the cost from nearly $2,200 to just$1,400 (including shipping and taxes, state fees, et al.) – a savings of 40%! The 4-year protection plan was about 30% of the final cost. Well worth it, though.

As it is, this will be a life-safer, as I’ve been having a lot of intermittent hardware issues on my desktop: I get seemingly-random WiFi disconnects; DVD-burning often fails for no discernible reason, and my hard drive is on its last legs, so to speak. (In fact, just today I saw another 12 sectors go bad and need to be reallocated…its count is now at 177. The manufacturer maximum is 188!) – I’m all anxious and impatient now!

So, in the span of one month, I’ve spent almost $4,000 (tuition/registration fees, books/supplies, and ThinkPad). I think that’s quite enough for a while. 😮 Categories: Tags: ## Backup Strategies June 20th, 2009 11 comments With my primary hard drive (a three-year old WD Raptor WD740) having been on life support, so to speak, for the last 3 months, I’ve been a lot more diligent about keeping backup copies of my data. Every couple of days, I log out entirely and run a simple rsync script to copy my entire /home directory to a specialized partition on my secondary disk, which I keep at /mnt/backup for simplicity sake. While its parameter handling can be a bit quirky, I find that it is extremely useful for two reasons: The first more or less negates its quirky parameter handling: Clear and thorough documentation, with lots of example program calls The second is that it saves me a lot of time in copying the files. Similar to the DeltaRPM feature I raved about with Fedora 11, it copies over only the changed content instead of the entire directory tree. With my home directory at nearly 20 GB, incrementally updating my backup like this prevents a good 90+% of the data from needing to be copied again. In this way, I know that I have at least two copies of my data at any given time. A major plus to copying the directory tree as-is is that, once the drive does die and I replace it, I merely need to copy it over, without changing anything or unpacking huge tarballs and applying diffs, et al. The disadvantage to this is that I only have one consistent backup copy of my data at a given time, and that backup is on a hard drive in the same computer. So, should there be a massive system failure of some sort (knock on wood!), then I would lose my data for certain. I also intend to purchase CD-RWs for this purpose – that is, as an additional backup medium – in the near future. But for right now, the second on-disk copy suffices. I also want to setup a RAID system in my next computer build…but that’ll have to wait. 🙂 So this simple rsync method, as with any storage decision, has its benefits and downfalls: Pros: • Easy to configure; • Can be automatically run (e.g., in a cron job); • Updates occur via content deltas, not full copies; • Backup data is “as-is”, and can be used immediately after copying. Cons: • Only one backup copy; • Physical proximity to original data; • Requires space for an entire duplicate of the directory tree. For me, though, this method works out well. Do others have a similar system? Would you suggest any improvements/simplifications? I’d like to hear your thoughts on the matter! Thanks. Categories: Tags: ## Leonidas: On the Brink of Release June 9th, 2009 2 comments With Fedora 11 (“Leonidas”) released earlier today and Rawhide looking to the future, I find myself instead looking back at what has made Leonidas such an excellent release. With over 50 new features in this release (more than any previous release, I’ve been told!), it would seem logical that this staggering amount of new improvements would leave us with many majors bugs and issues yet to resolved – the more features we add, the less manpower/resources we can expend on each individually, right? Wrong. With so many test days and an amazing Quality Assurance team, we’ve hammered, smashed, pounded, banged, and kicked this release into a uniquely rich and stable Fedora experience. One of my favorite features of this release is Presto. Though not enabled by default, Presto allows users to use so-called DeltaRPMs to update the packages installed on their system. That is, instead of downloading the whole new updated packages, only the changes between the installed version and the update need be downloaded. Especially for large packages (such as some game data and OpenOffice.org) or those who are on a slower or pay-per-usage internet connection, this can be a very hefty savings both in time and cost. I used it immediately after installed Leonidas, and it saved me quite a bit on the initial updating: Size of all updates downloaded from Presto-enabled repositories: 14M Size of updates that would have been downloaded if Presto wasn't enabled: 128M This is a savings of 89 percent Win! The DRI2/KMS support has also been updated heavily and now works out of the proverbial box, at least for a large portion of Intel and AMD/ATi hardware. (This allows a proper composited desktop with 3-D and all. By default. VERY awesome.) Another excellent feature is that the installation now defaults to using the Ext4 filesystem where applicable. I must admit, I was a bit afraid of actively using this when I was first reading about it, due to all of the reports of data corruption people have experienced; but it seems those issues are long-since fixed, as I’d been using Ext4 for my root partition since Fedora 10. With Leonidas, I took the plunge and upgraded my /home partition (via Anaconda) from Ext3 to Ext4, and have yet to notice a problem. (For those wishing to do similar – and even for those not – I would still highly recommend keeping proper backups Just In CaseTM) Finally, while I could pinpoint each and every feature and how I feel it’s improved Fedora, suffice it to say that I don’t have adequate time to type out such a long rave. However, as much as these individual features improve Fedora on their own, it is their conglomeration which impacts us the most – the way things are so well-integrated and work properly “out of the box” (so to speak), the way that we as a community of many actively support all of this so well, the way we as a community so diverse handle bugs and packaging, the beautiful artwork and the amazing work of the Release Engineering team to distribute this blend of creativity so readily. I’d like to rehash those last few points: It’s the wonderful combination of the efforts of you countless contributors and users which makes Fedora so great. Thank you all. Keep up the impressive work. I can’t wait for what’s to come in Fedora 12+! Categories: Tags: ## Recent Lack of Availability May 27th, 2009 1 comment Err. If you’ve tried to get in contact with me over the past week or so (email, bug report, IRC ping, et al.), please excuse my complete lack of response. Having just finished final exams, I’d been very unproductively relaxing – playing video games, watching lots of anime, taking a short trip with family, and just generally doing as little “work” as possible – which included Fedora hacking. I really should have posted some sort of away message or “Offline for a while” email; but completely neglected to do so. Mea culpa. As I’m now officially on summer vacation (at least, until I can find a good job/internship), that will definitely change. 🙂 Categories: Tags: ## I’m…geekin’ out! May 8th, 2009 No comments Right, so I just got back from seeing the premier showing of the recent Star Trek film at the GardenWalk IMAX with a bunch of friends, and I’m completely geeking out. Yes, there were some plot flaws in it (such as the way Kirk defeated the Klingons in the “Kobayashi Maru” exam) but it was meant to be a bit of an alternate history, and I was thoroughly impressed with the movie as a whole. The actors played their roles amazingly well, but I especially liked McCoy (Karl Urban), Scotty (Simon Pegg) and Spock (Zachary Quinto). I was also quite pleased in that, as the limelights dimmed for the movie to begin, at least two other people in the theater joined me in shouting Qapla’! (Klingonese: “success”). There were no Klingons in this film, but that made it no less fun! On the other hand, I do apologize that schoolwork has taken up most of my free time recently, and will continue do so until the end of the semester (two more weeks), and because of this I’ve not been very active on the Fedora front. However, I hope to change that once classes let out for the summer. 🙂 Categories: Tags: ## Offline After Nearly 7 Billion Rotations April 8th, 2009 1 comment (That’s slightly more rotations than there people on Earth! :o) With Spring Break giving me some much-needed time off from classes, I had some time to install and test the recently-released Fedora 11 Beta. While I do think there are many minor issues (such as Urban Terror having no sound and not being able to quit), there are many awesome improvements over Fedora 10 already. Among these are such niceties as DRI2 & Kernel Mode-Setting support for Intel video (enabled by default!), DeviceKit, and the obvious benefits of GNOME 2.26. However, one thing that I noticed over the past weekend (looking through the awesome new Palimpsest disk utility) is that my secondary hard drive (a Western Digital WD740 Raptor) has begun to show its age after nearly 4 years of trusty service. The automatic block-reallocation and CRC error counts were already listing as “Failing” and just about everything else in the SMART self-test results are listed as “Pre-Fail.” Thankfully, it persisted long enough to backup my entire home directory to the primary disk (a 40GB Maxtor something-or-other). However, this backup has made that primary disk – which I have partitioned with everything else) almost full, with only about a gigabyte free. (That was close!) So, until I can get that replaced, I’m going to be getting my work done on my parents’ computers and those in the school labs – which means I’m not going to be able do anything Fedora-related other than simple bug-triaging for a while. With schoolwork and other duties now, it’ll probably take me about a week or so to order the new drive from NewEgg, have it shipped, and properly install it in my PC. I do apologize for any inconvenience this may cause; but as I’ve said on prior occasions, hardware and I seem to have a very love/hate relationship. :-/ Categories: Tags: ## Accidental Fixes February 22nd, 2009 No comments “If debugging is the process of removing bugs, then programming must be the process of putting them in.” (Edsger W. Dijkstra) After fixing the notification-daemon bubbles (thanks, Martin!), I spent some time perusing through some of the other GConf settings and found another rather interesting gem: /desktop/gnome/interface/show_input_method_menu which is set to off (False) by default. Now, for the longest time I’ve had trouble in Xchat-GNOME (my IRC client of choice) with getting Japanese input to work properly. There was no preedit text or conversion from Romaji to Kana/Kanji. SCIM/Anthy just wasn’t being used at all! But changing this one item, it’s easy now to get SCIM working as it should, but selecting the “SCIM Bridge Input Method” from the context menu. Granted, it’s definitely not a correct or long-term fix by any means; but at least now I’m not given the inconvenience of opening up gedit or some other application to switch back and forth when I want to IRC in Japanese. Yay! I should probably go package up that new Midori release now. 🙂 Categories: Tags: ## If a PC speaker beeps in a Fedora system and no one is around to hear it, is it still annoying? January 24th, 2009 4 comments Paul, John, and Joeren, I find that beeping so annoying that I simply eliminate that module entirely rather than disable it or blacklist it. To ensure that each new kernel update has its pcspkr module also removed, I append the following to the /etc/rc.local file. rmmod pcspkr ||: rm -f$(modprobe -F filename pcspkr) ||:

I suppose one could make an RPM whose sole purpose is to keep that in a trigger scriplet for each kernel update, but that might be just a little bit overkil.

Also, a great big Happy Birthday to Max Spevack! 🙂

Categories: Tags: