Fork me on GitHub

Wednesday, January 27, 2016

What I have been upto .. Investec ITExplore.



This week(23rd to 24th January) I took part in Investec IT Explore that took place in Sandton, Johannesburg. I was among the 40 participants selected. It was a 12-hour hackathon where we were supposed to make an application that incentivizes children to save money through the youth account  of their clients' children.


View from Investec 

The hackathon

Over the two days we learnt a lot, did a lot and ate a lot too! I was exposed to the banking industry , had interesting conversations arguments with Investec employees over their always formal attire among other things. It debunked most of my myths I had about culture, innovation and working at a bank.


Food!


As for our team we made a game that incorporated panaromic views of cars and houses and trading. It was challenging to put it all together but we had a presentable product in the end. I wish I could say that we won but we didn't. The judges were impressed with our User Interface and our idea though.


Our team
 Investec really spoiled us from the trip, accomodation to the unlimited supply of food to interesting people which made the made the whole experience better. Have a great week ahead!




Saturday, January 16, 2016

What engineering is really about.

From the outside we look really smart. We talk about [insert something nerdy here] without having to google it. We are inventing all sorts of technology that was sci-fi only material. We can explain exactly how [insert a device] works in our sleep. We are after all engineers.


From the inside the view is completely different, as a matter of fact, the opposite. We are not unicorns or superheroes. As a matter of fact if it weren't for Google and StackOverflow we would be utterly hopeless. Here is what typically happens in our typical days
You start a new project, we get really excited about the impact you are going to have... blah ,blah. Then we get a bug, you estimated it will only take five minutes to fix. That cool-little-world-changing application isn't working, at least not as it is expected. Looking at your code you are really convinced that it should be working , except that it doesn't. Not even Stack overflow knows why. So you go get coffee hoping that the break from your desk will refresh your perspective. It doesn't, so you do all sorts of things , watch an episode of [insert your favourite show], browse through 9gag, open 100 tabs on the same topic and forget which one is the useful one and the list goes on. Then it hits you, what if its not your fault? What if the bug is in the operating system,(you become pretty convinced its another Microsoft bug) , what if its in the API's you are calling? What if its in the hardware? What if your code is experiencing stage fright? Then you realize if that were true, it should have been reported a long time ago. Common sense is restored, but then its too late, so you sleep on it, disappointed, hoping to be smarter tomorrow.
And indeed, you wake up with lots of plausible hypotheses, try them until finally the error message changes. Progress! Project cool-little-world-changing application is awesome again, hope is restored. It doesn't even bother you that it took you one day to solve it, you are just too high.


The above scenario is the definition of engineering. An engineer doesn't have all the answers but connects the dots to create. In many cases, you are trying to solve a problem that you let alone don't have a solution to, you don't know if a solution exists. Impostor syndrome will kick in a lot , for obvious reasons.

At the end of day it wont matter, cause a you learnt a lot and you are going to feel like a superhero then laugh at how stupid you had been. You'll be comforted to know that almost every other engineer goes through the same cycle.

Welcome to tech. Stay in tech. We are not super smart intimidating people, we are just up for the challenge and willing to learn ( and a little bit of show-off braggarts).

Thursday, January 7, 2016

#CES2016

Hope you are going strong on your new years’ resolutions.
Here is a fun fact; CES is happening now in Las Vegas from 6th to 9th January. CES stands for Consumer Electronics Show. Its like fashion week for nerds. If you are curious to know the future of technology, you should definitely follow with #CES2016 on twitter.
I got to watch Intel CEO Brian Krzanich's keynote and it’s hilarious. A lot of cool products were unleashed, all powered by Intel Real Sense and Curie (the tiniest CPU I’ve ever seen).Think adrenaline dresses, air guitars, highly intelligent consumer drones and so much.
Watching CES opened my eyes to how technology is already progressing with fashion, music, home-automation, sports, games among other aspects and how it will define this era.
It's also worth noting that Intel reached its 2015 goal for women and minorities to make 40% of their new hires. 
Watch for yourself below.




