Just announced: Yahoo! Open Hack India is back, on July 30-31, 2011, Bangalore.
Its going to be 2 days of hacking and lots of fun..
I attended Tech.Ed India 2011 last week in Bangalore, It was a wonderful experience.
Tech.Ed is the largest technological event organized in India, it lasts for 3-5 days, covers latest and up-coming tools & technologies.
This year’s Tech.Ed was held between 23-25 Mar, at the Lalit Ashok Hotel. It included keynote speeches by top executives, technical talks by experts, hands-on lab sessions and a product display expo.
It was a huge event, there were 3147 participants, 107 speakers, 136 tech sessions, 141750 live attendants, 8 conference halls and 2 labs. And journalists, reporters, camera crew etc..
Some of the top executives at the event were:
- QI LU – President, Online Services Division, Microsoft
- Brian Hall – GM, Internet Explorer and Windows Live
- Jason Zander – Corporate VP, Visual Studio
- Yousef Khalidi – Distinguished Engineer, Windows Azure
- Bharat Shyam – GM, Windows Azure Developer Platform
- Moorthy Uppaluri – GM, DPE, Microsoft
There were celebrities too, like Anil Kumble and Gaurav Kapoor.
The event was covered online by Times of India, Facebook and MSN.
I attended as a developer. Developer sessions covered the following topics:
- The Next Web
- Client Development
- Database Development
- Unleash a more beautiful web
- Core Dev
- Cloud Services with Windows Azure Platform
- Business Intelligence
- Visual Studio Tools
- SharePoint Development
(I am not going into technical details in this post.. will cover them in another post.. )
There was a product display expo too. All the latest and soon-to-be released products were kept on display. The main attraction at the expo was Kinect and Surface. Kinect’s stall was always over crowded.
Intel’s parallel studio, MS Azure, Intel AppUp and Capgemini’s stalls were also interesting.
And as always, there was lot of networking, socializing, great food, goodies, music, DJ and loads of fun.. Overall it was a fantastic experience. I would encourage all to attend it next time.
I’ve been hearing a lot about Nokia and Microsoft recently. Last week i read an open letter to the CEOs that talked about a possible ‘Team up’. Nokia CEO Stephen Elop, a former Microsoft executive, said last week that Nokia “must build, catalyze and/or join a competitive ecosystem” to adapt to a faster-moving industry. His comments fanned speculations that Nokia may adopt Windows Phone 7 or Android for its devices. [more on Times of India]
Today Engadget published a 1300 word memo written by Elop to Nokia’s employees. [Engadget.com: Stephen Elop's memo to Nokia employees]
- “…there is intense heat coming from our competitors, more rapidly than we ever expected. Apple disrupted the market by redefining the smartphone and attracting developers to a closed, but very powerful ecosystem.”
- “They changed the game, and today, Apple owns the high-end range.”
- “Google has become a gravitational force, drawing much of the industry’s innovation to its core.”
- “We have some brilliant sources of innovation inside Nokia, but we are not bringing it to market fast enough. We thought MeeGo would be a platform for winning high-end smartphones. However, at this rate, by the end of 2011, we might have only one MeeGo product in the market.”
- “…Symbian is proving to be an increasingly difficult environment in which to develop to meet the continuously expanding consumer requirements…”
- “Our competitors aren’t taking our market share with devices; they are taking our market share with an entire ecosystem.”
- “We poured gasoline on our own burning platform. I believe we have lacked accountability and leadership to align and direct the company through these disruptive times. We had a series of misses. We haven’t been delivering innovation fast enough. We’re not collaborating internally.”
- “Nokia, our platform is burning.”
So, now everybody is waiting for the big announcement, whatever it is, its going to be interesting It’ll either be Android or Windows Phone 7, lets see..
But one thing is very clear: Symbian and MeeGo are going to die it seems.. Symbian was no 1 in terms of units sold, but it was never a great platform that iOS, Android, or WinP7 is. Developing on Symbian has been a pain and still continues to be same.
This whole thing also reminds me of recent sequence of events, like Microsoft’s strained relationships with Intel because of Intel inclination towards MeeGo and MS’s refusal to support Atom processors for Windows Phone 7.
Waiting for feb 11….
Recently i had to convert a MySQL database from the MyISAM engine to the InnoDB engine. Although it looks like a complicated job but it is easier than you think.
First, some background information
One of the distinguishing features of MySQL is its ability to support multiple storage engines. Since each storage engine comes with its own set of features, strengths, and tradeoffs, the ability to use/switch between engines gives flexibility to the database designer.
According to MySQL 5.5 reference manual, the InnoDB is a transaction-safe (ACID compliant) storage engine that has commit, rollback, and crash-recovery capabilities. InnoDB stores user data in clustered indexes to reduce I/O for common queries based on primary keys.
InnoDB is the default storage engine as of MySQL 5.5.5.
According to MySQL 5.5 reference manual, MyISAM is the storage engine that is used the most in Web, data warehousing, and other application environments. MyISAM is supported in all MySQL configurations, and is the default storage engine prior to MySQL 5.5.5.
Although MyISAM has its own set of advantages over InnoDB, but one of the most common reasons to convert from MyISAM to InnoDB is its lack of advanced features like transactions, rollbacks, and row-level locking. Another common reason is to maintain compatibility with existing databases in your application.
Converting from MyISAM engine to InnoDB engine in MySQL
Using ALTER TABLE
One way of doing this conversion is to use ALTER TABLE to change the database engine.
ALTER TABLE table_name ENGINE = InnoDB;
If the table is large, this may take some time and will consume fair amounts of CPU. You can speed up things slightly by arranging the database before converting it so that the primary key column is in order.
ALTER TABLE tablename ORDER BY 'primary_key_column';
So, to sum it up, here is what you do:
ALTER TABLE tablename ORDER BY 'primary_key_column'; ALTER TABLE table_name ENGINE = InnoDB;
Another quick-hack-hassle-free way of doing this is to dump the database into a .sql file, then edit the file and change the engine to InnoDB, then restore the dump to a database.
Use mysqldump to dump the MyISAM database:
mysqldump --user=username --password=password --add-drop-table --databases MyISAMdb >MyISAMdb.sql
This will create a dump named MyISAMdb.sql. Open this file in a text editor, look for table definitions and change the table type to InnoDB.
CREATE TABLE table_name ( E_ID int(10) unsigned NOT NULL auto_increment, FIRST_NAME varchar(50) default NULL, LAST_NAME varchar(50) default NULL, PRIMARY KEY (E_ID) ) TYPE=ISAM;
Change TYPE=ISAM to TYPE=INNODB
CREATE TABLE table_name ( E_ID int(10) unsigned NOT NULL auto_increment, FIRST_NAME varchar(50) default NULL, LAST_NAME varchar(50) default NULL, PRIMARY KEY (E_ID) ) TYPE=INNODB;
Now restore the dump
To increase the speed of restoring, add the SQL command SET AUTOCOMMIT = 0; to the beginning of the dump file, and add the COMMIT; command to the end. When Autocommit is on every insert statement is executed and written on the disk before starting with the next statement. This adds extra disk IO and slows down the whole process.
You can also disable keys before restoring and re-enable it again after the restoration. This will also speed up the process.
Permalinks are the permanent links to content on your wordpress blog. Other bloggers or websites will use the permalinks to point to your post. Permalinks are also very usefull if you want to be able to share your posts because the URL to each post remains permanent.
WordPress comes with a set of default permalinks and also allows you to create your own structure of permalinks. This gives rise to the question:
- Which is the best permalink structure?
- Which structure should i choose for better search engine rankings?
- Does my permalinks affect search engine rankings?
The default structure
To start with, the default permalink structure that comes with wordpress is not very good in terms of SEO. No wonder wordpress calls it the “Ugly” permalink. It looks like:
Although this looks simple but it can get really confusing with long URLs and this is difficult to remember. From SEO point of view this URL is not good because it does not tell anything about the page content.
Another slightly better way of creating permalinks is by using the actual path. PATHINFO permalinks looks like:
Note the “index.php” in the URL, typical of PATHINFO permalinks. Although PATHINFO permalinks are better than the default structure but still they are not very SEO friendly. Most bloggers prefer to use a structure called the pretty permalinks discussed below.
In pretty permalinks you can create your own permalink using structure tags. Most common form are:
This gives lot of flexibility but also creates concerns about SEO. So keeping SEO in mind what is the best way to create a permalink?