Posts by Benjamin

Life of Lily Interview Teaser

Team Fight – Raising Money to Fight Cancer

Devi’s Big Surprise

Devi goes to meet Andy at Dulles International Airport when:

10

11 2010

Quick Response (QR) Codes are Awesome!

Benjamin Bengfort QR Code

My QR Code- Scan It and See!

QR (Quick Response) Codes are a two-dimensional matrix barcode format that were first developed by the Japanese Corporation Denso-Wave for manufacturing. However, because of the speed of reading these types of codes by convential devices, especially cameras, they have come into widespread use in Japan as a way to quickly exchange information. Thanks to the growing popularity of the iPhone and Android phones in the U.S. they are becoming more widespread for use in the west as well!

There are a number of apps both in iTunes and in the Android market that enable the camera to read barcodes. What you may not know is that QR codes are a quickly developing mobile standard that are specifically being taken over for use by mobile smart phones. I know some of my family have already begun using mobile boarding passes for air travel, which incorporate QR Codes. Additionally you can pass contact information, URLs, calendar information, even secure WiFi network access with a QR Code! QR Code reading is even built into many Android devices, allowing for instant browser redirection, instantly calling or emailing a contact, or instantly connecting to a wireless network!

Today, I discovered QR codes, and when I realized their scope, I was astounded. Put a QR Code on business cards so people can import your contact info directly? Absolutely! Get some stickers with your wireless access info and place them on routers? What a great way to securely ensure that everyone can easily get your wireless details without having to look for a post-it somewhere! How about in the real world? Well, this is already being used for coupons, virtual augmentation in magazines, even on outdoor advertisements and store fronts! All you need is a camera and some software to read these things!

Imagine a game that used these codes in real life. Talk about a really great scavenger hunt! Just encode position location information into the QR codes, and when people scan it they can find the next way point. Otherwise they can “collect” goods in a larger role playing game. Because these codes can be read off of screens, they can be generated by computers on the go, no need for stickers!

I just discovered that I can in fact share any contact or calendar information on my phone with my Barcode Scanner app because it will automatically generate a QR code for me. If you do want stickers, though- Moo will make a pack of 90 for you for only $9.99. What an awesome thing!

Looking for my contact information? Find it here: http://bengfort.com/scan/

Want to generate your own QR Codes? Go here: http://zxing.appspot.com/generator/

Want to print some stickers? Use Moo: http://uk.moo.com/en/products/stickers.php

Android App: use Barcode Scanner by Zxing http://code.google.com/p/zxing/wiki/GetTheReader

iPhone App: use Barcodes by Zxing http://itunes.apple.com/app/barcodes/id292197557?mt=8

04

08 2010

Oranges, How I Eat Them

Here’s a little non-sequitur for you- I’ve decided on a new way to eat oranges. Of course, I’ve done this before when making breakfast or fruit salad, etc, and certainly this is not unique- we’ve all seen this at Eggspectation; but I think this is going to be my thing for eating oranges. So you can see the gallery above, but what I’m going to do is eat my oranges in sliced thirds, peel-less. For the following reasons:

  • Less messy than peeling an orange
  • Easier to eat
  • Tastes better
  • No loss of orange like in slices

Weird, I know. But I remember that Dad used to eat apples with peanut butter and a knife- and it just tastes better. You have to have a unique way to eat fruit! ;-)

And there you have it- my new thing, eating oranges a little differently.

14

05 2010

First Vlog Project

Well, as you can see above, I have just posted my first ever attempt at a video blog or “vlog”. It’s not great… Pretty much, I look stupid on camera, and I can see why no one takes me seriously, I kind of feel like a buffoon! Most of the vlog is pretty self-explanatory, but I just wanted to share a few comments here below, for those of you that are still interested after 8 minutes! (Only a unique few who have to love me, I’m sure…)

So first off, for those of you who may be on a ship or have a poor internet connection, I’ll get a transcript posted when I see how good YouTube’s machine transcription is. I’m not sure if I’ll add that to the end of this post, as an attachment, or as a separate post. If you have thoughts, let me know in the comments.

