MBDil's blog

Browser-based Partial Language Immersion

There seem to be multiple ways to learn a language, but when it comes down to it, the best approach is to be in an immersion environment, where just about everything you use is in the new language.

On the other hand, if you're teaching yourself a new language, and you can't exactly fly off to Shanghai or live at the local Casa de Burritos, immersion isn't practical.

One way for the bravest of the brave to learn a new language would be to use Google's open translation tools to translate everything you read on the internet to the new language. Unfortunately, this isn't practical either unless you know enough of the language to work out the context and/or enough time to translate everything back word-by-word.

So here's my brainstorm - what about a browser plug in that translates words into the new language in small increments?

Part of the beauty of this is that words that are the most useful to learn are typically the most common, and they're also easiest to pick up in the context of the rest of the conversation.

For example, you might read a paragraph like this one, posted by a friend of mine as a facebook status:


Just saw Avatar, and was pleased by it's celebration
of strong Republican values. Family, lifelong monogamous
relationships, community and reference for God. How could
atheistic illegal immigrants hope to prevail? >=)"

As a student of a new language, you may know a few words like "and" and "was" from the paragraph above, but how often will you encounter "illegal" in an introductory language course?

This tool would offer a compromise through a sliding setting between 1-100, designating roughly the percentage of the new language you're ready for. It would also have its own database of sorts behind it to know which words in the language are the most common. Also, you could set it to replace or go side-by-side with the translation. Assuming slider at 5ish and "replace" on, translating to Spanish, it becomes:


Acabo de ver "Avatar", y se pleased por que es celebration
de strong republican values. La familia, lifelong monogamous
relationships, community y reference a Dios. ¿Cómo could
atheistic illegal immigrants hope to prevail?

.... which is spanglish, I suppose, but even a not so well-versed Spanish student could understand the intent from the context, and be learning by partial immersion in the process.

A side-by-side version might look like this:


Acabo de ver (Just saw) Avatar, y se (and was) pleased
por que es (by it's) celebration de (of) strong republican
values. La familia (Family), lifelong monogamous
relationships, community y (and) reference for God.
¿Cómo (How) could atheistic illegal immigrants hope
to prevail? >=)"

At 5%, I'm figuring it would replace just about every conjunction, preposition, and pronoun. It would be on a curved scale, so a 1% improvement from 0-1 % may only replace the most common 20 words, but 10-11% may replace a hundred, and going from 90-91 may replace several thousand of the least commonly used words. The idea would be for the user to always adjust the slider to the point where he can still read through the context and be learning until he can deal with the completely translated page.

Naturally, any errors in the original or from Google's mistranslation would be unavoidable, and you can only hope that Google's translation tool would improve over time and make the results better.

Of course, there's also the "Como mucho" problem. It relates to how translation isn't always a word-for-word endeavor. My Spanish teacher in high school told me the story about a guy who went to a spanish-speaking country armed with only a English-to-Spanish dictionary. In the marketplace, he wanted to ask "How much?", so he found "how" (Como) and "much" (mucho). He went to shopkeeper after shopkeeper asking "Como Mucho?", only to receive nods and confused looks in response. This is because the Spanish meaning of "como mucho" is "I eat a lot", thanks to the verb "Comer" conjugating into "como". In cases like this, some mechanism would have to be built in to grab phrases where it's appropriate for the language and ignore the word-by-word translation.

As I was writing this post, I played with the Google translate extension for Chrome. With it, you can translate a page, then mouseover questionable text to see the original in English. This isn't all that useful for paragraphs, because it can be tough to know which words mean what. Still, it makes things such as the "comentario" and "gustar" buttons pretty obvious ("Comment" and "like"), and short sentences look instructive.

Unfortunately, I doubt that I can take the time to immerse myself in the programming languages of plugins to make this happen. Does anyone else wanna give it a shot and let me help?

Facebook vs. the Marching Band

I've spent the better part of this afternoon jumping through the necessary hoops to get my website (ChrisDillingham.com) to allow authentication using Facebook connect. For me, this is no small achievement on my journey towards Drupal CMS mastery, and it means that all my friends from the Beech High School Band of 90-93 can log in on my site and leave comments without creating a separate registration.

