Bring skates.

It’s in Progress

Just wanted to let everyone know that my tumblr theme redesign is in progress, so the site probably looks messy at best. I’m trying out some fun things, like jQuery Masonry, to try to get a unique style that isn’t too terrible.

Also, I’m trying to make sure all my fonts are bigger so the site is easier to read, and trying to update the font. Right now I’m playing around with Segoe UI and Segoe UI Light, but I may also try something more interesting.

Anyway, thanks for the patience.

‘Disabling’ the F-Lock key on Logitech SetPoint Keyboards

It took way too much Googling to find this obvious, simple solution, so I figured I’d post it to BR where it’ll hopefully be easier to find.

In SetPoint, under My Keboard, Keyboard F Key Settings (the F in a box on the left) you can select what all the F keys do when F-Lock is on. Just go through and change each to Keystroke Assignment and assign them to their respective function key. While this doesn’t disable F-Lock at all, it merely makes the function keys behave the same regardless of whether F-Lock is on. This works perfectly with my old diNovo Media Desktop keyboard that I use for gaming.

nslookup cobblestone

I am overtired and going to sleep now and wanted to share how I figured this out.

While playing Minecraft, my mind started to dream anyway, and I dreamt that there was some kind of DNS issue into of Minecraft, and I was confused because I wasn’t sure how I figured out there was a DNS issue as I didn’t see any trace routes or text on the screen. It was very confusing; I 

Good night.

PHP: Joining arrays into subsets

The following snippet joins the elements of an array into of subgroups of 3 (and one for the remainder.) I used this for grouping list items into columns for formatting, if it helps, enjoy.

$x = array('one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight');
for ($i=0; $i<count($x); $i++) {
    array_splice($x, $i, 3, join(array_slice($x, $i, 3)));
}

Creates

array(3) {
  [0]=>
  string(11) "onetwothree"
  [1]=>
  string(11) "fourfivesix"
  [2]=>
  string(10) "seveneight"
}

By the way, apologies for the crappy formatting for code snippets; I’m working on a new style for BecauseRobots which should also address that.

Vim Script Snippet to Detect SVN/Mercurial

While this might not be as elegant as it could be (as I’m only just starting to embark on learning the intricacies of vim script) this gets the job done. I’m using this to prevent running commands/plugins that don’t make any sense to run (for me) outside of a working copy.
For example, the below snippet, instead of just binding <F1> directly to FufCoverageFile (FuzzyFinder), it will check to see if I’m in a SVN or HG working copy/repository first. This was mainly to prevent me from running FufCoverageFile in / or /home/kevin or some equally terrible directory that has way too many files to index. At worst, I can still run :FufCoverageFile to get around this check.
function! s:IsInSvn(dir, vcdir)
	let l:dir = simplify(a:dir . '/' . a:vcdir)
	if isdirectory(l:dir)
		return 1
	else
		if simplify(a:dir) == '/'
			return -1
		else
			return s:IsInSvn(a:dir . '/..', a:vcdir)
		endif
	endif
endfunction

function! g:SafeFufCoverageFile()
	if s:IsInSvn(getcwd(), '.svn') == 1 || s:IsInSvn(getcwd(), '.hg') == 1
		FufCoverageFile
	endif
endfunction
nmap <F1> :call g:SafeFufCoverageFile()

Good Music is Always Good Music

I’m a fan of chip or 8-bit style music. While for some people it may conjure memories of Nokia ringtones, for me, I feel like it’s time for a boss fight. Sometimes I’m asked why it doesn’t sound bad too me, and I usually fail to explain why.

Danny Baranowsky composes chip music, although much of his stuff goes well beyond true chip stuff. Most of his stuff is soundtracks for iPhone games these days. One of his most recent albums was the soundtrack for Super Meat Boy, which I’m particularly fond of (If you do decide to listen to this, make sure to go beyond the first track, as the first track is a much different style than all the rest.)

A little over a week ago, Brent Kennedy released piano covers of ten of the songs from this soundtrack. I think its interesting to check out and listen to this instrumental, piano covers as I feel like they do a better job than I could of explaining what kind of feeling or depth I feel the original soundtrack has by putting them in a medium more people are used to.

And no, I don’t think that the piano covers sound better than the originals; I just think they may be more accessible. Anyway, enjoy.

Epsilon XFWM theme

I just posted one of my custom XFWM themes that I use pretty heavily, as I figured I’ve been using it enough that there’s a chance someone else would want to use it too.