Next… I hate Windows Live Movie Maker. This is the software I used to edit the video, and as you can see it did a bad job. What I saw in my little preview video before publishing is not what the final video turned out to be. There were some awkward cuts, etc. I think you know where they were. I originally downloaded it because I thought it could capture from my webcam directly… turns out that was Windows Movie Maker (nee “live”), and the new version no longer does that (just because you’re free, doesn’t mean you should be cheap!).

Then I had some problems after I uploaded it to YouTube, because YouTube tries to re-encode the video. I tried again, and cut it with Adobe Media Encoder to a better format. Still it doesn’t look great on YouTube, so obviously I have some lessons to learn. Unfortunately with a 15 minute encoding time, both from Windows Live Movie Maker and Adobe Media Encoder for an 8 minute video… I’ll pass on doing it again. Lessons learned for next time, right?

So this was my adventure: what I thought would be an hour or two tossing up a video onto the blog turned into 7 hours (1pm to 8pm); seriously I have 200% more respect for vloggers now!

27

04 2010

A New Hobby: Brewing Beer

So I’ve started a new hobby, brewing my own beer, and I’ve even started a beer brewing journal: Tipsy Bear Brewmaster Journal to record my (mis) adventures. The journal is not really supposed to be public, although it can be; it sits on my development server- so not a live location. However, I have gotten some interest and comments, so I thought I would repost my Easter brew day adventures on our live blog. The following is from: Easter Brew: Brew Day.

I am now sitting on the couch, drinking a glass of wine, (I’m not sure I could drink beer at this point), and I’m throughly tuckered out. I spent the majority of my day today brewing my first ever beer! But as I sit here relaxing, breathing in the smells of malt, hops, and yeast, I feel like I’ve really achieved something. At the same time, I also feel really tense and nervous, because now I have to sit and wait a month to find out what happened today! (I’m also hoping that the airlock doesn’t explode off the top of my carboy!)

Today was hectic. I actually had a few last minute things to get; I got all of my brew equipment from Homebrew Heaven yesterday, but I left out a few grocery store items like ice and bottled water. I got up bright and early to drink coffee and review some of the technique in How to Brew, but when I leisurely made my way to Safeway to pick up my last minute ingredients, I discovered that their kitchen gadget section didn’t contain a few key things I needed- namely a funnel, a turkey baster (or wine thief), and a giant Pyrex jar! Stunned, I rushed to Target, only to find that it was closed for Easter Sunday. Finally, I had to drive 20 minutes to Walmart- in of itself a soul crushing experience- only to get lost in the store, and wait 30 minutes in a checkout line.

By the time I got home, it was 1 o’clock, and I knew if I didn’t get started, I wouldn’t get done until after dark. So I bravely set up my camera and tripod, and started cleaning the kitchen. The thing about brewing that I took away from How to Brew is that it is most essential to clean and sanitize. In fact, of the 4 hours I spent in the kitchen brewing my Easter Beer- 3 of them were cleaning, and only 1 of them was actually boiling the wort!

Kitchen cleaned, I started sanitizing. After sanitizing, I desperately hoped that no stray bacteria would find its way into the beer. Finally, I started boiling the brew water. Things started well, I got the malt into into the brew with no problems, brought it to a boil, and then added the bittering hops. It was then that disaster struck.

Seriously, I turned my head away for one second. I knew that I had to be vigilant for boiling over until the hot break was reached, but I didn’t think it would happen so fast! As I turned my head away to check the progress of some other sterilization I had going, I heard a dreaded sizzle, and as I looked over, I saw a mountain of foam trying to climb its way out of my brew pot and douse my oven fan!

Bravely, I stabbed my spoon into the pot, and starting blowing with all my might hoping to settle the foam down, which it soon did, but the damage was already done. Here’s the thing about brewing beer- everything is sticky. From the malt to the yeast to the hops, even the powdered malt extract is sticky!  The boil over caused a mess that I couldn’t clean up right that second, and even as I futilely tried to dab with a paper towel, I was basically caramelizing my oven… it would take a scraper to get the resulting residue off.