Or follow this link : https://www.youtube.com/watch?v=K0WEynLsMI0 (Its 1 hour , 40 minutes long)

Tuesday, November 3, 2015

What you might be missing .. #CODEGIRLMOVIE


 If you haven't Code Girl , head over to the video link and WATCH IT!
It is about a competition called Technovation where young girls(primary and secondary school) from all  around the world compete in innovative ideas that solve society issues using technology. There are a lot of lessons to be learnt regarding problem solving, entrepreneurship and business just by watching these girls journey's.  Even if you are not into IT , you will learn a thing or two about  hard work , determination and resilience.
I wont spoil it for you. The video will be available until Thursday 5th November (American time I think) , so don't miss out on this opportunity.

I don't watch movies but made an exception for this one and it was a productive 2 hour study break.

Monday, October 19, 2015

Won Another Award!


This is what my LinkedIn profile reads:



Yes, I love competitions for obvious reasons. In light of this context I will walk you through a competition I have recently participated in, the DyalogAPL competition.
Dyalog APL is similar to other coding contests in that you have to implement an algorithm to achieve a particular solution. It’s different in that you have to implement the solution in a language called APL short for (A Programming Language), why such an obvious name? Because programmers have such a sense of humor. APL is also known to stand for (Array Programming Language) because it is focused on array manipulation. APL is as esoteric as the name sounds.
 APL is written in Greek symbols in a special keyboard and IDE you have to install. By the way, the license is free for educational purposes (students and instructors). The code below returns the length of the array named ‘arr’:



APL is all also about one-liners. Rarely will you need to use loops and for the competition it is discouraged.
This snippet below sums up all the elements in an array.



Read also about APL on my previous blogpost here.
The DyaogAPL competition has two phases, Phase I which is easier than Phase II. Submitting Phase I answers is prerequisite to Phase II. Unlike other coding contests, the questions are released way before the submission deadline (about 2 months).
I won the participatory award which is awarded to the top 20 submissions, check out the winners here. I could have done better, it was challenging to learn this new language while learning 4 others for coursework, but I’m proud I did its. Looking forward to more competition in 2016.


What you missed out on. #GHC15


As you may know, I went to Grace Hopper Conference again this year. As usual I will you feel you in on what happened. Briefly Grace Hopper Conference is a celebration of Women technologists, attendants include mostly women and some men from all corners of the world. I’m not saying this literally, its not uncommon to find yourself in a group represented by all seven continents. #GHCMagic.



A bit of Houston










A bit of Houston




This year the conference took place in Houston, Texas was composed of top notch keynote and plenary speakers I have been yearning to hear from. You must recognize at least 2. These include Sheryl Sandberg, the COO of Facebook, Megan Smith the CTO of America, Isis Anchalee the inventor of #ILookLikeAnEngineer, Hadi Partovi , the founder of code.org, Blake Irving the CEO of Godaddy.com, Susan Wocjicki the CEO of Youtube, Miral Kotb the CEO of ILuminate, Dr.Manuela M. Veloso of robotics.Each of them delivered great content, intellectually stimulating and engaging. After reading the book LeanIn I was impressed to hear Sheryl Sandberg, I was impressed by the fact that she knows her numbers and all her conclusions are data-driven. Miral Kotb wowed the crowd with her dance group – iLuminate – and the fact that the lighting effect as well as precise timing was made with code. Dr. Veloso left everyone imagining the world where robots will be as normal as laptop computers today. Blake Irving elaborated how much tech companies including his are changing to accommodate more women. We don’t exactly associate government with innovation but Megan Smith managed to convince us of how the IT sector in the US government is evolving. Check out all the keynote speeches here.

