Wednesday, March 18, 2009

/home (exported from irie-arch:Tomboy)

No More Network Video! Please

We have managed to secure device (/dev/sda1 10GB:/srv) to keep some movies and a basic image of Debian Stable (lenny) for bootstrapping Xen instances of domU.

The deployment target is (/dev/sdc1 10GB:/home) where the disk is ext3 with reasonable permissions, and the space has been liberated from network video users.

Our system has a dangerous (/dev/md0 446GB:/) that is probably pretty safe formatted as XFS, with something like 100GB free thanks to a lost 100GB filesystem that was hosting a system running Ubuntu.

So, we ought not count on that 446GB! Instead, find a way to utilize that 100GB such that it can be "snapped" and utilized en-masse by another system, like the 120GB guest OS living on my VMware Infrastructure disk.

When we have another system somewhere with 500GB that we can trust, until then, scripted deployment is king and federated virtualization is a pipe dream that we need not realize now or in the near future.

There is no need to copy hundreds of gigabytes! Your application is insignificant.

Tuesday, February 17, 2009

Red vs. Blue: The Phone Company

Payment processors: I got another call from my T-mobile representatives today, asking for a payment on my phone bill. I gave her the card number and she charged $80; I could have a G-one phone for that price every month... instead she said she'd apply the payment to my FlexAccount.

What she said next intrigued me: make sure you call tonight or tomorrow to make the payment.

Didn't I just make the payment? I guess she would have responded like this:

"No, you just put some money in the account. The payment is a variable amount, based on some combinator on the services you've asked for, the services you've received, and the numbers we gave you when you signed up for the account. The number that's deducted from your coffers every month should be a flat fee, and it shouldn't be too high. If you've got $140 in your flex account and you're using less than 300 minutes every month, it's not going to be $70.

"$73.83 is just a number I threw out to get us started."

Whoa. That's heavy shit. Sidekick Unlimited plan at $19.99 plus Individual Basic with FlexPay for $29.99 is just shy of $50. I asked for the Individual Basic plan with 300 whenever minutes, and I think I should have it. I don't use more than 300 minutes on my phone during prime-time. I've got other phones that don't charge me $0.15+ every minute past my allowance. Some of these phones don't even maintain an allowance!

The last few months I've been paying for 600 whenever minutes, in spite of my demands. Do you know we don't even get rollover? So here's what she did for me: she took some money off my credit allowance with Capital One, and she put it into my FlexAccount. Actually, she put a note into a message queue, and that payment will be finally processed when they get to it.

Meanwhile, I'm going to talk to someone else with the right to refresh my account, and they're going to listen when I say, "There ought to be enough in my FlexAccount to cover the amount due for my monthly payment. Now, can we see how much that is supposed to be?"

She's not from FlexPay team. She represents me, with T-mobile. The distinction is quite fine.

Monday, February 9, 2009

Tryouts: XulRunner Data Grab

So, I've got this hunk of data little over 1GB that I'm pretty sure is going to be essential to my business. It's not the 1GB size, or even the particular data that I'm working with, but the fact that I need access to it, at whatever machine I'm using today.

We've got two users on the same machine collaborating on that data using Unison File Sync. How's it going? One user wants to use Subversion, the other wants to use Git. Integration is a pain that we don't want to tackle now. So, we're giving each user their own copy of the data, with their own exclusive write permissions on that copy, and they can share that data with anyone. They're going to share passwords, or they're going to share a third-party data store on another machine, and it's going to handle the access control rights between these two folks.

Unison supports most popular file transfer mechanisms. Our hunk is exported via FTP to Kingdon's own location on the house machine, /export/ftp/home/kingdon, which is encapsulated in a chroot jail so FTP users can't get out without connecting by another protocol. The firewall is responsible for making sure that only appropriate users will access the machine by any protocol, either FTP, SSH, IMAP, so there are actually plenty of different ways in, but this port's VSFTPD process is restricted to data inside of /export/ftp because it was executed inside of a chroot jail.

The firewall isn't doing its job reliably. The first firewall gets its IP address from the cable modem, doles out a static IP on a private subnet to the second firewall, which assigns a static IP to the house machine on a second private subnet, exposes the whole internal network to anyone with an 802.11 wireless client device that knows how to read, and forwards port 21:FTP past both firewalls to the house machine, so users on the outside with a username and password can access FTP and that big storage area with about 120GB of space on /export/ftp

