about me















Week 1


From Mount Holyoke to Princeton

My trip to Princeton University was supposed to be long and tiring but normal. And I had planned everything: taxi service to the Springfield Amtrak station, train to Princeton, into my dorm. Well, yeah, but life has its way of going all crazy. So my train from New Haven to Penn station in NYC derailed. I ended up stuck in the middle of Connecticut for about 4 hours. It wasn’t that big of a deal except for the numerous kids getting nervous and crying.

After long hours of waiting and running around trains with my huge suitcase, I finally arrived at my new home. It was 9pm, I took a cab to Public Safety who drove me to my dorm; at 9:30, six hours later than expected, I was in my room.

Lo and behold, there was wireless in the room. After hooking up my computer, and taking my stuff out of the suitcase, I just fell asleep. Not too exciting, but after 12 hours of travel and no food in more than 24 hours, that’s the best I could do.


First meeting with Margaret

My second day at Princeton was marked by my first meeting with Professor Margaret Martonosi at the EE department and by running about the University. Margaret showed me around the department, got me a cubicle and a computer. She was really friendly and helpful, pointing me to the different places on campus I had to visit. I took care of housing, internet, gym, library, e-mail, etc. By the late afternoon I was ready to go back to my room. I finished unpacking and looked for food. The university store happens to be right next to the store, so I was able to buy some stuff.

I spend the night watching Family Guy and browsing the net.


To work, now …

Friday was my first real work day. Margaret and I met for some brainstorming. The rest of the day I spent reading papers, thinking about the project and the data structures I would initially use. I learned that on Friday’s the EE department has cookies and soda, so on my very first Friday in Princeton I treated myself to some sweets and cranberry juice.

At night, I walked around campus a bit, read “Neuromancer”, watched TV and generally procrastinated.

Saturday was quite boring but pleasant – mostly sleep and procrastination. Sunday I went to the gym and around the town. Princeton is nice, not too big, but compared to Mount Holyoke it is much better. There are a bunch of restaurants and little stores. I heard about some famous record store – the Princeton Exchange, but I haven’t been there yet.

Margaret was gone to a conference in Boston Monday and Tuesday so I spend my time alone looking through more papers and starting to code a bit. The first thing I will be working on is a simulation of a distributed network of radio-enabled devices. Eventually this will be the environment in which I test different economic models for efficient resource sharing.


Fun with a Bulgarian

At the cookie get together on Friday I learned there was a Bulgarian girl – grad student at the CS department, so I found her e-mail, and suggested we meet. On Tuesday she and I went to dinner. It turned out that she likes sushi as much as I do, so we ended up in this tiny Sushi restaurant in the town. Food was good, but quite expensive. We topped the night with some tasty ice – cream.

It was nice meeting Sonya not only because she is from my home country but also because she is in the Computer Science department and we had a lot to talk about. Hopefully I will see her soon.


Other random stuff I’ve done

Well, I’ve been trying to go to the gym and learn my GRE words, and read a book. These together with work and fetching food pretty much take up my entire time. Oh, yeah …. I made pasta one of the nights. That was tasty!

And of course, I have been following the World Cup. Bulgaria is not playing but I still enjoy watching some games and following the scores. We will see what happens. Goooooo Italy J


Week 2

More meetings with Margaret

On Thursday morning I had my first officially scheduled meeting with Margaret. I had read a paper the night before, and Margaret and I talked about it. We were thinking about the different issues that might come up in bidding schemes and economic models in general. On Thursday, again, Margaret and another professor from the EE department went to lunch with me. We didn't talk work, but rather chatted about everyday things.

On the following Monday, the other undergrad student, Gila, from the DMP came to work. It was nice meeting her and knowing that I will have someone in the cubicle next to mine. On Tuesday Gila, Margaret and I had a joint meeting. Margaret asked how my work is going and we agreed that at our one-on-one meeting on Thursday I will show her my code.



I have seriously started working on code this week. The first couple of days it was hard because I was starting from scratch and still didn't have things clear in my head. I was a bit frustrated and felt like I didn't know where I was going with it all, but now things are getting better. I spend a lot of time thinking about exactly what I want to do and then I coded it. After years of work in front of the computer I've learned that it does me no good if I am a good programmer if I haven't thought things over well enough before I begin writing.

I like how Margaret gives me freedom, I don't have set deadlines and she definitely doesn't tell me what to do, so it is more of a creative process on my side. I guess that's what research is all about. In addition to coding, I've been reading quite a few papers, and trying to get relevant ideas out.

As I mentioned earlier, I am to show my work so far on Thursday. Margaret is expecting a demo. What I have so far is a simulator that initializes the network and a number of devices, each with its own characteristics.



Well, let's see ... what's fun this week ...

