Sylvia O. N'guessan
olanys@yahoo.com Professional Resume (pdf) |
Santa Clara University, Santa Clara, California, USA(2008-Current) | Texas A&M University, College Station, Texas, USA(2004-2006) | Minnesotate State University, Mankato, Minnesota, USA(2000-2004) | College International Jean-Mermoz, Abidjan, Cote D'Ivoire(2000-2004) |
Degree:PhD Computer Engineering (Part-Time)
Topic: Human Attention in video encoding Advisor: Dr Nam Ling Expected Graduation Date: December 2015 Papers: Human Attention in Video Coding |
Degree:MS Computer Science
Topic: Generic Programming Advisor: Dr Jaakko Jarvi Graduation Date: December 2006 Papers:Generic Programming in Scala (approved and reviewed by Dr Bjarne Stroustrup) |
Degrees:BS Computer Science, BS Physics, BS Mathematics
Graduation Date: May 2004 |
College International Jean-Mermoz, Abidjan, Cote D'Ivoire(2000-2004) |
Yammer Acquired by Microsoft (2012-2014)
Position:SDE II Microsoft Main Tasks: 1. Implemented UI logic and Async-task logic for Inbox on Yammer Android App (2012) 2. Designed and implemented Yammer Sign Up Flow on Yammer IOS App (Technical Lead) (2012) 3. Re-implemented Contacts List, Contacts scraping, Contacts/Inbox/Groups local search using IOS Core Data on Yammer IOS App (2013) 4. Implemented external messaging, participants labeling logic and message security logic mechanism on both Yammer Android App, Yammer IOS App (Technical Lead) (2013) 5. Refactored the main feed view controller on Yammer IOS App (2013) 6. Architected and Implemented Yammer Android Search (Technical Lead) (2014) Yammer IOS App. Yammer Android App. Yammer Android Search I was the Tech Lead on this project. I architected part of the framework and implemented the UI logic and local search mechanism. Yammer Voice (IOS) (Hack Day 2013) Kristal Pollack and I 'hacked' the Yammer IOS App to make it voice operated. We used the Open Ears API. |
Cisco Systems (2007-2012)
Position:Software Engineer, Cisco Telepresence Business Unit Main Tasks: 1. Wolfvision Document Camera Control: (User Interface, Backend Layer, Device Driver)(Java/C++/Shell Scripting) 2. SelfView Feature: (User Interface, Backend Layer)(Java/C++/Shell Scripting) 3. Icons/Messages Logic: (User Interface, Backend Layer)(Java/C++) 4. Digital Media Player Control: (User Interface, Backend Layer)(Java/C++) 5. Midlet Phone: (Log page, Headset Page, Presentation Pages, Security, Peripheral States)(User Interface, Backend Layer)(Java) 6. Architecting API Layer between Tandberg and Cisco Telepresence units. Self-View feature I implemented the UI behavior and entire backend logic. This feature appears to be simple but I had the following challenges: (1) We had all sort of display/camera combinations (3 camera-1 display, 3camera-3 display, 1 camera-1display); and Self-View had to be supported on all of them. (2) Also the lights had to come on while on SelfView and come off when exiting. Then Self-View had to handle incoming calls (be able to accept and dismiss them).(4) Also we needed the ability to have Self-View and presentation simultaneously. (4) Finally, I needed to implement a mechanism that would keep the Cisco telepresence Units to never be stuck in Self-View/Loopback mode. (5) I had to write all the most-likely test case scenarios for each type of Cisco Telepresence Units; including camera failure. Self-View feature on 1300 (3 cameras 1 display) I designed and implemented the entire UI (midlet) behavior and the backend layer logic. The complexity of this feature came from the fact that each time the user pressed a button (left, right or center), the timer was restarted. Also more complexity arose because the left and right camera were using the presentation port; so Selfview-left or Selfview-right could not allow presentation to show; but Self-View center could. The code had to handle this problem. Later on, after an FPGA upgrade, this issue was gone; one can now have simultaneous Self-View and Presentation. Document Camera I designed and implemented the UI behavior, the entire backend layer and wrote the entire device driver software to get and set the state of the WolfVision document camera. Document Camera control was enabled because they are hooked up to the Cisco Telepresence units with an ethernet cable. The following challenges were met: (1) With older WolfVison models, the communication between the Cisco Units to the document camera itself was via CURL commands. So I unfortunately had to first do a lot of parsing to get the state of the document camera. (2) When the newer models arrived, I had to add support for them and that required writing a TCP-IP mechanism to get and set the state of the document camera. This made the communication Cisco Units-Wolfvision document camera much cleaner and much more reliable. (3) Overall, the complexity of the feature arose from the fact that WolfVison produces multiple models of document camera (VZ-9, Eye-12, VZ-C12 (2 and 3) etc...) and each model may run a particular firmware version. So I had to write the device driver layer to support the 2 versions that Wolfvision had (CURL and TCP/IP approaches) but also make sure that my code could switch communication behavior depending on what type of document camera the system detected. (4) The last challenge is that I had to write a self-discovery mechanism to know when the document camera is plugged or unplugged. Pip Control I designed and implemented the entire UI (midlet) behavior and the backend layer logic. Headset-Control I designed and implemented the entire UI (midlet) behavior and backend layer logic. Icons Logic I designed and implemented some of the backend layer logic and programmed the animation mechanisms. DMP Control I maintained the UI and fully re-implemented the backend layer. The purpose of the DMP (Digital Media Player) is to allow users to view their media channels when the Cisco Telepresence units are idle. The complexity came from the fact that we had to separate the audio control from the video and control them independently. The DMP also needed a state tracking mechanism so that whenever the system went into idle it behaved based on the previous users preferences. The challenge of implementing the feature came from the fact that the DMP would render on the screen video if the display went on standby or stayed on, depending on the type of display that was hooked up. Peripheral Page This page gets the states of all devices attached to the Cisco Telepresence units (cameras, phone, document cameras etc...). Someone had written this page by calling a script and parsing data. I thought that was a very poor approach but I understood the time constraints that we sometimes face. So I cleaned it up, by writing getState methods for each peripherals completely avoiding the horror of calling a script and parsing the data. As a result when the page loads it's always accurate and loads very quickly without crashing the Midlet phone. Logs-Capture feature I designed and implemented the entire UI (midlet) behavior and the backend layer logic. The challenge of this feature came with adding 'percentage completion' animation on the Midlet phone UI. I implemented it in such a way that the UI was pulling the info from a script (I did not have any other choice). It would have been cleaner if we had a mechanism that notified the UI (Observer design pattern), instead of the UI pulling for info and wasting time. But due to time constraint I had to do with what I had. |
Texas A&M CIS Department(Feb-Sept 2006)
Position:Web Developper Main Tasks: 1.Developed Web pages (Coldfusion, Javascript, HTML) and applications 2.Programmed a Text Analyzer, a Categorizer, Password evaluator, Connect-Four Game (Coldfusion, Javascript, HTML) 3.Code Maintenance and reduction |
Minnesota State University Physics Department(2002-2004)
Position:Physics Teaching Assistant Main Tasks: 1.Programmed Least Square Fit Application (Basic) 2.Taught and Graded Physics Labs |
Programming Languages | Web Development | Mobile Apps | Spoken Languages |
1. Java (strong) 2. C++ (good) 3. C (basic) 4. Obj-C (basic) 5. Unix/Linux scripting (basic) 6. Visual Basic (basic) 7. QT (basic) |
1. HTML (good) 2. Javascript (strong) 3. JSP (good) 4. SQL (basic) 5. XML (basic) 6. Flash (basic) 7. CSS (very basic) |
1. Android Development(Android SDK Eclipse) 2.Iphone/Ipad Development(Xcode-Cocoa) |
1. French (native tongue) (very good)) 2. English (very good) 3. Spanish (good) 4. Latin(basic) |
Sample websites... | |||
Where Is Juanita? Texas A&M Project (2006) This project was one of my first in-depth experimentation with the powers of HTML, Javascript, SQL and JSP. I was still a bit clueless that I needed to secure my inputs form from SQL injections. Go ahead, check it out. Look at the source code of each page and create an account login just to play around. The code could have been so much more simplified if I had known better, but now I know better (I think). |
PureEntheogens.com (Solo Project..ongoing)(2008-current) This website is going to be used for my group of fellow aerialists dancers and yoga movers. The goal of the website is to schedule our aerial studio remotely. Admire the Flash animation that I constructed with 52 pngs and lots of adobe Photoshop tweeking! The website site is still under construction so you may not be allowed to log in yet. |
Scheda Agenda (Solo Project..ongoing)(2011-current) Scheda Agenda is a scheduling tool.For the time being I progressively update this website to maintain my programming skills. I am also working on the Android and Iphone app equivalent. It's fun!! Here, I made use of internationalization, I only implemented the XML file in English, Spanish and French (the only languages I can speak). I don't expect to finish it until late 2013 cause I have a PhD to successfully finish first:-). I do have a social life, I just enjoy programming a lot!!! |
AIEC(Father's business website)(2012-current) My father is a former power electrical engineering who owns his own consulting firm. He asked me to do his website for a while but I never had the time. So I dedicated a found a way to squeeze some time to have it completed in less than a month. It's still under construction but will be done within the next 10 days. Essentially the challenge for me was to figure out how to lay out the 20 pages of information he gave me in a well-organized and pleasant-to-look-at website. |
Sample flash objects that I have built... | |||
(2006) This was the very first flash object that I developped. I experimented with masks and animation. No Actionscript was used here. |
(2008) This is more of an artistic flash animation. It took 52 pngs all tweeked using Adobe Photoshop. Actionscript was used to customize the button. |
(2011) This flash animation consited in creating a shine effect on the logo of my personal project. It as the most action script as I had to implement the text and mouseover effects with ActionScript 2.0. Also, if you go the actual website you can observe that intertionalization was done for strings within this flash objects. I had to pass the language type from javascript to this flash object so that the X strings are translated based on the corresponding xml file. |
(2012) This flash animation is very straight forward. It consisted in animating multiple layers. |
Sample QT Demos... | |||
Pipelining Project (Simulation MIPS instructions)(2009)(Computer Architcture) (Santa Clara University)
Download and unzip the folder Pipelining then run the executable PipeliningDemo.exe within the unzipped folder. (Please run executable on Windows.) Sample input could be: add 4 6 7 sub 3 4 8 lw 9 6(7) sub 9 1 8 out mult 4 6 7 beq 4 4 out This was a school project that simulated pipelining in computer architecture with assembly language as input. Send me an email if you want to see the source code. I worked on the entire code. All instructions are located here . |
Skype Simulation (Simulation of Skype Nodes and messaging)(2010)
Download and unzip the folder Skype then run the executable SkypeSimulator.exe within the unzipped folder. (Please run executable on Windows.) This was a personal assignment I was given to test my coding abilities. I worked on the entire code within a week. All instructions are located here . |
||
Sample VB Demos... | |||
Traveling Salesman Project (Traveling Salesman Problem)(2005)(Data Structures and Algorithms) (Texas A&M University)
Download and run the executable a Traveling Salesman Executable This was a class project. I worked on the entire code. I first find the minimum spanning tree to be able to determine an optimal path. This project may have some bugs, but essentially we graphically show an attempt to solve the Traveling Salesman Problem. (Please run executable on Windows.) |
Current Projects | Past Projects |
1.Scheda Agenda (Web, Android, Iphone) (Scheduling Tool) 2.Pure Entheogens/Aerial Addicts (Circus Based Fitness Studio) |
1.Board Game Programming Abalone (Visual Basic) 2.Hypertext Project for simulating the Xanadu system (Javascript and JSP) (Texas A&M University 2005) 3. WHEREISJUANITA (Javascript and JSP) (Texas A&M University 2005). |
Sylvia's Wanderlust (Sample Pictures):
Check out the rest of my photography here |
|||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |