Adding arguments to CentOS boot

I’m running CentOS in a VirtualBox image (so I can play with Docker while using Windows, because … um… because). I don’t want X running; I am happiest with the command line for this application. So the screen resolution is really important to me; I don’t want an 80-by-25 console, I want something better.

It’s actually really easy, once you know how – that’s why I’m writing it up, so someone else can see exactly how I did it.

First, I needed to determine what values to use. You can work out potential values using hwinfo, which isn’t part of the CentOS repositories – you’ll have to install it from GhettoForge.

To be fair, I knew what values I wanted – I wanted mode 792, or 0x318.

(You should figure out what mode you want, then try it on your kernel before setting up the boot parameters. You have been warned.)

All I needed to do to set the boot param was:

sudo grubby --args=vga=792 --update-kernel=ALL

With that, when I booted CentOS, I get a larger console (but not a giant console) perfectly suited for what I wanted.

North Carolina State fans (and coach!) – you’re classless.

FSU played the NCSU Wolfpack this last Saturday, and managed to win; that’s good for FSU, and honestly, it was good for NCSU, too, because they punished FSU and easily could have won. But two things really, really bother me about the game.

The first was when one of the FSU players went down with an injury. NCSU was on the move, playing a hurry-up offense, and the pace was really hurting FSU’s defense – then the nose tackle goes down with an injury.

The NCSU fans booed, accusing him of faking the injury to slow down the pace.

Now I find out today that Coach Doeren (NCSU’s head coach) said the same thing.

That’s awful, classless, and stupid. I know a lot of NCSU fans, living in the Raleigh area; they are decent people, and I’d not been interested in smacktalking them beyond a little gentle ribbing back and forth (we’d already traded a few barbs back and forth, all in good fun.)

But this makes me angry. I’m fairly certain none of my friends were among those who booed, but if one of them justifies it to me…

Here’s the thing. Doeren ran the hurry-up offense because it pushes a defense; it tires them out, and prevents substitutions. That’s logically sound, if you can do it and you think the timing’s right. The problem is that it can hurt a defense physically – as in, the players are more likely to be injured because not only do the play counts go sky-high, but the players play tired, and playing tired is more likely to lead to an injury.

So why wouldn’t these NCSU geniuses recognize that their hurry-up offense – the weapon of choice in the situation – could cause exactly what happened? Why would you boo someone who was quite likely injured through the course of the game, based on the offensive strategy being used?

I guess I can excuse the fans – even though booing an injury of any kind, faked or not, is classless. (If the injury was indeed faked, well, that’s classless too, but that’s on the player’s conscience. And yes, I’d feel that way if an opposing player did it.)

The coach, though… that’s the guy who should know best. That’s just sour grapes, and it’s conduct unbecoming of a head coach. I’m very disappointed, especially since my oldest son is considering enrolling at NCSU sometime in the near future.

Jameis Winston: Please, please, please just stop

FSU announced today that Heisman winner Jameis Winston has been suspended for the first half of the football game between the Seminoles and the Clemson Tigers, a game that many expect to define the seasons of both teams.

If FSU loses this one, the team loses the momentum for inclusion in the playoffs. Win and you’re still on track for the ACC championship and the national championship, as well.

If Clemson loses, they miss the best chance that any ACC team has of wresting control away from FSU.

So the stakes are very, very high for both football teams… and now FSU is going to be playing a full half without its best weapon.

Why? Because Jameis Winston is an incredible football player, and he’s in the position that touches the ball on every offensive down, and… oh, you were asking why he’s suspended.

It’s because he reportedly shouted some obsceneties in FSU’s student union. I’m not going to bother pointing out what he said, because that’s easy enough to find and it’s not something I’d ever think to repeat.

This is after allegations that he raped a fellow student two years ago, and after he absentmindedly shoplifted some crab legs from a Tallahassee grocery store.

At this point, it’s really difficult to support Jameis; the rape allegations are a sort of “he said, she said” situation, with people asserting opposite claims on both sides. The police said they didn’t have sufficient evidence to prosecute, and I can only hope that’s because the allegations were false; if they’re true, well, then at this point it’s up to God to mete justice, and I can only hope it lands hard.

The crab legs seemed like simple absentmindedness; that’s easy enough to forgive.

But the point is that he’s a college student – like, in college. He’s won the Heisman Trophy, awarded to the best athlete on the field for a given year – and would have won by a landslide, except many voters didn’t want to vote for him because of the rape allegations.

He’s not an idiot… I think. He should know that he’s being watched, every second. Every little thing he does is going to be examined and exposed.

I don’t expect him to be perfect; that’d be ridiculous. I do, however, expect him to be sane, and mature. It’s one thing to make a mistake, but one doesn’t shout an obscene phrase on top of a table by accident – that’s a deliberate act of stupidity.

Jameis, please, please stop. I have sons. One of them practices football wearing a jersey with your number on it; please don’t make me regret buying it for him.

