blog http://blog.calebegg.com Most recent posts at blog posterous.com Thu, 09 Jun 2011 23:08:35 -0700 Pseudocode http://blog.calebegg.com/pseudocode http://blog.calebegg.com/pseudocode

For the past few weeks, I've been working on a project I've dubbed 'pseudocode'. I was inspired by the expressive way I handwrite pseudocode in my notes and how I thought it was disappointing that I can be so much more clear in writing than I can in code, where I'm restricted to a limited glyph set.

As it stands right now, pseudocode is a live processor for source code in many languages that replaces certain operators and other language constructs with properly spaced, typographically distinguishable variants. '=' is replaced with '←', '==' with '=', '<=' with '≤', etc. I think the best way to get a feel for it is to actually try it, which is why I wrote this initial version of the interpreter in javascript (well, in coffeescript). There are a few other minor tweaks to the font (which is derived from the excellent DejaVu Sans Mono).

Here's the demo, hosted at GitHub. It should work in all modern browsers, but I've only tested it extensively in Chrome.

So, go, try it for a while. Type a few lines of code (solve some Project Euler problems if you're looking for something specific to write) or paste in something you're working on. It's particularly tuned to the languages I know and like, so you'll get to see more of it (and it will hopefully make fewer mistakes) if you use Python or a C-like language.

Unfortunately for myself and others who like pseudocode, this demo page is, for now, all there is. I spent a lot of time trying to wrangle pseudocode into vim, and it's proven difficult, to say the least. The closest I could get was to find some similar projects whose solutions don't conserve line length, which is a dealbreaker for me (they also cause text to jump around distractingly in MacVim).

Regardless, I remain enthusiastic about the idea, and I'll keep working on a good way to actually use it in practice. In the meantime, I'm going to stop focusing on this as much and move on to other projects. I've gotten pseudocode to the point where I'm happy with the overall feel, but can't stop nitpicking and second guessing myself on details. The full source code is available on GitHub (you'll need FontForge if you want to edit the font, CoffeeScript and Sass if you want to run the code).

Thoughts, opinions, and contributions are always welcome, either by email or in the comments. (Bugs can be filed at GitHub)

Screen_shot_2011-06-09_at_10

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1916609/photo.JPG http://posterous.com/users/YMUzUYxrbjz Caleb Eggensperger calebegg Caleb Eggensperger
Mon, 14 Feb 2011 08:48:00 -0800 Guacamole + Ubuntu Maverick: Step by step http://blog.calebegg.com/guacamole-ubuntu-maverick-step-by-step http://blog.calebegg.com/guacamole-ubuntu-maverick-step-by-step

VNC server

  1. Install a VNC server. I suggest vnc4server.
    sudo apt-get install vnc4server
     
  2. Create the file ~/.vnc/xstartup. Paste in the following (this will set up the x server and start gnome-session to give you your desktop and panels and such):
    #!/bin/sh

    xrdb $home/.xresources
    xsetroot -solid black
    gnome-session &

  3. Start the vnc server. Change the resolution if necessary; this is what I used so it would display nicely on my Cr-48:
    vnc4server -geometry 1260x650 -depth 24
    It will prompt you for a password the first time if you have never run vnc before. You should set one up, especially if you're not firewalling port 5900-5910. Remember what screen it says it has started on for later. It's usually screen 1.

Tomcat

Don't use the version of tomcat in the Ubuntu repos. It is very broken.
  1. Download Tomcat 6.x from the website. Get the .tar.gz file under "Core".
  2. Untar the file.
    tar xvzf apache-tomcat-6.0.32.tar.gz
     
  3. Move it to someplace nice. I used /opt/tomcat. It's whatever you want though.
    sudo mv apache-tomcat-6.0.32/ /opt/tomcat
     
  4. Generate SSL keys for tomcat. More info here.
    keytool -genkey -alias tomcat -keyalg RSA

    This will ask you several questions. It will also prompt you for a password. You won't have to memorize this password, so you can use a random one. Use the same password for the keystore and the key. You'll enter it in the next step...
  5. Edit the /opt/tomcat/conf/server.xml with your favorite text editor. Add to the bottom (and change the bolded things to be correct):
    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" keystoreFile="/home/username/.keystore" keystorePass="keystore password" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" />

