Tuesday, September 13, 2011

What's the big deal with women in Computer Science?

As I sit here at my friend's windowsill staring out at Ithaca Commons, I realized that I haven't posted to the blog in quite a while. It's not that I don't have thousands of ideas in my head waiting to be written down, but rather that the past month has been difficult for me to overcome, very difficult. Looking back on it I feel that I just wasted away that time, but now I'm back and I have many plans for the future. First, however, I'd like to address the issue I've raised in this post title: so, what's the big deal about women in CS anyways?

At its inception, Computer Science wasn't the "man" thing to do. In fact there were many prominent women figures in the early days working alongside men. If you don't believe me, check this site out http://www.cs.bris.ac.uk/admissions/what_is_cs/FamousWomen.html (admittedly, some of the women on this site are more recent additions to our circle, but nonetheless they are amazing). As I continued the unfortunate month slump, I began to wonder why we were so desperate for more women in CS. I'd like to clarify before delving further into the matter: I am not against women in Computer Science or engineering, in fact I am an active member in Association of Computer Science Undergraduates promoting women in these fields.

On that note, I would like to point out that Computer Science consists of problem solving and mathematics, not exclusively but definitely as a basis of understanding. If encouraging women to do CS at an earlier age is such an urgency, then why don't we teach them the basics as well: math, programming, logic, etc? Why is it that we've constrained ourselves to encouraging one subject when there are many parts to a Computer Science education? In my former involvement in college programs like the Society of Women Engineers, I kept hearing that women didn't understand that CS was more than just about programming in a dark corner of the room (though this is also valid). So then, why don't we show instead of tell?

I guess I'm just saying that if getting women into the CS field is a priority, then let's do it the right way, not just the half-hearted attempt we're giving right now. Let's get women (and men) to see what computer science is really about and encourage young people to involve themselves in technological development.

Until another time,
Nohemi

Tuesday, August 16, 2011

Reflections

After working with GNOME shell for the past few weeks, I feel that I have grown so much as a programmer. From the technical details of algorithmic complexity (which I always tried to take into account when writing the code) to the ability to find code snippets and examples that guide you, I have learned so much. The finished product will be pushed in the next release of GNOME (3.2 release), so as I take this next step in pursuit of improving my programming skills I want to thank you all for the support and I hope you enjoy my contribution to the field.
Remember, if you find any kinks with the work report them to GNOME bugzilla. I'll be posting some more soon on my thoughts about the computer science field, so stay in touch.

Friday, August 5, 2011

So much to do, so little time

Well, my time here with GNOME is coming to a close. This, of course, doesn't mean I won't be contributing to future projects (or maybe even enhancing this one), but it does mean college is on the horizon and my time will be greatly limited by it.
Over the past few weeks, I've been working more on the backbone of the project to write a Gtk module in Vala for the onscreen positioning code. Everyone expects the keyboard to just pop up whenever they click into an input box, and so that's what I've been trying to deliver.
At this point, I've gotten it to where the GdkWindow determines the position of the box and a focus event handler (this one was thanks to Dan) figures out when the focus changes from the entry to a non-entry box. I've also used a global connection within the GNOME shell to tell me when focuses change within the shell.

What does this mean exactly?


Click on the search bar and the keyboard will pop up.


Then just start typing your entry.



Once you're done, click away from the search bar and the keyboard disappears. Well, that's all there is for now.

Until next week,
Nohemi

Tuesday, July 26, 2011

Coming to the End...

Over the past week I have submitted a ton of little patches here and there that are really making the keyboard come to life. I have really been all over the place, from removing warning messages in the GNOME shell output due to the keyboard to redesigning the hide/show feature and message tray. I am amazed to see how much the keyboard has grown over the summer and also to see how much code has been generated (not all of it going into the final design, of course).
Here's another example of the keyboard at use (here I'm chatting with my mom):


Until next time,
Nohemi

Monday, July 18, 2011

A video capture

I have made a video! Sorry for the stumble at the end, I didn't want it to be highlighted. Well, here it is:

And here is positioning:


For a preview video thanks to Ray (halfline) look at:

In order to do a video capture with GNOME shell just press CTRL + ALT + SHIFT + R. A little red button will appear on the bottom of your screen while you're recording. Press CTRL+ALT+SHIFT+R again to stop the recording. A file named shell-[date]-[#] will appear in your home directory in webm format.

If you'd like to upload your own video or link to youtube please feel free to do so and paste the link here for others to see :)

Saturday, July 16, 2011

Test it Out!

For those people that have asked how to test out the keyboard, I have good news for you: the keyboard has been pushed to the GNOME shell master branch! You just have to pull the latest updates and then a11y menu -> Screen Keyboard -> ON. If you want to check out my latest updates, it is available at https://github.com/nohemi/GNOME-OnScreen-Keyboard.

Some known issues (from my branch on github) include:
  • Layout positioning (I may add more buttons later)
  • Message tray icon in keyboard not grayed in overview (the design is that it shouldn't be enabled in the overview).
  • Message tray hiding is choppy.  
  • Floating mode is currently broken, should default to stuck-to-bottom keyboard.

To enable Caribou positioning: Do Alt+F2 then in box type "env GTK_IM_MODULE=caribou"


Some of the more recent things I've fixed are the alignment of the keys within the keyboard layout (yes, they are now aligned!), hiding the message tray behind the keyboard, and redesigning the stuck-to-bottom keyboard.

Once I get home I'll see if I can do a video capture to better illustrate the functionality of the keyboard at the moment :) Also, I'd appreciate feedback (ie. bugs in the key/keyboard functions), but please keep in mind that I am not responsible for generating design ideas for the keyboard. This means that if you have design ideas talk to the GNOME shell designers (I can't guarantee they'll trickle down to me though).

I'll be on my flight soon, so see you later!

Wednesday, July 6, 2011

On a week of travel

Hello,
This is a late update on the keyboard progress. I've been traveling because of fourth of July weekend, but having settled down a bit today I'll report. Last week I fixed the positioning code, so depending where you type on the screen the keyboard will place itself correctly. Unfortunately, it's so good at hiding right now that the minute the focus is removed from the input device to take a screen shot it goes away :(. So, you'll just have to trust me for now that it moves above the input device if on the bottom half of the screen and vice versa for the top.
Since, Dan had to present the keyboard I also spend a good time cleaning up the general look/functionality of the keys. If you press Ctrl/Alt key by accident now, you can just click again to "release" the key. I also fixed the message tray button, so that it properly shows/hides the message tray when clicked (this deactivates the "hot corner"). Other than that I had some Caribou patches rebased and sent, so that everyone can have this functionality. Although today I did some rebasing with Caribou master, since it had been a while since my last update. Updates can be a little overwhelming at times, but thanks to abstractions (yay!) I only need to change a couple more things to get the keyboard back to where it was.
  
For those of you that pointed out the flaws in the fullscale layout, here is what I have updated to. Still need some work with it, since Caribou made an alignment change, but the buttons are mostly all in the right places now :)

Enjoy the rest of your holiday week!
Nohemi