1) Italy is going to the next round of the World Cup
2) I had sushi again - not that great though
3) I finished "Neuromancer"
4) I discovered the Princeton Laptop Orchestra
5) On Friday night I went to see a play, part of the Princeton Summer Theater program
6) On Saturday, I went to the Frick Collection in New York. The weather was crap, but the Renaissance art was definitely worth the trip. In addition I saw seals at the Central Park Zoo. So cute :)
7) Sunday was procrastination day, I slept in, made food, and watched two soccer games.
Italy has made it to the quarter finals.



Week 3


My demo on Thursday went great. It wasn't too exciting to watch the program run because all the output goes to a file, but Margaret was happy that everything ran without a glitch. We spend most of our meeting brainstorming about where to do next and talking about smaller things I had to change in my program. There are certain parts of the simulator that need to be tweaked and further developed, but I feel a lot better knowing that at least the basics are already in code.

We decided that one scenario to look at would be a situation in which more than one sellers are competing for the same client. I decided on several decision schemes we can use and then compare the results. One way to pick a seller would be based on the quality rating, the higher the better. Another option would be picking the seller who asks the lowest price. A slightly smarter decision would be to combine rating and pricing into some function. I plan to explore these options and other and to see what results I will obtain.

Another important thing that came up in our weekly meeting was creating a program that can generate random traces of events. I will be working on this next, parallel to the work on the simulator and the sample scenario.




I took a long weekend because of 4th of July and went to Boston. It was nice to be back there, watch a couple of soccer games, see the Cow Parade, go out with friends for couple good beers, etc. ITALIA is continuing to make me proud, they will be playing finals on Sunday against Germany. It is exciting, though I am a bit sad that the World Cup will be over so soon.

On Thursday, back at Princeton, I went to see another play part of the Princeton Summer Theater program. It was fun.



Week 4


This week I wrote two programs for automatic generation of configuration files. The first program generates a .config file with information about the devices participating in the network.   After specifying how many devices we will be working with and what maximum characteristic they can have, the program randomly distributes characteristics.  For example, for each device we randomly decide how many and what type of resources it can have. The second program would generate a random trace of events. Therefore after I had done these two programs I was able to quickly create .config files in order to run my Simulator.

In terms of the Simulator, I worked on implementing the different decision schemes. I was contemplating on what would be the best way to arrange a number of devices according to one characteristic. For example, for the first scheme ("price only") I had to order sellers from the cheapest to the most expensive one. At first I was thinking of writing my own function to do that, but then I thought I'd look for a smarter way to do it. I remember looking at Comparators in Java some time ago, but I had never actually used them. And since this internship is for learning, that was my chance to learn. I looked up  information online and then did a simple example. It turned out to be easier than expected.  I went on to write my own classes extending the Comparator class which would do all the work of sorting object based on one or more of their properties.

I felt good about it, because it enhanced my work, it make my code cleaner, and had thought me something new.



During the week I hung out with people from the dorm. I also went to see a movie with my Bulgarian friend from the CS department and a friend of hers.



Week 5


After meeting with Margaret and letting her know that I had implemented my decision schemes, I told her that I felt a big problem I would have during testing is that "e-bay" ratings of devices are generated randomly. She agreed with me that I had to come up with a better and deterministic way of determining the rating of a device. The rating issue led me to thinking about the unreliability of the system. Currently all transactions were successful so all ratings would have been 10 (the maximum). Therefore I had to introduce unreliability in the system before I could work on the ratings.

Margaret and I thought that putting failure events as part of the trace would work well for now. After I did that I could play around with the ratings. I thought that a way to rate a device would be to take into account the total number of transactions in the system, the number of transaction that the specific device has completed successfully, as well as the current energy status of the node.   Putting those into a function would give me a good idea the rating of a device.

The other very exciting work-related thing that happened this weekend was the CRA-W/CDC Workshop on Computer Architecture. Margaret was one of the organizers of the workshop and thought that Gila and I should go and mingle with people. The workshop was intended for graduate students and it concerned topics such as current and future research, as well as ideas on how to write a grant proposal, apply for a job, and choose between academia and industry. Even though I couldn't relate to a lot of things because I am an undergrad, it was nice talking to people and hearing about different universities.

The most exciting thing was meeting a researcher from the Intel Corporation who also lectures at MIT. He encouraged me to apply there. Later, Margaret said he was quite pleased to meet me.

It was a productive week!



During the weekend I went to Boston on the bus. True, I had been there just 10 days earlier but I really felt like getting away from Princeton for a day or two. While there I saw A Scanner Darkly - the movie. I was expecting a good movie, but it actually went beyond my expectations. I really like the animation work done on top of the actual movie, and I also liked the idea of the movie. I am thinking, maybe I should read a Philip K. Dick book sometime.

Speaking of books, I've been reading The Code Book and I am almost done with it. It's been truly fascinating and informative. I've gotten to the last chapter which is on quantum cryptography, I am sure that would be a great ending - the future of cryptography.


Week 6