kpb1363@hilly:~/spring2006$ ftp house.tuesdaystudios.com
ftp: connect: Connection timed out

Bummer. Try again tomorrow? I'll look at the firewall and figure out what's up when I get home.

Ruby on Rails: http://getontracks.org/downloads/index

Tracks has a new version out! I'm going to deploy it on my ArchLinux host, currently represented by irie-arch.tuesdaystudios.com, and I wanted to put up a page there that describes the services exposed, including pricing info, in case someone asks for their own copy from me. Maybe I'll use Instiki for this.

Meet our customer and his ad-hoc server farm (two machines in one) that live in Rochester on a University network, with a nearby home-based backup server for super cheap.

Thursday, October 30, 2008

Live Development

Today working on Lighttpd

fit and fit2 - I'm learning Korean! It's a lot of fun, and the teachers are very engaging. I've got my classes to finish up this quarter, so you might think that I am taking on too much. Not so, I am easily distracted, and it's actually a big help to walk around wearing headphones.

Just hope I don't get hit by a car ;)

Step 1: I wanted to be able to edit my code in place. I am coding in Haskell for Axel's Programming Skills class; it's a very interesting functional language, and it can do anything that C can do. In fact, the haskell compilers can actually produce C. You probably want binaries.

Step 2: I was sitting down at a mac and something convinced me to visit a Korean website! This website was produced by a korean; at least he has a korean name. Neither here nor there; I was sitting at a mac, and I was very impressed that when I pasted Korean text into my code, it lived in the terminal! I was using gnome-terminal, forwarded from my irie-eth0.rit.edu ssh host.

Windows is not so easy.

So what happens if I wanted to document my code in Korean? Korean developers can't use Windows! Unless... if it was a web application! So long as they have the correct fonts installed, Korean developers with a web browser could read and edit my code in place.

OK, so they could e-mail me too. But, my phone doesn't handle Korean either... I needed a good project that won't run out of problems, and this was it.

Back to the mac, I started learning on the 2-set keyboard layout. That means consonants are on the left, and vowels are on the right; the top row consonants can be repeated to indicate aspiration. An aspirated consonant is P instead of B; I hope you can hear the difference!

I thought it might be inconvenient to install the Asian keyboard layouts, especially if a system administrator has denied you permission to modify your keymaps. So, this particular system administrator hasn't done it... he hasn't installed the east asian fonts where I can get at them, and he hasn't installed files for complex script (joining) or right-to-left languages.

Those boxes are grayed out.

What does it mean? Even if I can get the fonts, I can't guarantee that my keyboard will send Korean signals to the program input. I need a function to translate english language characters to hangul, and it's not transliteration. Unless... does a tree fall in the forest?

Were you paying attention? I'm saying that the sounds on the Korean keyboard are not in the same place as a QWERTY. They're not illogical, they're just different.

Yes, they're actually stepping on your toes.

Sunday, September 14, 2008

Dual-Booting EeePC on Ubuntu and Debian

Hardware

My new Eee PC (I call it kpeeepb) came with a variant of Debian Linux installed, ASUS-branded Xandros. Two problems: I don't like branding, and if you follow the instructions on the EEE Wiki called "Pimp My EEE", you wind up with a brick that (while it can still read Word documents) hasn't got any disk space left for user modifications.

Unacceptable, I bought a memory card just so I could mod the thing out, now I've got Ubuntu installed on it but until recently I had mucked the thing up so I couldn't boot without using a USB Key. I don't know. I've got it fixed now so Grub is installed on the main system disk, and you can actually boot the XFS root on my memory card if you want to use the basic Ubuntu Netbook Remix.

I'd rather have Debian EeeOS on the main disk, so you can actually boot the system without a memory card. I was kind of hoping to use that memory card for carrying movies around with me, and if I could keep a backup of my own modifications with a pretty small footprint. The installation instructions call for an already working Linux system on the host computer, the backup Ubuntu System OS is on the memory card. I will need that if I turn it into a brick.

