Monday, April 18, 2016

Ubuntu Login Loop on VirtualBox

Today I had another headache and another quick fix, I wanted to document if someone else is also stuck on that annoying part.

If you're running a guest Ubuntu on a Windows host, and if you're also trying to do some graphics driver mambo-jambo, it is highly likely that your Ubuntu will not like it after a while (especially after you reboot or end session). It falls in a login loop, even though your credentials (and .Xauthority, and /tmp, and $HOME permissions) are fine, you cannot login in. For this case, none of the other solutions will work, and if you check your ~/.xsessionerrors, you'll see an error related to GLX.
Xlib:  extension "GLX" missing on display ":0".
That means there is something wrong with your nvidia driver and best to KILL THEM ALL! (Again, if you're on a vm... Else, I don't recommend it that easily :) ). I first tried removing nvidia-current, however if you search for more, you can see that there are even more nvidia packages installed (nvidia-304, seriously??!).
dpkg -l | grep "nvidia"
To search, use the above command, and to delete them all, use the following one:
sudo apt-get remove --purge nvidia-*   
sudo apt-get install ubuntu-desktop
If you haste to login right after the first one, you'll get the more annoying "low graphics" error. Because it also deletes the nvidia-commons package, so try installing ubuntu desktop again, then login. Everything should be fine!

(Note: To accomplish all those operations, you need to fall to the command line from the GUI. Use Ctrl+Alt+F1 for that, and login to your account.)

Thursday, March 10, 2016

A Simple VM with Ubuntu on Windows

Today we have yet another simple problem, and yet another simple solution. If you want to have a virtual machine with VirtualBox 5.0 on an Windows 7 host, and your guest Ubuntu 14.04 does not want you to do anything (literally, anything....) at start, such as:

  • "Read-only filesystem..."
  • "The system is running on low graphics mode..."
  • "Cannot find/install package X..."
  • Or, you are able to start the OS somehow but you're not allowed to do any package update/install.
Then you might have a disk space or memory issue. Although your VM might seem to have enough space, there are couple of things you can check:
  • Check your_vm->Settings->System->Motherboard, that you have enough RAM allocated.
  • Check your_vm->Settings->Storage->Controller->harddisk_name, that the destination it is mapped to (under Attributes, the little harddisk symbol) have enough actual disk space.
  • Again, at the same tab, check that the virtual size of the controller is more than ~4GB (a full ubuntu update would take ~3.5GB).
  • Finally, if none of the above works, re-partition your virtual disk at the ubuntu installation step. ~350MB swap area, ~5GB system folder, and ~4GB home folder would be minimums.
After that, Finally, if you're complaining about the visual performance and want more functionality (like, obviously, full-screen VM), then don't forget to install Guest Additions. For the above configuration I explained, Chapter 4.2.2 of this tutorial is helpful if not a little bit confusing. Note that if you don't solve the space issue in the first 3 items, then you won't be able to mount the VBoxLinuxAdditions.iso, so do not waste time poking the filesystem :)

I hope this helps someone to not waste time, just like I did!

Saturday, December 26, 2015

Corrupted iWeb

Welcome to yet another annoying-problem-trivial-solution post!

If your iWeb suddenly decides to not show your websites, or doesn't open, it might be because of a corrupted domain file. Before trying to look for backups, or downloading your already published website, try this:

> Delete /<home>/Library/Preferences/com.apple.iWeb.plist
> Move /<home>/Library/Application Support/iWeb/Domain (Domain.sites2) folder to somewhere else
> Open iWeb (realize that it opens as expected, but without the already created sites)
> Save an empty website
> Close iWeb
> Move the old Domain file back to its location (overwrite the existing Domain)
> Open iWeb (hopefully you'll see the sites as before)

I hope this solves the problem! 

Friday, October 9, 2015

Your Event Guide to Grace Hopper 2015

I know, less than a week, AAAHH! I'm so excited too, and the more I see your reactions, even more excited I get! Another thing that increases inversely proportional to the time till #GHC15 is, the number of events!

The GHC schedule is amazing, technically and socially mesmerizing, but it seems more awesomeness is on the way like previous years. Some companies, universities and special interest groups organize their own events and parties! So... I will try to be your party guide, girls!

Note: The events listed here are all unofficial ones, please check the conference schedule for the official events.

Let's start with a brief summary of last year. We have been to so many events that I apologize from the start that I'll only mention my top three unofficial parties. To start with, third place goes to Amazon (and Kiva), with their refreshing Amazonian cocktail:) Second place (unfortunately) goes to Pandora, unfortunately because that was one of the best conference parties I've been to. They closed a roof-top bar, turned it into an open-air disco, with awesome Pandora music. They also had delicious food and so useful swags that I still use (like little Pandora power stations!). Oh, and they also invented their special pinkish cocktail  (Pandora mist? I don't remember its name), And the first place, goes to: Pinterest. The most creative party I've ever seen! We've done our first dream-catchers, near "a mountain of cheese", with unlimited alcohol. There was also a photo-booth, swag, more food, and everything you can and cannot think to turn a regular place into an incredible party!

