| |
My favorite Google perk so far? There were two baskets of fresh persimmons in the cafeteria for lunch. Not only are you never more than 150 feet away from free food, it's succulent tasty free food. Okay, so fresh persimmons might be more of a California perk than a specifically Google perk. I saw a guy yesterday with two persimmons in a bag, so I'd planned to go on a persimmon hunt anyway. But the copious free food illustrates Google's understanding of software engineers. Eating is part of programming. Eating is also how humans bond.[1] So by having cafeterias and micro-kitchens all over campus, Google can foster natural communication in a community of significant size. At my previous job, I remember a lot of important decisions and designs that happened in the kitchen rather than in a meeting room. Google firmly believes in open access within the organization -- by default, all documents employees create are visible to anyone else in the company. But with great knowledge comes great responsibility, and they rely on employees not to share that information with the outside world. So while I'd love to tell you how many people make it all the way from application to offer and the impressive size of Google's aggregate storage, those are things that competitors would love to know, so they'll have to remain private.[3] There's a strong history of public blogs talking about experiences at Google, so I'll still be able to share my perspectives and insights on things at a high level, and Google relies on word of mouth to get their message out. It's just that I need to make sure my "That's awesome!" response passes through a "Who can I share the awe with?" filter. I didn't have a problem with this at my last job, but information about Google is a lot more exciting than information about government record keeping. [1] I think Steven Pinker's How The Mind Works quotes Dear Abby (or Emily Post?) about dating. It goes something like "A date should feature entertainment, food, and company. As time goes on, more and more company can replace entertainment, but food must always be present." I'd like to find the original quote, but my copy of HTMW is in storage and my several web searches had no luck.[2] Anybody have a proper cite? [2] The irony of failing in my first web search task after joining Google is not lost on me. [3] There's probably also some degree of law and sausages at play. It's easy to abstractly be in favor of open communication, but sometimes you're better off not knowing. | |
|
Hiking in Silicon Valley in late November is like hiking in the Front Range in late September. Except you pass a lot more people speaking Mandarin, Russian, Spanish, German... And except the sun sets at 5.
Also, it's still leaf rustling season in town. Autumn colors in the Bay Area seem more like a personal statement than a force of nature. | |
|
In case you'd run out of weird facts about Mormons, here's one I didn't know: they invented Deseret, their own phonetic alphabet for English. The name Deseret comes from the word for "honeybee"[1] in the Book of Mormon and was the name of the proposed and de facto Mormon state that covers the present day locations of Los Angeles, San Diego, Phoenix, Las Vegas, Reno, Salt Lake City, and Grand Junction. Anyway, here's an attempt at my name in Deseret. There's a good chance your browser won't display it properly[2], but the font is part of MacOS X's default set. 𐐓𐑉𐐯𐑂𐐬𐑉 𐐝𐐻𐐬𐑌See also the Shavian alphabet (named for George Bernard Shaw), with long/short and voiced/unvoiced pairs as translations of a single glyph. My Shavian name is ·𐑑𐑮𐑧𐑝𐑹 ·𐑕𐑑𐑴𐑯[1] In Mormonism, honeybees are used as a model of a proper society. Lots of people busy as a bee, all in service of the central hive. Not knowing this association, I was excited about the prospect of a vibrant local honey industry when I visited the beehive state a few years ago. It turns out that the state is not covered in apiaries. [2] To test your browser's display of most Indo-European scripts, try this page. Deseret and Shavian are not included, but non-Latin scripts are organized into alphabets with some phonetic hints. | |
|
Things I give thanks for:
- The financial stability to quit my job during a recession to travel in Latin America and the western U.S.
- A great friend and travel buddy for said adventures.
- A good relationship with my parents and their home I can use as a base of operations in such times of flux.
- The education, mental sharpness, and technical acumen to earn a job at a top-ranked company during a recession.
- Parents who placed a high value on education and contributed to the cost of higher education.
- A home town with great schools at all levels.
- People who share ideas and programs for free on the Internet.
- A body that's mostly healthy and mostly functional, even though I tend to neglect its upkeep in favor of mental pursuits.
- An environment where I can enjoy simple pleasures, from sitting half-dressed in the sun to riding a bicycle around town and bringing cheer.
- A web full of intellectually stimulating things to read, even if it distracts me from more important tasks.
- Plenty of healthy, tasty food.
- Hours and hours of good music.
- A friendly neighborhood cat who visits to share the wealth of soft and cute.
I hope that you, dear readers, have many blessings you can count, even if this year has been rough and difficult. May your bellies and arms be full and your minds and hearts be content. | |
|
At Halloween, Google sponsors a costume contest for engineers who dress up as their favorite line of code. To help relieve the stress of being tied to their computers for such long hours, Google provides employees with free online-based massage therapy. Google employees who are about to become mothers receive 12 weeks of maternity leave; aging female engineers now coming to terms with the fact they will likely never be mothers receive two weeks of "Crushing Sense of Incompleteness Leave." (It is 50% paid.) — Cracked's 25 Secret Perks of Working at Google One they missed: Notification when the Street View car will pass your office so you can line up outside to wave and be silly.I'll be in Mountain View, CA for the first two weeks of December for my Noogler Orientation. (Yes, Google officially refers to new hires as Nooglers. So if I shake your hand, you'll be touched by my noogly appendage.) If you'll be in the Bay Area and want to hang out, send me an email to tstone (a) trevorstone.org. I arrive in San Jose before noon this Sunday, the 29th and leave on Friday evening the 11th. In the intervening weekend, I'll be visiting mollybzz a few hours up the coast, but I should have several weeknights free, plus this Sunday afternoon/evening. I'd also love to hear about places worth visiting while I'm out there; e.g., I'd like to take a hike on Sunday. | |
|
Musing about Apple's mistake of pissing off developers with the App Store, Paul Graham wonders what a smart phone would have to offer to make developers want it instead of an iPhone. He wants to see someone make a software development environment worth using on a handheld device. It would have to be good enough that you'd want to program on your phone, with its small screen and limited keyboard,[ 1] rather than on a laptop or desktop with huge monitors and ergonomic keyboards.[ 2] After using Eclipse for five years, I can't imagine doing significant Java development (particularly debugging) on a handheld device. Mobile device user interfaces are all about presenting only the immediately relevant information while an IDE[ 3] is really good at providing a bunch of information at once. I still use a 24x80 text editor when writing in scripting languages, partly because the problems are usually small enough to fit in just a few files and the languages are high-level enough that a significant amount of code fits in a terminal window. I can imagine writing Python or Ruby on an iPhone or even Lisp if the editor had good parenthesis-matching. Perl and Haskell might be frustratingly symbol-heavy. But just because someone could write Python in a text editor on a handheld device, I don't think they would. It's just not as enjoyable as using a full keyboard on your desk. A successful development environment on a mobile device should make use of the unique features a handheld offers. Typing on a phone may be less fun than using a laptop, but what if you could program with gestures? Tilt your phone to the left to generate an assignment. Move it in a circle to create a loop. Touch a variable to reference it again. Use multi-touch zooming and scrolling to select a function from an API. Historically, attempts at visual programming languages haven't yielded many success at lower abstractions than GUI layout and UML, but I think a graphical language designed from the ground up to fit a handheld environment could be quite elegant. Text is very good at representing symbolic computation, but it's not the only way. Constraints often lead to beautiful art; if the crutch of an easy keyboard wasn't available, I'll bet someone would come up with something really clever. A lot of programmers are good at spatial reasoning, so let's try breaking nonlinear programs out of the linear medium of text. Developing on a handheld would obviously be handy when you're working on an application for that device. Make a change to the tilt response code, then tilt your device to test it. Take a picture[ 4] and feed it straight to a test case. With lots of sensor input, mobile devices seem like an ideal platform for neural nets and other fuzzy techniques. On the development side, you could present an example to the device and immediately classify it, quickly building a model. These are all hand-wavy suggestions of possible directions. I've hardly ever used a cell phone, let alone developed a mobile app, so my conceptions may be off base. Yet I think my key message is valid: to make handheld development attractive, it needs to be approached from the ground up. The metadeveloper needs to focus on solving a class of problems[ 5] and find ways to do so using things small computing devices are really good at. I've focused on sensor input here, but mobile devices have other unique features. Would dictating pseudocode to your phone be useful? Maybe there are ways to take advantage of location information and remote networking in programming. In the end, I think successful handheld development will be as different from desktop IDE development as that is from simple interactive text editors as that is from programming with punchcards. [1] Not owning a smart phone, I'm assuming that typing on a handheld device is more of a chore than using a full keyboard. I know Apple and others have done some clever things with predictive text, automatic spelling correction, and other clever techniques to make typing easier on a phone. Unmodified, I suspect those would not work well when programming where function names deliberately deviate from proper spelling and punctuation has very special meanings that differ between languages. You could build language models for programming languages, of course, but you could also implant such models in IDEs (most already do) and use a full keyboard. I think dropping the keyboard metaphor would be preferable for handheld input. Why not leverage the motion and orientation sensors and use arm and wrist motions to "paint" your words in thin air? This seems like it would work particularly well for Chinese. Nonetheless, I don't think it would be faster than using a desktop keyboard. [2] I actually hate ergonomic keyboards; I'm most comfortable on a laptop or Apple keyboard. The most RSI-inducing computer input I've done is use the scroll wheel on a cheap Microsoft mouse. But the key (hah!) feature of an extended keyboard for programming in rich environments is hot keys, which are hard to accomplish with a keyboard interface like the iPhone's. [3] For the non-programmers in the crowd, IDE stands for Interactive Development Environment. Here's a screenshot of the information overload I'm talking about.[4] Why do phones come standard with (crappy) cameras these days? My camera can't make low-quality phone calls, I don't need my phone to take low-quality pictures. The benefit I see to cell phone cameras is (a) you've always got it on you and (b) it's immediately connected to software and the network. This makes it ideal for things like taking a picture of a barcode and comparison shopping instantly. The picture quality only has to be good enough to make out black and white lines. [5] The best programming languages are the result of somebody thinking "There's got to be a better way" to solve a set of problems he was working on. Perl is really good at working with text because that's was the itch bugging Larry Wall. Dennis Ritchie created C to work on Unix and it's still the most popular language for writing operating systems. Guido adds new features to Python by trying out the syntax on a sample of existing code and deciding which produces the most readable result. | |
|
More gems from 1986's Programmers At Work, this one from Butler Lampson: That’s why I think the idea of computer literacy is such a rotten one. By computer literacy I mean learning to use the current generation of BASIC and word-processing programs. That has nothing to do with reality. It’s true that a lot of jobs now require BASIC programming, but the notion that BASIC is going to be fundamental to your ability to function in the information-processing society of the twenty-first century is complete balderdash. There probably won’t be any BASIC in the twenty-first century. It's the 21st Century now, and the surviving BASIC dialect is Visual Basic, which is more different than mid-80s BASIC than it is alike. The heart of BASIC is to make it easy for people with a strong computer background to write programs. Depending on your perspective, this may be good or bad; BASIC and Visual Basic have been home to some truly groan-worthy code, but also let people accomplish many straightforward tasks more effectively. As the number of computer users has grown exponentially in the last few decades, the percentage of people who know a programming language has dropped significantly. In the 1970s, perhaps half of computer users in academic or research environments could write a program and most businesses that owned a computer had someone who could program it to some degree. Today, we've realized that programming well takes a style of thinking that doesn't come naturally to a lot of people in addition to an investment of time in understanding the ins and outs of specific systems. We've shown that it's more effective to have experts in programming learn new domains and write programs targeted to those than to have experts in domains learn how to program. Lampson's bigger point is also insightful, but in a way it's wrong. It's true that the details of almost no program used widely in 1986 is relevant today[1]. The specific syntax of Microsoft BASIC, the keystroke shortcuts of WordPefect for DOS, and the location of hidden items in King's Quest are all irrelevant today. But folks like me who learned how to use computers before we learned how to drive have a cognitive model of computer interaction that's a lot more flexible and successful than folks in my parents' generation who get confused about the web and have no hope for social media. The medium is the message. [1] Amusingly enough, this isn't as true for programmers. The C programming language, the vi and emacs text editors, and Unix-like operating systems have all evolved significantly in the last 25 years, but if you knew how to accomplish something back in the day, you can still do it now. Not to mention COBOL, the illness in the sleeper zombie army of legacy code. | |
|
91 years ago today, peace was declared in Europe. The war to end all wars left an unstable continent that fell in to war again two decades later.
20 years ago this week, the Berlin Wall, the most tangible piece of the Iron Curtain, was declared open. Although Eastern Europe's transition into capitalism and democracy has not been free of pain and strife, dictators and warmongers have little traction there.
America and its allies, primarily European, are today at war in Asia, in places outsiders have been at war in recent memory. If we do things right, hopefully Iraq's and Afghanistan's next two decades can be like Europe's in the last 20 years, not like Europe's in the 20 years after World War I. If we do (more) things wrong, we may be back for thirds.
Peace takes time. Peace takes work. Peace is worth it. | |
|
It's not simple to look for a job with narrow domain constraints (my main interests are a pretty small subset of the total programming work) but wide geographic flexibility (I'd enjoy most places on either coast plus much of the interior west). Keyword searches on major job sites can find some good matches, but some of my interests are broad enough that words or phrases might not be shared. For instance, I'm interested in geography, but that word might not appear in a job posting for a company making location-based mobile apps. And even if a word with "geo" as a root is present, can I trust Monster's search algorithm to match "geography" to "geographic?" It certainly won't infer GIS from geography or vice versa. Search result pages on these sites usually don't give much context, so there's a lot of forward-and-back browser action. Further, most sites don't hide jobs you've already looked at and rejected, so search variations may give you the same lame company you've already decided against. The most usable approach I found was to subscribe to the RSS feed for the appropriate job category in every city I thought was interesting. This included a lot of postings for positions I wasn't interested in, but with Google Reader I could quickly skip those (j/k for down/up, vi uber alles!) and not see them again. After a few passes with this approach, I got pretty good at identifying postings that don't apply by the title or a quick scan of the first paragraph. The process was still time consuming -- the SF Bay software jobs feed can generate a few hundred postings in a week -- but I gathered a sense of the general software talent market in addition to finding companies of interest in what felt like less time than weeding through a narrowed set of results on traditional sites. Note that this approach can work for any industry and can be a low time commitment if you aren't following feeds for a dozen cities. If you're looking for work, go to http://yourcity.craigslist.org/ and click on the job category you want. Copy that URL into your feed reader and let job postings come to you. You can also subscribe to a more specific keyword search. Of course, this process didn't lead me to the job I actually landed, but I did find some companies I was interested if I couldn't reach my top target and some products I think are interesting, even if I don't want to work on them. Some of these are mature, others show promise. I haven't tried most of them, but they look cool.
- Simply Hired job site aggregator which can apply multiple filters (location, position, skill, etc.) simultaneously. Still feels like it needs some work; I didn't find it as helpful as my Craigslist approach above. Indeed provides a more Google search-like job site aggregation.
- RoundPegg presented at this month's Boulder New Tech Meetup. They're working on an eHarmony approach to job search. Gather data on companies and teams, then have potential hires take a personality test to see how well they would fit interpersonally. The second phase will be letting job searchers put their info in and find employment matches. OkCupid's approach to dating is how I'd really like to approach job searching, so I think (and hope) this could be really successful.
- TouchGraph Navigator Automated data visualization.
- Alelo combines 3D gaming with language learning. With the Department of Defense as a major client, their program focuses on cultural norms and nonverbal communication in addition to phonetics, vocabulary and grammar.
- Outside.in provides hyperlocal content feeds. Pick a location (e.g., your house) and you can get news, blog posts, business listings, etc. They work on both natural language and geography problems and use some exciting technologies, so I was pretty interested in working with them. If I hadn't gotten a job at Google, these guys would be high on my list of interests. They use Mallet as their NLP toolkit; I'd like to check that out some time.
- SkyGrid provides real-time personalized(?) feeds of business and financial news across many reputable sources. This would be pretty cool if the service worked on any subject the user was interested in.
- Rosetta Stone has several personal and enterprise language learning packages. Their Boulder office has some folks from CU (including one of my teachers) and is working on cool stuff including online games where you can interact with native speakers.
- Geodelic is a mobile app that shows places based on proximity and interest. It can figure out if you don't like Starbucks and recommend coffee shops that are further away, but not part of the famed bean empire. They seem kind of focused on providing value to advertisers, so I'm not sure I'd rely on them for unbiased information.
- SimpleGeo is a Boulder startup that will provide an API and data cloud to make it easy for folks to write apps like the above without the expense of gathering and storing all the data first.
- Plectix treats microbiology as a programming language. If I was into bioinformatics instead of NLP, I'd be way excited about these guys.
- Allen Institute for Brain Science is developing atlases of the brain. Founded by Paul Allen, Bill Gates's lesser known other half.
- Acuitus makes some pretty grand claims about their digital tutor's results. Done right, it could be a huge boon to education.
- Language Weaver provides automatic machine translation for enterprise. I don't know what the state of the art in commercial translation is, but it's likely better than free translators like Google's. How much better, I don't know.
- imo.im provides web-based multi-protocol instant messaging. This is a good site for chat if you're often on public computers or just borrowing a friend's. Long-term, the company wants to do a lot of cool things with communication.
- The Experience Project a social networking site based not on who you know but who you are, with groups like "I survived cancer," "I am bisexual," and "I love bacon."
- Topsy a search engine based on links from twitter.
- The Game Crafter custom production of game components for homemade games.
- Urban Mapping provides geographic data like neighborhood boundaries.
- Open Layers is an open source platform like Google Maps. Thematic Mapping provides a JavaScript API to generate KML for Google Earth et al. FusionMaps is an open source project for creating interactive maps in Flash.
| |
|
From a 1986 interview with Bill Gates for the book Programmers At Work: Features are kind of crummy in a way, because the more features you have, the bigger the manual is. And features are only beneficial if people take the time to use them, whereas speed–if you can print the pages faster, or show it on the screen faster, or recalc it faster–that’s worth an incredible amount. If you can give the users a few simple commands and make the program efficient enough to do what they want with those few commands, then you’re much better off. A decade later, Microsoft seemed to have abandoned this philosophy wholesale. They became synonymous with feature bloat (from my perspective, MS Office usability peaked in about 1997) and software that ran slower with every release. Gates has had one of the sharpest minds for the business of computing and presumably realized that features outsell performance, particularly in enterprise which is where the real money is. | |
|
Omegle is like a salmon, but both parties are voluntary and it all happens in the browser, rather than through instant message networks. | |
|
I've felt down or blue a lot in the past few days. At first, it was probably from eating milk chocolate fun size candy bars, but there was also a fair bit of self--doubt and existential moroseness. Thinking it through, I figured I'd internalized my perceived outside chance at getting hired by Google. Consciously, I knew my good answers were more frequent than even hits by guys in the World Series, but I had lots of time to think through all the little mistakes I made and things I said that, when written down without the full context of the moment, sound pretty dumb. I even had a dream in which I got a call with my recruiter and I asked for a list of reasons my points got docked. So fully expecting I wouldn't get hired, but knowing that it wasn't a certain fate, I answered the phone this morning. I was pleasantly surprised elated to hear that the hiring committee was impressed and thinks I should be Google's next employee. As Neo said... Whoa. There's still some paperwork and reference checking (but no pointer arithmetic) to do, so it'll be a week and change before I get an official offer, but I have now officially reached the easy part. I could ask to be part of the Mountain View office, but I think it will be easier to start in Boulder with a closer group and a more familiar environment. If I decide later that California is the place to be, I can ask for a transfer. I'm sure I'll have a few chances to visit the fabled Googleplex in person regardless. In summary: Yayberries! Edit: I think the self-doubt I had is tied to doing consistently A minus work. My GPA was 3.8. My SAT and PSAT scores were high, but not high enough to qualify for merit scholarships or (probably) to get into top technical schools. A lot of code I've written has been good, but far from perfect. I spend time doing well-rounded things rather than being driven to near-perfection on a narrow band. While I'm generally happy, there's often a nagging sense that I could be top caliber, but I'm not quite. But since I'm clearly well above average, I'm not satisfied doing solid B work or being the big fish in a small pond. So the call I got this morning is a vote of confidence that I can be a growing fish in a big pond of excellence. | |
|
Long story short: I dropped my hard drive on the floor. It stopped working. The only stuff that wasn't copied elsewhere was music. I bought a big new hard drive. I copied a metric crap load of music from my brother's computer. I copied files from a whole bunch of MP3 CDs. I copied a bunch of music from my ex (from a hard drive that used to be mine). In the end, I have a lot more music than before and still have most of my original collection. ( Long story long, a clear indication I'm not meeting my Write More Succinctly goals )Current library stats (including a few thousand missing songs, excluding some audio books, but including others I haven't reclassified): 178,731 tracks 495 days, 17 hours, 21 minutes, 59 seconds 1,021.56 GB 8158 distinct artist names 12673 distinct album titles (lots of Some Album Disc 1/2 titles need to be fixed) 845 genres, though some are frivolous Largest folders: | "Artist" | GB |
| Compilations | 91.83
| | Various Artists | 11.82
| | Unknown Artist | 9.95
| | Frank Zappa | 7.63
| | Grateful Dead | 6.82
| | Arte Flamenco | 5.8
| | King Crimson | 3.45
| | Martin Simpson | 2.58
| | Oregon | 2.56
| | Pink Floyd | 2.44
| | Tom Waits | 2.38
| | Cocteau Twins | 2.08
| | Yo-Yo Ma | 2.01
| | Bob Dylan | 1.99
| | Kronos Quartet | 1.96
| | Joni Mitchell | 1.96
| | John Hartford | 1.95
| | Pablo Casals | 1.93
| | Lonnie Johnson | 1.92
| | Johnny Cash | 1.84
| | John Fahey | 1.84 |
Time spent on this project: Way too much. Next project: Figuring out a genre/world music arrangement scheme so when I'm in the mood for something I have some idea what my options are. | |
|
⋀⚖∀... and justice for all. ☺ for the passage of Washington Referendum 71, supporting gay psuedomarriage. ☹ for the passage of Maine Question 1, vetoing gay marriage passed by the legislature and signed by the governor. I find it interesting that every measure on the ballot passed. ☹ for the secretary of state's website not having current results. | |
|
From a job posting on Craigslist: Primary Duties - Approximate % of time required Creative thinking, investigating new technologies, problem solving - 20% Software Requirements Gathering - 10% Documentation - 10% Software Configuration Management - 5% Software Development - 40% Software Testing - 15% So I guess we can infer that creative thinking and problem solving will not happen during software development. Further, writing and testing code will happen separately and the code will only take four times as long to write as to document. | |
|
I spent over five hours interviewing at Google's Boulder office yesterday. My visit came about a month after I submitted my résumé, via a connection who referred me, to Google's famously challenging hiring process. Before I arrived at Google's office, I'd had my résumé selected from a large pool (which is probably full of bad programmers), had a non-technical interview with a recruiter about background and goals, and aced a technical phone interview. A large majority of candidates are eliminated at each step (possibly excluding the non-technical interview), so before my on-site interview, I already knew I was in the top few percent of people who apply to Google. Preparation In the week or two leading up to the interview, I alternated between a Zen-like state of confidence ("I've gotten this far, so I'm good; my whiteboard flow is tight") to fears of gross incompetence ("It's been over a third of my life since I've taken a calculus class and have forgotten how to add infinite sums! I can't remember any non-search graph theory algorithms!"). All my college notes and textbooks are in an inaccessible corner of a storage unit in Lakewood, but fortunately Wikipedia has plenty of reference material, usually at least as clear as CLRS. Looking through TopCoder problems, remembering ACM problems, poking around related websites, and finding blog posts, I felt like I could work through a solution to most. I worked through some dynamic programming problems to make sure I could recognize when the technique was appropriate and how to step through it. I dug into the implementation of some sorting algorithms, several types of trees and heaps, discovering the Cartesian tree, my new favorite hammer. I read a bunch of stuff about graph theory, realizing I need to read a good non-academic book on the subject, preferably one that aims to build spatial intuitions along with algorithmic reasoning. I made sure formulæ for combinations and permutations were in working memory and that design patterns, scheduling, and java.{lang,util,util.concurrent} were in at least L3 cache. I didn't follow Stevey's advice to do practice interviews, but I gave enough interviews at my previous job to be comfortable writing code without compiler or IDE. Execution So, how did my Google interview go? It started with a really easy Java question. Some people tend to get insulted at this step, but I know that an amazing number of people get to in-person technical interviews and somehow can't actually write code in their favorite language. I then implemented a method to see if all the numbers in one sorted list were in the other. Pretty simple stuff, but it's easy to go astray. My interviewer initially thought there was a problem in my code (probably a spot many people goof up), but I'd thought of the case and dealt with it. I noted that if I handled that section of the code a little different, I could get rid of some duplicate code I'd originally noted was ugly but functional. Other coding problems included determining if a word could be spelled from a set of letters, making a deep copy of a graph with loops, implementing an LRU cache, finding an individual who satisfies an inverse relationship with every other individual, and writing a unit test for a simple function of a double. I had a "thinko" on the graph copying problem and didn't notice it when I traced through the code, but as soon as my interviewer pointed it out, I quickly reworked the function to handle the issue. I floundered around on the LRU cache because I've spent so much time thinking about collections and data as separate concepts that I forgot that any type of object can be a linked list node. My weakest interview of the day was probably the last, with a focus on OO design and type hierarchies. The interviewer asked me to talk about some good OO design I did, so I started working through the object model for one of the big projects I worked on. I didn't realize he was mainly looking for object hierarchies rather than object relations, and after a little while I realized this wasn't a good example. I shifted to another project which I put a lot of design work into, but like most of our code at my last job, the inheritance hierarchy was pretty flat, with lots of abstract factories. The interviewer proposed a problem domain and I worked through a possible object model. Like I usually do at initial design stages, I was thinking in terms of types and data responsibilities rather than (Java) classes and interfaces, and it seemed like he didn't like that I was characterizing some things as fields. Hopefully I showed an ability to explore variations on modeling after a day of talking and thinking after a night of nervous bouts of sleep and wakefulness. Google Boulder I finished almost every interview section with time to ask questions of the interviewer, which made me feel like I wasn't failing too badly. I got some helpful opinions about the development environment (every line of code given a formal review before it enters the massive Google source repository), the company structure (the HR management tree is not identical to the technical decision tree and both have bottom-up flow), surprises about Google (a couple guys were impressed with how well Google worked as a large organization and how well they could collaborate with other offices). At lunch, the site manager for the Boulder office showed me around, talked about what goes on at the office (mostly apps and SketchUp, but with plenty of folks working on other stuff), and gave me an opportunity to ask a lot of questions. The Boulder office is tiny compared to the Googleplex (though it's a little bigger than the last office I worked in). They don't have high tech toilets, but there were magazines in the stall and reminders about build system usage posted above the urinals. The reception area has two big screens, one with a live sample of Google queries (quite a few were in Spanish and Portuguese) and one with a movie loop of Google Earth visiting some neat-looking locations. The most obvious thing you see if you peer in the building's doors is a rock climbing wall. The room also has (IIRC) ping pong, foosball, and pool tables, a Rock Band station, a multi-arcade machine, and some comfy chairs that probably did automatic massage. From the cafeteria (free snacks and catered lunch every day) you can look down into this play area while eating solo or sit with a bunch of friends at tables with Google-colored chairs. Most people work in "pods," open 4- or 8-person cubicle-like structures designed for easy collaboration. I like this kind of setup (at my last office, most of the software engineers removed at least one cube wall), especially with good noise-cancelling headphones, but it's not for everybody. The interview invite said "Leave your suit at home, Google is business casual." Since it was the Friday before Halloween, I was tempted to come dressed as a pirate ("Let's call this variable 'r'!"), but figured a brightly-colored winter hat would be a good compromise. I was glad to see at least half the office was in the spirit, including a couple (who had their baby with them) dressed as Skywalker/Leia and a guy whose costume involved not wearing a shirt (I disturbed some coworkers one halloween with my shirtless satyr costume in a standup meeting). One of my interviewers was dressed as a caveman, but he excused himself by saying he was filling in for someone who was sick that day. Conclusions An interview is an opportunity for the company to evaluate you and for you to evaluate the company. In the latter case, Google definitely succeeds. I like their approach to software development, I like their famously outside-the-box company structure, I like the office environment. (I let the recruiter know I'm interested in both Boulder and Mountain View; I haven't visited the fabled Googleplex.) In the former case, I think I have an outside chance. The site manager didn't know precise numbers when I asked what percentage of people get hired after an on-site interview. He said it was less than 50% and more than 1%, and said 15% sounded like it was in the ballpark. I know I didn't have a perfect performance, but I did a lot of things right and recovered fairly gracefully from errors. I definitely did better than 85% of people I've interviewed, but I suspect Google's earlier filters are a lot tighter. The guys who interviewed me yesterday will send their notes (including exact copies of the code I wrote) and a rating to a hiring committee. That group will talk things over and make a decision; the longer I don't hear back the better my chances (on the principle that it's easier to identify someone who really sucks from someone who's really good). It's important to remember that not everyone who's qualified to work at Google get a job offer at Google, which means that if I don't get hired, I can't conclude that I'm "not good enough." The mistakes I made (which would not be present if I'd been asked other random questions) might lead to enough lower marks that don't pass the bar. They might also decide that given the desire to hire X people and Y people worth hiring, I'm not one of the best X in Y. Blog comments are full of people who think the following is sound logic: "(1) I am an AWESOME programmar! (2) There's no way I could get through Google's interview process! (3) Therefore, Google's interview process sucks! (4) Google's been successful up 'til now, but they're going to fail! (5, optional) They've got too many smart single young guys who work hard, that's the problem!" or "You didn't get hired by Google? That's because you're too good for Google! [And, one assumes, better than all these folks.]" Contrary to the haters, most of the people I interviewed with looked to be over 35 and (I'm pretty sure) some have kids. Interviewers might naturally tend to be older and more experienced, but I didn't sense a monocultureculture stereotypical hot shot 20-something computer nerds. (There was a pretty high male-to-female ratio, but that's a problem much larger than Google.) Also contrary to the haters, if I don't get hired it's probably because I messed up, not because Google messed up. And hey, if I don't make it, I can always try again in a year or two with more experience and insight under my belt. | |
|
I love today's XKCD tribute to GeoCities, which is is closed as of today. In a sense, GeoCities was the first Web 2.0 company, a site where anybody with access to the world wide web could share their ideas with the world. In a web begun by people savvy enough to edit markup and organize files on a Unix server, GeoCities let the masses make a web page even if they only knew what they wanted to say and which animated Under Construction logo they liked best. It was also a reminder that if you let somebody loose with a cowbell and a stick, they'll make a lot of really annoying noise. If you lead a horse to the web, please give him a few user interface pointers. For all the stereotypically groin-grabbingly garish design, broken links, and poor grammar of GeoCities pages, I got a lot of value from things people posted there in the mid- to late-90s; things written by people who probably wouldn't have been motivated to share if they had to learn how to do things The Right Way, or whose attention might have strayed without the hit counters, spinning icons, and color scheme play. It was ideally suited to fan sites for games, bands, books, or anything else a young person might get excited about. For all that it hurt to visit a typical GeoCities homestead, I'm sure I've got some fond linkrot on my games pages. (I won't make any claims to great design on those pages, but I hope that my minimalist approach is at least not painful.) In a lot of ways, MySpace is the ideological successor to GeoCities. Anyone and their brother can make a page full of irrelevant information and confusing layout that loads slowly and has the user reaching for the mute button. But they make it easy enough to attract a large enough user base that some people post things worth reading, even if you wish you didn't have to read it there. I guess small-time bands are the new young adult geeks. Thirty years later, people still like to celebrate the bad fashion sense of the 70s by visiting thrift stores and throwing ironic parties. Now people can get their retro thrills by visiting the wayback machine. | |
|
I posted the following to a Burning Man mailing list. The original context, mostly irrelevant, is whether volunteers for an event should get free admission.
But also there is the idea that our culture seems to really value some very valueless things while simultaneously undervalueing or seeing no value at all in some extremely valuable things - like motherhood, art, caregiving of all types, and so on. What I think we're doing with these discussions is working out what "value" means to our community and how we really can make our way to true giving - it's hard though and messy I think.
I think it's important to distinguish between "what our culture
values" and "what pays well." Markets can take on a life of their
own, so while you may be able to correlate values with money within a
particular market (e.g., Americans have valued house size over quality
of construction), comparing dollars paid in one market to dollars paid
for something else doesn't really work.
For a silly example, I got paid a lot more to write software for
governments than most sex workers get paid to give people orgasms.
Does that mean our culture values effective property tax systems more
than sex? No, it just means the market for people who know how to
write code is tighter than the market for people who can have sex.
For a less silly example, I pay $5 in gas (plus car depreciation) to
drive from Boulder to Denver and back. I pay nothing to ride around
town on my bike. Does that mean I value driving more than bicycling
and Denver more than Boulder? No, I enjoy riding a lot more and
prefer to spend time in Boulder. It's just that the nature of cars
involves spending money, but bikes not so much.
In my ideal world, the community makes sure everyone's well fed and
cared for, even if there isn't a lucrative market for what they do.
Like clean air, safe roads, and public broadcasting, art is a public
good. You can't quantify how much value a person will get from
artwork, so it's not well suited to markets with supply and demand.
The fact that artists have trouble making a living doesn't mean we
don't value art; it's just a reflection that our economic system isn't
a perfect tool for ensuring our values are actualized.
Remember: economists use "willingness to pay" as a substitute for
personal values, but that's just because it's a lot easier to do math
with the former. Money is a useful tool for pursuing our values, but
it does not straightforwardly represent our values. Don't confuse a
pencil for a poem. | |
|
Acai (more properly açai) products, generally targeted at health or weight loss, have been a hot spam item in the last year or two. One slipped through SpamAssassin today with a link to www.permanent-honorable-fruit.cn. Fitting that such a domain is in China, because "perfect honorable fruit" sounds exactly like the sort of phrase that's beautiful and insightful in Chinese and completely befuddling in English. Intrigued, I looked up[1] the Chinese translation for each word. One possibility is héng zūnguì guǒ: 恒 - héng permanent / constant 尊贵 - zūnguì - respected / respectable / honorable (from zūn - respect, revere, venerate; honor and guì - expensive, costly, valuable) 果 - guǒ - fruit / result (guǒ is the character used in "fruit juice," "fruit tree," and several fruit names) But then I noticed another option for fruit: 实 - shí - real / true / honest / really / solid / fruit / seed shí is also the pronunciation of my family name, 石 - Stone (and the number 10 and lots of other things). It amuses me that shíshí can be 实石, "fruit stone." As mollybzz and I worked out one day, "Trevorberries are peaches. Fuzzy on the outside, sweet on the inside, and with a stone in the middle." [1] Mad props to MDBG Chinese-English Dictionary. Without that fine website, I'd get absolutely nowhere on Chinese. - Tags:açai, chinese, shi, spam
- Location:Inbox
- Mood:quixotic
- Music:hard drive noises as I md5 every mp3 to see what I broke when I dropped the drive
| |
|
When sandbar asked where everyone on LJ had gone, I said they'd probably migrated to Twitbook. With RSS feeds down last week, I noticed that a lot fewer people are posting to my friends page than, say, two years ago. I've shared my distrust of Facebook before, but as an outsider, Twitter's made a good impression, despite the stereotypical ridiculousness of tweets. So if you like, you can follow @flwyd. If you'd prefer not to, I won't take offense. The proximate reason for signing up is to have a single feed for people I want to follow rather than each twit's feed separately in Google Reader. What I like about twitter:
- By default, everything is public. That means people can participate without joining. (You may have noticed I don't make protected LiveJournal posts either.)
- There's a handy API for accessing all that public content. That way, anybody can come up with clever ways to turn tweets into birdsong.
- The medium is restricted. Great art often comes from tight restrictions. It's also neat to see creative solutions to limitations in a communication medium.
- To match the simplicity of the medium, the interface is clutter-free. (Compare to Facebook or especially MySpace.) The API encourages folks to make interfaces that suit them even better.
Things I don't plan to do:
- Tweet what I'm eating for breakfast, how many emails I got last night, or that I'm taking a shit. Not everything that matters in the moment matters in the memory.
- Automatically repost my Twitter activity on LiveJournal. If you want to read my terse tweets, you can do so from Twitter (or an RSS reader). If you want to read my verbose blog posts, you can do so from LiveJournal (or an RSS reader).
- Use Twitter instead of e-mail or instant messaging. Seeing out-of-context replies on Twitter seems kind of jarring, so I'll try to make my replies amusing to a passing stranger.
- Start texting. I still dislike the U.S. mobile telephony ecosystem, particularly the absurd profit margins cell phone companies make on SMS.
- Give Twitter my GMail password so it can figure out who my friends are. Just add me manually; my Twitter email isn't in your address book anyway.
I've subscribed to a few staff-run twits (@whitehosue and @TheOnion) and a few famous people, plus a few folks I know personally. I reserve the right to unfollow anything that gets annoying or lame. Feel free to follow me; if I don't follow you back it's not that I don't like you, it's that based on your recent activity, I don't want to read everything you say. But I'll still respect you more than the two sex spam accounts that were following me within minutes. I don't plan to use LiveJournal any less (not that I have much room to fall after my post count in July and August). It's been a long time since I posted quick updates about my daily life here, anyway. I anticipate LiveJournal will still be my best place to work out thoughts by typing out loud. | |
|
Informally and legally, we tend to think photographs are more reliable than memories. There are good reasons for this, too; the human mind is really good at making up details with associated levels of certainty. A photograph, on the other hand, captures a scene as it was and leaves it unchanged. But it's important to remember that the fact that an image came from a camera does not with certainty imply that it's a good representation of the authentic experience of the moment. For instance, I trotted all over Burning Man without realizing my camera's white balance was set to "tungsten" (artificial lighting) rather than "auto white balance" (which would infer I was outside). So many of my pictures look like they're from Picasso's blue period: ( Read more... )"It's photoshopped" usually means the image has been touched up so that it's further from the "truth." But when I photoshop my Burning Man photos (yay AutoLevels!), they look a lot more like the Playa: ( Read more... )But even when all the camera settings are as they should be, the photo can still lie. I took my first post-Burning Man pictures yesterday as the setting sun created some great lighting for the foliage in my yard. Much to my surprise, even though everything was in focus, they all came out with angelic auras: ( I suspect some playa dust snuck in my lens )Trust me, my yard doesn't look that awesome to the naked eye. I almost don't want to fix my camera, that's such a cool effect. Of course, almost every digital photograph is full of lies. The JPEG format is cleverly designed to compress the data in a way that tricks the human eye into thinking bits are there that have been dropped. | |
|
I've spent much of today skimming really boring job postings. There's a certain uniformity in job board language that makes reading about exciting work really droll. This means (unless you're picky about domain like I am), it's hard for any job posting to stick out. So I was amused to find this job posting written in Ruby on the Joel on Software jobs board. I could tell the company was at least kinda hip when I saw their name was Shop It To Me. It's exactly the sort of character I would dig in a company; unfortunately they're working in a domain I'm not interested in. | |
|
My summer plans came true, but I've entirely failed to blog about them. I'll do so in the near future, for posterity if nothing else, but here's a short summary. Pictures will be forthcoming. I'm not doing well at the whole "put stuff on the Internet" thing this year. On the plus side, in my grand adventures I haven't been constantly saying "This will make for a great livejournal entry."I spent a week in the semi-desert helping set up Dreamtime. That was a blast, but I was a bit dehydrated by the end and didn't have a lot of energy to enjoy the part where everyone showed up and did stuff. mollybzz and I drove through Wytanada for a week and a half, hitting Vedauwoo (Wyoming), Yellowstone (Wyoming), Glacier (Montana), and Waterton Lakes (Alberta). I took 929 photos that I haven't organized yet. Molly and I had some great conversations in the car, in the tent, and on the trail. She also spoke French from our entry into Canada until I cried. Then we bought ice cream with exact change across two currencies. I was in a good groove for Dragonfest. I visited with old friends, helped run Men's Mysteries, brought a 35-foot dragon to the kid's parade, did some emotional processing, was in a bawdy production of Lysistrata, and drummed a little (though my djembe never left the car). I took some cool pictures of the landscape, the dragon, and some glow sticks. After a year of not doing anything for it, I'm getting to work on an online voting system for Dragonfest. I capped the summer off with Burning Man. Much of my time was devoted to becoming a Black Rock Ranger, which is a fun way to make an important contribution to the community. I also spent a lot of time (at least six hours, plus the burn) at the temple, one of the most powerful pieces of art I've ever experienced. I took some art photographs, but discovered when I got home that the funny icon on my camera meant it was in the wrong white balance mode. Photoshop's auto-level feature seemed to do a good repair job, but that's yet another obstacle to sharing my giant pile of photos from this summer. While I'm at it, anybody know of a good International Talk Like A Pirate Day party this weekend? | |
|
My summer plans came true, but I've entirely failed to blog about them. The next post is a short summary, but this one's about my new activity: finding employment. My next adventure is finding a job. I've just updated my résumé. I still like my unorthodox "this is the real me" style, but I've kept my normally-formatted résumé for employers that want consistency of form and bulleted lists that are easy to scan. I was part of the hiring process at Tyler, so I know the importance of a piece of paper that can be compared side-by-side. On the flip side, the quirky version might stand out more in the filtering process. Feel free to pass it around or use it as inspiration for revising your own resume. Let me know if you'd like the LaTeX files I used for the PDF versions. What kind of work am I looking for? My résumé's mission statement says My mission is to write software which kicks ass. I want to work with smart and creative people on projects which are worth doing right and which help people in creative ways. I am especially interested in GIS, artificial intelligence, human language, cognitive science, and programming languages. There are two key things I'm looking for in a job. The first is what I'm working on -- there are certain domains that get me very excited intellectually: language, thinking, maps and science. And while I can enjoy writing and debugging programs in any domain, I'd much rather work on something that piques my excitement. The second important factor is who I'm working with. I've got two degrees and some professional experience under my belt, but I know there's a lot about computer science I can still learn and I want to work with awesome people I can learn from. When I left Tyler, most of my opportunities for learning were self-directed, and while I'm good at figuring stuff out on my own, it's a lot more effective to learn from someone in the same room than from a book or website. What about location? Location is very important to me, but I'm open to locations that will in the future be very dear to my heart. Staying in Colorado is certainly an option -- staying at my parent's house when I'm not on the road reminds me how much more I enjoy Boulder than random Denver suburbs. I love the mountains, the weather, the people. But software companies seem drawn to cool cities, too. I'm sure I would enjoy living in the Bay Area, which is good because a plurality of software jobs are there. I've never been to Seattle, but the Pacific Northwest's got enough mountains and neat people to keep me occupied, even if the rain can be a downer. I can dig the heat and landscapes of the Southwest. And I'm sure there are several places on the East Coast I could live, even though I'm a laid-back westerner at heart. In short, at this stage of my life, what I do is more important than where I do it. I haven't really done a job search before. I got a job with Tyler because they found my résumé on CU's website and gave me a call. I hadn't been planning to get a job right after graduation (in a sense, this summer has been a replacement for post-graduation wandering), so I accepted the offer without looking around. Any advice on what job websites are hot? I'm updating my LinkedIn profile. I've got an old Monster account to update, but I'm sure some more have come along lately. Got any friends I should be networking with? It's a tough economy (though I hear the software sector is doing a lot better than most), but I'm confident I'll find something awesome. I've been planning ahead and I've got money in the bank, so I'll be fine if the search takes a while. I don't have a huge social network or great social skills (hey, I'm looking for a programming job), but I'm an interesting enough guy that I can stand out, even in a crowd of other geeks. And I've managed to avoid any anchors: I don't own any real estate, I'm not involved in a romantic relationship, I don't have any filial duties that I can't fulfill at a distance, and I don't have any space-time commitments until Violet's wedding in April. In short, when I find the right situation, I'm ready to pounce. In the meantime, I've still got time to play, so let me know if you've got any fun plans. | |
|
#E15: [In the past ten years,] has any applicant consulted with or received treatment from any doctor or other health care provider for any other condition or symptom(s) not listed on this Application?Let's see... I think I had a flu vaccine a few years ago. Oh, and in 2005 I went to the doctor with a fever. I think I got some antibiotics. #F13: Has any applicant ever seen, received treatment from or consulted with any health care provider for any other condition or symptom(s) not listed on this Application?Well, I was born in a hospital and received treatment for being covered in blood and bodily fluid. And when I was a kid, I was given the standard vaccines. Do you really want me to enumerate every time I ever saw a doctor?This reminds me of the forms at Honduras's border and ferry points during the swine flu scare. "In the last two weeks, have you been around anyone with a fever?" How would I know? I don't take the temperature of guys sitting next to me on the bus. "In the last two weeks, have you sneezed or coughed?" No, absolutely no smoke, food, or other irritants have been lodged in my respiratory tract. Of course, the Hondurans seemed happy if we just answered "No" to everything, even if we were visibly sweating with a runny nose. If I don't answer to the satisfaction of the health insurance company, they could decide that my pronated feet were a preexisting condition causing me to trip and break a leg and retroactively deny coverage. Anyone who opposes health care reform because they think it would lead to socialized medicine run by a bureaucracy should pay attention: that's exactly what American private health insurance is. Edited to add: In the signature area, it says Once you submit this Application you may be contacted at any time via telephone by a Aetna representative to complete your enrollment and the underwriting process. You will be able to confirm the identity of the person calling. Please do not answer any questions if you are not satisfied with the identity of the caller. The person calling will give you a number to confirm their identity. Please call if you have any doubts or problems with respect to the call or the process during the call. This, as Bruce Schneier pointed out, is insecure. Especially since they could have put the number on the form, rather than trusting the caller to give a valid number to confirm his own identity. | |
|
I'd forgotten how fun it is to ride around in circles. (Apparently I also forgot how to get into the mood for blogging.) I got back from Guanduras two months ago (wow!). Since then, I've had some fun out-of-town adventures, but the time I've spent at home has consisted mostly of recovering from being somewhere, preparing to be somewhere, and dicking around on the Internet. While I enjoy all of those things, I didn't feel like I was being as awesome as I could. This past weekend, I went out garage saleing looking for a cheap cruiser with a basket I can take to Burning Man. Instead, I found a custom-built in-tune 7-speed town bike with three baskets, bright yellow mud guards, and an orange flap with Chinese characters for pain and pleasure. At $150, I realized I could get a lot more value out of it than I'd gotten out of my mountain bike lately. Not only would it be a good bike for Burning Man, it would encourage me to take it to the store instead of driving. Since this purchase, I've spent several hours fixing bikes. First I used a vise to bend back the fork I bent getting the new bike home (oops). Then I installed a replacement front derailleur for my mountain bike. Then I tried to patch mollybzz's tire before discovering self-patching goo tubes won't hold a patch. Then I tried to true my mountain bike's back wheel in place without much luck. Then I joined Community Cycles so I could use their truing device and get reminded what I was doing. Then I spent a long time tweaking the brake position and shifter tension for my mountain bike's front gears and lubed my chain (I think it still shows signs of Burning Man '04). Then I installed a new tube on mollybzz's bike, lubed the shifters, and adjusted the gear tension. *whew* While going through old Burning Man mailing list posts this week, I saw a couple references to the Happy Thursday cruiser ride. I'd heard they stopped riding a few years ago due to excessive chaos and police concerns about violating traffic laws. It's going again, but they're being cagey about the location. Poking around a bit, I found the Happy Thursday twitter page, which announced a goths vs. vampires theme and a location of "EGF." I racked my brain for a few minutes thinking though Boulder locations that would have those initials before Eben G. Fine Park popped into my mind. Of course! The last time I rode with Happy Thursday, everybody was decked out in kitsch and glam and gay with some impressive custom cycle and decoration jobs. I haven't had time to put together a crazy lighting scheme for my bike yet (a safety feature at Burning Man), but I figured I'd take my new cruiseresque bike out for a spin. I wasn't sure when the ride started, so I showed up at 7 and sat by the creek for awhile (another Boulder activity I forgot I missed). Around 7:30, cruisers started arriving, including one with a sound system on the back. (Mobile tunes are key to a successful cruiser ride.) Some folks had some potluck food, pens for drawing moustaches, and name tags for declaring what sort of snob you are. I decided to be a code snob, beard snob, blog snob, and snob snob :-) With folks drinking PBR and Key Light while listening to an upbeat party mix and tight-rope walking on webbing straps it didn't seem much like a goths vs. vampires theme, but whatever. We biked around down town, periodically stopping to ride around in circles in parking lots and socialize on top of parking garages. As we passed amused diners, we cheered out "Happy Thursday!" Boulderites responded in kind 'cause they know what's up; folks from out of town (dropping their kids off at college, perhaps) gave some bemused looks. After an hour and a half or so, the small group that remained reached the ride's terminus and played glow-in-the-dark frisbee in a daycare playground. Just as it was splitting up and the leaders heading to a bar, another Happy Thursday group rolled up the block and ascended the parking garage. With red corsets, black fairy wings, white makeup, and long capes, and Sisters of Mercy on the bike stereo we'd found the goths vs. vampires version of the ride. I heard there was a third group riding around somewhere, perhaps with a different costume theme. I suppose that's one way to keep it from getting too big -- tell different people different starting times. That was the most pure fun I've had in quite a while. There's a thrill I get on an easy bike ride, even if it's just around in circles, and being in a crowd of people having a similar good time amplifies the effect. Riding back home, I was a little more pressed for breath than when I biked to school every day, but I still came home feeling super energized. Heck, I had enough energy to write my first blog post of the month! | |
|
I slogged through 2960 photos, mercilessly paring them down to 475 pictures of Guanduras suitable for public consumption. I used Google's Picasa to post this set of pictures in large part because it has integrated mapping so you can navigate my geotagged photos geographically. Picasa has a lot fewer features than Gallery, though fewer features often means an easier user interface. The feature lack I noticed first was lack of sub-albums, so I can't have a Tikal album in a Guanduras parent album, nor can I have said albums oldest-first. (Since I only have Guanduras albums up at the moment, this is not a huge deal.) I realized I haven't posted any of my day-to-day photos since January, so I hope to get those up soon too. Let me know if you like Picasa's format better than Gallery or Flickr. | |
|
First: Anybody got any cool plans for the 4th (i.e. the next 24 hours)? Second: I'll be volunteering for a week to set up Dreamtime, a festival that's equal parts new age workshops, tribal electro music and dance, and Burner-minded people. I'll be hoisting shade structures and unfolding yurts after the 8th; the festival runs from the 16th through 20th. Third: mollybzz are talking about a two-week road trip northwards. I'd like to see Glacier National Park before it becomes Ironic National Park. Molly's never been to Yellowstone... or Canada. And I think there's some good hot springs in Montana. Got any travel tips for Wyoming, Montana, Idaho, Alberta, or the Canadian Rockies? Is Calgary worth visiting? Fourth: I'll be at Dragonfest the first week of August. I'll be helping with Men's Mysteries. I wonder if I should come up with a workshop, too. Fifth: Anybody going to Burning Man? I'd like to go, but only if I have a camp to connect with. Teaming up on transportation from Colorado would be nice, but connecting with a sweet camp from elsewhere is also keen. That's all that's on the radar so far. If you'd like to hang out, we should do so before July 8th! Otherwise, you may have to wait until mid-August or catch me at my tent. Boy, unemployment sure feels great. | |
|
In most of Latin America, "chevere" is a word that means "great" or "awesome," e.g., "¿Como estas?" "Chevere!" ("How are you?" "Awesome!") In Guatemalan lingo, "chevere" also means "hot dog," and is written on all the hot dog stands. While this means you can ask for a "Chevere chevere" ("great hot dog"), you can also have this conversation: "¿Como es?" ("How is it?") "Chevere." ("Awesome.") "¿Chevere como un chevere?" ("Awesome like a hot dog?") "Chevere como millon cheveres." ("Awesome like a million hot dogs.") ( See: Eddie Izzard, "Circle") | |
|
|