As long as I can boot GRUB, I should be able to enter these commands with the memory card in and expose a working Linux system:
grub> root (hd1,1)
grub> kernel (hd1,0)/vmlinuz-2.6.24-21-eeepc root=/dev/sdb2
grub> initrd (hd1,0)/initrd.img-2.6.24-21-eeepc
grub> boot
I've entered those commands and the wheels are turning... sdb has been recognized in only 731 jiffies... next my system is booted, and ready to overwrite the main system disk according to the instructions.

Oh no! I put the root filesystem specifier on the wrong line, initrd booted but the kernel couldn't find a root filesystem, and the grub process dumped me out to the busybox prompt. I thought I would mount my filesystems and poke around just to see what happened.

Well, I forgot to unmount them, and apparently ext2fs is just that fragile!
grub> kernel(hd1,0)/
Error 2: Bad file or directory type
So, I'm going to have to take a detour on these instructions. Ready to wipe my USB key completely, lets install eeeos_beta2 on the key and boot from that. There we can run e2fsck and find out what happened to my /boot partition on the memory card.

If that exercise was any indication of my luck, I'm going to need more than one solution for independent backup.

gunzip -dc eeeos_beta2.img.gz | sudo dd of=/dev/DEV

On IRIE, the DEV here is /dev/sdf1 for the first partition on my Kingston 4GB Data Traveler. Depending on phases of the moon (or, what device gets plugged in first) this is either (hd1):/dev/sdb or (hd2):/dev/sdc on the Eee. Once the system is up and running from the stick, I can copy the beta2.img file to the main system disk and complete the installation instructions normally.

Wait... I can still fix it without the stick! I had the foresight to copy the newer 2.6.24 kernel from Ubuntu system onto the Xandros root on sda1. My kernel is still hanging out somewhere I can get at it. I should still be able to boot. Phew!

Oh well, of course I will be overwriting it soon enough... don't forget to fsck sdb1 first chance you get, it really needs the cleanup after that mess.

Commentary

I surely won't need these instructions again. The machine is a rock. It's not going to need another reformat, once I installed Debian. Maybe a new set of menus... but that can wait until I learn some UI programming.
D'oh, so I really hosed that ext3 partition somehow. I think it's best to leave the booting to the system disk. Here's what you need to get strapped into Xandros, or whatever is the main system on disk sda1:
root (hd0,0)
kernel /vmlinuz root=/dev/sda1
initrd /initrd.img
boot


Looks like it's Ubuntu today.

Homework List

Today is C#/Haskell day. There is an assignment each from last week that needs review, and an assignment each for next week that needs new code. Systems Programming assignment was not completed, I think it's due this coming week... one Physics WebAssign each week and the first has already been lost to inattention.