After the hot break, things went pretty smoothly. I boiled for another 45 minutes, then added the finishing hops with 15 minutes left to go. Unfortunately, the problems weren’t over yet.  Stupidly, I started my yeast way too early, causing the started yeast to settle down before I pitched it into the beer. Then even more stupidly, I added another packet of yeast to my already started yeast, which caused all sorts of craziness. I still pitched the 2 packets of yeast into the beer… I’m seriously hoping the dang thing doesn’t explode!

Finally, I got the beer into the carboy, and under the table to ferment. Since today is Easter, I’m naming my beer my Easter Brew, which is synonymous with first attempt brew, Batch #0001, etc. I seriously have no idea how it is going to turn out. I’m going to post the recipe that I’m using tomorrow… as well as the blank recipe form I created, and my overnight observations. I’m setting my alarm for midnight and 4 am just to check my brew is bubbling!

Lessons learned from day 1:

  1. Clean, clean, clean… then sanitize.
  2. If you don’t clean it up as soon as it happens, you’ll have a sticky mess.
  3. Read more before you start up a month long project.
  4. Get started earlier… it takes a while.
  5. Learn how to use an airlock… its not mentioned very clearly, and yours keeps popping off the top!
  6. Pay attention, the hot boil happens fast!

08

04 2010

Techy Art: Algorithmic Imagery

I’m working on an interesting project– I’m writing programs that convert text to images based on the key strokes. It’s turning up some unusual results! My plan is to create a program that turns 140 characters into an image, so that people can tweet art! Ultimately, I would like to be able to upload a text file and have it turned into a png file, or even better, upload a png file and turn it into text! It’s not really an encryption scheme, since it can be easily deciphered, but I think it might be interesting digital artwork. For instance, Mike and I could upload the source code from our websites and create images from them– unique embodiments of our technical work!


I recently read an article on steganography- the art and science of hiding messages inside of images, and it got me to thinking: “what if the message wasn’t hidden in the image,but instead the message defined the image?” Now I’m not the artistic type- the kind of art I am interested in is methodical (read… paint by numbers). But I am a computer scientist, and I know that a color as understood by the computer is a 4 byte unsigned integer that defines an ARGB value (Alpha, Red, Green, Blue), where each byte represents the quantity of each part. I also know that a character like the lower letter case a, is defined by one byte when encoded in UTF-8, which represents a number between 32 and 126. Therefore, 4 characters, like the word duck can actually be translated into a unique ARGB value (or for opaque colors, three characters like the word ben can be translated into an RGB value).

Thus began my experiment. I wanted to see what a translation from text characters to colored pixels would produce, and if potentially there would be meaning in art created algorithmically. The quote above is from an email I sent to Jaci describing on what I was working on. The quote has one unique feature- it is 675 characters long. If you divide 675 by 3 (the number of characters you need to get an RGB value), you get 225 – which is 15 squared. This is perfect for an image of 150 x 150 pixels, where each RGB value makes up a 10 x 10 pixel square (or 100 pixels). Here was my first result:

Photext- First Attempt

First Attempt

So when you take the above quote and translate the byte sequence into RGB values, you get this colored, kind of grey, very dark image. The reason for this is because the characters American keyboards use (and we regularly type) range from between 32-126, while colors are defined with values between 0 and 255, where 0 is black, and 255 is white. When you put an RGB value together, the amount of each value determines the color, so (255,0, 0) is red. (0, 0, 0) is black (no color), and (255, 255, 255) is white (all colors). If the values are even, say (64,64,64) you get grey, darker grey is numbers closer to 0 and lighter grey is numbers closer to 255. So because the alphabet we normally use is so close together, and very low numbers- you get a grey, dark image. Especially since the most common character we use is the non-breaking space: ” ” which is 32.

