eliot's blog

Sublime Text is as Great as it Sounds!

Maybe you've had the experience of retrofitting your computer to operate quietly? Afterwords you say to yourself, "How did I ever think with all the noise that computer was making?" A small change in your environment creates a shift in your thinking and productivity.

I had the same reaction to the Sublime Text editor. After an hour of use I was loving it. A couple hours later it was customized just the way I like it. The next day I realized I was spending more time getting good code written and less time fiddling around.

Sublime Text EditorSublime Text Editor

Sublime doesn't have every feature possible, but it does have some imaginative features such as multiselect/multi-edit. Linux, MacOS and Windows are supported. A vi mode is available. It's also incredibly clean and fast. You'll love the way it looks and feels.

There are all sorts of options for customizing the editor. Many plugins are available and it's easy to write you own. You'll also find plenty of assistance in the forums. It seems Sublime is going viral within the developer community.

The World is a Small Place

I just ate at Cocì and realized I'm sitting next to Dries Buytaert, the founder of Drupal. The world is a small place sometimes.

Remember, even the greatest humans of all time were just people. You can be great, too, if you work. And with a little luck at the right time, you can be amazing.

Output to Multiple Audio Cards with Alsa

I like to have the option of playing music on my headphones or outputting to the stereo - it really improves family life when they don't always have to hear my dubstep ;) Unfortunately, the sound cards and devices you have available don't always fit together nicely. For Linux users, ALSA gives you a lot of control and flexibility over audio devices. However, it is usually difficult to figure out exactly what needs to be done.

In my case, I have an onboard audio device with optical digital out. But onboard audio usually receives a lot of noise from the rest of the components on the motherboard - your headphones buzz when a hard drive seeks or you move your mouse pointer. I have broad musical tastes and orchestras sound pretty awful with static in the background. By adding an old-school Creative Labs SoundBlaster Live card, I can get exceptional quality output for headphones.

What caused difficulty was getting audio output to both the onboard and SoundBlaster audio devices at the same time. By default, Linux applications will send audio directly to one specific device. All you need is a properly structured ~/.asoundrc file to configure ALSA.   read more >>

Does AN Hosting Overload Their Servers?

I have read rumors that certain shared web hosting providers assign more than 1,000 users to each of their servers. This implies that the servers will be grossly overworked and the service will be slow. However, you never really know what you're going to get with a new host, because such numbers are never published. You won't see the sales pages for Godaddy and Dreamhost list service descriptions as One 8-core Opteron processor, 16GB memory and one 2TB hard drive with 2,000 user accounts per server. Unfortunately you won't find anything like that on AN Hosting's pages either, but I did a little sleuthing and have more details for you.   read more >>

Free Energy May Be Real

Fusion is the physical process in stars which generates energy. Incomprehensible amounts of pressure and heat covert hydrogen into helium. It is the engine which drives the universe, but it does create a fair bit of nasty radiation.

Cold fusion is based on the theory that energy may be created in a more controlled fashion. The goal is to generate a smaller amount of heat without all the dangerous behavior which occurs inside a star. Unfortunately, the field of study was ruined in 1989 by some irresponsible geniuses and a lot of crackpots.

Since then, a small number of respectable scientists at NASA, NRL and the DOE have studied these types of reactions. To avoid crackpots, they have termed their research as Low Energy Nuclear Reactions (LENR). Although they have not discovered any magical formulas, there has been enough progress to justify continued funding.

In early 2011 an Italian physicist, Andrea Rossi, announced that he had created a functioning device. It generates a good deal of heat by converting nickel into copper. This heat may be used directly as a furnace or to generate electricity through steam turbines (the same way coal and nuclear power plants operate). There have been a number of demonstrations for technical audiences and a major trial will be run on October 28th. If Rossi's Energy Catalyzer (e-cat) device is real, energy will become more-or-less free.   read more >>

Entity Systems in Python Presentation

I'm giving a lightning talk at the Boston Python User Group this week. The presentation is very short, but provides a 5-minute overview of why an object-oriented design may not be ideal for game development. None of these are my own ideas - I'm simply passing along the wisdom of much wiser (and larger-scale) game developers. Object Oriented designs have caused them much pain in the past, so they've come up with a better scheme: Entity Systems.

Entity Systems provide more flexibility (for the developers and the game designers) and higher performance. The end goal is a design that is easier to create and much easier to modify.   read more >>

Approaching the Algorithm of Fun