Ok, enough with the last year, let's start this years list! Click on the company names to access the event details.

  1. Pixar:  Curious about Pixar or how woman in tech side of Pixar is producing your favorite animations? Well, join us then:) (Yes, I highly recommend this one. And no, I'm not biased..:p) 
  2. Pinterest: I bet it will again be an awesome party, I highly recommend having a look at "A Night with Pinterest" :)
  3. Women TechMakers: It seems like something fantastic is coming up. Stay tuned! 
  4. Facebook: Instead of one big event, Facebook divided the teams into Research, DevOps, and others; and meeting in breakfasts, brunches, and lunches.
  5. Uber: LadyEng in Uber await you for games, food and networking! 
  6. Twitter: WomEng team of Twitter invites you to a panel followed by a Twitter party (following the special cocktail tradition that I mentioned before). 
  7. Github: A creative event comes from Github! Meet at Patchwork Houston for a workshop to learn and dig into Git! 
  8. Pandora: Not sure if it will be as heart-warming as last year, but give it a try.
  9. Instacart: Come, socialize and party with Instacart!  
  10. LinkedIn: WomenConnect at LinkedIn invites you to another networking event. 
  11. Square: This time you're invited to a breakfast! You'll be having coffee, breakfast, swag and fun time with Sarah Friar (CTO). 
  12. CMU: Carnegie Mellon University calls you for desserts!
  13. Axon & TASER: Interestingly, scholars, food and party time! 
  14. Cisco: Cisco also has a networking dinner. 
  15. Pros: Another networking reception by BLAZE at Pros.  
  16. Women in Technology: Houston: Another panel accompanied with food and surprises, that aim to strengthen our connection. 
  17. Salesforce: GirlyGeeks is organizing a wine event at a roof top, sounds like an awesome atmosphere to socialize:) 
  18. Mastercard: Another reception to enjoy, this time by Mastercard. 
  19. Career Incubator: A night of Martinis&Mentors, sounds interesting! 
  20. iOS: Are you an ios developer? Then join the crowd and make apps come true!

As a last note, I would suggest to register for the events from the links. But don't worry if it's closed, or full, or invite-only. You never know who you'll meet with or where you'll be going to, in #ghc15 :) If there is an event or a party of your dream place, go to their booths to ask about it, or just learn the address and go! Remember that all those efforts are for you, just for you:) I'll keep updating the list as soon as I hear about more events. If you know of an event, leave it in the comments with the link, so that I'll add it to the list.

Hope to dance with you all girls! I'll end this very informal post with a photo from last year's official party, thanks to Google:) Have fun!








Tuesday, September 29, 2015

Introducing Turkish Women in Computing (TWiC)

Probably most of you have already heard about Systers, our community, and some related activities. But have you met our other communities for women in computing, such as NaWiC, LatinasIC, or TWiC? Let's meet with Turkish Women in Computing today!

Turkish Women in Computing is a volunteer based community, which constructs a bridge between Turkish women in the field and Systers everywhere, working within Anita Borg Institute of Women and Technology. It is a community that aims to unite women with STEM degrees from Turkey, to share their experiences, by supporting each other to overcome the differences. The community acts as a mentor to educate newcomers about the cultural differences, with an honest and straightforward voice that only another trusted member from the same culture can have. Another motivation for TWiCs is to publicize the presence of Turkish women in computing, because they are everywhere in every continent! Even when our number as women in computing was not bright in US, there were Turkish women in computing who were shining upon their fields, whether it be academia or industry. Their presence in GHC also proves that the community is already achieving their goals to hold us altogether.

Turkish Women in Computing was founded during a Grace Hopper Conference in 2011. Three women with PhD degrees from Turkey realized that there were many TWiCs scattered all around the world with similar goals, aspirations and perceptions about women in computing. They observed that STEM degrees are considered well-desired where they came from, in Turkey; but where were the other women in US? Why didn't women in US feel the same way about computing the way they did? Why there was a negative publicity about women in technology here? Why didn't girls choose their paths toward computing? What was inherent in their culture that changes their perspective about computer science? Keeping these questions in mind, the group was founded to network Turkish women with computer science background to guide them about networking, career path, office culture and also to increase the visibility of their accomplishments. Today, their Facebook group in connection with ABI is ever growing!

With such growing audience, their curiosity  led them to conduct research on why women in Turkey are increasingly attracted to this field in contrast to US, and they presented preliminary results in the Global Voices conference. They are also actively preparing articles about the careers of prominent Turkish women in computing who are well known all over the world. You can access their findings and articles from here.

Now curious about how to be a part of the community? Well, you have many options. I personally recommend getting on the e-mail list, since all Systers start with one:) You can also join the community using their facebook group, their LinkedIn group, or from twitter. For more information, you can visit their website.

Finally, you can join them at GHC! There will be a TWiC table in the community pavilion and you can meet our Turkish Systers face to face! Hope to see everyone there, reminding that we're one day closer to GHC15:)

Friday, August 21, 2015

A Past, Present and Future Journey for GHC 15!

This year GHC will be awesome!!!

Oh, ok. Let me back up a bit. Did I say 12K women? Have I mentioned the sessions? Have you heard that it's "Our time to lead!"?

What happened?