I find this rather ironic, in a way, since of all the things I took away from band in high school, the most enduring are the friends I've made through the process. In fact, if Facebook had existed back in the early 90's, marching band would have been a complete waste of time.

Sure, I learned how to play a euphonium with the tone quality of a moose. I learned how to read music, march out five yards pretty closely in eight steps, and retain an appreciation of the jazz work of Blood, Sweat and Tears. I learned how to kill a lot of time between classes hanging out at the band room. Unfortunately, most of those skills haven't translated into anything useful in the real world for me.

What did make the impact was the process of working together with my peers to a common goal. We spent time together marking our spots to stand on the field, cheering in the football stands at the games, and riding on the bus on our way to tournaments. Over the course of several years, that was a lot of time, and we got to know each other pretty well. We created friendships that have endured long after we graduated, had kids, and forgot all we knew about the life of spats and spit valves. I suspect that the same happened with non-band friends of ours who spent that much time together, say, poring over drama scripts or math equations or bus rides together on the way home.

So now we've found our way back to Facebook, and we've sought each other out to catch up. The more I use Facebook, the more I can't help but think that everything that the band did for me then, Facebook does for me now. It is an absolutely superb tool for virtually hanging out with your peers and getting to know people that you are acquainted with, but don't really know much about or don't have the opportunity to get to know for various reasons.

Through Facebook, I might have gotten to know that guy in the back of the government class that always seemed to have something up his sleeve. It would have helped me break the ice with that quiet girl I kept seeing in the hallway that didn't seem to know anyone. It would have allowed me to discover that other people all over my school shared my interests, even though I didn't know it.

It's easy to say "well, why didn't you just go up and talk to those people?". It's a fair question, since I've never been known for my ability to be social. I did where I could. Still, unless you sit near someone for weeks and have ample opportunity to talk, it's tough to get to know much about them, let alone to forge a friendship. Conversations on the way through the rush of the hallway are challenging, and the common ground of a class together or mutual project is a powerful catalyst. In fact, the friends I have kept up with through more than 15 years are the ones I spent many classes with over several years and met with regularly outside of class -- or spent a couple of seasons with in band.

Marching band forced that kind of proximity and ultimately great relationships because of all the time we had collectively to wait around and get to know each other.
Had Facebook been an option then, I might have known the rest of my classmates just as well.

Thoughts on "Avatar"

I'm having a little trouble adjusting back to reality at the moment.

This is partly because the world of Avatar in 3D was incredibly immersive, and after nearly three hours in the theatre, I've only taken off the 3D glasses ten minutes ago. I think the disorientation, however, is due to something else.

I'm wanting to describe "Avatar" with some serious glowing praise of the type that I'd expect to have to take back later. Phrases like "greatest movie ever" and "possibly the most incredible spectacle I've ever seen", and "calling this 'a movie' doesn't do it justice." Truly, it was an experience.

So I'm trying to adjust to reality by remembering other movies that have left me with similar impressions. Several years back, I walked out of the theatre convinced that the battle of Helm's Deep at the end of the Two Towers was the most epic battle sequence I could imagine, yet when Return of the King trumped it in scale and scope, I had to recant. The Matrix Reloaded was a hard-to-top spectacle of special effects that sucked me hopelessly into a virtual world, yet several years later, I remember that impression with a chuckle, since time has made its plotline campy and shown how weak the dialogue, direction, and story details were.

Does Avatar change everything? My gut response is yes -- I will probably never be able to enjoy a 2D movie experience without remembering the richness of detail and visuality of Avatar. It's a new standard by which I'll judge everything. I used to think of the detail in the sea world of "Finding Nemo" as the standard for this kind of imagery, but Avatar's is several notches better with its neon blooms, thick undergrowth and foreground flourishes. "The Dark Knight" excelled at making the viewer believe that this time, the good guy really might not win, yet Cameron pulls off a similar effect here, though the general is not as quite as ominous as The Joker. The color grading and look of "300" was awe-inspiring, to be sure, but it doesn't come close to the look of the jungle of Pandora -- quite an accomplishment for the latter considering that the stereoscopic technique hampers the color palette. The one standard that I can think of that it doesn't reset is that of a call to action - the feeling afterwards that something must be done about this once the credits start to roll. That standard would still be in the hands of the documentary crafters.