Guacamole

  1. Download Guacamole. (The .tar.gz, if there are choices)
  2. Untar it:
    tar xvzf guacamole-0.2.6.tar.gz
     
  3. Spread the files through your system:
    cd guacamole-0.2.6
    sudo mkdir /var/lib/guacamole/
    sudo mv guacamole.war /var/lib/guacamole/
    mv guacamole-users.xml /opt/tomcat/conf/
    mv guacamole.xml /opt/tomcat/conf/Catalina/localhost/

  4. Edit the username and password in /opt/tomcat/conf/guacamole-users.xml. You'll use these to log in later, so use something you know.
  5. Edit /opt/tomcat/conf/Catalina/localhost/guacamole.xml. Change the port from 5900 to 5900 + screen number (from before) (so probably 5901). Uncomment the line with the password tag and add in your password.
  6. Start tomcat.
    /opt/tomcat/bin/startup.sh
     
  7. Go to http://localhost:8443/guacamole in your favorite modern browser.

That should do it. You'll have to re run the vnc server and tomcat startup script if you ever reboot. Getting those to run automatically on startup is left as an exercise to the reader.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1916609/photo.JPG http://posterous.com/users/YMUzUYxrbjz Caleb Eggensperger calebegg Caleb Eggensperger
Mon, 14 Feb 2011 07:01:00 -0800 Guacamole! http://blog.calebegg.com/guacamole http://blog.calebegg.com/guacamole

Who has two thumbs, spent hours setting up something he'll probably only use for the novelty, can now spell guacamole with ease, and doesn't need to wait for the "chromoting" feature to be finished?

Screenshot-20110214-085956

This guy.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1916609/photo.JPG http://posterous.com/users/YMUzUYxrbjz Caleb Eggensperger calebegg Caleb Eggensperger
Wed, 09 Feb 2011 21:07:00 -0800 More Minecraft http://blog.calebegg.com/more-minecraft http://blog.calebegg.com/more-minecraft

These last few days of snow have given me lots of time to work on my homework and many personal projects play Minecraft.

So I made you some screenshots.

I took the plunge and installed a couple of mods. The only one that I've really stuck with though is BetterLight (formerly Ambient Occlusion) which makes the lighting look much nicer (at the cost of a bit of a performance hit, at least on my Mac mini)

First up, my new favorite theme ever, Linecraft (note: work in progress). It has exactly the style I was looking for, and it just happened to go on /r/minecraft today.

I do have one nitpick: the style is not very consistent when you get into the more manufactured-looking blocks (wood, cobblestone, wooden things, items). As I said though, it's a work in progress, and I hope that it improves in this regard.

Second, a mod I tried out but ultimately decided against (for performance reasons) added some nice depth of field blur:

2011-02-09_12

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1916609/photo.JPG http://posterous.com/users/YMUzUYxrbjz Caleb Eggensperger calebegg Caleb Eggensperger
Mon, 07 Feb 2011 10:43:00 -0800 Cr-48 Resolution and CSS http://blog.calebegg.com/cr-48-resolution-and-css http://blog.calebegg.com/cr-48-resolution-and-css

One of my complaints about the Cr-48 is that reading text on many sites is difficult. My vision isn't perfect, but it seems like most sites are unreasonably small.

I found out via the (quite good) Cr-48 subreddit that I'm not the only one with this problem. Linked to from the comments is a rather lengthy debate on the Webkit bug tracker on what to do about relative DPI differing from screen to screen on modern devices.

Basically, Webkit currently defines one CSS inch as 96 device pixels, exactly, always. This causes web content to look smaller on screens where a device pixel is less than 1/96 of an inch. The Cr-48 device pixels are about 1/125th of an inch (the screen is 125 DPI). Therefore, if I (as a web developer) want an element on the screen to be one inch wide (all other units in CSS are defined in terms of the inch), it will only be .8 inches wide on a Cr-48.

Further complicating the problem is that most web developers are not using 96 dpi screens either. Older computer screens are actually less than 96 dpi. 96 was made a de facto standard by Microsoft even in the face of this fact with the justification that things on a computer screen ought to be bigger than the same thing on paper since screens are generally further from your face than paper documents.

As if that wasn't enough, the CSS unit "px" is actually defined by the CSS2 spec as 1/96th of an inch. This is extremely unintuitive. For most modern monitors, the proper size of a CSS pixel is not one pixel. And the proper thing (by the spec) for the browser to do would be to treat pixel units as more or less than one pixel.