First, some background information about why I am really excited. My first GHC was back in 2012, and I think it was the first time I really feel like I'm not alone -or, to be more honest- I'm completely normal! I get to meet with an enormous number of women in STEM fields and although it was my first time, it felt like I was within GHC community for ages, where everybody has a similar story and is more than welcome to talk/share/consult/mentor/mentee/help anytime. I know it sounds a little cliche if you haven't experienced being a part of something so huge but so intimate; but believe me, that was the closest realization for "It's a small world" attraction of Disneyland. As happy, as connected, as pretty, as diverse, ...as utopian!

As a recap, on the first day, the first ever session I have attended in a GHC: A wonderful interactive networking talk, given by two speakers from Lawrance Berkeley Lab and Google. After 3 years, I'm still so glad to catch this session, it was like a jump-start for the conference. This session taught what I was doing right unconsciously when approaching people (as an introvert), what I was totally wrong at, and what I actually should do in different situations. I probably created an elevator speech for the first time in my academic life, because of that session.

I have attended the Graduate Poster Session, where most of the posters were related to interesting security, cloud computing research, with some posters also in graphics: telling to this little fresh graduate student "Hey, over here! This is what's coming up for you soon!". Then I wandered around the Job Fair, having my first tips on career development, also having some interviews to boost up my confidence (this was real, no laughing please). Switching to talks... these girls were clever! I clearly remember that there was a talk for secrets to success, and it was prepared like a musical! How cool it is, right? You never saw anything yet, young Padawan. I will not explain the awesome technical talks or grant writing and funding sessions.. But, another GHC-specific talk: imposter syndrome. Wait, what? Of course I hadn't heard it before, and I was dragged into it by a senior friend of mine. Remember that uneasy feeling that you're not sure about whether you can achieve what's expected from you? (Don't argue with me, I know you had that before!) Yes, that's a tiny bit of imposter syndrome. And I would never ever be aware of that virus if GHC was not making everyone that is left (or made felt) outside of the circle...

Enough with the day, let's discuss the nights! The social events in the conference were spectacular. The awards ceremony was so inspiring that getting to know such work and such amazing people was a motivation all by itself. There was also a celebration for the 25th years of Systers community, which was like a closing party, and it was in the Maryland Science Center... This might still be "the event" of my life. Let me elaborate. Imagine a science center, full of dinosaurs, body parts, machines and experiments, with a planetarium! Now imagine islands of desserts, hills of cupcakes and cheesecake, and sweets that you ever saw. Finally, imagine hundreds of women in science. Now put them all together... Amazing, right? Oh, just to mention, there was a live disco right outside too. And when you get bored of dancing, you can just watch a wonderful night show in the planetarium. It was an amazing experience overall.


Anyway, enough with the memories, but hey, I still need to tell how awesome GHC in 2013 and 2014 was! I know you're getting bored, maybe I'll reflect them another day. For now, these stories [1][2][3] can feed your curiosity. Coming to the main idea, did you notice that how many "first time"s for me have been unlocked by GHC? This makes you realize that you're important. Which brings us to the next part...

What happens?


Attending Grace Hopper is a wonderful experience as well as a precious responsibility. It is not just a regular conference that you attend to, and then forget about; but it shapes one's lifestyle, priorities, and perspective. It makes everyone feel that we are never alone.

The organism


It gives tremendous amount of motivation by sharing, just sharing. Stories from your everyday life, experiences from reactions you are subject to, what-if scenarios if you do not assess those situations, emotions if the imperfect situation captures you, challenges to beat the imperfect situation, in summary, everything you have experienced and might experience in your everyday life is shared. This connects everybody to support others' cases, to union and to act together for the parallel challenges. So both for academic and volunteering activities, GHC community always keeps this collective organism fueled up.

The self


Inherently you share too. You see the newcomers, and wanna be there before they fall into that hole you have fallen before. You want to pass your experience, pass to torch as the others have passed to you. You want to carry the organism with you and make it more invulnerable.

It sounds silly, but realizing that all the wonderful 'godlike' people are also a part of the organism, (that they're always in reach or they make mistakes or they eat cupcakes or they moonwalk), makes you feel more rewarding and confident. You realize that it is only you, what makes it special. If you forget how to enjoy, or if you sacrifice your unique character to become a slave, that's when you being to lose, that's when trying to be perfect harms you. You realize that balancing and being in charge of unbalancing should be the key to their success, so as yours.

The product


At the end, you want to keep those connections and improvements alive. Thus, you come to a point that you understand that GHC is not limited to 3-4 days. We are all connected with Systers, WISP/WIE programs, CRA-W, and local CS people. And after a while it becomes a life-style, to protect and develop the self and the organism, by taking part in all events, volunteering for all opportunities, and advocating wherever you see something wrong.
 
You also get amazed (see my first lines:) ) that how such a huge product can consistently be kept alive. You admire the creators and defenders of our fragile but connected world, most of which are only volunteers, and appreciate all efforts, all time commitment, and all the love given to our community.

What will happen?


Of course, GHC will keep impacting the world, again this year.

Me


I have been saying that after a while you just need to be "more" a part of it, right? Well, after being a Communities Volunteer for 2 years, this year I'm proud to be on the Communities Committee and help organizing this awesome "get-together with friends and systers". Thus, it's an honor for me to actually spend labor in this event which I completely believe in. Rest assured that our committee is working like bees to enable everyone to make the best out of the conference, with new events, gatherings, channels, and news!