My only hesitation in giving such extreme praise is that I have not experienced very many 3D movies other than the gimmicky kind of the red-and-blue glasses, "Spy Kids" variety, where the 3D effect drives the story. Perhaps Avatar's success lies in letting the 3D technology disappear and immersing you in the world of Pandora so fully, which perhaps other digital 3D movies have been capable of achieving, though they passed under my "must see" radar while they were running in theatres.

Even so, it's tough to find a weakness in "Avatar". The story seemed quite tight and believable, once you get past the technology that makes the avatars possible to begin with. The dialogue was strong, the acting was superb, and the human / Na'vi emotions and characters were well-crafted. All in all, it just gets everything right, especially from a technical and imagineering standpoint, and I recommend that anyone who loves movies see it in 3D while you can.

I hope that in a few years, many more films will have come out that will trump Avatar in quality and appeal, but the realist in me doubts it. Avatar is simply too well-done, and a great film like it doesn't come around often enough. It threatens to remake how movies are made, and I'll gladly support any effort to continue making films of this quality, no matter what it does to my own perception of reality.

Facebook blog

Just thought I'd add a new blog post to say that this blog can now be read through facebook if you're one of my friends. They offer a pretty neat tool to import blog posts through the "notes" application, which increases the readership of this blog here a hundredfold. (Yes, you read that right. I had two and a half readers before, but I have about 250 facebook friends. That's a hundred-fold increase. And yes, I know you're impressed.)

So, to all the new readers, welcome! You can check out http://www.chrisdillingham.com for more of this fascinating drivel, as well as all of my recent shared bookmarks (from http://www.delicious.com/mbdil) and neverending stream of wit and wisdom via my twitter feed. (http://www.twitter.com/mbdil). Enjoy!

Some Websites I'd like to see

Ever have a day where you think of several great ideas, but don't know how to make them happen?

Today was one of them, although if I took the time and had the inclination, I probably could make some of them happen. In case a reader wants to steal one of these ideas and make it reality, I don't really mind so long as I get to use the site for free and if you send me a nice royalty check once you monetize it.

#1
Ever see kids totally misbehaving in public because of stupid parent behavior? Do you ever wish there was a polite way to step in and say - "hey, when you gave in to his demand, you rewarded him for his bad behavior and made your problem worse."? I do. Trouble is, most people never learned much about behavioral psychology when it comes to parenting, and most people aren't interested in hearing about it, especially if it makes them look like an ignorant parent in public.

So there should be a website with a helpful, memorable title such as "mykidisoutofcontrol.com" or "helpmewithmykid.com". Parents who wish to confront bad parenting behaviors can simply tell them to check out the website. (More aggressive, hardcore ones may print out cards to hand out to them with the address written on it.) At the website, it'll explain that the person referring the reader to the website cared about the reader's sanity enough to offer some advice, but didn't want to cross the social faux pas into an awkward situation, or assume that the reader wanted to hear it. Then it would offer help - it would explain in the simplest terms possible how kids think about rewards.

I'm picturing stick figures that would show "Parent says no". "Kid throws tantrum" "Parent gives Kid what he wants". Result : Kid learns that throwing a tantrum is good.

Another: "Parent tells kid to stop." "Kid pauses, and does it again" "Parent sighs and allows kid to do what he wants". Result: Kid learns to a) disobey parent. b) be persistent.

Then it would offer practical steps to circumvent that behavior. "Parent says no". "kid continues behavior" "parent stops what he was doing and applies appropriate punishment". Result: kid learns that parent means what he says and that disobeying will hurt.

#2
I'd like to see a movie store designed for major movie buffs, propped up by technology. Fast forward 30 years or so, and imagine wearing glasses that produce an overlay as I look at each movie on the shelf. On that overlay, it shows me each movie's rating from critics I choose (such as Yahoo users in general, Criticker.com ratings, reelviews.net, and Ebert and Roeper). It also directs me to movies that, based on the other movies I've rated and my personal taste, have a high probability of being enjoyed by me. It would identify favorite actors, directors, writers, and visually link those to the movies on the shelf. It would also give me info on the other people in the store. It might tell me that one other person that's browsing has a slightly better than average match on "taste compatibility index" (Criticker's term for "They like the same movies you do".) It would tell me about movies we've both rated and how each of us rated it for comparison, which would be a perfect conversation starter. ("Dude, you didn't like "Out Cold"? What's wrong with you?"). It would also keep a running list of the movies at the store that I would eventually like to see, although I may not want to rent it that day.

Bring this back to the present. The information mashup portions of my vision are totally possible today, and they'd bring a highly social component to video-store browsing. A website could potentially bring in database information from a local store or Redbox kiosk and combine it with Criticker info to offer alerts when a movie I should enjoy becomes available to rent, or when an obscure movie is available at a store I normally wouldn't visit.

#3
I'd like a tool for cooks that is part recipe-bank, part organizer. Specifically, it would take separate recipes that are part of your meal and line everything up in order of how to do it so that it all gets done on time while being as fresh as possible.

I used to encounter this problem all the time when making hamburgers. Several times in a row, we'd be waiting on the fries to be done before we could eat. Meanwhile, the hamburgers were done and were getting cold. The problem was that I'd slice my toppings and heat up the George Foreman grill first, when every good hamburger cook should know that the absolute first thing you should do is preheat the oven to 425 degrees for the steak fries.

Consider how to do a thanksgiving meal with a turkey, green bean casserole, mashed potatoes, rolls, corn on the cob and gravy. You want everything to be done at noon. The site would know that at 8am, the oven should start preheating and the turkey should be prepped, which takes 15 minutes, so that it can be in by 8:15. At 10:45, the ingredients should be mixed for the casserole, which takes 5 minutes. At 10:50, you should start peeling the potatoes. At 11, take out the turkey for a final baste, before starting the water boiling for the corn on the cob. In this way, it would take you step by step through the entire 6-recipe meal, preventing you from neglecting any key timing issues. I'll warrant that this process is something most cooks do in their heads, but nervously and in a way that's prone to error. The cook could get more out of their time with this organization tool.

The real benefit of this solution comes in identifying conflicts in advance. At the same time that you're stuck stirring gravy so that it doesn't go lumpy, the corn may need to be drained and the casserole topped. That's kinda hard to do with one cook. Perhaps you don't have enough burners on top of the stove to accommodate everything all at once, or you need two different things in the microwave at the same time, or five dishes in the oven that fits four. The system could either adjust the timing of certain parts, or suggest (during planning) an alternate side item that would fit nicely in that gap where'd you'd otherwise be twiddling your thumbs and a resource would be unused. It could even work in time to clean the dishes as you go or set the table so that when dinner's done, the cleanup is too. That would make your average home cook look like a genius.

Thoughts?

Two months in

Well, I've had my drupal site up and running here for two months. Here's a summary of my thoughts on that adventure:

- It has been an interesting learning experience.
- I'm not convinced that I like drupal. Most of the time I do, but there are times I hate it.
- I'm surprised that I still don't have a page up describing my video and website work up.
- I've yet to come up with an exciting project / game / mashup to sink my teeth into on the website.
- I have stalled on my blogging progress (not really a surprise)
- I have stalled on my VTC training progress. (slightly more of a surprise)
- I've said little about the Cubs, who are in the process of ruining their postseason chances (no surprise at all)

Now I'm off to figure out why my twitter feed hasn't updated.

Drivers and whatnot

A few minutes ago, I had two options:

1) Rant, rave, curse, and kick my computer
2) start posting a blog entry to rant and rave, hoping I'll forget to kick the computer.

You see, over the last few weeks I've been having more issues with the computer hanging or being slow and unresponsive. Normally a reboot was adequate to fix it, but sometimes the applications that I had open would refuse to shut down within any reasonable time frame. I finally decided that it's probably overdue for being optimized.