Sheryl Sandberg
Isis Anchalee
Grace Hopper has the perk of meeting you wouldn’t normally see. I call one of them the “3D Effect”. Its like seeing the 3D version of people you see online. I got to see Nat, one of the founder of Nat and Lo youtube channel, its really cool you should check it out.  I also got to speak to Maria Celeste Medina , the winner of the ABI (Anita Borg Institute) Change Agent Award for Impact in Developing Countries. Closer to home I got to see Google Anita Borg Memorial Scholars Alumni who are spreading their wings including Clara Sigh who was a keynote speaker, Dr. Marily Nika who was a session speaker and many more. Being a Google scholar myself I have big shoes to fill.
With Nat from Nat and Lo
With ABI award winner
In addition to the intellectually stimulating sessions at GHC I attended the sessions on building communities of Women in Technology. There has been a blast of Women in Tech societies such as Women Who Code , Girls who code, Womeng, including college societies. #WomenInTech is very trendy these days. Its important to understand why these communities are important. Sheryl Sandberg pointed out that peer mentoring is very crucial to increasing the number of women in technical and executive positions since it holds one accountable to one’s goals. I got to experience it first hand in the LeanIn session where we – total strangers - got to bond over a couple of activities.  Being the Vice Chairperson of the Women in Computer Science Society at the University of CapeTown, I got lots of ideas and contacts to enrich our society.
UCT was well represented at #GHC15




Grace Hopper is very exciting, every person you meet is open to connecting and has an interesting story. Networking happens everywhere,  in sessions, in the queue, the elevator, the restroom (yap) among others.  I have to admit that I felt the Impostor Syndrome hearing these women’s accomplishments. That’s not a bad thing since it’s enough motivation to follow their footsteps.
In all of the three days, the most recurring theme was that diversity is important. Being a minority in tech, it’s easy to feel lost and impostor syndrome. It is therefore very important to embrace diversity, as Isis Anchalee pointed out “We should have the ability to feel comfortable without hurting anybody, after all we all eat, sleep, love Beyonce and feel emotions” . Sheryl Sandberg pointed out that diverse organizations produce significantly more profits.I recommend Grace Hopper to all women in technical fields, come see kick-ass women excelling not only in their fields but also on the dance floor (see pictures below). If that’s not motivating enough, perhaps unlimited supply of swag will . ;)
Swagg!

#facesintech


PS: The Google Anita Borg Memorial Scholarship EMEA is now open. I urge all girl college students t apply, no matter how unattainable it may seem. You got nothing to lose.

Sunday, July 19, 2015

Functional languages and why I'm obsessed.


I have to admit that I am obsessed with functional languages. It all started when I came across Dyalog APL (short for 'A programming language') after which I decided to take a functional languages module at school where I've learnt Haskell and Scheme, I'm even considering branching to more esoteric languages like j, k and f#.
What are functional languages?As the name suggests, in a nutshell, functional languages are languages which functions are sort of first hand citizens. Everything else from numbers to strings stem from functions and functions can even take functions as arguments and return functions. They have all these cool features not found in traditional languages like Java. or C#. Functional languages are fundamentally different.

They have different syntax ; no the right word is weird.
This right here is meaningful APL code.
And that  is Haskell code.


They are incredibly faster than traditional languages. Fast in terms of both development an run time. The APL code below for example for instance produces a nicely formatted Pascal's triangle in  less than half a second.



Compare to what you would write in Java and how long it would take.  Read here about how development time was significantly reduced with Lisp.

Functional languages also introduce you to new paradigms of thinking. In pure functional languages loops are not allowed because it implies a change of state. Unlike, traditional languages,  you are forced to rethink solutions to recursion or array programming. This way of thinking definitely boosts your problem solving skills.


Functional languages are known for solving complex mathematical problems but are also closer to home than we think.  Daily examples include Excel formulas, SQL and Java Script . Traditional languages have lately started to support functional languages paradigm including C, Python, C++ and C# . If you have ever come across lambdas and higher order functions like map , filter and reduce then you have applied functional programming.   Functional languages are also inherently concurrent something that is crucial to real world applications. There is no doubt that functional programming is now getting the spotlight.

Despite being unpopular the developer's community is absorbing more and more of functional programming into popular languages. Even though we purely functional languages will not be the norm anytime soon, we'll definitely more of it around, and perhaps we might not be able to escape it.