Second day half day is again went with classes; but they are must needed for any Technical Yahoo! employee to get started. The first class, IT orientation for new hire is on how to setup and get connected to Yahoo! using laptop, vpn and wireless and accessing all intranet portals. The second class, How to be a Yahoo! Engineer is all about differet tools and packages that internal Yahoo! uses along with setting up accessing to corp UNIX boxes, exploring dev portal, internal mailing lists etc. Second class is a recommended class for all new hires, especially if you are part of technical team; but first one is must needed for all new hires.
I could not get my laptop nor desktop yet. Hopefully I might get one tomorrow. After that I need to play a bit to setup all my stuff. It is really bad that I could not yet able to read my yahoo-inc e-mails as Yahoo! does not support web based e-mail. Once I have my laptop; then I might be able to read all the stuff.
Ryan Troll gave his Windows box today till I get one, so get to login to backyard and browse though all the docs. I also subscribed to 10-12 internal mailing lists. Once I have the laptop, I need to have visual studio installed; so that I can build MySQL 5.0.X and play a bit to get started. I also got my RSA secure ID today that I needed for VPN connection.
Today was my first day at Yahoo! and it was totally exciting and fun. Its all day orientation for all new hires and it was done at Building D in Sunnyvale office. Here is the list of items covered as part of orientation:
- Submitting of All Paper Work to HR department
- All About Yahoo!, and its future by PR
- Work Life At Yahoo! by Talent Development Team
- Health Care Benefits, 401K etc
- PayRoll info
- Lunch with Managers (Ryan and Andrew were there)
- Yahoo! Back Yard and all employee related perks
- Security, getting access to Yahoo!
- Travel
- What Made To Join Yahoo! and many more that I can not recollect all at once.
I also got my security badge during the lunch break along with Free Yahoo! backpack. After the orientation is done, I visited my cubicle which is located in building E and nothing is ready yet. Ryan told me that I can expect a laptop and Linux desktop by tomorrow. And surprise is, am getting 24″ HP LCD monitor.
Tomorrow will also be a busy day due to some more classes related to development related things. More follows later …
Posted @ 10:30 pm ::
Yahoo! ::
Lately am facing some issues with some of the code that I had written in the fast to learn the things in the free time. I never had any source code license for any of the code and when I join a company; some of them were re-used and part of the product line. I was very much happy to give away as at least there are people to use it now.
For example; here is the list of products that I developed.
- ODBC Command Line Utility
This is a simple command line utility that connects to any ODBC data source and executes queries and displays the results. The name of the product was odbcisql and later on this is adopted in my later companies.
- ODBC thin layer for cursor library
This is another good library that I had which implements all ODBC cursor library
- ADO.NET Provider on top of ODBC.NET and managed code
This was developed as part of my learning curve for ADO.NET. I wrote this ADO.NET provider on top of ODBC.NET and few functions using managed code to take direct advantage of underlying ODBC Driver Manager (odbc32.dll) which are not supported or exposed by ODBC.NET. During this process of development; I had few issues that was noted in ODBC.NET and they were reported to Microsoft as well.
You can also find related article Exploring MySQL in Microsoft.NET environment from MySQL dev center. After I left MySQL, I decided to write this provider as it elimiates any database company to have their own native ADO.NET provider instead they can use this on top of their existing ODBC Drivers. Even though ODBC.NET does not provide all the features demanded by ADO.NET; but I was able to manage it using managed code, for example the simple catalog info.
- OdbcCommunicator
This is a GUI tool written purely in C# as part of learning .NET. This is actually done by my wife Priya and I helped her a bit. Which actually uses the above ADO.NET layer over ODBC.NET; so that this GUI tool can also be used with all ODBC data sources. This tool initially uses Sharp Develop editor plug-in called ICSharpCode.TextEditor and later on Priya developed her own editor plug-in. Even though this editor was not so much customized; but we never had a chance to look back as its stalled.
Currently am planning to license all the code, so that even if I need to give away to anybody; it becomes easy. There are few more products; but I need to dig my old computer hard disks and backup disks to find any.
Today I downloaded and installed MySQL 5.2 alpha release on one of my old Dell box. I get to play a bit with Falcon engine type. For most of the cases; the Falcon seemed to be as good as InnoDB type. But I noticed the following bug in Falcon; where as the same one works fine with InnoDB.
Here is the simple scenario:
- Lets open a Session-1 to MySQL 5.2 server.
- On Session-1; create two tables namely tab_falcon and tab_innodb each with a single int column of Falcon and InnoDB engine types respectively.
- Populate both the tables and with 2 rows and commit the work.
- On the same Session-1; set autocommit to false and issue the query “select * from tab_falcon for update“. You can see that the select returns total rows that the table has.
- Now open another Session-2; and issue the same query.
- The Session-2 should wait till Session-1 actually commits or rollbacks or unlocks the table as FOR UPDATE clause is used which in-turn should do a exclusive lock on the table; but in case of Falcon; you get the results back instead of waiting for the table lock to be released; where as with InnoDB table; you get to wait.
|
Session-1
mysql> set autocommit=1;
Query OK, 0 rows affected (0.00 sec)
mysql> create table tab_falcon(c1 int) ENGINE=FALCON;
Query OK, 0 rows affected (0.25 sec)
mysql> insert into tab_falcon values (10),(20),(30),(20);
Query OK, 4 rows affected (0.00 sec)
Records: 4 Duplicates: 0 Warnings: 0
mysql> commit;
Query OK, 0 rows affected (0.00 sec)
mysql> set autocommit=0;
Query OK, 0 rows affected (0.00 sec)
mysql> select c1 from tab_falcon for update;
+——+
| c1 |
+——+
| 10 |
| 20 |
| 30 |
| 20 |
+——+
4 rows in set (0.00 sec)
|
Sesson-2
mysql> select * from tab_falcon for update;
+——+
| c1 |
+——+
| 10 |
| 20 |
| 30 |
| 20 |
+——+
4 rows in set (0.00 sec)
|
But according to MySQL Falcon locks; I tried the UPDATE statements; and I can see that the session 2 actually waits when there was an update on session 1 on the same row. That means; even in the above case; it has to wait.
This is really a nasty week for me as I have to prepare and submit all the documents needed to transfer my H1-B visa to Yahoo! inc. Immigration is one of the process that I really hate in my whole life. Here is the list of docs that I submitted to Berry, Appleman & Leiden LLP, who is incharge of immigration for Yahoo!
- I-140 and Labor approval notice
- I-797 of current employer along with all old employers of mine and H4 dependent
- I-94 receipt of mine and H4 dependent
- Copies of all passport of mine and H4 dependent
- Recent pay stubs
As I changed the job from ANTs to Yahoo!, I need to do the same process again. I still do not understand why IRS needs all the documents back and forth. As they have everything already; they should just cross check from SSN and/or I-94 receipt and do the approval for the transfer. If it is a new H1-B then we can imagine why they needed it.
Anyway, am crossing my fingers now; as I already completed 6 yrs and on 3-yrs extension now (I just got this 3-yr extension a week back as I have I-140 approval). Only thing that is pending is; once my H1-B is transferred I wanted to fill for my labor and get the I-140 ASAP; so that I can take advantage of my old priority date.
After I left ANTs Software Inc, I decided to join Yahoo! platform team. Alan Shapiro from Technology Search referred me to this team. I will be reporting to Ryan Troll and headed by Chuck Neerdaels. Yet to understand all the hierachy though within this team 
Before posting this; I just completed all the imigration related paper work, so that my H1-B will be transferred to Yahoo!. My joining date is not yet fixed due to this; but once I hear something on the H1-B visa transfer front, then its just a matter of time to get in. I look forward to work for this team, and all my day to day activities will be posted on this blog.