The only browser that I know of that does this correctly, incidentally, is Mobile Safari on the iPhone 4, mostly because of its very high density screen. Firefox apparently deviates from the CSS2 spec and displays "relative" CSS units (inches, points, picae, mm, cm) as being in terms of the DPI while keeping pixels (as an "absolute" unit) fixed. This would cause problems on many websites, but, fortunately (I suppose) for Firefox users, does not affect many people, as Windows does not automatically set the DPI (instead defaulting to 96 DPI, per above). Chrome and Safari do nothing, completely ignoring any DPI information in the OS.

Fortunately for me, a poor user suffering as a result of this widespread confusion and misinformation among browser devs, web devs, designers, and users, and a resulting lack of automatic fix for this sort of problem, a workaround exists. Chrome (at least very recent versions) has an option in the settings menu (in Under the Hood) to set the default zoom level. The closest I can get to the desired DPI is 120% zoom (resulting in 96 * 120% ~= 115 DPI), which I find works quite well.

 

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1916609/photo.JPG http://posterous.com/users/YMUzUYxrbjz Caleb Eggensperger calebegg Caleb Eggensperger
Tue, 01 Feb 2011 13:40:00 -0800 Updated website http://blog.calebegg.com/updated-website http://blog.calebegg.com/updated-website

I updated my site at calebegg.com. Go check it out, or whatever.

I'm working on a code portfolio to go with it. I'll probably post here when I've got something to show.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1916609/photo.JPG http://posterous.com/users/YMUzUYxrbjz Caleb Eggensperger calebegg Caleb Eggensperger
Mon, 20 Dec 2010 20:31:04 -0800 Cr-48 Observations & IAQ http://blog.calebegg.com/cr-48 http://blog.calebegg.com/cr-48

