Getting ready for my wedding

Time is ticking away to the big day. We are so busy getting in touch with vendors from all over. Having gone to a couple of weddings already this year, Nidhi and I have been taking lots of notes so that we can make our day the best that we possibly can.
Thank you all for your support and love. Please pray for us while we both get ready for this exciting time in our lives. We will keep everyone updated of all of our progress in the coming days.
eBook readers and the publishing industry
A sector of technology that has been growing lately has been the eBook market. With Amazon on their third iteration of the Kindle and the B&N Nook selling out faster than it can ship into stores, the publishing industry is being forced to re-think their strategy of how to get titles into the hands of their faithful readers. The following two videos show how Sports Illustrated and Bonnier Corporation [ no bias of course
] have in mind. Although the demos look pie-in-the-sky right now, it is still exciting to watch them to see how the concept of a magazine might change in the next five years.
A great intro Python video
One of these days, I’ll move to Python. Until then, here’s a video to keep me entertained. Thanks @netboss
Drupal bits: Migrating remote files in Drupal
Recently I had to import a set of remote image files from another server but was not absolutely clear on how to get this done the Drupal way. I found the really came up with a solution of my own with drupal_http_request() which accepts an incoming URL and then executes a HTTP client request. The function returns the data and the response code.
[code lang="php"]$binary_image = drupal_http_request($url);[/code]
After checking the response code to make sure it was successful, use the Drupal function file_save_data() to physically store the file into whatever directory you want to store the image file in.
[code lang="php"]
if ($binary_image->code == 200) {
$filepath = file_save_data($binary_image->data, $save_to, FILE_EXISTS_RENAME);
if ($filepath !== 0) {
// attach other relevant information as well
$fileinfo['filepath'] = $filepath;
$fileinfo['filesize'] = filesize($save_to);
$fileinfo = array_merge($fileinfo, getimagesize($save_to));
return $fileinfo;
}
[/code]
The physical file should be saved but just because you’ve saved the file in the directory does not mean that Drupal is aware of the file. In order for that to happen, you also need the mime type, the file size, and the filepath and manually insert into a node. Once you’ve got those, you can create a node and insert those values along with the rest into it.
[code lang="php"]
// create a node
// add the file's information into the node
$node['field_thumbnail'] = array(
array(
'list' => 1,
'data' => array(
'alt' => '',
'title' => '',
),
'fid' => $fid,
'uid' => $user->uid,
'filename' => $resource['logo_file'],
'filepath' => 'files/_thumbnails/'.$resource['logo_file'],
'filemime' => $info['mime'],
'filesize' => $info['filesize'],
'status' => 1,
'timestamp' => time(),
'alt' => '',
'title' => '',
'upload' => '',
),
[/code]
This will make Drupal recognize your files. Everything should be gravy. Hope this works for you.
By the way, for all of you already on Drupal 7(lucky you), file_save_data() saves the data and automatically updates the database with the file information.
Microsoft Twitter fail

I tweeted about the fact Microsoft was running a marketing campaign that gives a web site user a chance at winning ten grand. The catch? You will only be able to use Microsoft IE8. Leaving the obvious user agent switching hacks aside, I was still shocked that Microsoft thought this was in anyway good marketing so I tweeted about it.
Within a few hours, Microsoft’s Twitter account re-tweeted my rant about their ten grand contest. :-O I don’t really know what they were trying to go for here but it certainly had my co-workers and I laughing hard about it. My best explanation for this is that MS had a Twitter bot that scanned all tweets with the word Microsoft. Too bad they didn’t see the word fail right next to it.
I tried to get Microsoft to RT another not-so-flattering message but it didn’t work again. Ah well.
Good ole’ Microsoft. <sigh>
Drupal Bits: Views 2 Relationships
In around 8 minutes, I understood the concept of Views 2 Relationships by watching this video. Relationships helps you connect relate (duh) nodes to other nodes. In short, it is probably most helpful to think about this as a SQL join.
Check out this video from drewish.com for the screencast:
Book Review of “The Passionate Programmer”
For developers that are really interested in steering their IT career instead of having their career steered for them, “The Passionate Programmer” is a must have. This book is a revision of My Job went to India. While some of it is relevant information on how to compete in a global development market, it is also talks about how to really make yourself a valuable asset to your organization. One of the more interesting ideas in the book is to not count on your technical skillsets to make yourself valuable but to start knowing your business. In other words, your business does not care if you are love working with Python or PHP but rather can you get the job done and do you know enough about your business domain. Seems extremely trite but for techies, it takes a while to get used to the idea. You can get this book at pragprog.com. Hope it raises your level of thinking about your tech career as it did mine.
The future of Drupal (as envisioned by Lullabot!)
Fascinating glimpse into an alternate view of the enriched UI experienced spearheaded by Lullabot. This is a separate project than the “offical” Drupal 7UX project. I am excited at the prospect of Drupal having a very friendly user experience. Enjoy!
dumping mysql and importing mysql
One thing that a developer has to do during the course of a project is to export a mysql database so that he can set up a new development environment, transfer data, etc.
In mysql, the mysqldump command works great for this:
mysqldump –verbose -user -h [hostname] -p[password] [database_name] > file.sql
When importing a sql file, just go the other way:
mysql -u [username] –verbose -p[password] -h [hostname] [database_name] < file.sql
This two commands will make importing and exporting databases a snap.
Launching Running Expo 2.0
Do you love to run or jog? Training for a marathon or 5K? Running Expo allows you to connect with the Facebook user community and create your own digital running route information using Google Maps. Users can search on nearby routes that other people have saved against their profiles as well. For security purposes, we made sure that all routes have access levels. Each route can be made viewable by everyone that is using the Facebook application [public], seen only by your Facebook friends [shared], or be viewable only by you[private].
The future of this project looks bright. A big shout-out to the lead developer of the app, Seth Cardoza for having the vision and bringing me on board. For now, one of the main responsibilities that I will have is to make sure that the word gets out about Running Expo and getting other people to realize it’s value in the Facebook app-space. Without giving away too much, the primary focus of the next iteration will be to hook integrate much deeper with the Facebook platform. So stay tuned.
Please look around and let me know what you think. I would love to hear some feedback. Hope you like the app as much as I enjoyed making it!
