In September, I wrote of my new project Cubes that “unfortunately, it wasn't an idea for either of my course projects this semester.” Since I have completely failed to find motivation for the course-related project I had planned to do, þreader (a thread-emphasizing feed reader; you can read the project introduction), I have decided to make the best of it and somehow make Cubes into the needed project.
I will therefore be using Cubes as my project for the course CS459 Human-Computer Interaction; the main consequence of this is that I need to actually study the potential users of my system.
So. To recap, Cubes is a block game (like Minecraft) where the blocks are made out of blocks; in principle, you should be able to build a complete custom block game from scratch simply by building the appropriate block-set, out of blocks. If you're a potential user of a game like this, and interested in giving me data (surveys, interviews, etc.), let me know. I will have something for you within the next few days.
Also, the live version of Cubes now supports load/save (either to Local Storage or by cut-and-paste of text (!)), so you can save your work! (I don't promise not to change the world format incompatibly, though.)
I think I have a problem with writing. Namely, that I find it difficult to get around to starting a project involving writing, when it isn't 100% straightforward “The answer to this problem is…” or a little link or tip. I’ve had several “blog posts I should write” queued up, and I’m not getting around to doing my homework assignments promptly.
I’m considering setting a “write something every day” goal, or similar.
I’ve got two new projects to blog about. Let's see how soon those posts show up.
I have finished my internship at Google (which I do want to post about eventually).
I am now about to start classes at Clarkson University. Everything's going smoothly, except the network to my room is broken and I'm connecting over my shiny new phone (hooray for Android 2.2's “Portable Wi-Fi hotspot”) and so I'm temporarily off several of my Internet activities due to bandwidth/latency/intermittency.
(On the upside of technical issues, I managed to get Apple Mail and my phone to talk to Clarkson's Exchange server, so no more having to remember to check my college email more than once a day. What wasn't obvious: When setting up the account in Mail, put the Outlook Web Access server name in both the “Incoming Mail Server” and “Outlook Web Access Server” fields. I haven't figured out how to send mail from their server; perhaps I need to upgrade to Mac OS X 10.6 for that.)
Did buy a Nexus One; have now had it for an hour or so. The following is not a review, but some observations:
- It will work without a SIM card from the start. So if you want a gratuitously expensive wifi PDA...
- The Google Account-based functionality (e.g. application Market, contacts sync) requires a Gmail account — and any Google Account with Gmail necessarily has the Gmail address as its primary email address. (Since Gmail lets you forward to another address, this doesn't matter unless you use Google services that send mail on your behalf, such as calendar invites.) I haven't tested whether they will still work if you then remove Gmail (but I would note that if it's possible at all, having a Wave account might help, since that seems to allocate a no-@-sign 'username' in the same way Gmail does).
- Not perfect, but mighty slick. Need to stop playing around and get some sleep.
You may recall my post about looking for a new PDA. I have lately found additional pressure to find a solution.
- Moving about on my own in new locations, I wish for a GPS/navigation device. I am currently borrowing a standalone GPS, but that's Yet Another Gadget
- …to add to the four I already carry about (phone, PDA, watch, iPod).
- My phone is on a prepaid plan which was chosen to be cheap for low usage rates. But it quickly becomes not-cheap under higher usage than a couple minutes a day — which I have when trying to do such things as coordinate three people on an errand.
I've compiled some of the options and what features they have into this Google Docs spreadsheet: Gadget Coverage List. Note that “-” means “No”.
At the moment, I am strongly considering getting an Android phone, specifically the Nexus One. I have recently determined that Android meets all my requirements, at least given some third-party software.
Buying a phone (and a plan) is indeed a higher cost than a stand-alone PDA, but I think universal Internet access is worth it.
Costs and carriers
The phone, unsubsidized and unlocked, is $529.
Given that it is GSM, I understand there are basically two carriers to consider: T-Mobile and AT&T. I get the impression that T-Mobile is somewhat less evil than AT&T, and I hear complaints about AT&T's network. On the other hand, T-Mobile does not have coverage (even roaming) in Potsdam, NY, where I'm going to be spending the next two years.
T-Mobile offers a monthly plan for $60/mo, 500 minutes/mo plus fees and (as far as I've looked now) a $35 activation fee. (The option to buy a plan without a phone was buried: you have to choose "T-Mobile SIM card" from the phone list.) I get the impression that the obscure monthly 'taxes and fees' can be around $3-$20 depending on the particular situation. Total cost over 2 years (not including phone): $1475+fees.
AT&T is, er, changing tomorrow. But now it would apparently be $70/mo, 450 minutes/mo, for a two-year contract with a free locked phone (which could be tossed or resold). Plus taxes and fees. After the change in data plan pricing, it would be (assuming no other changes) $65 for 2GB or $55 for 200MB data. Total cost over 2 years (2GB option): $1560+fees, and the phone works in Potsdam.
In both of these cases I assume the cheapest voice plan option.
One option would be to go with T-Mobile for the 2.5 months before I arrive in Potsdam; this would minimize my initial obligation to $709, and assuming I found I liked having a smartphone around sufficiently, I could then switch to AT&T for service during my 2-year stay in Potsdam.
(If anyone has already used this title, that wasn't my intent.)
It was written in
Macromedia Adobe Director, and designed as “with the structure of a shoot-em-up and the mechanics of a physics game”; you must defeat the enemies in each of a series of levels — by smashing apart their chains-of-spheresical bodies with your wrecking ball of an inexplicably orbiting asteroid.
Most of the development time was focused on getting the physics right; the graphics, sounds, and level design were all secondary.
Play Fire Worms
- Play on web (requires Shockwave plugin)
(Please let me know if this doesn't work; I don't have the Shockwave plugin so I can't test it.)
- Mac OS X app (standalone)
- Windows app (standalone?)
The Director file, plain-text copies of the scripts, and all of my saved development history (reconstructed; it was originally a bunch of directory copies) are available in a Git repository at git://switchb.org/fire-worms/. (No web view yet; need to do that.)
Other than the background image, credited in game and in “Title Page” to NASA, all elements of the game are Copyright 2009 Kevin Reid. I haven't gotten around to sticking a license on it; contact me and I'll get around to labeling it MIT or CC — let me know what license would be useful for what you'd like to do with it.
Last exam done for the semester! Halfway done with college in general!
Now I just have to move to California for the summer job.
(Most of the arrangements are settled; I'll be arriving Sunday, May 30, and living in Cupertino, at least at first.)
After this summer I'll be transferring to Clarkson University to finish my bachelor's degree.
One of the things I’ve been
procrastinatingah, not had the time to do, being busy with school and other projects, is announcing and working on a job search for this summer. I have posted my resume, but I didn’t even get around to mentioning that. The process really doesn’t excite me that much — it’s essentially research, comparison shopping, which I have never been very fond of.
But, last October, I was contacted out of the blue by a recruiter asking if I was interested in opportunities at — Google. After checking that it wasn’t a spoof I naturally said yes, and after a number of rounds of information exchange and interviews,
This summer, I will be (well, subject to my completing the process of accepting the offer) working as a Software Engineering Intern at Google, with the Caja team, in Mountain View, CA.
So — whoa and yay and other such cheerful words. And thanks to my friends at Google who referred me and nudged the process along.*
The most uncertain remaining step is finding housing in or near Mountain View (could be as far as San Francisco or San Jose; Google runs a shuttle bus and is convenient to public transportation). Google has provided some general advice-for-interns, but I’d like to hear input from my readers and friends who already live in in the area.
- I would consider living with other people, but I wouldn’t want to take a chance on a complete unknown. (So if you are someone or know someone with a room...)
- Speaking of taking chances, make the chance of being mugged on the way home in the evening very small, please.
- I am traveling from the east coast, probably by train, so I don’t want to have to transport a lot of stuff, or buy items that I’ll use for only three months — so a furnished space is better.
- I do not own a car, but I know how to drive one.
- I do not own a bicycle, but I used to know how to ride one.
- This will be the first time I have lived outside of my home city for longer than a week’s visit/vacation.
*Y’know how job search advice is big on saying you should be “networking”? If you’ve thought you’re too much of the non-face-to-face-social non-polite-small-talk would-rather-talk-to-people-through-the-
Normal People Things:
- Gone to a party unrelated to my family.
Never thought I'd do:
- Worn a t-shirt with text on it.
- Written an essay structured using a gratuitous extended metaphor.
Extra nerd points:
- Programmed a number type which carries units and error values, to reduce the tedium of lab reports.
- Learned to write all my assignments in LATEX.
My Palm TX is noticeably wearing out (power button dead and worked around, cover hinge fraying, direction pad starting to go) and doesn't have a decent modern web browser. I might have gotten a Palm Pre by now if it weren't for the lack of full-size external (Bluetooth) keyboard support (notetaking is one of the major use cases) — though I hear there might be an SDK coming out which would let third parties build one. (Lesser issues are the cost of a phone contract (though Internet-anywhere makes that have a good bit of value) and the battery life.) I get the impression that I should be looking at the Nokia N900 or one of its relatives, but I haven't gotten around to investigating that.
My additional requirements for a New PDA are that it sync calendars/todos with iCal, sync the abovementioned notes to my Mac (I don't care what software), fit in my shirt pocket, and have mostly-not-locked-down-and-expensive software development/installation (so that customized/open-source/the-obscure-
(Apple mobile products fail on the openness criterion and either Bluetooth keyboard (iPhone/iPod touch) or fitting in the shirt pocket (iPad).)
This is the door by which I exit the dorm every morning:
This is what Geoffrey K. Pullum of Language Log calls “nerdview”. By what definition is this not an exit? Fire safety! This stairwell does not have an exterior door at ground level, but only leads back into the building (right next to the lobby and main entrance). Therefore it is not an exit.
But for the ordinary mind, this sign is crying wolf. You'd think they could have said “Do not use in case of fire” or “Not an emergency exit”.
Late update on Caja-CapTP:
Google Summer of Code is over. I passed based on revised goals, but I'm not happy with the state of the code and I did not complete any significant part of the original plan.
Regarding the items mentioned in my last update:
- Write more documentation/comments.
- Commit as much of the work-in-progress as I can.
- ...including the incomplete CapTPConnection, even though its tests don't pass yet, so that the partial work can be counted.
I committed CapTPConnection, and found and fixed enough infrastructure (whenResolved, CommTable, SwissTable, deSubgraphKit, etc.) bugs that it starts up and can do a basic operation or two. It's not useful for anything, but it's a lot closer to running than it was at the time of my last update.
I stated that I would continue working on Caja-CapTP past the GSoC work period; however, with the time occupied by schoolwork, I have not had time or brain space to do so yet. I am not going to abandon the project.
So, tell me what college(s) I ought to consider.
(I have of course also heard the advice that it doesn’t matter that much, but I've got to choose from some short-list...)
I am willing to consider any location in the contiguous US, but have been looking mostly at New York choices as a way to make the research list manageably short.
I am not looking for vocational training; I can learn this year’s or last year’s hot technologies just fine by myself, thank you. I’m looking for general education (“well-rounding”, shall we say), useful theory, and practice in thinking. I wish to avoid a high-pressure or competitive academic environment. Also, at MVCC, I have greatly appreciated the instructors’ approachability, availability, and even willingness to acknowledge mistakes.
Outside of education, I am particularly interested in there being social opportunities for the socially awkward; chances to talk to like-minded people (i.e. total geeks), and opportunities to talk to unlike-minded people (for the practice!).
Please give me your recommendations. Just a name, your personal experience, comments on others’ recommendations, whatever info you’d like to share.
(On the other hand entirely, I’d also consider going directly from MVCC to a full-time job given the right opportunity. This will be the topic of an upcoming post.)
I get the feeling the textbook writers had a list of everyday objects which they randomly picked from to avoid saying “an object” in each exercise. The results are mostly just distracting or mildly amusing, but sometimes they're a bit too much:
— Halliday, Resnick, Walker, Fundamentals of Physics, 8th ed., page 215
(This is (finally, now that the semester is over and I have some free time, heh) one of those posts-related-to-schoolwork I mentioned before.)
Does the infinite series converge?
First, rewrite it to have n = 1 as , and discard the constant term since it does not affect convergence. The terms of this series are strictly less than those of ; therefore, there is some x such that
Let k be the upper bound of the sum as we take the limit: .
Since is a p-series which converges, i.e. has a finite sum, and the series under consideration has a lesser sum by the above inequality, it converges.
Furthermore, the above may be generalized to a proof that any series whose terms are eventually less than those of the harmonic series converges.
However, it is invalid, and in fact diverges.
I managed to convince myself and my calculus teacher with it, but we realized it must be invalid after he presented a counterexample to the general case. I then realized which step was invalid.
You can't use the same k for all three series in the second inequality; each infinite sum has its own independent limit, and what this proof is doing is along the lines of ∞ - ∞ = 0 — assuming that “two infinities are the same size”. Or rather, the inequality itself (among partial sums) is true, but that fact has nothing to do with the properties of the true infinite series.
I would be mildly interested in a more formal description of this sort of failure: how the k inequality is true yet the independent series do not have the same relation.
Update: I have received many informative comments and replied to some; one pointed out an earlier mistake: is bogus because we can't compare the series until we know they converge.