Florida State, I don’t know how legal this would be – knowing the NCAA, it’s probably against the rules – but it might be worth it to bring on a scholarship player whose sole role is to hang out with Jameis, and every time he makes a decision of any sort, just ask him: “Really? Are you sure? Really?”

Think about it:

Jameis says “Okay, I got my crab legs, time to leave the store!”

Watchdog player then asks: “Really, Jameis? Really?”

Jameis then realizes he’s forgotten something important, and pays for the crab legs.

Let’s try another one.

Jameis is walking around the student union (after the watchdog had asked him “Really? Walk around? Are you sure?”), and sees a beautiful young lass watching him. He starts to saunter over, because even though he’s got a girlfriend already, this other student is pretty.

Watchdog sees him start to walk over, and says “Hey, Jameis – really? Are you sure? Really?”

Jameis realizes that everyone knows his girlfriend is rather attractive, and both he and his girlfriend are aware of social media, and nods to the girl and moves on.

It wouldn’t be foolproof – if Jameis is a strong enough fool, he’d simply ignore the watchdog and crash and burn. But at least he’d have a chance, and when and if he screwed up, parents like me would know that he intentionally went about doing something that we’d not want our children doing, and we could wash our hands of him.

I hate this, really. I want to admire Jameis; I like Florida State, I like football. I despise the idea that the leader of my favorite team is an idiot and a miscreant, but I’m running out of choices to believe otherwise.

Use of a/an with parentheticals?

This morning I was confronted with a grammar question for which I just don’t know the answer. Consider the phrase “an essential truth;” now put “essential” in parentheses. Is the indefinite article supposed to be “an” or “a” in that phrase?

I’m stumped; my advice was to remove the parentheses entirely, so the phrase remains “an essential truth” instead of one of “an (essential) truth” (which works out to “an truth”) or “a (essential) truth” (which scans terribly).

The real key here is to learn to avoid parentheticals more, of course; I use <aside/> on my blog fiercely to help myself not use parentheticals (with miserable failure rates, as you can see… whoops. Why am I not using <aside/>?)

So, fellow grammarians, I ask you: what’s the correct form, if the parenthetical is included?

Smart Grids series reposted

I just republished an article I’d worked on for Red Hat, called “Smart Grids.” It’s got twelve parts already, with two more not actually finalized; I’d been pulled off of the smart grids article and never quite got back around to it. I’d still like to, though. It’s a good walkthrough of an “Internet of Things” architecture.

Check it out!

My Actual Skillset

Recently, someone said that I needed to put more of the things with which I’m experienced on my resumé. They’re right, but it’s not an easy task, for a few reasons.

The main reason is that it’s too long. If you can name a mainstream language, chances are I’ve done something meaningful with it. Perhaps it’s not been a major project, but I’ve probably kicked the tires of each language enough to understand what it’s about, the paradigm of the language and ecosystem.

It’s not just limited to mainstream languages, either. There’re some obscure languages that litter the landscape, like Louis II, and even some custom languages, including some to which I contributed.

More than languages, it’s libraries. Java is one language, but it has thousands upon thousands of libraries and utilities providing functionality for application developers. Those libraries range from frameworks like Java EE to Spring, all the way down to matrix and artificial intelligence libraries and over to tiny utilities that just make tasks easier.

The problem here is how to specify with what I have experience, in such a way that my experience stands out in useful fashion.

The other main problem is how and why I have that experience, and what that experience means.

When I was in my twenties, and I’d not used C++ for a few years, a friend of mine and I sat down for what would now be a pair programming session. It’d been a while for C++ and me; I remembered what do to, but when confronted with the actual blank screen, I spaced.

I don’t remember what we did next; we probably played guitar for a while.

That moment stuck with me, though. It hit me again when I was working on the Alcyone, my MIDI foot-pedal controller project, which is written with C++. When I sat down to write it, my first thought was vague panic: how well did I remember C++? Was I good enough to get it done well? (The answer was: well enough, and yes, thank you.)

I use that sensation all the time. It was the basis of my employment by TheServerSide as editor in chief, the guy who’s supposed to vet content for quality and accuracy, and the guy who’s supposed to provide an actual perspective.

And there we have another problem with my experience: depth.

A while back, someone lambasted the Miami Hurricanes’ fanbase, pointing out that it was a mile wide and an inch deep; all their fans are band-wagoners. (When the team does well, they’ve been fans forever; when the team struggles, well, the beach is over there, are the ‘Canes playing today? By comparison, we Florida State fans are actual fans.)

Well, that’s me and a lot of technology, honestly: because TheServerSide watched everything, generally from Java’s perspective but not limited to Java, I encountered it all. Every obscure library wanted to be promoted, so I’d get notices of everything.

I read hundreds of posts a day, trying to understand not just the posts themselves, but whether they were relevant for a wide enough audience that I needed to tell my readers.