I’ve used Epsilon with a number of GTK themes, and it works pretty well with the (relatively new) Die Hard 4 theme which I’m using now. See it on XFCE-Look.org for more screenshots.

Making bad passwords better

There’s lots of different things people can do to improve passwords. Most people know that there are better and worse choices (‘password’), and most people know that adding in a number helps (‘password1’). And, if you turn the password into some mishmash of symbols like you wish you were a hacker back in ‘94 (‘p@$$w0rd’) it must be impossible to decrypt.

While a longer password (‘ultrasecurepassword’) is certainly more secure, for something like my own user account password that I have to type numerous times a day, having to deal with successfully typing a password that long without typos definitely gets slower and more obnoxious. On the other hand, completely random passwords (‘dJ2a#0xr’) require memorizing (or worse, a postit) and are terrible for sharing with a group of users.

Another simple way to improve a password is to use the layout of the keyboard itself. For example, instead of ‘password’, type the letter or symbol directly to the right of each letter: ‘[sddeptf’. Or, if you prefer, do above-left (‘0qww294e’) or above-right (‘-wee305r’).

Don’t think this is a magic bullet; some dictionary-based password cracking tools will try these kinds of ‘shifts’ as well to break your passwords. But, password cracking tools are even more likely to try simple letter/character substitutions, and substitutions like that still require memorization, and may need lead to postits. So, from worst to best,

  • password
  • password1
  • p@ssw0rd
  • [sddeptf
  • dJ2a#0xr
  • ultrasecurepassword

PhoneGap Plugins: Updates to SaveImage and EmailComposer

I’ve forked and updated both plugin on Github. The first allows sending DataURI images as image file attachments via EmailComposer. The second is just compatibility updates to keep the plugin current and working.

How to Upgrade Minecraft to a Pre-Released Version (like 1.0 Release Candidate 2)

First things first: download the client jar from either the original source (probably a tweet by Jeb or Notch) or find the link somewhere else reliable, like the Minecraft forum. Or, for 1.9pre4, click here. For 1.9pre5, click here. For 1.0rc2, click here.

Next, Fire up Minecraft, and go to the Texture Packs screen.

Click the button that says Open texture pack folder and you should end up with a folder open like this.

You may not even have any texture packs, but I have quite a few installed. Now, you want to up go a folder; you can do that by clicking on ‘.minecraft’.

Next, double-click on the ‘bin’ folder and open that up.

You’ll notice that in this directory, there’s a file called ‘minecraft.jar’, and you started this all off by downloading a file called minecraft.jar.

Make sure Minecraft isn’t running.

Rename (or delete) the minecraft.jar already in this directory, and put the new one in this folder. Fire up Minecraft again, and you’ll be running 1.9!

Note: there are two different jar files called minecraft.jar. One is this one that lives in the bin directory, and the other is the Java based launcher that’s cross platform. They aren’t the same.

If you want to share this via a server message or such, I recommend using this link instead: http://bit.ly/mcupgrade

Apple

So, in the last hour or two I’ve spent energy praising Jobs, mentioning some of his flaws, and attacking Apple. So, This is a follow up from what I last wrote about Apple and Steve Jobs.

There is an attitude, encouraged by Apple, that Apple products are undeniably superior products to all others available because Apple made them. I’m not sure where the attitude originates, but I feel I became aware of it in popular culture in the 1990’s. The attitude goes beyond just that Apple makes better products to suggest that questioning whether Apple makes a better product is a poor choice; that Apple has done all the critical thinking and has made the best choices for you so you don’t have to make any choice besides buying Apple.

Further, Apple goes on to push that Apple products are for better people. I like this ad, from Wired magazine in 1999 (source) that associates Apple not only with brilliance but with identity.

With few exceptions (like to avoid self-contradiction), I vehemently oppose this kind of attitude. I am the best person to decide what’s best for me, even better than the late, great Steve Jobs. I take my time to make my decisions and will try most alternatives as I can. I routinely switch through the different web browsers available to see differences and try to find which one is the best for me. While I don’t expect anyone (even myself) to exert that kind of energy before every choice, I do expect to act appropriate to the amount of time they’ve invested in the matter. If someone had only ever driven one brand of car, didn’t know how cars worked, and hadn’t spent any time researching other brands of cars, if they announced that their brand was undeniably the best they’d be viewed as the unreliable source of biased data that they were.

Apple promotes this culture. Genius bars (source) and the majority of the Think Different advertising campaigns are examples of Apple glorifying its user base.

This kind of mentality reminds me of a few other groups that have had a lot of media attention lately. While I can think other examples, I’ll pick on Glenn Beck:

I don’t have strong political opinions, but I identify with the point that Jon Stewart and Stephen Colbert were trying to promote with the Rally to Restore Sanity and/or Fear. They were trying to counter cultural extremes through comedy.

I think that Apple has created extremists and now counter-extremists. To those Apple users who are just using Apple and aren’t oozing superiority at every Android, PC, and other non-Apple customer they meet, I apologize for the gauntlets I throw. Still, Apple seems to be focused on reinforcing the extremes. I can’t help but think that this is the effect that Richard Stallman is hoping will begin to subside with Jobs passing.

It’s the end of the Beta as we know it

Notch posted yesterday, announcing that it looks like 1.8 is the last beta for Minecraft, and 1.9 will be labelled the full release. This is instead of Notch’s previous plan to release 1.8 before Minecon and spend this month bug fixing, optimizing and tuning Minecraft before release.

So, what this means to the Minecraft community is that we need to be testing the pre-releases heavily. The separation between pre-releases and releases is not without its drawbacks, but regardless, it’s the way that Mojang has now been operating.

On the plus side, it means that nearly every major SMP community are all running 1.8 now, while texture pack authors, modders, and people like the Bukkit developers can work on hotfixing 1.8 and developing for the upcoming 1.9.

Unfortunately, it also means that 1.9 is getting very little SMP/CMP exposure. Without any easy for communities to run multiple versions its very difficult for communities to expect all players to patch Minecraft themselves, especially since that it’ll have to be patched again to return to 1.8. Historically, there have been lots of bugs that are only evident in multiplayer; which means, there’s lots of 1.9 bugs that aren’t being exposed well.

Further, a lot of the larger communities had a lot to gain from optimization and tuning. With Notch and Jeb really overloaded just with features and bugs, I’d guess from my own experience that they haven’t been able to spend a lot of time worrying about optimization. I bet they’d be able to make a lot of head way (albeit not being very shiny work) helping smooth out the communication between clients and servers. Most of these large communities (Reddit, Voxelbox, Super Earth, Yogiverse) also are truly dependent on some of the functionality that Bukkit brings, and anything that Mojang can do to support their requirements should be looked at carefully.

These core multiplayer servers are truly the core of the community. Whether through the impressiveness of their content, the skill of the builds or photos and video they produce, they’ve affected the entire player base. Further, since Mojang doesn’t provide any hosting themselves, these groups really are vital to Minecraft. To lose these groups would be extremely detrimental, and I feel like multiplayer really is Minecraft’s future. I think Mojang even sees eye to eye with me on this, as even the mobile edition can both host and join multiplayer games.

So, Notch, let us suffer for a couple weeks (or more?) before MineCon, when these communities can thrash around with 1.9, and you can get a sense of what would really help prove that Minecraft is not only going to keep cranking out features and content, but will become capable of larger and larger servers to keep up with its popularity and player base.

Just used Tumblr&#8217;s redesigned customization interface; it seems like an upgrade and looks like it may be based upon ACE (Ajax.org Cloud9 Editor.) The remnants of Mozilla Bespin got merged into ACE, and the editor seems okay, although I did run into a bug where the sidebar was taller than my display, so when I scrolled to the bottom of the Edit HTML pane with arrow keys, I had to do some Web Inspector hackery to get back to the buttons up to (running Chrome 14.)

Just used Tumblr’s redesigned customization interface; it seems like an upgrade and looks like it may be based upon ACE (Ajax.org Cloud9 Editor.) The remnants of Mozilla Bespin got merged into ACE, and the editor seems okay, although I did run into a bug where the sidebar was taller than my display, so when I scrolled to the bottom of the Edit HTML pane with arrow keys, I had to do some Web Inspector hackery to get back to the buttons up to (running Chrome 14.)

What I’ll Remember Steve Jobs For

While there are many things I don’t like about the philosophy that Steve Jobs subscribed to, there’s one thing that I find undeniably admirable about him: commitment.

Jobs’ commitment to standards and vision really allowed the Apple philosophy to manifest itself without carrying along the baggage of convention. NeXTSTEP and Apple have both, at times, shown that its possible for innovation to overcome convenience. Having the will and the drive to see this through time and again is exemplary and few can compare with the effect it’s had on the world.

With computing platforms changing shape and such a strong focus on computing culture and style, I look forward to what will emerge from that fine balance between practical and radical.