This year is especially important for me, because I'll be presenting my pretty buildings in #GFX session. Looking back and realizing that how far I have come since the misty first days of PhD, I can't wait to share my awesome work while looking each one of you in the eye! If you want a trailer about the presentation, I suggest you to have a look at our papers [4][5]. Else, you're invited to my talk on Wednesday Oct 14 at #GHC15.

You


You'll definitely level up! Both motivated and armored! Socially, academically, and personally.

Maybe after reading this, you will want to be a volunteer and start being a part of us, now!

But more importantly, I believe you'll become one of us, you'll find yourself both similar and different enough to be comfortable with the crowd, and you'll realize that the imperfections of any systems (human-centric, data-centric, process-centric), can be overcome by a little environment support.

Us 


For me, GHC become like an annual celebration where I spend quality time with friends all around the world, colleagues from all disciplines, and anyone interested in our battle for humanity:) I really want all of us to share that same feeling, that our safe environment is getting larger and larger by all of our efforts and we can accomplish anything we want! The chamber that had 8.000 women in computing fields, has reached a record of registration for the celebration and this year we're expecting a 1.5 times larger circle of 12.000 women! Not comparable to us in size for #GHC15, but I want to conclude this excitement with some of us that can convey that feeling with their smiles, to show us, just us...


 
Can you imagine? Can you think about the accumulated knowledge we can obtain from this year's GHC? Now, is it possible to not be excited about such an adventure??!

I'm already amused and can't wait to be in Houston. I hope to see and meet each one of you, to embrace our community, to be useful for our living organism, and to carry this perspective onto the new generations.


Thank you girls, see you in Houston!



[1] Purdue CS @ GHC 13: https://www.cs.purdue.edu/news/10-11-13_gracehopper.html
[2] Purdue CS @ GHC 12: https://www.cs.purdue.edu/news/10-10-12_Hopper.html
[3] Purdue CS @ GHC 14: https://www.cs.purdue.edu/news/GraceHopper2014.html
[4] Proceduralization of Buildings: http://www.cs.purdue.edu/cgvlab/papers/aliaga/3dv2014.pdf
[5] Segmentation of Buildings: https://www.cs.purdue.edu/homes/idemir/Ilke_Demir/segsim.html

Tuesday, June 16, 2015

Module Path in Python

Hello fellas,

Lost in your build? Too many env variables? No idea what calls which, and need to see the implementation in a specific module, at god knows where?

>> import <module_name>         
>> print <module_name>.__file__ 

is what you need: the abs path of the module. Cheers!

Friday, June 5, 2015

Perforce: Back-out From an Existing Change

Using super-duper Perforce system for "helix" versioning , but you still make mistakes and need to back out a changelist? And you need to do it from command line, since you are not a GUI person and not good with p4's beautiful "back out" and "rollback" buttons"? Here is how:

> p4 sync <filename>@<the last changelist number before your change>
> p4 edit <filename>
> p4 sync <filename>@<your changelist number>
> p4 resolve -ay
> p4 sync <filename>
> p4 resolve
> p4 submit <filename>

Notes:
  •  If you don't know the filename, check the beginning of "p4 descibe <your changelist number> | less".
  •  If you don't know your changelist number, check "p4 changes | grep <your username>".

Monday, April 6, 2015

Qt 4.7 and VS2010 Moc problem

When the projects grow bigger, the project settings might go out of control sometimes. Today I want to share a quick fix for one specific such case.

My case and fix happens under Qt version 4.7, Visual Studio 2010 and Qt Visual Studio add-on 1.1.7; however it might be applicable to other versions too.

When you have an error like "moc: Too many input files specified":
moc: Too many input files specified
1>  Usage: moc [options] <header-file>
1>    -o<file>           write output to file rather than stdout
1>    -I<dir>            add dir to the include path for header files
1>    -E                 preprocess only; do not generate meta object code
1>    -D<macro>[=<def>]  define macro, with optional definition
1>    -U<macro>          undefine macro
1>    -i                 do not generate an #include statement
1>    -p<path>           path prefix for included file
1>    -f[<file>]         force #include, optional file name
1>    -nn                do not display notes
1>    -nw                do not display warnings
1>    @<file>            read additional options from file
1>    -v                 display version of moc
One of the general cases I have encountered is the problem caused by the spaces in the project path. A quick solution might be getting rid of that ambiguity by changing the workspace and/or paths of environment variables.

However, in my case, I have multiple moc files and I get this error for only a few files. In that case, open the project settings file with a text editor (i.e. "vi <project_name>.vcxproj"), and look for "moc_". You will see that some moc files might be excluded from the build.

Normal:
<ClCompile Include="GeneratedFiles\Release\moc_normal_file.cpp" />
Excluded:
<ClCompile Include="GeneratedFiles\Release\moc_excluded_file.cpp" /> <ClComp      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>   <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>    </ClCompile>
Changing the excluded file to a normal form would make it be compiled and linked as the usual files:
<ClCompile Include="GeneratedFiles\Release\moc_excluded_file.cpp" />
If not, I would advise to look for more changed/corrupted settings in that file, especially with the filename associated with the error above. 