Once I decided that a topic was relevant, I had to write it up in such a way that I was actually trying to explain it to my readers. That meant I couldn’t see some obscure fuzzy logic library and think “Oh, that sounds neat,” and then copy and paste some blurb from the project website.

I had to download the project, perhaps build it. I had to understand the problem domain the project was trying to address. I had to try to use it, to see if the project’s claims were accurate, and to see how I actually felt about how it was used.

Therefore, my experience wasn’t just a mile wide and an inch deep – I had to approach everything, and build my experience to the point where I could conceivably use the project to actually do something. I had to come at everything with my tiny grains of knowledge and build a fortress against the ignorance, so I could tell others something they needed to know, whether they knew they needed it or not.

It wasn’t an easy job.

However, that was perfect for me: it played into my skills as an architect, and as someone who integrated information quickly and well, and into my desire to connect people with information.

However, how do I use all of this? Well, as a architect and a consultant, I’m good at approaching problems cold, and seeing how possible architectures map to those problems; I am not limited to seeing things from Spring’s perspective, or Hibernate’s, or Mule’s, or Rails’. I’ve used them all, and I have a good idea about what I think works well, and why, and where they don’t work well.

And if I’m wrong? Well, I don’t let my ego carry me too far down a wrong path; I know I’m human, I know I rely strongly on my ability to integrate and learn. So what, if I recommend Spring for something at first, and find that something else would be better? I had to learn, and I do learn.

So the issue with my experience is two-fold: it covers too much to be useful, and the best aspect of it is the experience of using and learning, as opposed to raw mastery of a given limited set of technologies.

I’m not really sure how to leverage that in the cold light of a resumé.

The LinnStrument looks awesome

Geert Bevin pointed out the LinnStrument this morning. Color me jealous – that thing looks awesome.

It’s basically a MIDI controller built on a pad, largely on a grid – much like a stringed instrument’s notes are, except providing expression and note control and you move your fingers around. There’re demos of using it to play slide guitar, expressive saxophone, violin – I can imagine it being workable for drums but it’d probably be underusing a lot of the LinnStrument’s power for expression.

And it’s based on the Arduino – and the software is open source, at that! (Or the site claims – I didn’t see a reference offhand to the source repository. Geert told me it’s going to be available when the instrument is available, which makes sense.)

At $1500, it’s not cheap (nor has it been released yet, as of September 9, 2014) but it looks really nice – it’s a little like the Eigenharp in providing a different and unique control surface, while being a little less intimidating for people like me.

To-do lists: todo.txt is awesome, but wunderlist is next

I’m admittedly really bad about keeping track of the things I’m supposed to be doing at any given time. As a result, I work best when something (or someone) is in front of me, reminding me that I need to do something by a particular time; I usually don’t have a problem executing, but I’m … easily distracted.

As a result, I live and die with to-do lists. They keep me focused, they give me the next thing I’m supposed to be focused on.

I’ve tried a lot of them. I’ve tried GTD apps, simple to-do lists, to-do applications… while I’ve not tried all of them by any means, I’ve certainly hit a decent survey of them.

I like the idea behind Getting Things Done. In GTD, there’s a big emphasis on capturing information, then classifying it, then operating on it. Applications to help with it, though, haven’t really been very successful; the best of them for me has been ThinkingRock.

Honestly, though, I find myself using ThinkingRock as a glorified (and simple) to-do list. That’s suboptimal, because the GTD mechanism of capture-then-classify just makes it hard to use if it’s only a to-do list.

The best application I’ve found was actually part of GNOME 3: todo.txt. The It uses a simple (and well-known, and pretty bloody obvious) text file format to keep track of things to do, and basically wraps that text file in a tiny UI for GNOME 3.

Synchronize via Dropbox or some other cloud-based filesystem, and you’re rolling.

That’s awesome, but Windows doesn’t work well with it. (At least, not that I’ve found.) You can use Windows with it, of course, because it’s just a bloody text file, but I want something more integrated, more cross-platform.

I had tried Wunderlist; recently I also added ToDoist to my stable of tools.

However: Wunderlist is winning right now. It’s easier to work with in most respects, does everything simply, and is very well aimed at cross-platform; I wish that it had a desktop application (the notification mechanism would be nice) but that’s about it.

I’ll keep testing it out.

Two cool fonts

I have a thing for handwritten fonts, and I found two new nice ones this morning, courtesy of DZone: Note This! and Where Stars Shine the Brightest, both hosted on http://dafont.com/.

They’re both pretty old fonts, but they’re pretty (and free for personal use). Add in A Dripping Marker and you have three very clear, distinctive handwritten fonts.

Want samples? Here they are:

dripping_marker

note_this

where_stars

I like fonts – John Bomparte, a friend of mine, designs fonts for a living. He’s brilliant at it, and the technology behind font design is really cool.

I wish I had some natural talent at it, but I don’t. In the meantime, I’ll cruise along enjoying my scripted fonts.