How to Determine if Your Compiler is Inlining Your...
Inlining functions can potentially increase the performance of a program. When you mark a function with “inline”, the compiler will try to expand calls to the function to actually be the body of the function. The idea is that inlining a function will eliminate the overhead associated with calling that function, like pushing values onto the stack and triggering a context switch....
Review of Packt's "Boost.Asio C++ Network...
I was asked to review an eBook based on a blog post I wrote a while back on raw sockets in the Boost.Asio C++ library: [[MORE]] Summary John Torjo’s Boost.Asio C++ Network Programming ($34.99 print, $18.69 eBook from Packt Publishing) serves two purposes. First, it’s a great overview of the capabilities of the Asio/Boost.Asio C++ networking libraries. Second, it is a good...
Formatting an SD Card for the Beagleboard(Xm,Bone)...
I about tore my hair out on this one. The guys who make the Angstrom distribution of Linux have a script called “mkcard.txt” (http://www.angstrom-distribution.org/demo/beagleboard/) which has traditionally worked for me to format an SD card properly for the Beagleboard family of single-board computers. But for some reason whenever I would run it in the last month or so on either Ubuntu 10.04 or...
Kevin on Broadcast Radio
Did you know that I had a brief stint as a radio personality? Well, sort of… When I was an undergraduate at the University of Pennsylvania, I was required to take a writing course. Many of the writing courses Penn offers are unexciting, but I was lucky to enroll in a course called “Writing for Radio.” The class was held at the local independent radio station, WXPN, which was...
kconbot: Introduction and Video Capabilities
I’ve started a new project this past week. For now I’m calling it “kconbot.” Introduction Kconbot is a gchat/gtalk bot I’m writing in Python using the xmpppy library. My goal is to make it capable of video chatting with users to stream video. What’s the point? I’m calling it a “poor man’s home security system.” The idea is that you...
Using Raw Sockets in Asio/Boost.Asio
This past week I got to play with the cross-platform Asio and Boost.Asio C++ libraries for socket programming. Unfortunately it turns out what I was trying to do (inject network packets) is not possible with these libraries, but in the process of trying to get that to work I was able to use the basic_raw_socket template class successfully, which it looks like several other people on the...
The Easy Way to install Scala on Mac OS X
If you download Scala from the official site, it comes as a tgz archive of folders containing binaries. In other words, it’s a stand-alone install that you can put wherever you want. If you’re like me and would prefer Scala tucked away in the operating system, you’ll want to start by installing the awesome OS X package manager, Homebrew. First, make sure you have Xcode installed...
Programming Arduino Mega using avrdude
In case anyone ever needs to program an Arduino Mega using avrdude but doesn’t want to run around the Internet looking for the command line settings, here you go: Arduino Mega (ATmega 1280) avrdude -p m1280 -c arduino -P /path/to/serial -b 57600 -F -U flash:w:/path/to/image.hex Arduino Mega (ATmega 2560) avrdude -p m2560 -c stk500v2 -P /path/to/serial -b 115200 -F -U...
How I Thwarted a Laptop Thief with the Help of...
There are three remarkable aspects of the story of how I recovered my brother’s stolen laptop. The first is that the laptop’s eventual captor used and maintained his own license for the same type of McAfee Antivirus subscription as my family. The second is that, based on this experience, McAfee seems to link individual computers to subscription accounts by some unique identifier (perhaps MAC...
I'm making the table (seriously)
You guys seen this LEAP thing? Check out the video: So cool! The company behind LEAP is offering developers the chance to receive an SDK (including a free LEAP) if they pitch an idea on their website. I just submitted my application where I pitched my infamous restaurant table idea: A pet project I’ve been wanting to work on for a while is an interactive touchscreen table specifically...
Optimizing Buying Soda from Wawa
Off and on, I drink a lot of soda. Wawa is open 24/7, so I buy a lot from them. Tonight I asked, “How should I buy soda from Wawa to minimize my spending?” So I went off to Wawa and took some pictures of their price offerings. This is from the Wawa on 38th and Spruce. I limited my data to prices involving Coke and Pepsi, which cost the same. Here’s the data: The 67 oz...
Haskell Final Project
For my Haskell final project, I contributed to Chris Done’s Haskell library for the Kinect (https://github.com/chrisdone/freenect) that wraps the functionality of the open-source libfreenect library. My contribution was adding support for the video camera (previously only support for the depth camera was built-in). Here’s a link to my github repo with video support added...
Dropbox Drinking Game
Me: Looks like Teddy is working out of Dropbox, I keep getting notifications that "serial_get.py" has been updated.
Bill: Yeah, me too.
Me: Want to make a drinking game out of it?
A Real Conversation Between Two Engineers
P: I did a research project on X technology and submitted it to journal Y.
M: Oh cool, did you get it to work?
P: Well it got accepted.
Goron City Ringtone
I made a ringtone of the Goron City theme from Legend of Zelda: Ocarina of Time. None of the ones I found on the Internet contained the best sounds of the theme or looped properly. This one does both, and is now on my iPhone. Please download and share below! :) Goron City Ringtone by kcon
For this blog post I’m going to redirect you to Bump’s intern blog website. :) http://bumpinterns.posterous.com/bump-for-a-beer
Wireless 8x8 LED Sign
Remember that four-panel 8x8 LED sign I programmed to scroll RSS feeds? Well thanks to the power of Xbee radios, now it’s wireless! The sign can now be controlled remotely from a computer connected to a transmitting Xbee radio. The transmitting Xbee wirelessly sends the data it receives over serial to the receiving Xbee, which is attached to the sign. To do this, I bought two Series 1...
How to Access Channel 3 on a Philips 7225 C107...
I thought about entitling this article “How to Play Nintendo 64 on a Philips 7225 C107 Hotel TV,” but I figured this crazy procedure could be generalized for anyone trying to hook up a peripheral device to this particular type of TV. First, a little back story: I’m staying at an extended stay hotel in Mountain View, CA for the summer while I work at Bump Technologies. The hotel is very nice...
Scrolling RSS Feeds on an 8x8 LED Sign via Serial
This past week I decided I was going to figure out how to send text over serial to the 8x8 LED sign my father and I built a few years ago. First, a little background on the panels. The printed circuit boards were purchased as part of a kit from a company called Modern Device. The design is quite nice. There are four LED driver chips (STP16C596) that can be programmed over SPI. The nature of...
Varun: im so excited for friday
me: in 170
me: WHERE DO WE SIT?
Varun: so many ternaries! :)
me: with my screen's brightness
me: and my tired eyes
me: I read that as
me: so many females!
Varun: that might be a better saturday night
Meeting with SEPTA
Last Tuesday, myself and the rest of the SEPTANow team had the honor of visiting SEPTA’s control center for a tour and a discussion of how to encourage SEPTA to release its collection of real-time data to the public. Check out pictures from our tour at the bottom of this post. Surprisingly, almost all of SEPTA’s real-time data, including the status and locations of buses, trains,...
USB Logic Analyzer for $25 + FREE SHIPPING! →
Let’s see if it works, lol.
MSP430 Library for EAGLE
This is an easy way for me to bookmark something, but other people might be interested in this too. I was surfing the web today when I came across an EAGLE library for the TI MSP430. Very cool! http://www.43oh.com/2010/12/ti-value-line-series-eagle-library/
I got my mbed today! I haven’t played with it yet, but I hope to use it to make some cool stuff soon. I really like how it comes with a plastic wallet insert pinout diagram. They really expect you to carry the mbed around with you in your pocket and just whip it out whenever you need to build something. Hehe, I should implement some of the ESE 350 labs on the mbed. Then, when...
T.C. Chan Center App Contest
I was visiting the T.C. Chan Center website today (www.tcchancenter.com), and I noticed that I won first place in their app contest. Many thanks to the T.C. Chan Center for putting on the contest, and also thanks to Steve Gillard for referring me to the contest. The mission of the T. C. Chan Center is to develop new knowledge, tools, processes, techniques and continuing education for...
O' Circuit-Tree, O' Circuit-Tree
Every year around the holidays, my dorm, Stouffer College House, puts on a program called Holiday Hobbit. The name is just an attempt to make the program non-denominational. It’s really just Secret Santa for Stouffer residents. The only rule is that you cannot spend more than $10 on the gift. I decided to participate in the program this year, and I was notified that the recipient of my...
Korea - Day Three
We didn’t have time to eat breakfast before we left for the competition venue on the shuttle bus. When we got to the Business Tower we went to go check on our booth. We decided to reorganize things a little by pushing our two tables back towards the back of the booth. Kai complimented us on the organization of our booth; she said it was much neater than the other teams. Kristen came by to wish...
Korea - Day Two
We woke up early and went to the hotel’s restaurant, called Naru, to eat breakfast. It was a buffet and I was glad to see some eggs, bacon, and sausage after the fried chicken events of the night before. After breakfast we got all of our AutoPlug supplies together and went to the lobby to wait for our shuttle. There we noticed a few other International teams. We introduced ourselves to a group...
Korea - Day One
We took the last train from 30th St. station to Trenton at 12:01 AM. We got to the Newark Airport around 2 AM, and then we waited around until they opened the security checkpoint around 3:30 AM. We were lucky that they didn’t give us any trouble about the electronic components we were carrying for AutoPlug (our demonstration unit consists of a Tupperware box with a battery pack and several...
In the Kno - Supported Wifi Protocols
Ritesh: Hello, Kevin. Thank you for contacting Kno. How may I assist you?
Kevin: I'm interested in getting the Kno to use on the University of Pennsylvania's campus.
Kevin: The university's wifi security settings is WPA2 enterprise
Kevin: is this protocol supported by the Kno?
Ritesh: Please give a minute while I look into this
Ritesh: Yes it is, it will have working WPA2 wireless working out of the box
Kevin: and that's not just for WPA2 personal, correct? Because the network here is specifically WPA2 enterprise
Ritesh: The Kno will be compatible with almost all of the common wireless technologies
Kevin: ok, but I need a better answer than that
Ritesh: you have a 30day money back for your purchase no questions asked
Kevin: for example
Kevin: the Blackberry supports almost all of the common wifi technoglogies
Kevin: but not WPA2 enterprise
Kevin: so Blackberry phones cannot connect to my campus's wifi
Ritesh: I will get you the exact technical specs for the wifi, give me a quick minute
Kevin: ok, that'd be great, thank you
Ritesh: here are all the wifi details
Ritesh: Authentication, No authentication, WEP with 64Bit, WEP with 128Bit WEP, WPA personal authentication with TKIP, WPA personal authentication with AES, WPA enterprise authentication with TKIP, WPA enterprise authentication with AES, WPA2 personal authentication, WPA2 personal authentication with TKIP+AES, WPA2 enterprise authentication with TKIP+AES, WPA2 enterprise authentication, WEP with RADIUS, WPA2 Enterprise with AES, PAP, EAP-TTLS authentication, WPA Enterprise with AES, PAP, EAP-TTLS authentication, Two or more access points. Same SSID and different authentication,
Ritesh: thats sort of better... so as you can see wpa2 enterprise is supported
Kevin: ok perfect, I see that it will support my campus settings, which are WPA2 enterprise with PAP authentication
Kevin: if I might offer a suggestion, could you see if it would be possible to publish this information on the Kno website?
Ritesh: thats good to know and I will relay your concern, anything else I can assist you with.
Kevin: no I think that's it, thank you very much for your help
Lately a lot of new websites have been popping up that emphasize social networking both online and offline. I’ve become a big fan of tetrisfriends.com lately, where you can play Tetris for free online in a number of different games and modes, as well as play with/against your friends to earn tokens and level up. Today my friend Teddy introduced me to a relatively new website...
Michele (reading Dormbells logo): "It's for you"... I don't get it.
Kevin: Think about it.
Michele: ... OHH!
…is what the Musisciansfriend.com customer service lady said when I explained what had happened. I had ordered myself a birthday present in the form of a guitar stand from Musiciansfriend.com. I’ve ordered two other products from Musiciansfriend.com (some replacement strings and a capo) and the transactions went fine, but this time something went horribly wrong. Instead of a guitar...
Installing Gateway M6755 Wifi Drivers for Ubuntu
I really like Ubuntu. Especially since 10.04 Lucid Lynx was released. The user interface is beautiful, and the operating system is very fast. Right now we’re using Ubuntu as the operating system for both the AutoPlug hardware platform as well as our development machines. Installing Ubuntu is very easy, with the exception of installing Wifi drivers in my particular case. Ubuntu does...
me: Do you think I could petition for ESE 350 to count towards a CIS minor? I mean, C programming was a pretty big part of it.
Varun: C is a pretty big part of CIS :P
Late night ping pong in the mlab.
How to Replace the Keyboard of a Gateway M6755...
Background Before I went to college I purchased a Gateway M6755 laptop. It has served me well for the past two years, but two years of schoolwork, instant messaging, coding, and Tetris can do a lot of damage to a laptop, particularly its keyboard. About a week ago I took my laptop out on an Autoplug test drive. While we were driving, it started to rain and my laptop got a little wet. I...