Sunday, October 13, 2013

It Doesn't Have To Be Pink! Designing for Women

I will continue with my notes from some Grace Hopper Celebration of Women in Computing Conference. Since this summary has been waiting in my "drafts" for a little while, this entry will contain less "commentaries" :)


Presenters

Jessica R. Cauchard, Funda Kivran-Swaine, Sarah Esper, and Yael Kliper

Abstract

The session aims to change our perception about design, give tools that women use for designing and open a discussion on twitter (@GHCdesignforwoman).

Note: please check for the beautiful designs that we have contributed during the session, from the twitter handle above!

Notes



If we want people to use something, then dedicate it to them.

Laptop for women: Pink laptops, phones, etc.!!!

Hardware-wise: Many of us missed calls because it was in our bags? But men carry phones in their pockets more, so vibration is more effective... Another example, has anyone seen any smart watches for ladies?

Reject assumption

Example: Photos and pictures are with us since the cave paintings to current very high-res photos.

Assume everyone in the room is a designer, so think about a product to help people take photos of themselves. Go find people who are not like you to get some knowledge, even if they are taking really unbelievable selfies. Think about a sportive, outgoing adventurer living far far away. None thinks that he takes selfies, but when you give the selfie-stick to him, he takes incredible selfies from around the world at extreme places!

Outcomes:
  - reject casual cultural observation
  - truth+awareness>stereotypes
  - go out with an open mind
  - challenge assumptions

Woman and Money


Money is exclusive in the male domain. When googled "women+money"= Models, quotes, sad women.. comes as pictures. But when googled "banking"= males across the globe! (almost all business-related hand-shakes belong to men!).

However, there are many females that benefit from and use micro finance. Unfortunately, they have issues getting loans and building credit histories. There are many ways being developed about increasing such. One great example is to include social-presence and influence network into credit score computation. Since women have much more reach on social media and local network, using social media presence as a parameter into the credit issues enhances not only women, but benefits everybody.

More examples include, branch designs for woman, atms for woman, coupon clipping for woman, retirement planning for woman... Think.

Power and Equality

1. shifting the concern from equality to power
2. distributive collaborative learning vs. massive online learning

Online media is more personal, so woman can grow more intimate, one-to-one and caring relationships.

Workshop

We were divided into groups of 5-6 people, and designed! I will explain step-by-step development and give examples from our group's experience.

**Step 1: Select an application to design for.**

The categories included everyday life apps like whatsapp, health and financial applications. We have chosen online-banking, because we needed an app that all members of our team were familiar with.

**Step 2: Describe the app with adjectives and how it makes you feel when using.**

I believe this was the sparkle that started the creativity.

Saturday, October 12, 2013

But that paper proved teleportation?! (Part 2)

How to write a paper?

The best way to write a publication is:

  1. get a pen and write the generic pieces of a paper".
            (my organization)
    • intro
    • related work
    • pipeline/overview
    • tech details
    • results
    • limitation/conclusion/future work

      (the organization on the slide)
    • title & abstract
    • authors
    • intro
    • related work
    • methodology
    • findings
    • conclusion 
  2. Read lots and lots of papers. Copy/borrow the structure of the papers you like and understand.

Parts of a paper

Title and abstract:
- Title should descriptive, include keywords, make it simple, don't use area-specific jargon, avoid typos because that makes the senior reviewers to decline reviewing your paper.

Authors:
  • Be generous, invite people to be an author in your paper. It builds your network, ask people whether they contributed enough to be an author, ask explicitly. If someone asks you, it is a responsibility, you should feel confident that you have contributed enough, something you have verified and believed that it is true. Even if you did not do it, you are responsible of the typos, wrong things in the paper, and it is still you responsibility.
  • As woman in cs, we might be not claiming what we did...
  • How to be a good co-author? You have a team that worked on that. Do really explicit what you do, write down everything you did. Do bulleting!!! (like my advisor says...). You might be working 24 hours but other people may not.. Let others speak too, we are all collaborators, feel comfortable to ask, say, contribute.
Intro:
  • What is the contribution?
  • Be concrete, give example. Don't be abstract. Don't start in low level and go to the big piece. All these cute ideas that can't be squeezed in a paper, create a dead kittens file. Don't include, put that in the other file.
Related Work:
  • Least liked part!!
  • That's where you can show what you did is better in the area of your world! Put yourself in your area. You should be aware and thoughtful about who you cite and how you cite them. You don't want to be overly defensive, and don't make it an island in a huge ocean. There should be some similar stuff somewhere in the world. You don't want to cite all of the world, just cite them in most recent and useful manner.
Methodology:
  • Tell people how you did what you did.
  • How to reproduce, the exact approach
  • Acknowledge limitations, frame the limitations.
Findings
  • Clearly state what you observed, put numbers in the text..
  • Try and pull all of your findings, numbers, etc. to tables, figures, etc. They should be standing alone. Somebody that is flipping through the paper should understand a paragraph alone, or a figure alone.
  • Help the reader interpret the findings.
Conclusion
  • Recap the abstract.
  • A person can just read the abstract and conclusion, so make sure that you have a good summary.