To fix this, I shifted the values for the characters by distributing them evenly across the range 0-255 (for the nerds out there, I used the formula: Math.ceil((charCode – 32) / 94 ) * 255)). This had the effect of spreading the values of characters farther apart, and making them less grey, it also lightens the image, because the top values are closer to white again instead of black, and I got this:

Photext - Shift

Shifting the colors to a full range

Much, much better! And actually, an interesting result because all the colors are there- reds, greens, blues, yellows- that is what I was hoping for! I was afraid that a direct byte by byte translation would produce uninteresting results (monocolor, shades of the same color, etc.). There were still a lot of greys and whites, and I thought this could be the fault of the most common character, the non breaking space, which my shift gave a value of 0. So I made the non breaking space 255 (all white). This was a failure, because it lightened the image up too much:

Photext- White Shift

Making space, " ", white

I had been hoping that maximizing a color value might make the color more vibrant. But as it turns out, spaces are only one of two other values, that probably are also high. so, instead a 0 value actually makes the other two colors more vibrant, while the the 255 value, just makes things whiter. Blocks might not be the most interesting result, so I tried random scatter of the 1o0 pixels:

Photext - Scatter

Scattering the pixels randomly

But this has a problem, when you inject randomness into the formula, you can’t translate the image back to text. So my original idea of an algorithmically generated piece of art, whose meaning could be read in plain English, would be lost. This image could be translated into any text, not just the paragraph that you read in the beginning. Blocks are boring, so next I tried 100px lines, I hoped that this would give me the fluidity I was looking for:

Photext- Lines

Lines instead of blocks

Alas, it did not, it gave me three columns because 100 is 2/3 of 150, so the images was broken into thirds. I am now currently experimenting with some other manipulations including spirals, alpha gradient overlays, gradients, frequency histograms, etc. If you have any ideas, please comment them, so I can try them out!

So what is the end result? As you read from my paragraph, I’m thinking about making this mainstream by creating a web application for tweets. Of course, now that I’m posting this as a blog, anyone can steal that idea and run with it. Maybe I should grab the domain tweettoart.com! But I’m thinking this could have bigger implications. I also mentioned that I could uniquely turn my web pages into graphics, or even bigger- I could take the entire New York Times website on a particular day and turn it into some sort of graphic! If you have ideas for applications of this, please comment below and let me know!

Also, I’m hoping that using these methods, we could find interesting images, where text can be written specifically to produce an image. Then both the image and the text would have meaning! Imagine creating poetry that designed an image (hint, hint, Devi and Bethany!) That would be really cool.

If you want a copy of the program in its current format to install on your computer (It’s Adobe AIR), so that you can play around… email me or comment below. I’d be happy to share, just keep in mind that it is experimental, so you might be able to break it.

31

03 2010

Vegetarian, Classic Home Indian Recipes!

Our Guest Recipe Poster- Ranjana... and me.

A big thanks to our special guest recipe contributor on Bengfort.com- Ranjana Sharma. Ranjana, or Rani as we call her at school, is a classmate of mine at NDSU. Not only is she a skilled computer scientist, chemist, polymer-magician, teacher, and student, but she is also an amazing cook! This is probably due to the fact that she has over 90 graduate degrees, most of which are chemical related, and she can therefore explain the mysterious molecular magic of masala.

Born in Madhya Pradesh (Central India), she is an expert roti maker. However, as her father was in a transferable job, she didn’t grow up in one place in India. Even though she traveled all over India’s varying cuisine geography, she was delighted to find that our own Guyana Cookbook had such similar recipes to her own “home style” food.

I was super lucky to be assigned the same office as her, because as soon as she discovered the Guyana Cookbook, she was determined to feed me her distinct version of Indian cooking to see how well it compared. After a semester of mostly taco bell, subway, and absolutely nothing spicy in North Dakota, it came as a welcome relief to warm up my frozen, flooded self. For the rest of my time at North Dakota, my classmates and I were treated to feasts that could not be found anywhere else in the Midwest, feasts that were very reminiscent of home.

