RSS

After going to work this morning I will have to say without a doubt that Seattle's King County Metro Route 16 is one of the most disgusting routes in all of the City. It's not just the bus itself, with its smell and odd seat textures; it's the people and their questionable appearances and odors. Make sure you're fully clothed, hope to $diety that you don't have to board it on a summer day.

25
Apr

Moe sketch

07:27PM
moe sketch

Drew this the other night after watching Nico. The eyes looked like they were doable, so I thought I'd try it out. I think it turned out well, but it's just not moe. Perhaps the eyes needed to be bigger.

Reference video.


Yukkuri Talk v0.1

To join the obscure yet rather ongoing meme of Reimu and Marisa speaking in an awkward fashion like all other text-to-speech programs, I have created a web version using the very same voice which made them infamous among the Touhou community.

Yukkuri Talk

Dubbed Yukkuri Talk, this page takes your English queries and transforms them into its machine-translated counterpart, and then speaks it as if Yukkuri Reimu was actually with you. You can also bypass the translation and just type in Japanese for more control in what the yukkuri says. Yukkuri Talk even provides you with a wav file for whatever nefarious things you may make out of it.

The voice library that makes the Yukkuri sound is none other than AquesTalk, which Japanese MAD artists use in their creations in the form of SofTalk. SofTalk is a Windows-only program and uses the same voice library.

In addition to AquesTalk, Yukkuri Talk takes advantage of kakasi, a kanji-to-kana/romaji converter as well as NKF for encoding conversion and Excite Japan for the translation service.

I still make some tweaks every now and then trying to fix various things, and if you have questions or comments leave something in the forum where I debuted it.

Till then, take it easy.

24
Sep

Cardbo

06:27PM
I run on money.

After finding out my brother got one of these at AWA14, I knew I had to get one too. I'm a big fan of Yotsuba& and its creator, Azuma Kiyohiko.

Get this. The costume's eyes light up too.

kdingo's Xen/Storage stack

Of course, a lot of the times nothing really goes the way you want it. If I could, I'd purchase a 24-disk iSCSI storage array from Silicon Mechanics and just plop that into the rack. But then again no one wants to spend 8-10K on an unproven virtualization platform. And that's just for storage.

So here I am, using our spare machines. Two Dell PowerEdge 2650 servers with Openfiler 2.3 installed, providing iSCSI services. There's two of them since they are doing block-level mirroring of their LVM partitions. The 2650s have 5- 146GB disks in RAID5 for 580GB-ish of storage. I am using DRBD for the mirroring. Too bad Openfiler doesn't let you set that up in the GUI though.