Other concerns

  • Ensure the proper layout
  • Take some time that the paper is really on the product line
  • Take professional help about English if needed
  • Submit the paper on time and read the call for papers
  • Don't ever plagiarize. Ask for permission. Cite and acknowledge. Don't take text directly from anywhere, you might forget to go and change.
  • Submit the work you are proud of. The number of submissions to conferences is increasing highly, send it to colleagues if you need feedback.

How to deal with the reviews! (Especially reviewers...)

  • Write a response, wait for a day to send.
  • Some people are strong enough to read the reviews momentarily, but some are not. Just put it away, and come back to them when you are ready.
  • Look for the things that keep coming up.
  • If somebody says "I don't get it", just explain. Don't say it like "Oh I did say it in section 4 par 5...". Maybe you mis-communicate, if most of the reviewers do not get it.
  • If you respond the reviewers, they will see the paper again, and somebody might be pissed off..

In case of Rejection:

  • great papers sometimes get rejected
  • 3 times is kind of enough to resend
  • or consider a venue change

In case of Acceptance:

Camera ready:
  • take the feedback into consideration, still
  • share the paper, blog about it tweet about it , present the work
  • leave the details in the paper

But that paper proved teleportation?! (Part 1)

As PhD students, our priorities always elevate our research.. Thus, our publications, as the proof of the achievements of our research, seem to be everything that we spend our time for. Considering such effort and time spent... Why the hell that paper is rejected?!

One of the talks at Grace Hopper was, how to publish your research. The presenters were Holly Rushmeier (Yale University) and Jaime Teevan (Microsoft). It was a really enlightening talk regarding what we should and shouldn't do when writing, waiting and after the decision. I will summarize the talk, and also feed in my observations.

Before starting, I think the most important issue is the discussion of why we want to publish that much. I don't consider myself as a successful author, but I believe I have the correct motives (I believe more after the talk actually). The first or sole reason should not be  "because I want more publication/reputation/citation/money/fame/...". It is because:

"The world needs your ideas!"

In that manner, the quality vs. quantity debate becomes more clear, as mentioned in the talk, it is good and advised that publishing as much as you can, but without sacrificing the quality. Three important and main points:
  1. Express,
  2. the great idea,
  3. well.
Depending on the area that are in, maybe you have lots and lots of good papers, i.e. in systems area. However maybe you work in theory and you proved three really important theories and tha your gift to humanity. The key is, none should spin around the same papers. And how you asses the success of a paper after it is published? The recognition you get is measured by the citation count. Even if you have small number of papers that are always cited from important people, then you're on the right track. Continuing with the thought flow, then how to ensure that they are actually cited? Submit to highly visible venues!

We have many options here.
  1. Conferences, journals... biggest outlets. I know that some of your friends might argue with you and underestimate the impact of conferences, but I guess they are not CS people. Let them shine in Science...
  2.  Specialized workshops, accepting full papers or abstracts or posters. And guess what, you get to visit that small city in a state that you are not sure whether such a state exists! :)
  3. Software patents, data, code... Tangible things. If you can make your software fully available to the public, next to the paper you write, that is fantastic! So you both help people and get the recognition. Actually, as the perfect place, I want to thank all of the open-source projects and frameworks I have used, you always save the day.
  4. Social media? Blogs! Never thought of it in a formal environment right? Sometimes ideas need to be expressed in a timely manner, so social media is a great way to not wait forever... You write a blog, and wow I'm the 345th reader!

Conferences

As it was said before: CS is different. Historically; conferences become more and more important. Once upon a time, journal publications were really slow -I mean slower than now, or ever- and it could take years to see a really good idea published. So instead of journals, and their lazy reviewers, and the lazier editors, (nope, just KIDDING! I love you journal guys, that's why I keep returning to you... come on, don't be resentful), the conferences became more and more selective and getting more important. Biggest and hardest ones? For sure ACM sig's, i.e. SIGGRAPH... (As a note, I should apologize for my loud "YES!" from the people sitting next to me during the actual presentation. Sorry guys, I was excited.. to hear that it is hard..est...).

However, one should keep in mind that not every conference is great, there is a gazillion of them. How to differentiate is a whole new blog post.. but here are some questions that should be asked: do you need to just submit an abstract or full paper? how is the review process? how is the quality of the feedback? what is the number of reviewers? what it its acceptance rates for the previous years (probably this is the most representative question)? Under 50% is considered good? what is the number of citations does that conference get? and how often cited? what are its sponsoring organizations? Do they have ACM and IEEE? Or is it another yet important venue, like Eurographics (in graphics)....

Deadlines!!! For example for SIGGRAPH and Eurographics, they are really dead... The submission dates are absolutely strict! Not even one min after the deadline is acceptable. So prepare yourselves accordingly (is of course the advise, never the reality).

One of the best aspect of conferences: There is a certain date to get a decision, like your birthday:) It will come no matter what. You will face the truth on that day. However the truth is not always black or white, there is also a conditionally accepted decision, meaning "if only you do these, then it is yes!"