Shweta & I enjoying Ranjana's Cooking

It is purely my fault, that I haven’t yet asked Rani to contribute to our growing World Cookbook. I’m truly sorry that it has taken this long to get her recipes up. As Ranjana is a strict vegetarian, I’m sure that Jaci especially is going to enjoy these recipes! I’m sure the rest of you will also recognize them as you make them, either from Nanee’s cooking, from Indian restaurants, or from your friend’s Indian cooking. The one distinct thing about them, though, is that they are cooked in a home-style that you probably won’t get elsewhere, and while the dishes are recognizable, the recipes and taste is very unique.

So, Rani has already posted 9 recipes to the blog. They aren’t on the front page, because we posted them under the auspicious date December 19, 2009. However, you can find all her recipes, and future posts under her author page: http://www.bengfort.com/author/ranjana/. (Or by looking up the Indian Cooking Tag, or the World Recipes Category, etc. etc.) I’m pretty sure she is planning on gracing us with more (hopefully). But here are links to the first few:

I know the girls especially are going to be excited by the Gulab Jamun recipe! So these recipes are still a little bare, and are missing pictures and descriptions, but don’t worry, as Ranjana and I cook them, more content will be added. Enjoy!

23

03 2010

Brand New Droids!

Sci-Fi Motorola Droid Theme

March at last! My Blackberry has been dying for some time now because it was unable to handle all of the data I loaded on it. Frustratingly, it kept dumping its memory, causing me to lose all my texts, emails, bookmarks, and app data. It was time for a new phone!

Around January, Verizon began sending me upgrade notices so we looked into it, but as it turned out, it wasn’t time for the “New Every Two” upgrade that comes with steep discounts… I had to wait until March for that. Why Verizon kept sending me “You’re eligible for an upgrade” emails and mailers, when I wasn’t eligible until March is a mystery to me. Unfortunately, looking into it made me start coveting the Android mobile operating system from Google, and thanks to some deliciously sci-fi commercials by Verizon, the Motorola Droid in particular.

Verizon’s deceptive upgrade advertising aside, I waited patiently until March, but when the beginning of the month arrived and I didn’t jump at the chance to run to the Verizon store, Jaci began to wonder. I dread going into that store because of the soul crushing customer service I’ve had in the past, which may have explained my reluctance. However, as the Ides passed and my Blackberry complaints became more verbose (and slightly vulgar), Jaci finally confronted me.

I explained that I was now awaiting the release of Google’s Nexus on Verizon. Even though I held no hope of the iPhone on Verizon, Nexus seemed like an Android iPhone killer, whereas Droid had only been doing ok. Google’s phone page said Nexus would be available to Verizon customers in “Spring 2010″. Jaci finally convinced me that waiting would only cost me more frustration, and that since she was also eligible for an upgrade, she would get a Droid as well. I could have held out on my own, but with her mobile life, I knew we needed her phone smart. So we spent the next two hours at the Verizon store, and left with our souls mostly intact, but our wallets lighter.

It was worth it.

Android is an amazing OS, and the phone is solid. In fact, I have written this entire post on my phone in the Android WordPress app! The browser, the screen, and the speed is amazing. Only the keyboard is a bit tough… and my thumbs are hurting from this post, but otherwise, I’m very happy she talked me into this!

In fact, one of the first things I did was design custom wallpaper for our phones. Android wallpaper is 640 x 480. Below are some examples of what I came up with. (Note that these were beginner attempts, and in fact, neither Jaci nor I are using any of the wallpapers!). Here’s the thing- even though you can of course add your own pictures as your iPhone wallpaper, Android is open sourced, so it makes customization seem infinitely possible. I can’t wait to try writing some Android apps!

Anyway, this is a really long post to write on a phone, no matter how amazing it is, so feel free to make comments below!

Flarewords Android Wallpaper

Splosion Android Wallaper

Dancer Solid Wallpaper

Dancer Satin Wallpaper

22

03 2010