So, I was sent a Cr-48 (Google's testbed hardware for Google Chrome OS) last week and am just now getting to play with it. Some neat things:

  • It really does come back from sleep instantly. I'm having to adjust to this; I have such a strong habit of closing my laptop screen partially when I'm not using it, because I don't want it to distract me but I also don't want to wait for it to wake up. That's no longer an issue.
  • Panels are brilliant and wonderfully implemented. Every OS needs these, especially on a small-ish screen. And they have some really good UI polish; for instance, when opening a panel, a temporary button appears to close the panel wherever your mouse is. That way, you can open, look at, and immediately close a panel without moving the mouse.
  • The touchpad isn't nearly as bad as some people have made it out to be. It's no Magic Trackpad, but it's still better than most that I've used.
  • The mute button is finally implemented sanely. After pressing the mute button, the device will always be muted, even if it was before. I hate having to guess whether or not it's muted before I press the button. When I'm pressing the mute button I want the device to be muted. (The volume + button unmutes if it's muted.)
  • Google Talk Voice/Video works out of the box.
  • The keyboard uses lowercase letters. I'm a pretty big fan of lowercase letters over uppercase from an aesthetic standpoint, and I think they look nice on the keyboard. Typeface seems to be Univers or a variant. (Interestingly, Apple's old G4 Powerbooks used Univers on their keyboards.)

And some questions I came up with/questions I will come up with (I will answer them as I find the answers). I'm labeling this section "Infrequently Asked Questions" because if they were FAQ's they'd be answered somewhere else (i.e. I'm only posting questions here I haven't seen answered elsewhere).

Open questions:

  • How do you get the finger/hand prints off this thing? It's a porous rubbery surface. Damp cloth did not work.

Answered questions:

  • How do I use a reasonable SSH? / The ctrl+alt+t terminal sucks.

    Shell In A Box
    is wonderful. You can even CSS style it I think, although I find the defaults work for me. You can even use the (somewhat silly) icon my boyfriend made for me if you are so inclined.
  • How do I make Hulu usable?

    I consider myself a minor expert on getting by with Flash's Linux version, which sucks many balls. (1) Give up on full screen ("lower lights" is your friend) (2) Lower the resolution (gear icon) and (3) Close other tabs.

    Back in the earlier days of Chromium OS, I found that popping the player out (it goes into a panel) and resizing it helped a lot, but that seems broken for me now.

  • How do I make pseudo apps for my bookmarks?

    Look here. It's actually quite easy. You have to make a manifest.json file and a 128x128 transparent PNG icon. Packaging it into a .crx can be done through chrome://extensions (with the "developer mode" link on that page). You'll have to specify an autoupdate URL and host the .crx online somewhere if you want the sync to work (haven't tried that part yet).

    All this being said, I'd love to see a Chrome fullscreen.me like site that would easily appify any page. Maybe when they don't have to be packaged (coming soon I understand).

More to come, probably.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1916609/photo.JPG http://posterous.com/users/YMUzUYxrbjz Caleb Eggensperger calebegg Caleb Eggensperger
Mon, 29 Nov 2010 20:07:29 -0800 Minecraft http://blog.calebegg.com/minecraft http://blog.calebegg.com/minecraft I downloaded the (uncustomized) http://painterlypack.net/ a couple of
days ago. I'm really impressed with it. Here are some areas from
Matthew's and my Minecraft world. (Mostly my half).

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1916609/photo.JPG http://posterous.com/users/YMUzUYxrbjz Caleb Eggensperger calebegg Caleb Eggensperger
Sun, 28 Nov 2010 20:05:52 -0800 Apps organized by hue (approximately) http://blog.calebegg.com/apps-organized-by-hue-approximately http://blog.calebegg.com/apps-organized-by-hue-approximately

Iphone
Inspired by this tweet.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1916609/photo.JPG http://posterous.com/users/YMUzUYxrbjz Caleb Eggensperger calebegg Caleb Eggensperger
Sat, 06 Nov 2010 15:42:00 -0700 Moving from LJ to Posterous http://blog.calebegg.com/moving-from-lj-to-posterous http://blog.calebegg.com/moving-from-lj-to-posterous

So, I finally got fed up with the excessive ads on LJ and am switching to Posterous.

Why Posterous?

  • Automatic, painless import from LJ.
  • Auto posting back to LJ (more below), to Facebook, etc.
  • Ability to post by email.
  • Ad-free (for now).

But I am reading this on LJ!

I have it automatically posting *all* my posts to LJ for a couple of reasons; primarily, though, so that people that want to can continue to get my content on their friends page. This was basically the reason I selected LJ back in the day, and I'm glad I won't have to give it up.

So, basically, you can either read my posts in LJ, Facebook, or at blog.calebegg.com (there's a feed of course there). I'm still trying to decide if I want to also autopost to twitter and/or tumblr (for same reasons as LJ).

So, yeah. More than you probably wanted to know.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1916609/photo.JPG http://posterous.com/users/YMUzUYxrbjz Caleb Eggensperger calebegg Caleb Eggensperger
Thu, 28 Oct 2010 00:00:00 -0700 (no subject) http://blog.calebegg.com/no-subject http://blog.calebegg.com/no-subject
[ Tags | ]

I have changed a lot as a person in the last five years. Five years ago I was 16 and starting out as a junior at ASMSA. (I thought that) I was straight, happy, conservative, christian, bright, and right about everything. All of these perceptions (and several others) have basically turned completely around in the last 5 years. Some smoothly and straightforwardly, and some not so much. As I understand it, my experiences are far from unique in this regard.

One of the things that has been most difficult to adapt to is learning that many of my long held ideas/beliefs/patterns of reasoning/etc are terrible/discriminatory/cold & uncaring/etc. This is a process that hasn't gotten better as my views leveled off in the last two years or so, and I'm beginning to think it's probably something I'll have to deal with forever.

Two recent examples: (1) Kate Beaton's recent Tweetstorm inducing comment about the phrase/joke "I love your work so much I want to have your babies". It's a joke/sentiment I have made/had a lot (never TO a creator/idol, for the record), and I've never even considered that it could be offensive. (2) In my planning of GLBTF's Gender Bender Ball, I noted at some point that I'd rather it be after Thanksgiving so that it can be Christmas themed. I continued with this thought for weeks until Melanie Adams (our faculty advisor) pointed out (quite rightly) that "maybe we should go for winter themed instead". I'm an atheist and I didn't even think about the idea of a (secular) christmas themed ball being offensive to non-christians.

It leads to a lot of self loathing/criticism. I'm so angry at myself that I could call myself a feminist/liberal/religious freedom advocate/etc and still hold these beliefs. Maybe I'm broken, I think to myself, maybe I'm just not capable of being what I feel like I should be. Of taking everything into account that I should.

Even if I could go back to being blissfully ignorant, though, I wouldn't want to. I'm better this way, even if I'm not happier. Ultimately, I would rather be unhappy and have a net positive impact on the word than vice versa.

I guess that's all I wanted to say. I don't really have an answer to this, or a thesis I'm trying to put forward. Just something I was thinking about and wanted to share.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1916609/photo.JPG http://posterous.com/users/YMUzUYxrbjz Caleb Eggensperger calebegg Caleb Eggensperger
Mon, 26 Jul 2010 00:00:00 -0700 Ubuntu + OS X http://blog.calebegg.com/ubuntu-os-x http://blog.calebegg.com/ubuntu-os-x

I have been using a Mac(book Pro 13”) for work this summer, and I’ve loved it. It’s been so nice to not have to reboot every few days to fix intermittent problems, to have {Flash, sound, monitors} work correctly, to have flash video play smoothly, to have nice UI, etc.


I’ve been thinking for a while of getting a Mac Mini, and this summer with my mac has basically solidified my decision. I’m going to keep my Ubuntu box around, headless, for development and file serving and stuff, and I’m getting the Mini on my birthday in a week.


I’ve been getting various things working well for that to happen, and I decided to share my efforts. So far, I have:


File Sharing: A drive on my Ubuntu box acting as a “Time Capsule”, as well as basic sharing of my home dir in a reasonable way. This also lets me store my iTunes library on Ubuntu if I so desire.

SSH: A shortcut to an SSH session with my ubuntu box, without having to type my password each time. (Make sure you drag the shortcut to the right hand side of the dock; you can’t have files on the left). Since this will be a Mac Mini, i’m just pointing it to my local IP address, for speed. With a Macbook, it would probably be best to have a local and remote version (assuming you have a public IP address) Also, I occasionally use SSH tunnels, (for app engine, et al) and I’m working on a good shell script to get that set up.

Ubuntu-only apps: X11 installed for X forwarding (can’t be done through the shortcutted ssh session, working on that). Found out how to do it (scroll down to “Optional: Turn on Automatic X11 Forwarding”). You can even make dock icons for them.

My Model M: Synergy as a PS/2 adapter + key remapper (my Model M lacks a command key, so my plan is to map ctrl->command & caps lock -> ctrl, at least for now).

Desktop sharing: Chicken of the VNC for VNC (client side) and tightvncserver configured for running headless server side.

Printer sharing has been a pain in the ass. I have a manually added shared printer that is keyed to my IP address, but that’s frusturating, as it’s just another thing to change if my IP changes. There’s supposedly a way to get it working with the default network printing mechanism, but I haven’t figured it out yet.

Dock icons for Ubuntu GUI apps: Automater lets you run shell scripts from dock applications, so I just run $echo “quodlibet” | ssh -X cyanide . It’s not perfect, because the windows show up under X11, not under the dock icon. But it works.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1916609/photo.JPG http://posterous.com/users/YMUzUYxrbjz Caleb Eggensperger calebegg Caleb Eggensperger
Wed, 19 May 2010 00:00:00 -0700 TFP & FuncJS http://blog.calebegg.com/tfp-amp-funcjs http://blog.calebegg.com/tfp-amp-funcjs
[ Tags | ]

Today is day 3 (of 3) of Trends in Functional Programming, an annual international symposium on functional programming, with specific academic focuses on, as far as I can tell,

  • high level mathematical proofs using functional languages, mainly ACL2
  • hardware level correctness proofs, also mainly ACL2
  • cool applications of FP, mainly Haskell, the current "cool" functional language and
  • FP evangelism and education (in other domains, not to the participants, often discussing Programming I classes).

This year it happened to be in Oklahoma, hosted by OU, so OU CS students got in for free. Most of what's being discussed goes over my head, but I'm fairly familiar with FP in general and really like it. Seeing these talks and having just finished the CS Capstone at OU (which uses ACL2 exclusively) has inspired me to finally follow up on a personal project I've been wanting to invest some time in, which is writing a purely functional library that facilitates simple functional programming in Javascript.

Javascript already has several functional type features: first order functions, a decent anonymous function notation, closures, etc. Still, it has a ways to go, and some frustrating deficiencies (no (fully supported) const declarer, no nice if/else return syntax -- have to use ternary operator, etc). Still, it's coming along pretty nicely. Here's my merge sort implementation:

Read more )

I've uploaded a first cut of the library to Google Code. It's nowhere near completion yet, in my opinion, but I wanted to get it under source control now so I can have more flexibility to play around with it. (The code above, of course, depends on the library.)

I'm pretty pleased with it so far. I ran the above merge sort on a pre-generated list of 10,000 random floats, and it completed in 33ms of CPU time (according to Chrome's profiler), as compared with an imperative implementation that I wrote (that uses an array, of course) which took 12ms. Not too bad, I think.

More to come :-)

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1916609/photo.JPG http://posterous.com/users/YMUzUYxrbjz Caleb Eggensperger calebegg Caleb Eggensperger
Thu, 06 May 2010 00:00:00 -0700 Spam http://blog.calebegg.com/spam http://blog.calebegg.com/spam Delightfully absurd spam I got today:
Media_httplh3ggphtcom_uhiek
From Drop Box

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1916609/photo.JPG http://posterous.com/users/YMUzUYxrbjz Caleb Eggensperger calebegg Caleb Eggensperger
Wed, 25 Nov 2009 00:00:00 -0800 I hate computers http://blog.calebegg.com/i-hate-computers http://blog.calebegg.com/i-hate-computers