With the setup of our insta-SAN, we have a pretty cheap solution for virtualization. In fact, I have spent $0 (if you don't count time) on the software or hardware. Xen is included with CentOS, as well as the iSCSI initiator utilities, and Openfiler is a free downloadable ISO. The hardware we already had.

I see that if I need easier manageability, I'll have to cough up some dough- but I think that if we don't provide virtual private server (VPS) services, I should be OK. I'd imagine that with VPS you'd need some sort of management client for the customer, and also some punched holes in the firewall, and maybe some automatic load balancing when VM servers die or go down for maintenance.

Anyway. I think our current Xen/Storage stack is good enough for a small company- and can certainly be space-saving after a few VMs are put on there.

kdingo's xen/storage configuration
Xen machine
o poweredge 1955 blade
o dual quad-core xeon
o centos 5 64-bit
o 4GB ram
o 2x 146GB RAID1
o serving as backup destination

Openfiler machines
o 2U poweredge 2650
o dual dual-core xeon
o openfiler 2.3 32-bit
o 5x 146GB RAID5
o DRBD mirroring service
o iSCSI target service

21
Jul

Xen and Despair

08:13AM
So it has come to the point where the Company is going to make services out of the experiments I've been working on for several months now... It's full- and paravirtualization using the Xen kernel, particularly in CentOS 5.

This is kind of a surprise, but I've been pushing it all along, with the help of other coworkers. Some of our servers are several years old, some that are older than the manager who is the eldest member of our department. These servers are in need of virtualization, IMO, as they are 3U Hitachi beasts running Windows 2000. We've got maybe 3 of them. Also we could virtualize a couple of Dell Poweredge 2450's running CentOS 4, although we could rebuild them on newer hardware. Either way, it's the servers that no one in the company knows how to rebuild from scratch that are priority.

We can theoretically free up about 20U and stuff it into 2-4U of Xen hosts. So right now my concerns are:

Storage. This is kindof two-fold. I've decided that LVM is the way to go, with each virtual machine having its own logical volume. But next, it would be great to have a central place for storage, instead of on the machine itself. A SAN would be nice, but we don't have one... So now my buddies in the office are looking into cheaper alternatives, using the spare machines we have.

Backups. Naturally I'd back up the virtual machine images over the network. Since right now we've got a 100Mbit network, compressing and then transferring a test set of 400GB images over it takes too effin long, like 7 hours. So I've resorted to using a couple of local disks in RAID1 and transferring them there. 4.6 hours. Eh. Then I stumbled upon a Process Runner bash script which runs more than 1 process at a time. The best results I got from it are 2 backups at a time, getting the job done in 3 hours. Better.

If there was some software out there like partimage that would recognize LVM devices I'm sure I could get the job done in under 2 hours. I've still got lots to work on before our virtual servers go production.

21
Apr

Moe Cookies

09:56PM
<3 Moe~ <3

My boss went to Japan last week to meet with Otsuka-Shokai and to observe the workings of the datacenter they have over there. What he brought back was extraordinary- a box of cookies from a maid cafe.

Labeled "@Maid Cookies", the box is a product of the @home Cafe, a maid cafe in Tokyo and other parts in Japan. Apparantly one of the Otsuka-Shokai guys (who has visited us stateside in the past) treated him to @home Cafe, and even got me a membership card there for kicks. (!!)

If I ever visit Tokyo, I will definitely have to put it to use.

Akibanana.com had written an @home Cafe review just a couple of weeks before my boss went. It really does look fun to go to.

12
Feb

The Backups Guy

07:28PM
I recently realized that I am taking care of not only the company's backups, but of our clients as well. Before this job I haven't done serious backup work, especially on my own home machine. So I ended up making up my own little way of doing backups at work.

Of course, this isn't a matter of buying an external hard drive. I built a dedicated Linux system to take care of the different kinds of servers we have, like the webservers, the MTAs, and SQL servers for my company and its clients. The heart of the backup are a couple of scripts run by cron everyday.

One is specially made by me and the other is modified from another backup script for our biggest client, who we call Otsuka. The first script runs rsync on important directories, like postfix directories for MTAs or the webroot for webservers. Then once a week it takes a tar archive of those directories and holds them for a week. Since this type of data does not change very much I hold the data for a week to not prematurely fill up the server.

The second script is an SQL backup script. SQL database contents change frequently, and this script takes an archive of database contents each day for seven days.

All in all, we have a single Dell PowerEdge 2850 with around 700Gb capacity taking backups of our Linux systems. Which is great for us, since this machine is replacing an older system with much less capacity.

But our client Otsuka has invested heavily in backups, so we get to play with much more complex machines than a 2850, which get to be pushed into production pretty soon. They purchased three PowerEdge 2950s, each to be paired up with their own Dell MD3000. So that's 3 servers and 3 storage arrays. Fortunately, the backup methods will be entirely similar- so I won't have to create new scripts or use different programs. The main difference is that one pair of these systems will have a capacity of 5 terabytes, and we need every bit of it considering how many servers Otsuka has with us (which I'd estimate at about 100).

I wouldn't say that a 2950 is overkill for a backup system either. Compression of SQL databases are done on the backup side, and of course the tar archives. Having extra horsepower to do the file crunching and then getting backups done more quickly is always a good thing, imo.

And with these new systems, we'll finally be able to fulfill the golden rule of backups- Always have an offsite backup~

Oh ho, a new year and so long without a blog entry.

I figure I haven't been keeping my friends updated on my antics lately (apart from Facebook but that isn't really active either) so I thought I should go back to doing that. I have usually excluded work from here but I think I'll break from that personal policy. So here's a briefing on what happened these past few months.

So I'm working IT now. Love it. I'm a system admin for a small web- and email hosting company in downtown Seattle. Even though it's a Japanese company, my college minor credentials did not factor in getting the job. (My Japanese still sucks anyway)

Soon after I got kicked out of my apartment (or rather, I had to leave because they were converting to condominiums). The ordeal left a bad taste so I decided to get a condo in north Seattle. I do have the extra income anyhoo. It's a 1 bed, 1 bath and I like it.

A couple of weeks ago I flew back home to attend my bro's graduation. I saw a few old friends, played games, and managed to see a couple frat brothers in a stopover in Charlotte on my flight back. What a coincidence. It was a good slap in the face though; I realized that I really haven't been communicating what I have been doing. I kinda had dropped out of contact.

Well, most of my updates should be more or less work-related from now on, as that's all that's keeping me busy.

Except for manga. Holy crap I have suddenly started reading a whole bunch of it. I guess it started with Genshiken. It ended with volume 9 so I started reading Welcome to the NHK. So far it's up to vol 5 and I finish these pretty quickly (about 1/2 volume on one trip to work by bus). I also picked up the massive 600+ page Azumanga Daioh "Omnibus" collection. I was getting a kick out of the Scrapped Princess novel series so I also picked up the novel version of NHK as well as Kino no Tabi. Even though I've seen some of the anime and the OVA of Kino no Tabi before, I had decided to buy the anime series after finishing the novel.

Anyway, I'm almost done with that "Omnibus" and I don't really want to keep it waiting.

My elegant keyboard, over my not-so-elegant desk

I bought a new keyboard today, the wonderful metal ultraslim Apple keyboard. It is really nice. The edge closest to you has practically zero clearance and typing on it is quiet and still has the tactile feel of typing on a notebook. But since I'm a Linux user, some keys have changed (or disappeared) and I set out to fix that.

I'm not a regular Mac user, so I quickly noticed that the Insert key was replaced by a "fn" key. I would assume it's there to double-up on various function keys like volume, Expose and Dashboard made popular by notebooks nowadays. fn does not replace Insert, however, as Command replaces Win or Option replaces Alt. Clear replaces NumLock. Other keys do not have a replacement, as I depict with a list:

Keys Without a Substitution on the new Apple Keyboard (#a1243)
-- Insert
-- Print Screen/SysRq
-- Scroll Lock
-- Pause/Break

Using the command "xev" I could find out which keys were free so I could reassign Insert to a different key. Unfortunately, fn does not generate a keypress so I couldn't replace fn with Insert. If there's a way to detect a fn keypress I will update this page.

So pressing keys within the xev window will produce output in the terminal like this:

KeyRelease event, serial 32, synthetic NO, window 0x4c00001,
root 0x1a5, subw 0x0, time 1551098171, (77,-11), root:(794,556),
state 0x10, keycode 157 (keysym 0x0, NoSymbol), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False


NoSymbol means there is no keymap. And under my distribution (openSuse) F16 is mapped to something called Mode_Switch, which I'll just leave alone. So I end up with keys that do nothing:

Keys With No Function
-- Eject, keycode 204 (next to F12)
-- F13, keycode 182
-- F14, keycode 183
-- F15, keycode 184
-- F17, keycode 131
-- F18, keycode 247
-- F19, keycode 132
-- =, keycode 157 (on the keypad)

Using xmodmap -e, I can take those keycodes gathered from xev and assign them to unused keys. I chose F13 to become my new Insert, F17-19 as my Print Screen, Scroll Lock, and Pause keys.


$ xmodmap -e "keycode 182 = Insert"
$ xmodmap -e "keycode 131 = Print Sys_Req"
$ xmodmap -e "keycode 132 = Pause Break"
$ xmodmap -e "keycode 247 = Scroll_Lock"


Changes take effect immediately. Now if I need to work outside X, that might be a different story.