Game designers have to spend a lot of time balancing games. Building an entertaining mechanism is a good start but a game without balance quickly turns away the players - too dull, frustratingly impossible, unfair, etc. Nerfing, and other after-the-fact balancing, is often dismissed by gamers but I think among game developers nerfing is assumed to be a fact of life. You cannot predict all the ways in which players will interact with your game, so the game must be adjusted.   read more >>

Brain Coordination: Using DVORAK and QWERTY Keyboards

Rather than the more traditional QWERTY key layout, I use DVORAK. I've been typing with DVORAK for just over a decade, so I no longer remember my original intentions for switching. However, DVORAK has long been recommended as a replacement for QWERTY - partially for typing speed improvements, but also to reduce ergonomic strain on the typist. Studies conducted by psychologists have suggested perhaps a 5% speed improvement for DVORAK, but the ergonomics have not been thoroughly studied (estimates based on finger travel distance suggest a potential ~40% improvement). I argued for the efficiency of DVORAK by analyzing keyboard layout efficiencies for several different types of documents.

When I purchased a Kinesis contoured ergonomic keyboard in 2000, I discovered there was a learning curve before I could use the new keyboard effectively - Kinesis contoured keyboards arrange the keys in straight columns. It made sense to make the switch to DVORAK at the same time and re-train myself entirely. This lead to several weeks of frustration, but I was determined and thankful that I stuck with it (much like when I completely uninstalled Microsoft Windows from my first computer).

For the majority of these last 11 years, I've had a DVORAK keyboard at home and QWERTY at work. Within the last two years, I've been able to use DVORAK for both. I now perform almost everything on a Kinesis contoured keyboard with DVORAK layout.

People often ask how I cope when I happen to sit down at a QWERTY keyboard. The truth is that there is no problem at all. When I sit at a traditional keyboard my fingers automatically know to go QWERTY. Similarly, when I sit at a Kinesis keyboard nothing makes sense but DVORAK. Although I didn't fully consider the ramifications until recently, I have inadvertently trained my brain to be capable of both keyboard layouts. But each layout is strongly associated with a specific physical keyboard design!

I am not a psychologist, but I was curious to learn how well my skills would transfer. Am I able to use QWERTY on a Kinesis keyboard? How effectively would I work if I sat down at a traditional keyboard that had been remapped to DVORAK? My hypothesis was that I've so strongly associated the physical Kinesis keyboard with DVORAK that I would be unable to perform satisfactorily with any other layouts. Similarly, attempting to use DVORAK on a "standard" keyboard would fail. I found the results to be surprising...   read more >>

R: Plots for DVORAK vs QWERTY Typing Performance

When plotting my typing performance, I wanted to demonstrate my baseline typing performance as well as the number of errors. For this, I discovered some quite useful capabilities in the CRAN package ggplot2.

results<-read.csv("./dvorak_vs_qwerty_typing_test_results.csv", header = TRUE);
png(filename="kinesis_dvorak.png", width=640, height=440, bg="#070707");
ggplot(results, aes(x=Trial, y=Kinesis.DVORAK)) + scale_x_continuous(name="Trial #", limits=c(1, 15), breaks=seq(1,15)) + scale_y_continuous(name="Words per Minute", limits=c(0,100), breaks=seq(0,100,by=10)) + geom_point(aes(x=results$Trial, y=(results$Kinesis.DVORAK + results$Errors)), color="#7b0000", pch=19) + geom_area(color="#004088", fill="#004088", alpha=0.5) + opts(title="Kinesis Keyboard - DVORAK Layout") + theme_bb() + opts(plot.title=theme_text(colour="#ffffff", size=14, vjust=1), axis.title.x=theme_text(colour="#ffffff",size=12,vjust=0), axis.title.y=theme_text(angle=90,colour="#ffffff",size=12), plot.background=theme_rect(colour="#070707", fill="#070707"), panel.background=theme_rect(colour="#666666"), panel.grid.major=theme_line(colour="#444444"), panel.grid.minor=theme_line(colour="#070707"));
dev.off();

Required packages: ggplot2, ggExtra

Bookmarklets - Making the Web More Convenient and Fun

The idea of bookmarklets is so simple that I suspect many people use them without realizing it. A bookmarklet is basically just a specially-crafted bookmark for your browser which performs special tasks. This can mean performing custom actions on the current page or generally improving your web browsing experience.

Technically, bookmarklets are short snippets of Javascript code which can do just about anything. They've been around for a long time, but I've only been using them a few years. With the increasing prevalence of cloud products and services, I expect their usage will only increase. Bookmarklets make it easier for you to do everything you need to with just a web browser. As such, I'm keeping a list of the most useful.   read more >>

Syndicate content