Today has not been my day for technology.

  1. I am still trying to get Chromium OS to work on my Eee. I haven't given up still, but I have decided that the next thing to try is compiling it by hand, and I want to use my real computer (which is at school) to do that. I determined which drivers/firmware I need by scouring the internet, and compiled/copied (resp.) them, but chrome refuses to recognize them no matter what I do.
  2. Noah's Eee was out of disk space, so I guided him through uninstalling a few things in Synaptic. Then I upgraded, which hadn't happened in a long time (due to the full disk), so took forever. There were some error messages that I couldn't decipher, and then programs wouldn't open, so I advised that he reboot. Now every time he tries to boot he gets a kernel panic. I'm going to have to reinstall Ubuntu I guess.
  3. I downloaded Inglourious Basterds and decided, as I perennially do, that I wanted to watch it on the television, with the Windows Media Center Extender that we have. The extender has like no codecs except a WMV codec that only works for this one video. I decided to transcode Inglourious Basterds with VLC to WMV format. It took painfully long and I had to do it twice (first time aspect ratio was way off), all the while checking on it every fifteen minutes or so so I could postpone the Windows Update reboot thing (I was doing this on Dad's computer because the file was already there and it only has USB 1.0, so takes forever to copy to a flash drive) (also this is XP, so there's no "tell me again tomorrow" option). Still won't play on the extender. I've given up.
  4. Google's fancy new navigation system is available for my phone now, supposedly, and I was excited about this, so I tried to download it yesterday. It failed with some cryptic error message about it being an unsigned package. I scoured the internet for solutions, and tried nearly everything. Everything I've tried has failed for one reason or another (I'll spare y'all the details). And now the un-upgraded and un-uninstallable Google Maps application keeps locking up the entire phone, making it (the phone) basically unusable.