I worked on the failure events in my system. I designed it in such a way that I could specify what percent of the events of a specific node have to be failures. The bulk of my week was spent trying out different schemes for rating the devices. Some things that I considered including in the rating scheme were energy left, connectivity to other nodes, number of successful requests, number of failures, total down time, etc. Finally I decided to stick with something simple, clear, and sense-making. I used to ratios - number of received requests over number of accepted and number of successfully completed over number of accepted. This would give me a good idea of how good a node is about accepting requests, and how reliable it is once a request is accepted.

Looking back at it now, it seems like a trivial task but I really spend quite a bit of time experimenting with different schemes and seeing what results I get. I also started thinking of ways to evaluate what I have so far.  Some of the parameters I identified were length of experiment, size of the network - in terms of number of nodes, and xy coordinates, the failure rates of nodes. Metric are thought about included number of successfully completed deals between nodes, the total number of bankrupts in the system, the number of transaction that were interrupted by a failure, etc.


My boyfriend came to visit at the end of the week. I was happy to see him and excited to show him around Princeton. On Thursday he came to work with me for a bit so he got to meet Gila and my other friends at work. At night we went to the mini brewery on Nassau Street and had some local beer. On Saturday we embarked on a journey - canoeing. It was great; we went down a canal that passes through Princeton. We saw a goose and turtles and dragon flies (blue). On the way back to campus we saw a bunch of deer. It was great to be in nature and to see all these animals. At night we hung out with the guys from my dorm.



Week 7


I   have been struggling this week. I have a lot of the pieces to my project in place, but the results I am getting don't make much sense. The scheme seem to be performing similarly event though one only uses price to judge a node, while another only uses a node's rating. I spent a couple of days trying different scenarios, different trace files and methods for evaluation my decision schemes. Once I had had enough of this, I thought that instead of trying to change my results to the desires ones I should look more carefully into the program and try to understand why the results would always be so similar. On Thursday I met with Margaret and after talking for a while we decided that I need to increase the density of the network. I believe that part of the reason the schemes were performing the same is that the network was so sparse that most times a decision needed to be made there were so few choices that it made no difference what scheme we employed.


More hanging out with promising young scientist living at my dorm :-D



Week 8


I've been able to come to conclusions about why certain things in the simulator don't perform as expected. I also worked on some new experiments. I feel I am getting to the point where I need to make final changed to the code, run experiments, and start analyzing results. One new idea that popped up this week was the introduction of a baseline scheme. In order to be able to better compare decision schemes it makes sense to introduce a base line. In this case that would be a scheme which always picks the seller with the lowest node ID.  

Some things I have observed so far by running experiments include the following:

  • Decision schemes for picking the best seller of a resource make small or no difference in sparse networks of nodes. The reason for that is that connectivity between devices is low and in most cases we only have 1 or 2 seller nodes to pick between.
  • Increasing the network density changes the situation slightly and shows that in terms of total number of successful transactions we are better off using a smart decision scheme.
  • The adaptive scheme decreases the time devices spend in bankruptcy, as well as it delays the first bankruptcy occurrence.
  • If there are many requests in the system, the effective connectivity of nodes decreases due to busy neighbors.


On Thursday I went to a barbecue organized by James . He is one of Margaret's grad students and was kind enough to invite me. I got the chance to hand out with a bunch of grad students - no complains there :) The same night I also partied with my undergrad friends at the dorm. This was their last night together since everyone is leaving either Friday or Saturday. Speaking of which, I was a bit crushed when people left. I really feel like I made some great friends here, and wish I could have them around longer. It was so nice to have like-minded science people to spend the nights with. I will miss them!


Week 9


The plan for this week is:

  • Monday - finish up last implementation details in the simulator; start running final experiments
  • Tuesday - finish experiments; attend meetings with Margaret (to talk about grad school choices, etc) and with the Dean of Engineering (networking...)
  • Wednesday - start analyzing results and begin paper 


So, I have been pretty good at following the plan I outlined above. I did work on some more code towards the beginning of the week. The first significant thing I did was change my fixed price scheme, to a dynamic one. Now the resource price on a node changes depending on the energy budget of the node. Therefore, the more battery gets drained out, the higher the price of that seller gets. The second big deal this week was a bug fix in my adaptive scheme. When those two things were completed, my results changed dramatically and the adaptive scheme started constantly outperforming both the baseline and price-only algorithms. Hooray!


Week 10


This week has been entirely devoted to running final experiments and writing my final paper. It has been tough but exciting because this is the first time I am writing a real research paper on work I’ve done by myself.  I realized how important paper outlines are, I think this one saved my life. I couldn’t have written anything like this if I had not first thought it through, over nad over and over again.

I am including the paper as my final report here on this website. I suspect that I will be working on it past the end of my internship so for up to date information on my work and I you should come to www.mtholyoke.edu/~makazand


Not much fun, mostly sadness for having to leave Princeton… It has been a great summer, one I will treasure forever and one that I suspect will cause more excitement in my future.



Maria Kazandjieva 2006  %   mkazandj@princeton.edu