Another related issue had to do with firefox 3.5, which was occasionally taking forever to start up. Seriously - like 20 minutes from click to window. That's unnecessary. Everything else had been fine.

Then there's Warcraft. I've installed the original warcraft on my two computers and would love to be able to set Caleb at one as the Orcs and me at the other being human and just battle to the death.

I realized that dust was probably building up within my computer, which could account for a lot of things, so a few hours ago, (when Farmtown on Facebook hung and made everything unresponsive) I pulled it out, took off the cover, and started cleaning out the dust. It was way past time for that. This was insanely dusty.

After this ordeal, I did the most important stuff first - connected the phone line between the two and tried to run the direct-link game. I came to discover that the modem driver on my main PC had not been installed, and now we come to the frustrating part.

I went to dell's website for the driver. I entered the service tag # (which I'd remembered to jot down for just this kind of purpose) and it pointed me to the correct drivers. Now it said that I could download the driver directly, but it recommended the driver update manager to do it. "Fine," I said, and agreed. When it downloaded and began to run, it added that I needed the .NET framework for the manager to work. Reluctantly, I agreed to allow it.

This took a very long time to install. If I'd had any idea that it would take this long, I would have given up on it completely. Naturally, the computer was worthless for anything else as it downloaded the updates, hung on the installation screen, and finally allowed me to continue. Then, of course, Firefox had hung up, and I couldn't get back to the drivers and downloads screen.

I think I've restarted the computer three or four times, reinstalled firefox, and tried to run things through Chrome, but the problem seems to be even worse now than before. What's more - anytime I get back to Dell's site to download the driver, when I click on the driver link it re-downloads the update manager. There is no link directly to the driver files I needed in the first place.

I'm thinking that I began this process with the clean-out at around 9pm. It's 12:30 and I'm really not much closer to having any of these problems solved than I was when I started. Let this post be a loud "BOO!" to Dell, .NET, and yes, even Firefox 3.5.1 for being impossibly hard to deal with. Thanks for a fabulous evening.

*kick*

Farkle on Facebook

I've been spending some time on the facebook application "Farkle". It's a ridiculously simple dice game, but I've found it to be excellent to play while you're doing something else that demands less than your full attention - watching videos, listening to podcasts, etcetera. It's also nice to post the highest score among your friends each week, although I don't have as much raw time as some of my friends and, consequently, less chance for luck to feed me great scores. Despite that, I've done some looking at the odds and kept track round-by-round of some of these games. I have found a handful of rules that I now play by, and wanted to share some tips and tricks and odds here.

Rule 1 - Be willing to leave points on the table. Just because there are two fives or you rolled three twos, don't cash them if you don't have to. The more dice you leave on the table, the better chance of surviving subsequent rounds and rolling the high-scoring threes of a kind. I see this one violated all the time.

Rule 2 - When you have 4-6 die to roll, it's about points. When you have 1-3 die to roll, it's about damage control. All of the higher scoring combinations require three or more die, and your best chance of a farkle is under three die.

Rule 3 - Related to Rule 1, only take three twos if you can't avoid it, it clears all 6 die, or you are ready to cash out. The points are not worth taking the dice and the potential for higher scores off the table. Also, if you roll six dice and have three threes, don't take it if you can cash out something else instead. Odds are you'll make up the 300 points by continuing to roll.

In my sample of 100 rounds of farkle, the highest single round I scored was a 3550. The lowest, naturally, was a farkle, and I scored 39 of those. Following my own rules (which I developed after examining this set) would undoubtedly have reduced those a bunch.

I found some great odds posted at farklefun.com, which is intended more for a non-facebook version of the game. Still, its odds are useful:

Odds of getting AT LEAST one 1 or 5 with one roll of...
  • 6 dice: 91% chance you will get a 1 or 5 (so, one in eleven 6 dice rolls will Farkle)
  • 5 dice: 87% chance you will get a 1 or 5
  • 4 dice: 80% chance you will get a 1 or 5
  • 3 dice: 70% chance you will get a 1 or 5
  • 2 dice: 55% chance you will get a 1 or 5
  • 1 dice: 33% chance you will get a 1 or 5 (so, 2 of 3 one dice rolls will Farkle)