Let's not even talk about the saga of pain and frustration that has resulted from my trying to convert Matthew Kaney to Google Apps email. It's involved complex interactions between four different Google/Google Apps accounts.

I sure hope I haven't lost The Knack.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1916609/photo.JPG http://posterous.com/users/YMUzUYxrbjz Caleb Eggensperger calebegg Caleb Eggensperger
Fri, 13 Nov 2009 00:00:00 -0800 (no subject) http://blog.calebegg.com/no-subject-0 http://blog.calebegg.com/no-subject-0
Media_httpspreadsheet_rfnbf

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1916609/photo.JPG http://posterous.com/users/YMUzUYxrbjz Caleb Eggensperger calebegg Caleb Eggensperger
Mon, 09 Nov 2009 00:00:00 -0800 Lip piercing confrontation http://blog.calebegg.com/lip-piercing-confrontation http://blog.calebegg.com/lip-piercing-confrontation

So, today at IHOP I got my first confrontation over my lip piercing. ^_^ I'm pretty excited about it. This guy sitting a table away from Arielle and I randomly asks what our majors are and what we intend to do when we grow up. We answered, thinking he was just being friendly, if a bit forward. Then he walks over and puts down a slip of paper with this written on it:

START
$46500
TOP SALARY
$95,000
---
Facilities Management
[unreadable] LLC

And says: "This is how much money you could be making if you worked for me, but if you walked in with that thing [indicates my lip ring] hanging out of your mouth, no matter how qualified you are I wouldn't hire you. Just so you know.". He then walks back to his table and sits down.