Chemical Literature: the first submission of my Bibliography (using the Professor's template) is due TONIGHT at 11:59PM on RIT's myCourses website.

Sunday, September 7, 2008

lets jack mycourses

My annotations are in plain, unitalicized text.

<<<>>>
Authored by: Alexander Haruk
Authored on: Sep 4, 2008 10:01 PM
Subject: Once Again All The Talk of Academic "Integrity" Makes Me Want To Rant


  1. No

  2. Not Sure

  3. No

  4. No

  5. No

  6. Yes

  7. Not Sure

  8. No

  9. Not Sure

  10. Yes

  11. No

  12. Yes

I suppose I should explain myself and these answers. These talks are always the same repetitive thing, nothing new is ever said, and frankly the scenarios almost always piss me off.

"A student completes a paper and submits it for two courses, but each requires 'original work' prepared for this course." This one always pops up, and it's the same thing "This is a very bad thing to do, and uh if you do it your a Nazi!" Reusing something that you wrote should never be thought of as a bad thing. Suppose you wrote a report one year How the Color Red Makes People More Inclined to Defaecate, or some such nonsense, then the following year your boss (yes this was an employment setting) want's you to do it again, and he tells you to put in all the new stuff. After checking you find there is nothing new, so you give the same thing again. Or alternatively you retake the course. Understand my point

Timeshifting is good. Nobody should be able to monopolize your hours in your day, requiring you to tediously repeat something hour after hour or day after day. OK so maybe it's your livelihood (hey professor) but maybe you're not carrying the news that day? Nobody, least of whom should be the cable company! #kpb

"A student allows another to copy his or her work during an exam." This is rather ambiguous because it doesn't specifically state that the "work" has anything to do with the exam. If it's a French exam and the work being copied is homework for Anthropology then "No." Even if we assume it is for the same class it still isn't necessarily wrong. What if what's being copied isn't on the exam? There's really only a narrow circumstance where this is wrong, if and only if what's being copies actual pertains to the exam.

If the purpose of an exam is to test each student's individual knowledge of a subject domain, then it is rendered ineffective by two students sharing information inside the walls of the exam room. If the goal is to engage in discussion and present as many facts or viewpoints as possible, then to copy is to share and to enlighten. The test is really about your note taking ability, one way or another. #kpb

"A student uses copies of previous exams to study, but the instructor does not return exams to keep." This isn't wrong for one of two reasons, either the instructor is an idiot and doesn't notice that he's short a graded exam, in which case shame on the instructor, or the student is able to transcribe an entire exam without being noticed, in which case the student deserves to keep the exam.

"A student obtains information from someone who has taken the same exam in an earlier secion (anyone notice that spelling error before?); the instructor requires all exam takers to sign a vow of silence." Unless the instructor works for the Pakistani intelligence agency (or something like it) and the punishment for breaking the vow is death it's unreasonable to expect people to keep their mouths shut.

"After taking an exam, a student 'swipes' a copy that is not supposed to be 'out.'"

Note: The following is based on the assumption that "after" means immediately after and is confined to the testing area, and as such does not apply to any breaking and entering at a later time or date.

Again the scenario is left open to interpretation. This could be the way a person similar to the one in question 3 operates (technically can't be the one in question 3, because of the presence of the word "return" in the question) or the instructor brings copies of the next exam with him; making him an idiot and deserving of his exploitation.

Is nothing sacred? In the industry, we have what are called trade secrets. A degree (or lack of degree) is a sort of bar to entry into an industry. Professors should be expected to invest in their testing materials and to proffer grades accurately. How then if they must take extra care and invest in "safe" workspace and storage of their valuables to keep students from stealing them?

#kpb

"A student obtains a term paper, report, or homework from some source and turns it in as his or her original work." Well obviously it's wrong. It's like asking if counterfeiting is okay.

"A student uses a programmable calculator during an exam when such devices are expressly forbidden." Reasons why it could be okay: there's nothing programed into it, what is programed in it isn't relevant, it's open book, or complete formula sheets are provided.

"A student receives full credit on a team project on which he or she did little or no work." Don't hate the player hate the game. The student has no control over how the project is graded, so why this keeps on getting asked baffles me.

You can't crash the boat if you're not at the helm. What have you done for me lately?

"A student obtains an advance copy of the exact same exam he or she is going to take and uses it to study." Is this the same idiot instructor from question 5? Was this a review sheet passes out, by the instructor, to the class that happens to be the test? Or did the student break into an office and steal it? Can you guess which of the three is wrong?

"A student alters answers on a test returned for review and then gets credit for the 'mistake.'" Far far to cheap of a tactic for me to defend in any way shape or form, after all I have integrity.

I have seen professors who will grant credit for students after the fact if they show that they have learned the lesson. That's not what's being described here, but seriously, haven't you ever heard of extra credit?#kpb

"Teams agree to share information on a project/case after the instructor explicitly forbids doing so."

Note: The following assumes that the "project/case" is in an academic setting and is a graded assignment, and does not apply to research, legal proceedings, or anything else that has inherent competitiveness.

Information is different from answers. Information is how to do something, and telling/showing someone how they're supposed to do it is fine.

"A student uses crib sheets, notes, or similar materials during a closed book/closed note exam." Why. Why. Why. Why, do they have to ask this? Of course it wrong!

Monday, July 7, 2008

Credit Card Debt Analysis

Gee-ze-o! Look at these numbers, if I can command a higher salary today then I should. I am paying way too much interest.

Right now you are $3,886.23 in debt. If you continue to make minimum payments, it will take you 114 months to get out of debt. You'll pay $984.00 in interest.
If you make a one time payment of $1,000.00 today and you pay $200.00 a month, it will take you 22 months to get out of debt and you'll save $953.00 in interest.


Right now you are $7,344.77 in debt. If you continue to make minimum payments, it will take you 129 months to get out of debt. You'll pay $1,543.00 in interest.
If you make a one time payment of $600.00 today and you pay $370.00 a month, it will take you 22 months to get out of debt and you'll save $1,492.00 in interest.