With 6 dice:
  • Odds of getting a straight, is 1 in 65 or 1.5 %
  • Odds of getting 3 pairs: 9.7 % (or 1 in 10.3 rolls)
  • Odds of getting six of one specific value: 1 in 46656. (I.e., odds of getting 111111)
  • Odds of getting ANY six of a kind: 1 in 7776 (I.e., 222222 OR 333333 OR 555555,etc)
  • Odds of ANY triple: 55%, or more than 1 in 2.
  • Odds of SPECIFIC triple (555, for example) is 9.3% or 1 in 11
  • Odds of getting 2 triples (333666 or 222555, etc): 1 in 62 or 1.6 %
  • Odds of any 4 of kind: 6% or about 6 in 100, or 1 in 17
  • Odds of any 5 of a kind: 1 in 216 rolls or 0.5 %

With these stats in mind, I've developed a few other rules:

  • Always roll six dice. My current tolerance for pain starts making exceptions around 1400. Much beyond that, and I'd prefer to bank than take the chance of farkling with six die. Still, you have less than a 9% chance of farkling. You also have a 1 in 11 chance of a straight, a 1 in 10 chance of three pair, and a 1 of 2 chance of getting three of a kind. It seems that high scores are directly proportional to the number of times you get to roll six dice.
  • Always roll five dice unless your score is over 1250. (when you have less than a 13% chance of farkle)
  • Always roll four dice unless your score is over 1100. (You have less than a 20% chance of farkling, and a score higher than 80% of my set of rounds.)

After three, it's damage control:

  • Roll three dice with 450 points, but bank points at 500.
  • Roll two dice with 400 points, but bank points at 450.
  • Roll one dice with less than 400 points. Bank points at 400. The rationale is that you have little to lose and a 1/3 shot to roll six dice again.

Naturally, these strategies should lead you to an average round of around 600, which should score you 6000 in a ten-round game. Luck should make that vary anywhere between 3500 and 8500 without much trouble. If you're after a much higher score, however, you're going to have to push these chances harder and be willing to accept more Farkles.

If you have corrections or other thoughts on these strategies, please comment!

Selective Twitter updates through the #fb hashtag.

Ok... I've gotta make a blog post about this because it's cooler than snot, totally useful, and not very well-answered in the google searches.

I've been noticing the #fb hashtag in occasional twitter messages. I figured it probably stood for facebook, but the posts had nothing to do with facebook. What gives?

Well, as it turns out, if you add the Selective Twitter application on Facebook, you can use the #fb hashtag to choose the twitter updates that you'd like posted to facebook as well. It takes about one step and a couple of confirmation clicks. Add the application, tell it your twitter username, give it permission to post status updates, and voila! You can #fb away with your tweets that you want posted to facebook, and leave it out for your twitter-only followers.

This is a huge improvement to the previous Twitter application, which essentially posted every update with exceptions of stuff that started with @replies. I used that for quite a while, but found myself limiting my tweets since some of the things I wanted to share wouldn't make sense on facebook, or because I liked the status I had on facebook at the time. It was tough to participate in twitter conversations, so I disabled it. I'd expect that the makers of the twitter app will add similar functionality before long.

Vacation thoughts

Today is the first full day of my mini vacation. I got off yesterday at noon and get to have Monday off as well in celebration of the fourth of July. There's a list of things to get done around the house, and it's likely to factor in, but otherwise it'll be nice to just hang around the house.

I've been continuing to work through VTC's tutorials. Now I've finished the Drupal 6 one and have moved into the MySQL and PHP tutorials. I'm deep into both of them now, but I'm not sure what to do with them to stay in practice. I'm envisioning a fire-emblem style web game, but I'll probably need a little more expertise before I can work through all the complicated bits. I need a baby project.

Speaking of baby projects, I'm using Drupal to manage a new site for the Children's Ministry at Hillvue. You can have a sneak peek at http://www.hillvue.com/childrens_ministry/.

Syndicate content