At that point, I see the phrase "SIGGRAPH deadlines:)))" in my notes, and I remember the timeline of SIGGRAPH being projected on the screen.. Watching it so many times during the process, I swear that I could repeat it my eyes closed... Anyway, thanks again for having all examples for SIGGRAPH, that motivated me personally x10 times!!

And we all know the process. Submit, reviewers are assigned, some of them you already know but none of them you will ever know, but good news they will know you if you get accepted, and they will never know you if you don't... And the waiting phase, more waiting. Also for some of the conferences, there is a rebuttal phase to answer the ridiculous things that the reviewers said, that you want to argue, but you cannot, that passes like a silent self-defense without being allowed to use any weapons, because yes you are not allowed to use anything but words. And every year it changes...

Coming to the ethics part, which we all know and the most boring to explain.. like reading the tutorial of the game that you have been playing all the time:) I will give you a skip option to next paragraph if you are already bored. SKIP. Rule 1: no dual submissions. Never and ever, send the same paper to more than one venue, because 1) it is asking for more review sources then you are normally allocated to. If the conferences say it is three reviewers, sending the paper to two conferences and having six reviewers is not fair, to nobody. 2) Every conference needs new and more developed content. If it is already published in wow-what-a-nice-conference-you-are then why also submit it to the-secondary-what-a-pity-conference?! If you are in doubt about whether it is a dual submission or not, you can always ask the editor/chair of a conference, it is better to act before than apologize and self-destruct later.

More ethics, if you get accepted to a conference, attend the conference, commit! Why not go?! People are there to hear you presenting it, because you did it, it's your precious work. And a better reason, conferences depend on attendances financially. If you cannot attend because of the government does not allow you to go (which is the only excuse from stopping you to go according to Rushmeier), as a last resort, find somebody that can present it as good and also attend...

Journals


Benefit: You don't have to go somewhere, yay!
But: there is no deadline.. The review cycle can be so slow, taking years...

How to decide that it is a good journal?
ISI Journal Impact Factor: nb of citations in year n to articles published in year n-1 and n-2, divided by total articles published in that year. (I believe my note-taking pace was not comparable to Prof. Rushmeier's speaking speed, so please don't believe me in this calculation). There is also H factors, Elsevier journals are good, and again you have to know your particular area.

The outcomes of journals are also a bit flexible, because of not having a publication/camera-ready deadline. As I said, there is a conditionally accept case for conferences, however for journals it is accept/reject/revision(major/minor). And guess what, since the authors are always expected to be capable of improving it, the accept never happens at the first time, perfectly. Minor revision means "probably accept it if you do these revisions", where major revision means "we didn't get your idea, but if you do these and these, maybe there is a cool thing behind your project?", and unfortunately reject means "No! Get out! Never ever come with the same paper again!", because revisions are so normal.

And the same review processes, probably double blind, which avoids bias and prejudices. However don't destroy your paper to make it totally totally anonymous. Thinking of which, who are those reviewers that we are so afraid of!! Yes, it might be you, me, the prof next door.. and also, the people you mention in the prev work gives an idea of whom to expect! (..if they are alive).
As many others, I was wondering how some reviewer minds are working, and here is their point of view. They look for your main contribution, what you are telling people that they do not already know, what solid evidence you have that shows it is valid. They also need to be given good reasons for both strengths and weaknesses of your work. So look for the good stuff. If it is a good paper, be explicit about that, people need positive comments, positive things about why it is important and good, don't be shy or humble, defend your years-old project!

Lastly, some more ethics: if you have conflict of interest with a paper, always turn it back, don't review. And yes, your best friend, or best colleague that you work on the same project, and your aunt are conflicts... And if you are reviewing it FOR someone, make sure that you get the credit you deserve about reviewing, on the list of reviewers for the conference.

Up to know, it is the first portion about the how/where/when/what to publish, based on the ghc13 talk of Holly Rushmeier and Jaime Teevan. In the second part, I will continue with the part-by-part analysis of an ideal paper. Stay tuned! I broke the post into two, because I know you have a paper deadline tonight and you need procrastination material... Right? :)

Somebody is watching where you look at...

Yet another technical but interesting talk at ghc13 today was about integrating eye direction to augmented reality applications. The presenter was Ann McNamara, from Texas A&M University, and she was well-communicating with the full-room of her audience.

Thinking of the existence of the term "Augmented Reality", it was told to be first used by engineers at Boeing in1990s, for the projections of other things on real world objects. But it's not until mid-90s that AR apps started to appear on smart phones and become popular.

As the popularity of smart phones and hand-held devices started to increase, it seems clever to exploit those in AR applications. Such as cameras and screens on smart phones that combine real world and virtual world by overlaying virtual elements. Or what's better, using the GPS info and a bit of image recognition, the real-world is better integrated with the virtual one.. (or vice-versa? :) )

Ok now the real task: you want to overlay elements that are related to the real world, but they have to be placed in the vaccinity of the real work objects, so the placement really matters in terms of reality of the application, which is quite challenging.

As an example, one of the first AR applications is Volkswagen XL1 and Meraio, which uses a phone or a tablet. The user looks through the device to the car, and sees the additional information on how to provide maintenance on the car, or how to place some parts, or the age of a part, etc. Which is quite useful for maintenance and engineering. As another example, panorama in an unfamiliar environment with all the virtual info that is overlaid on the view, i.e. you see the comments about the restaurant on your right, or the timetable for the buses on the nearest bus stop, or the weather about this new neighborhood you just moved in, etc.

But the problem is, how can you see around, important items, and all of their properties, and ratings and comments and... wow, that is too much for the size of your mobile devices, right? If they put all of them at once in that little screen, we would have highly overpopulated screens! And what about when we place the device closer to the object, it should get bigger, but sorry, the amount of visualizations are not getting smaller... Also, in a real scene, it is always the case that many objects occlude each other.. How to overcome all?

By view management!

Which ensures that there will be no overlap, no obscuring each other and will aid scene navigation. So how to manage a view, one of the most cleverest responses: the view is where we look! Nowhere else, so where are we looking? Or do we see where we look, is the better question.


The whole clever purpose of this project is to direct and/or benefit visual attention in mobile devices. Incorporating eye tracking into AR techniques and present labels or visual information where the visual attention is detected, where the user is looking is the cool part that would change the approach HCI techniques to not just focus on gestures, or hands, or body; but also eyes are of equal or more importance. Anyone remembers the movie called Minority Report? I know, most of the technological enhancements use the same old cliche example, but wouldn't it be cool to have the actually-not-so-smart-phone to interpret you better by just looking into your eyes? Not on a mobile device, but I have tried a couple of eye-tracking application in previous Siggraph's, and I can see that it is a promising technology if it is well-exploited.

So how they exploited that approach is using visual clutters based on optical flow or pixel flow and
looking at eye tracking to find where to place visual information. Speaking of which, eye tracking works by using infra red lights, and uses image processing for detecting the texture pupil for calculating the gaze and eye position. Then a heat map for gazes is extracted: imagine we are all Cyclops of X-men, but without glasses! The heat map shows our accumulated "burns" on an image:) So when you are placing important information, or labels, or something-to-be-seen, you wouldn't want to put them on cold places.

There also some other questions that are researched, as how to associate locations with the places that are more examined, or how to change labels without making the transition apparent, or how to put all that technology into mobile devices. One answer is the structure sensor: a device you attach to the mobile device and you can scan around! And another one is directing attention. Instead of detecting attention and going to those important places, you direct the attention to the places that want to be looked.

The researcher choose a very-well suited and also enjoyable input for evaluating attention direction: episodic paintings! Yes, I am not an art major either, and this talk was my first time to hear about such paintings too. Episodic paintings are actually some old videos, in one frame :) Ancient artists didn't know how to record, so they merged it with art and explained a timeline in only one painting. The frames are not divided, and they painted all the episodes on one panel, so you should observe the painting and read its episodes from just one frame! Of course, for the historical art people, it is easy to read (or watch?) these paintings and see the whole timeline. However for me, and for most of you, it is just one painting with some irrelevant repetitions :)

The reason why we went that deep into episodic paintings is, the user study conducted in this research help out-of-domain people to read those paintings, by subtle gaze direction. Remember directing attention? Subtle gaze direction is unconscious gaze redirection, in other words, making people look to some specific point without actually making them aware of where they are looking! Creepy but... cool. So obviously, putting a red arrow for some point in the picture is not what they are trying to accomplish:)

The human visual system (HVS) is a wonderland, hopefully I can blog about all those working mechanisms about mach-band effect, illusions, differencing logic, cons and rod, etc... Ann also benefits from this system, and uses the motion to make somebody look somewhere. Because the peripheral vision of HVS is more responsive to the motion. They put a little bit motion effect to some part of the painting, and wow, all the heat map changes, that spot is on fire :) They applied gaze direction to episodic paintings in a conference in 2012, and the user group with gaze direction was far more successful in reading the paintings in a correct order! There are also other techniques to direct gazes, like dodging a spot, blurring or changing contrast. But they are mainly used in videos, not static images, which is logical because the video already has motion, but the image does not.

She also showed some preliminary results on heat maps, before and after the attention is directed, and the results show that we see before we look but we also look where we see :) Which is as complicated as expected from our complex nerves, right?

I hope we will see the real world applications out of this starting project and our mobile devices will be looking at where we are looking at, to ease our communication with the digital world.

Thursday, October 3, 2013

Hello World!

After all the tiring questioning and area-spesific blogging experience, now it my time to open a real, hopefully living, blog!

I would like to give all the credits to #ghc13 (Grace Hopper Celebration of Woman in Computing), to encourage me to open a tech/social/english/like-all-geek-girls-have blog. And here we are...

After this brief introduction, I want to let you know that if I sound boring, then imagine me bored when I was writing what you just read... That's why this blog will try to show different/new/creative/enjoyable and FROM US perspectives! Hopefully, with all the smiling women around me now, I can accomplish that for the next couple of days, because guess what? I AM WRITING THIS FROM GRACE HOPPER :) And it is an honor to write this first article from the most encouraging conference ever.

Now, let's get going! For this week I will be mostly sharing my experiences from GHC, however after that I'll be here with many tech news, social aspects of such news and other experiences and voices from anywhere in the world!

Thanks to everyone whose voice will be heard from this blog,
and thanks to everyone who will feel that their voice is shared from this blog,
via... ME :)