The past few days, I was not lucky with my electronic devices. My laptop and my cellphone both crashed and I was trying to do what I wouldn’t do if I had them. Most of all, the things I think about in the evening are so funny and I want to share it with you. I like watching science fiction movies. Specially if it is challening my imagination, but this time I created my own imagination and thought it might be good to bring it to you.
This is not a time machine, a machine which takes you back or to the future and show you what happened or what will happen. some people were looking forward to the realization of time machine if the particle said to travel faster than light was real. But, this is a virtual reality. Say, it starts from the idea of evolution, ‘survival of the fitest’. We were told that human beings evolved and changed to who we are now from our ansestors. Other animals are extinct because they can’t cope up with the changing environment. We know that parts of our organs grow/shrink depending on their function. What if the earth evolves and try to resist global warming? what if it tries to destroy our technological innovations in trying to protect itself? It’s a plant that arrives to rescue the earth. We may also say it is from religious perspective. Just like what happened when people tried to build the tower of Babel.
We are where we are now, with all our intelligence and creativity, but nothing to support it. No communication, no transportation, no electronic devices,and all the technology we can think of are not there. We have buildings with no working lifts, we have roads with no working cars, airports with no functional airplans, our cellphones are not working…. We have a new earth, with all the vegitations as they are and natural resources untouched. Everybody is in a rush to do what they know it existed back then but not working now.
All we have as a reference are the printed books in the library.No google to search for what we want, no wikipedia to check for something or facebook to see our friends who got engaged or divorsed. We have to do all the dirty integration and derivation by hand to get the results, we should mold the metals just like what our ansestors did. I am thinking of the developers and computer technicians. we have no visual studio, no eclipse or netbeans to use or the fancy high level language compilers or interpreters, no database servers or operating systems. We have to start from zero. The world is a level playing ground interms of existing IT infrastructure. The meeting continues…
First speaker: we have to make sure that the rest of the world is also facing the same challenge. who knows, they might not faced the attack. we have to wait till they come here for some time. We might get back our communication infrastructure back and we build up the rest. I belive that communication is the key.
Second speaker: In my opinion, the issue is global. Even though we can’t be sure of what chemical the plant released to distroy the chips, we are sure that it is the reaction with the silicon atom that resulted in this distraction. We have to try to find out the reaction and try to reverse it back. We have to give priority for that.
Third speaker: We have to accept that we are back to where we started civilization and start all over again from industrial production. We have to start reconstructing our basic tools and repeat what we did before. It is clear that we will be reach in the same state faster than the previous cycle.
It is your turn to speak what you feel. Where should we start building our world? Can we build it from scratch? Is it a challenge or an opportunity?
The original saying was from Pablo Picasso, one of the greatest artists. To be honest, I don’t know his story and how he said that. I am not going to talk about art. Steve Jobs, also said the same thing refering to Picasso. He said on an interview ‘We have always been shameless about stealing great ideas.’ Well, he actually said an opposit thing on a patent issue with Htc as ‘competitors should create their own original technology, not steal ours’. Most technological inovations are inspired by either natural things or existing ones or combining some of it. We have heard a lot of countries grew through copying other countries technology and making it to the best of their people, marketing it with another brand and finally creating their own.
I was listening to dotnet rocks podcase and the interview was with a guy who moved from Microsoft to google. One of the question they asked him was ‘do you think Microsoft can learn something from google?’ Well, in my opinion, they do have something to learn. However, I am not going to talk about Microsoft or google as a company. There is something clear that I have noticed this month as Google brought lots of its engineers to Ethiopia, which I haven’t seen from Microsoft. It shows the difference in ways of how they see the market here or anyother reason. What I noticed attending the event was, most people working on Microsoft technologies were there to see if there is something they can learn from google or may be switch.
I started my professional software development with dot net. I loved it the first time I saw it and I promised it we’ll be friends forever 🙂 The first time I saw C#, I was trying to see what the story behind is and almost all say it has it’s inspirations from java beside the others. The more I stay with C# and tried to solve problems with it, there comes other challenges which have solutions in other languages/ frameworks. As dot net framework gets enahanced to versions 2.0, 3.0, 3.5, 4.0 and now 4.5 I have seen lots of progress both from Microsoft itself and from the open source contributors. That doesn’t mean other languages or frameworks don’t have problems. There are lots of new things which are new to dot net but not in others.
If we see the world of cellphones, we notice the same kind of scenario- another world of copying and stealing. Android, ios, windows phone come from three different companies with their own brand but clearly enough one copying the other, but not an exact one. The cloud services and tablets are also another world. Social networking sites, facebook, myspace, google plus and all revolve around the same concept but with different approach. When I talked about open data and the experience other countries have, well that is copying. There are lots of similar things to take from, including the work culture, not only the ‘valentines day’ culture only as we saw yesterday 🙂
I think we have to be good artists first and copy the experience of other countries to bring change in the community, the experience of other companies to bring change to ours and that of other people to ourselves. There is a saying, it is enough for a student if he is good as his teacher ( this is not the exact sentence but the meaning as i understand it). If we do this, we are equal to our teacher. Then comes the idea of adding our own experience, inovation to what we built. This might look like it discourages creativity and being unique. I know this doesn’t work for all genius people out there who can create things out of nothing. That is an exception.
It has been more than a month since second part of the project is out. Unfortunately I was unable to continue to the third part as planned due to lots of reasons. In this part I will try to cover one tool that is essential for the project. It is a hosted service called Trello. It is a collaboration tool that organizes a project in a board. The screenshot here shows a view of the board of WeStand. It is not a complete board with all the list of things to do though.
I know that everyone that have heard about the project have an idea of what it should consist of, what features it should have and what it looks like. Lots of ideas help in making it better, even though it is sometimes difficult to decide which one to take. So whenever you read about the project and you feel there is a feature that needs to be added, please send an email and we will incorporate it. If you are a developer and would like to take part, please send me your email and I will add you to the members list of the board. The board is like a physical board inside an agile team’s office, where you have list of stories that are going to be included in the project. Let me first try to describe what the physical board looks like and what the function is:
There are different roles in the team. The product owner is the one responsible to list and prioritize features and user stories of the project. A user story can be in this case member registration. The product owner comes up with list of such functionality and prioritize them based on the importance of the feature. These stories will be written on a sticky paper and will be posted on the board. This is not strict thing to follow but this is what is done most of the time. So, the team of developers along with the product owner and the scrum master ( a role assigned to a person leading all the people in the team) have a meeting and move the cards based on their priority and status of the feature. Some companies do this using Excel.
The Trello board is a similar tool but hosted online and the stories are written on cards. You can add different status of the project, Done, doing, to do etc and categorize the cards. The best feature here is that, you can color code the cards based on the type of feature ( for example errors, service … ) , add detailed activities which can be checked showing the progress, assign the member who will take care of the coding and so on. It also has notification features when one moves a card, add comments and so on. Members can add cards which they feel is important or add functionality. If you are interested in taking part on the project, please send me an email or comment on this thread so that I can add you as a member on the trello board and also on github. .. To be continued.
We are on page 19 of 365 days of 2012 and I never said anything in this year, but some thing forced me to pause all the things I was working on and write about it; SOPA- Stop Online Piracy Act, introduced in October 2011. The full title of the bill says “To promote prosperity, creativity, entrepreneurship, and innovation by combating the theft of U.S. property, and for other purposes.” The picture is taken one year ago on this day, today is Ethiopian Epiphany. I had to post my own pictures so that I won’t be against copyright laws 🙂 Yesterday, most sites had a ribbon like the one I had here, on the right top corner. It was a protest against SOPA, many people who created parts of the internet and its protocol, companies which we know and use every day are all against it. One of the well known online source of information wikipedia was black the whole day, google has covered its logo with black and many others. First I had no idea how it really works and how it is going to affect me and the developing countries.
Where I live, Ethiopia, it’s been few years since the artists came out and we heard them talk about copyright. Few years back, it was common to see copied CD’s and cassette of any album or a movie. However recently we see that there is somehow a control to a degree of copies of local intellectual properties. If SOPA was a sort of such a law in the US, I wouldn’t mind if they have it or not as long as I am here. I get the latest movies and albums before my friends living in the US and no one asks me. But it was all a different perspective which affect the way I live now, either the positive way or the negative. I saw lots of videos and blogs describing it and I thought I have to show my perspectives. The one blog that took my attention is the one I saw on tech-crunch, it says ‘Please censor the Web America, the rest of us can’t wait‘. Thank God we are five days behind January 24th, the day they vote on it, I can simply link to other sites without worrying about copyright 🙂 The writer seams to be happy about the bill as it encourages start-ups to move to other countries like Europe and build their company there.
There are hundreds and thousands of start-ups coming in to the growing IT industry. If we look at most of them, they are centered around a concept of building content; a content built by the community they serve. Keeping aside the new entrants, Youtube, Wikipedia, Facebook, twitter etc collect content from the public and the community wants to share the content with their friends and family. If one of these has content that one has copyright on that content, or they have a link to the site that hosts the content (assuming it is outside the US), or they facilitate any of the service of such site, then they’ll be the targets. The funnies part is, if it is found to be false, they don’t have the right to sue back the company that claims to have the copyright. IMHO, almost all start-ups coming to the business relay on one of the above services and they expect their user to build the content and that is common. Imagine the level of control that it requires to monitor all the content coming in to your service to filter a copyrighted material!
Well, to be honest more than 80% of the software we use in our daily life … we know where we get them now. As a software developer, I know the amount of time, effort … spent of one software and I don’t agree in just copying it for 15 birr and using it, but until the time comes for our community to understand the value of what we do and raise awareness… I’d say let it be. I bet we all agree that there is a minimum effect on the society if we don’t get the latest movies or music, so I don’t want to talk about that. Part of me tells me that this might be a good opportunity for African start-ups to come on stage and serve their community, until an African version of SOPA comes and takes them down. Sometimes I think there will be a solution to this. I hope you have your own perspective of the effect on our society, and please share it with me and the others. Expecting the best will come than what we all expect if this happens.
It has been more than a month since I had a post on this blog. I was trying to do at least some part of the ‘WeStand!’ features and come back, however things were not in favor of my plan. I am still working on it and other parallel things. For today I would like to shortly describe what the presentation I had at the GTUG Addis Event last Saturday. I had a presentation on NoSQL databases. The following is a short summary of the presentation:
1. The motivation of NoSQL databases
The discussion was on what drives the NoSQL field and the naming of the ‘NoSQL’. It is a little confusing that ‘NoSQL’ might mean no query. But it is to mean that No RDBMS (Relation Database Management System). Out of the major characteristics of RDBMS (Convenience, multi-user support, Safety, Persistent files, Reliability, Massive scaling and efficiency), NoSQL trades-off some of the features to gain another boost on other features like massive scaling and efficiency.
Pros and cons of No SQL are flexible schema, quick setup (which is a controversial idea), massive scale in the first group and More programming, fewer guarantee in the second group respectively.
2. The second part of the discussion was examples which really require the use of NoSql databases for efficiency and showing that the RDBMS is really abused.
3. The type of NoSQL data stores
There are four types of classes of NoSql
i)MapReduce Framework (optimized for OLAP)
examples include Hadoop (an open source from Google)
ii)Key value stores (for OLTP)
examples include Googles BigTable, Amazons Dynamo …
iii) Document Store
examples include MongoDB, CouchDB and RavenDB (which was the main discussion point)
iV) Graph database
examples include Neo4j, FlockDB
We had other related interesting discussion. Thank You GTUGAddis for inviting me to present. It was a good learning atmosphere.
I had a busy week but managed to do something for my project idea. I was expecting people will be interested in working with me but I didn’t get as many hands as I expect, I could have had many hands if the idea was already in place 🙂 (If we had this kind of collaboration environment to work together). I have done a little bit of coding, which I didn’t push it to github, which I will do as soon as I see interested people who are willing to work on it and I feel it is time to upload it. In this post I want to show what it looks like when finished, forget the beginner layout I put here though.
The picture on the left shows what a visitor of the site sees on opening the first page. Just like anyother social site, it will have a login and for new commers a registration page. From the home page, people can see what is going on in Ethiopia as a highlight. This is like a news feed but an organized one. This is not like news feed reported by a reporter on other news sites. It is a compiled report, it can be a text based statistical report from the database. The people providing the raw data will be those behind the scene technical guys who are responsible for the project or achievement. To be clear at this point, if you have any idea on any part of the concept system, I really appreciate it. I hope you will feel proude of contributing to the system if things go as planned.
After a registered user is logged in or a new commer gets registered, the page you they see is the feed board. The feed board is a list of current issues on a researchs, projects or ideas of interest for the logged in user, which the system understand from the profile of the user. We all know that, we are not open culturally. Thanks to facebook we are now changing, i guess. People feel confortable to update all the information on their profile. Filling ones profile for this system is a basic thing for a user to enjoy the site and stay at least for a while looking around and participating. If that is not so, it will be like Hi5’s friend recommendation 🙂 I am a programmer and would like to hear or can help on software matters. The system should be able to understand my interest. If the my homepage is filled with this kind of interesting ideas from college students doing their project, companies working on software projects in another organization …. if there is a challenging idea that I passed through and would like to help …. that’s what the home page will be filled with.
As I tried to explain the need for the profile information, the profile page is for a registered user to update his/her current information. If one achieved something which might help someother person of the community, let’s put it on our list of achievements and when the time comes, the system will inform us of a person or idea in need of our expertise. Then it is up to you to decide weather you have the time to help or just mute the information. What happens next, with a mock screen is not done yet.
The last part of this post is the project/concept screen. I know there are projects/researchs which are confidencial and should be kept within a closed circle. You will have a means to protect the publicity of the idea but you can still request for help, which lets the professionals to get a read only access of what you have posted, they can’t share it or modify it. I hope this is a point to think about more and you will have an idea how you want it to be, please let me know… I am done for today but still to be continued.
I have been talking for a long time to start doing something. Last time I was talking about an open data initiative where by we make the platform for entering data useful for the public and people contribute and build the data. I discussed the idea with a lot of people I met and the challenge is a lot. This doesn’t mean I left the idea, I am just trying to approach it the other way around. So, in this post and the coming ones, I will try to explain the idea behind the project I am talking about. I have ‘pushed’, that is a term in git, a social coding site to mean to upload a file to the github repository. If you are new to git and github, I will try to explain what I know in this and coming posts. So, let’s get to the core of the idea.
Every day I hear that an Ethiopian living in some part of the world did something, achieved some interesting thing etc and I feel like, what if this person is here in Ethiopia? What if everybody living in other countries out of Ethiopia have a means to contribute his/her idea on projects carried out here? I know there are lots of groups on facebook but I want to have a dedicated and specially tailored system through which people contribute and stand beside their fellow citizens and help each other. So, I stand for my people, you stand for your people, he/she stand for their people … so WeStand for our people. The image in the left side, thanks to Naod, made it to indicate people siting around a virtual table and configure the pieces to make meaningful things.
Enough about the narratives, this post gives initial functionality envisioned by me and only me. What ever your field of study is how ever you want this system to help you do what you want to do for your country, let’s know. We will find a way to incorporate the idea. So, this is a kind of social collaboration work. I don’t know if other people in other part of the world have a culture like us, you know ‘DEBO?’. Specially in the rural parts of the country people help each other in collecting the production of the farm land, building their house and so on. There are also other social things like ‘EKUB’ and ‘EDIR’ which helped the community in many ways. Think of WeStand as an electronic version of these things. Where ever you live, what ever you do, your expertise, if added to what a group of people are doing helps them be more refined. The minimum, it gives another perspective. So what I have in mind right now is:
You will have an account and your account will have a detailed profile of yours, those you want to tell the people. The experiences you have, the projects you worked on and so on. This means, we have a lot of projects to learn from and pick people who have a hands on experience for the problem at hand. I bet there are at least hundreds of civil engineers who are doing their research in different parts of the world who would like to contribute, just in idea nothing more :), to the Abay dam.
On the other end, people who are verified will publish problems of the community that need the attention of ‘WeStand’ members. Our system will be smart enough to pick from the pull of professionals to support and give ways and how to’s. I know this is a very crude overview but you have a grip of what I intend to do. If you are a developer, there is a lot to do. As I said I just pushed to github an empty ASP.net MVC3 application that you can find it here. There is nothing in it to see though, it is just for all of us to have a common starting ground to discuss the architecture and the technologies in it to be used. Please let me know what you think, as I said it requires the idea and participation of any professional. I know that some of my friends from Mekelle University have good understanding of machine learning, this requires your expertise very much.
To be continued…..