I was somewhat amused at this unprovoked moral outburst, as was Arielle. Arielle was facing away from him but I was facing toward him, so I imagine my looks of amusement directed at Arielle were too visible to him, prompting him to say "You think that's funny or something?".

"Well, yes, actually I do." I responded, trying to be as polite as possible while still speaking my mind.

"You see that car out there?" he points to his car, apparently some sort of expensive car, a Mustang I guess. "If you worked for me you could have a car like that."

I next attempted to explain: "I've been making more than that [indicating slip] for the past two summers at a job where they really don't care about--"

"I've raised five kids of my own and not one of them would ever be seen with one of those hanging out of their mouth."

"Well, I'll keep that in mind" I said, deciding not to provoke him further. He paid and left soon after.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1916609/photo.JPG http://posterous.com/users/YMUzUYxrbjz Caleb Eggensperger calebegg Caleb Eggensperger
Thu, 24 Sep 2009 00:00:00 -0700 I don't own a television http://blog.calebegg.com/i-dont-own-a-television http://blog.calebegg.com/i-dont-own-a-television

I don't own a television

Let me clarify. I don't own a television like the next to last guy in this comic doesn't. This statement, however, is not very representative. Here are the TV shows I am currently, actively* watching, along with my progress through them, ordered by when I saw the most recently watched episode, approximately:

  • House (111/111)
  • Mad Men (9/32)
  • Monty Python's Flying Circus (6/45)
  • Weeds (34/63)
  • Dollhouse (2/14)
  • Dexter (14/37)
  • 30 Rock (6/58)
  • Heroes (60/61)
  • Arrested Development (48/53)
  • Firefly (1/14)

And here are the TV shows I would like to start watching in order from the first episode:

  • Recess (128)
  • Magic School Bus (52)
  • Malcolm in the Middle (151)

For those of you playing along at home, that means that I have 245 hours of television to watch, not counting commercials, before I am "caught up". This is 10.22 days of watching with no breaks. And in the time it will take me to catch up (more than 10 days, I assure you) even more episodes of the still active shows will air. (The math).

* For some definition of "actively"

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1916609/photo.JPG http://posterous.com/users/YMUzUYxrbjz Caleb Eggensperger calebegg Caleb Eggensperger
Sat, 01 Aug 2009 00:00:00 -0700 Kill-A-Watt http://blog.calebegg.com/kill-a-watt http://blog.calebegg.com/kill-a-watt

I got a really nifty gadget called a Kill-A-Watt recently because it was on Slickdeals and Jeff Atwood has discussed it in the past. I am basically copying what he did in this post here.

Normal use (before testing anything: 12w

Baseline power usage (everything turn-offable turned off, minimal CPU usage) 6.5w *

LCD brightness

min: 7w
max: 8w

SSD

copying large file: 7.5w *

wifi

baseline 6.5w
on but disabled: 8w
on, connected, idle: 8w
on, connected, downloading: 8.5w *
takeaway: disabling the wifi through nm-applet does nothing; turning it off with eee-control saves 1.5w

webcam:

baseline: 6.5w
on: 7w
in use: 9w

cpu: I did $cat /dev/urandom > /dev/null. Not sure if this is a legit way to test CPU usage, but it brought the CPU to 100% *shrug*.

baseline: 6.5w
powersave: 8w
normal: 10w
performance: 10w
These CPU throttling levels ("powersave", "normal", and "performance") were used in some built in program in the stock install of Linux. Now that I'm running Ubuntu, I can ostensibly get them from eee-control, although since "normal" and "performace" use the same amount of power I'm not sure if eee-control is actually accessing the same settings.

* The device doesn't actually have this precision. When I say x.5, I really mean it was flipping back and forth somewhat randomly between x and x+1.

Here's a graph!

Media_httpspreadsheet_icyvj

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1916609/photo.JPG http://posterous.com/users/YMUzUYxrbjz Caleb Eggensperger calebegg Caleb Eggensperger
Tue, 28 Jul 2009 00:00:00 -0700 Why can't they all just be the same http://blog.calebegg.com/why-cant-they-all-just-be-the-same http://blog.calebegg.com/why-cant-they-all-just-be-the-same
[ Tags | ]

So may common elements between these, yet they're all so different looking. *sigh*

Google's nav bars

I'm not even including Picasa, Earth, Wave, Desktop...

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1916609/photo.JPG http://posterous.com/users/YMUzUYxrbjz Caleb Eggensperger calebegg Caleb Eggensperger