acetakwas.log(); - nigeria/2016-04-09T15:10:00+01:00After DjangoGirls, What Next?2016-04-08T12:50:00+01:002016-04-09T15:10:00+01:00Tosin Damilare James Animashauntag:None,2016-04-08:/article/what-follows-django-girls.html<p>Post-workshop messsage to participants at a DjangoGirls workshop.</p><p>These are my thoughts to the "girls" who stormed Lagos for Django. But I'd recommend same to any attendee of a DjangoGirls workshop anywhere.</p>
<p><br/>
My recent foray into the social circle of techies has proven to me that growth is often driven by community. Hence, the first advice I'll offer is that you take DjangoGirls back to your city. </p>
<p>The organizer of DjangoGirls Lagos, <a href="https://twitter.com/aishaxbello">Aisha Bello</a> herself only attended this event for the first time about a year ago. Isn't it wonderful that she's been able to put up two of such events within this period? Even though not everyone of you might be able to replicate what she has done, I encourage the few ones among you who can, to endeavour to.</p>
<p>Also endeavour to join communities; create them if they don't exist. For starters, the Nigeria Python Users Group has a <a href="(https://mail.python.org/mailman/listinfo/python-nigeria)">mailing list</a> where you can get updates on the Python community in Nigeria as well as a <a href="http://pythonnigeria.slack.com">Slack community</a> where you can interact with other programmers.</p>
<p><br/>
Did you get the contacts of your mentors? If you didn't, head over to the <a href="https://djangogirls.org/lagos/#coach">DjangoGirls Lagos page</a> and get their Twitter handles. Bug them! Well, don't annoy them, but do not hesitate to ask them questions when you're stuck. They'd be glad to help, I'm sure.</p>
<p>And really, the learning goes both ways. Post-workshop, one of the participants of the workshop showed me an error she had encountered, and I was glad to learn that by tinkering with it, she found her way out of the maze. But that's not all. From seeing her approach, <strong>I picked up new knowledge from it too</strong>.</p>
<p><br/>
This post is meant to give you a quasi-roadmap, which you don't have to follow religiously but keep close enough to consult when you're lost.</p>
<p>So you learnt Python alongside its arguably most popular web-development framework: <a href="https://www.djangoproject.com/">Django</a>; and now you can code the next Facebook (Oh, were you told you could only build blogs with that new super power you picked up?) Now, I think the world has more blogging apps than we can keep track of, don't you think so?</p>
<p>So get creative; I assure you you've gotten past the first and most basic hurdle to creating just about any kind of web app: a social network or an e-commerce platform or something else that's interesting. Think of how important this is in an age when everything is moving to the web. You've definitely gotten a head start!</p>
<p>But you'd need to be prepared to learn new stuff as you go. Don't let that put you off, as those things would be equally exciting. And you don't have to know it all before you begin; you can learn on-the-job.</p>
<p><br/>
Speaking of what you learnt at the workshop, I'm sure you know you were merely introduced to the technologies, not taught comprehensively. In my opinion, you may need to go over <a href="http://tutorial.djangogirls.org/en/">the whole tutorial</a> again; then try to build something different -- like <a href="http://code.tutsplus.com/articles/intro-to-django-building-a-to-do-list--net-2871">a ToDo application</a> -- from the example shown. Afterwards, for some more comprehensive Python tutorial that is hands-on, try <a href="https://www.codecademy.com/learn/python">codecademy</a>. It'll be fun, trust me.</p>
<p>There are several tutorials available as <a href="https://www.mooc-list.com/">MOOCs</a> or video tutorials on web platforms like <a href="https://www.youtube.com/">Youtube</a>, <a href="https://www.edx.org/">Edx</a>, <a href="https://www.udemy.com/">Udemy</a>, <a href="https://www.coursera.org/">Coursera</a>, and <a href="https://www.udacity.com/">Udacity</a> among others. Who knows, you could build the next <em>e-school</em> for Africa. Pick any of these courses, and try to follow along. You don't have to be in a hurry, although you may find yourself skipping stuff you have already learnt.</p>
<p>I'll advise you <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript">pick up some Javascript</a> as you go. I assure you that a mix of skills in these two languages will empower you so well.</p>
<p>I also recommend you put up blog posts as you learn new stuff as if to teach same to others (teaching is a proven way to better learn anything). <a href="https://medium.com/">Medium</a> would be a good place to start, but there are <a href="http://thenextweb.com/businessapps/2013/08/16/best-blogging-services/#gref">several alternatives</a>. You should also read blogs often. Let me mention that Django Girls has a <a href="http://blog.djangogirls.org/">blog</a> you might be interested in checking out and so does <a href="http://www.pyladies.com/blog/">PyLadies</a>. See more interesting <a href="http://pythontips.com/2013/07/31/10-python-blogs-worth-following/">Python blogs here</a></p>
<p><br/>
During the workshop, I told my mentees that Python is a suitable language for such a workshop for three reasons:</p>
<ol>
<li>It's <a href="https://www.quora.com/Is-Python-easy-to-master/answer/Tosin-Damilare-James-Animashaun?srid=zzQ2">easy to learn</a>.</li>
<li>It's platform-independent.</li>
<li>It has a lot of application domains.</li>
</ol>
<p>Take caution not to misinterpret <em>reason-1</em> to mean "easy to <strong>master</strong>" (<a href="https://www.quora.com/Is-Python-easy-to-master/answer/Tosin-Damilare-James-Animashaun?srid=zzQ2">See answer to "Is Python easy to master?"</a>), especially because of <em>reason-3</em>: "Python has a lot of application domains". Be it <a href="http://docs.python-guide.org/en/latest/scenarios/scientific/">scientific</a>, <a href="http://docs.python-guide.org/en/latest/scenarios/admin/">systems administration</a>, <a href="http://www.kdnuggets.com/2015/11/seven-steps-machine-learning-python.html">machine learning/artificial intelligence</a>, <a href="http://ipython-books.github.io/featured-07/">statistical data analysis</a>, <a href="https://wiki.python.org/moin/GameProgramming">game development or scripting</a>, <a href="http://www.gregreda.com/2013/03/03/web-scraping-101-with-python/">web scraping</a>, and <a href="https://www.fullstackpython.com/web-development.html">web development</a>. For those with <a href="https://en.wikipedia.org/wiki/Internet_of_Things">IoT</a> in mind, especially with <a href="https://www.raspberrypi.org/">Raspberry Pi</a> and or <a href="https://www.arduino.cc/">Arduino</a>, Python is readily applicable to those platforms.</p>
<p>So you see there's quite a <a href="http://norvig.com/21-days.html">long way to go</a>, yet with what little knowledge you've gained, you're able to achieve something worthwhile.</p>
<p><br/>
Moving on, you can share your work with others, and work collaboratively. You were introduced to <a href="https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control">version-controlling</a> using <a href="https://en.wikipedia.org/wiki/Git_(software)">Git</a> and <a href="https://github.com/">Github</a>, which are well worth some learning time. You can learn Git through <a href="https://www.codecademy.com/pt-BR/learn/learn-git">this course</a>. Don't worry if you don't get it all at once, I struggled through this too at first. <a href="https://www.youtube.com/watch?v=ZDR433b0HJY">This video</a> by Git evangelist, <a href="http://scottchacon.com/about.html">Scott Chacon</a> also deals a good deal on the subject.</p>
<p><br/>
How much time it'd take to become quite comfortable with all of this would depend on three things:</p>
<ol>
<li>Your interest</li>
<li>Your consistency</li>
<li>Your learning aptitude</li>
</ol>
<p>However, I'd say <a href="http://www.codeconquest.com/programmer-6-months/">6 months should be fine</a>. Within this time you would have learnt enough to kick-start an exciting project. In fact, some people might have gotten halfway with some project in this time.</p>
<p><br/>
<strong>Good luck in your programming journey!</strong></p>The First Python-Nigeria Meetup2016-02-23T13:40:00+01:002016-02-26T12:00:00+01:00Tosin Damilare James Animashauntag:None,2016-02-23:/article/python-nigeria-first-meetup.html<p>Pythonistas in Nigeria came together to discuss the growth of the Python community in Nigeria.</p><p>The members of the <a href="https://mail.python.org/mailman/listinfo/python-nigeria">Python-Nigeria mailing list</a> got together for a maiden edition of meetups geared towards growing the Python community in Nigeria. The meeting had about thirty people in attendance.</p>
<p><center><a href="http://imgur.com/Co6BPKC"><img src="http://i.imgur.com/Co6BPKCl.jpg?1" title="Python-Nigeria Meetup: Olabayo conducting the meeting" /></a></center></p>
<p><br/>
Prior to the meeting, a few members had discussed the purpose and agenda for the meeting in the mailing list.</p>
<p>The mailing list hasn't exactly been interactive as most members often resought to reading the digests without responding. This was one of the issues the meeting sought to address: to encourage members to participate more actively.</p>
<p>The meeting was conducted by <a href="https://twitter.com/olabayo96">Olabayo Onile-Ere</a> the moderator of the mailing list. Olabayo is the co-founder of <a href="https://www.hotelsnperks.com/">Hotels & Perks</a>.</p>
<p>Olabayo welcomed attendees and explained that the goal was for this group to become the driving force for the emerging Python community in Nigeria. He highlighted the need for more people to join the community, and brought up the topic of organizing a Python conference in Nigeria.</p>
<p>Organizer of <a href="https://twitter.com/DjangoGirlsLAG">Django Girls Lagos</a> and <a href="https://djangogirls.org/windhoek/">Django Girls Windhoek</a>, <a href="https://twitter.com/AishaXBello">Aisha Bello</a> was invited to share her opinion having recently attended <a href="http://na.pycon.org/">PyCon Namibia</a> where she delivered a <a href="https://speakerdeck.com/aishab/my-journey-through-python-1">talk</a>. She suggested we first organize a mini Nigerian Python conference to test the waters and sensitize people towards a full blown <strong>PyCon</strong> that would follow. Narrating her experience in Namibia, she noted that the community over there has made efforts to <em>take programming to the uninitiated</em>. Okay more seriously, they teach Python programming to secondary school students in the country.</p>
<p>She also pointed out that there haven't been many PyCons in Africa; the only ones having held in South Africa and Namibia. It was interesting to know that Nigerias' would be the first in West Africa.</p>
<p>There was a consensus; it was just as Aisha had suggested. A committee (made up of volunteers) was then setup to begin planning towards the event.</p>
<p><br/>
Several members had the opportunity to address the audience during the meeting which lasted for over an hour. Notable among those who spoke was <a href="https://dl.dropboxusercontent.com/u/206213543/iChux.html">Chukwudi</a>, a very experienced Python programmer. In his words, <em>"I have been coding in Python everyday since 2004, except when I was sick and couldn't do anything."</em></p>
<p><center><a href="http://imgur.com/TO2IbXE"><img src="http://i.imgur.com/TO2IbXEl.jpg" title="Python-Nigeria Meetup: Chukwudi addressing the audience" /></a></center></p>
<p><br/>
In his 12 years of Python programming, Chuks as he's fondly called, has co-reviewed a Python book and has worked in Ibadan for about 10 years. He now resides in Lagos with his family. He talked about some of the projects he's worked on, including a robot that would stealthily index all <strong>".ng"</strong> domains. He expressed his delight at finally getting to meet and possibly work with others in this Python space. He closed his speech saying,</p>
<p><br/></p>
<blockquote>
<p>"Python is something I code and breathe. It's a lovely language. You are welcome."</p>
</blockquote>
<p><br/>
One short presentation I particularly enjoyed was that of Dipo Odumosu about his work for the <a href="http://www.population.gov.ng/">National Population Commission</a> in collaboration with <a href="http://www.unicef.org/">UNICEF</a>. They have an <a href="http://br.rapidsmsnigeria.org/">application</a> that is used to track birth statistics in all local governments in the country. He described it as a conceptually simple app, but one that sort of has a bit of everything: built with <a href="https://www.djangoproject.com/">Django</a> and <a href="https://www.rapidsms.org/">RapidSMS</a>; a little scientific and a little regular <a href="https://en.wikipedia.org/wiki/Create,_read,_update_and_delete">CRUD</a>; and aggregation is done using <a href="http://pandas.pydata.org/">Pandas</a>.</p>
<p>He also spoke about their recurrent challenge with number crunching on large cumulative data, welcoming suggestions from the audience as to tackling the issue. As we were constrained by time, discussion on the issue will continue in the <a href="https://mail.python.org/mailman/listinfo/python-nigeria">mailing list</a> or the newly setup <a href="https://pythonnigeria.slack.com/">Slack community</a>.</p>
<p><br/>
First year student at <a href="http://www.oauife.edu.ng/">OAU Ife</a>, <a href="https://twitter.com/Olamyy_Fadil">Lekan Wahab</a>, who has been coding since secondary school stepped up to share his campus experience with the house. Explaining how his admission into the university was met with the disappointment of a non-existent programmer community, and how that inspired him to setup one by introducing his colleagues to the Python programming language,</p>
<p><br/></p>
<blockquote>
<p>"Before I got to school, I had this idea that I was going to meet quite a lot of programmers on campus, but I was very disappointed. The only other programmer in my class was a Java coder, and he said when he got to <em>'if'</em>, the stuff got really hard and he just dropped it; he said he wasn't interested in it anymore. Then I took it upon myself to start a club; I started Python Club in OAU."</p>
</blockquote>
<p><br/>
Personally, not only did I find this impressive, but it was even more exciting to learn of the amazing projects Lekan's group had been able to work on; projects including a home automation system built with the <a href="https://www.raspberrypi.org/">Raspberry Pi</a>, <a href="https://www.arduino.cc/">Arduino</a> amd mobile devices, a payment/airtime recharge service and a search engine.</p>
<p>Speaking further, Lekan used the medium to solicit support towards a forthcoming <a href="https://djangogirls.org/">Django Girls</a> workshop organised by his club. The workshop is slated for April at Obafemi Awolowo University, Ile-Ife. <strong>Volunteer mentors/coaches are needed for the workshop.</strong> Kindly <a href="https://djangogirls.org/oau/">visit this link</a> to learn more about the event.</p>
<p><br/></p>
<p>One of the items on the agenda for the evening was to come up with an idea for an open source application that the group would collaboratively work on. Olabayo welcomed interesting ideas from the audience, and these two came up:</p>
<ol>
<li>
<p><a href="https://twitter.com/peterayeni_">Peter Ayeni</a>, founder of <a href="http://www.gigcabal.com/">GigCabal</a>, who came all the way from Abuja suggested that we work on a site analytics/ratings service for Nigerian websites. He likened this with existing platforms like <a href="http://www.alexa.com/">Alexa</a> and <a href="http://www.webalizer.org/">Webalizer</a>.</p>
</li>
<li>
<p><a href="https://twitter.com/Olamilec">Olamilekan Adeniji</a>, creator of <a href="https://vc4a.com/ventures/mergency/">mErgencyNG</a>, explained the idea behind his product and suggested that we work on it collectively. The app will provide a platform for citizens to report crime/suspicions to appropriate agencies or radio corporations.</p>
</li>
</ol>
<p>A poll was conducted, and the house voted in favor of mErgencyNG. It was at this point that Chuks once again spoke and offered to open-source a library he had developed for analysing errors, in an effort to spark some creativity among the Pythonists.</p>
<p><br/>
To encourage members even further, Olabayo read out a recent <a href="https://mail.python.org/pipermail/python-nigeria/2016-February/000068.html">email</a> from <a href="https://twitter.com/naomiceder">Naomi Ceder</a>, the lady who had been moderating the mailing list, until just before the meeting when she passed this duty on to him.</p>
<p>Afterwards, Olabayo designated the task of setting up a Slack community for the group to <a href="https://twitter.com/eEyitemi">Eyitemi Gbejule</a>, which he promptly did. The community is now active at <a href="http://pythonnigeria.slack.com">pythonnigeria.slack.com</a>.</p>
<p>This was it. Thanks were in order (especially to <a href="http://cchubnigeria.com/">CcHub</a> and organizers of Django Girls Lagos). The meeting was over.</p>
<p><br /></p>
<hr />
<p><strong>You can join the <a href="http://pythonnigeria.slack.com">Python-Nigeria Slack community</a> by subscribing to the <a href="https://mail.python.org/mailman/listinfo/python-nigeria">mailing list</a> at:</strong></p>
<div class="highlight"><pre><span></span>https://mail.python.org/mailman/listinfo/python-nigeria
</pre></div>
<p><strong>and by sending an email requesting an invite to:</strong></p>
<div class="highlight"><pre><span></span>python-nigeria@python.org
</pre></div>