Thursday, May 05, 2016

The butterfly side effect in making later appointments

One of the things I learned in life when dealing with appointments at service centers, specifically Visa Related appointments, is to be there as early as possible.  pick the first appointment possible.

KSA visa appointments with vfstasheel in Egypt starts at 9:00 and is available as 15 minutes slots. The point is,  if you picked 9:00, you should be there 15 minutes earlier which might be too early for some people. However, picking 9:30 appointment doesn't mean you are simply shifting everything for 30 minutes.  You will be subjecting yourself to lots of factors that cause delay in the processing of your paperwork.  you might be actually 1.5 hours later in finishing time.  Picking an appointment at 2:00 pm  might cause you to finish at 7:00 pm or even later.

Shit happens,  and the less early you are,  the more you are to be affected by issues with other people or even issues with the employees themselves.

Best practice,  be as early as possible when it comes to this model of making appointments

Monday, December 21, 2015

Sharing Is Caring

As they always say "Sharing is caring",  However, it struck me that for new generations, specially with those heavily using Facebook, that it might need emphasize on the different meanings that the term sharing started to have.

"Sharing is caring"  means allowing others to use or consume something that belongs to self. usually food or toys among children.

The term has evolved in the modern Facebook sphere. Sharing on Facebook started as actually something similar. You find something nice, you share it with others because you care about those others.

However, when "others" become a mass, things gets different.  You can care about someone but you cannot care about "others",  that's why we call them "others". The caring implied by sharing drifted from those to whom we share,  to the person who is involved in the topic of sharing. Or the voice of original author of something, who will be offered more exposure and outreach by you sharing his posts.

Sharing, in the Facebook world, has lots of meanings, including: contributing into someone's effort to voice his thoughts out to everyone.


Saturday, October 24, 2015

Android Marshmallow highlights

Nearly a couple of weeks ago, I got system update of Android 6, Marshmallow on my Google Nexus 5. Having system updates early is one of the things I like much about  Google Nexus devices.



There are several wonderful things in the new android, but I was eagerly waiting for this update, specifically for the selective permissions module. Lots of android apps use lots of excessive permissions. too much than necessary IMHO. However, let me tell you about how I found things.

One of the things I liked a lot since my last version of android is the launcher app menu,  I used to have to swipe left several times to get to apps with names starting with letters coming late in the alphabet (Z, x, S,  and arabic names).  Android 6 default app menu avoids this horizontal scrolling. and:
1) Uses vertical scrolling which is more natural and usable for users
2) Allows you to search apps, to reach the app quickly by typing a couple of letters form its name
3) The most frequent used apps are listed in the top row, to make them even more reachable


Permissions Revamp. and this is the big thing in this update.  now we can have selective permissions per app.  it is no longer all or none permissions.  Android users have suffered from apps asking for excessive permissions all the time. like this one:
Magic Kinder, is an app that is promoted by the kids candy known as Kinder Joy, the app supposedly have stories and games for kids.  however, I find this too much permissions to ask for:


So, how permissions go in Android 6?
At first,  when you update to 6, all already installed apps will have all permissions they had gained, but you now can list those permissions and revoke them, through settings > apps:



Let me elaborate on the effect of this making use of Instagram app:
Instagram needs access to the camera by nature.  it also needs access to the file system (to let you share from your gallery),  and access to location (to specify photo location on map)
What if i didn't want any of those 2 features?. Actually I want only the camera

So Instagram will ask for further permissions when needed, and I do not have to grant those permission to the app any more




And this is quite good for me, I do not want to share location or post from gallery

TrueCaller is also one of the service I that used to use through the browser, and not the app.  the reason is that I do not want to expose my contacts to any app,  specially if they were being used to build a global directory.. however, i'm ok with sharing information about what number is spam and what is not, and I could also lookup the names of some numbers. But in the end,  that was an application that can never be installed.

Now I have Truecaller installed and handy, without granting it access to the contacts.   the side effect is that it assumes that any calling number is a new number, since it cannot reach the existing contacts to know if it does exist to know before or not. so now, whenever i get a call, I get the name from the phone book.  and the name in true caller directory. not convenient for most end users, but doesn't seem bad to me


Android provides a wonderful way to review the apps utilizing permission on every component of the device.  this allows you to easily review all apps that has access to the camera for example (I noticed that most of apps wanted access to "contacts" although i'm sure i do not need such a thing)






There are other points in Android Marshmallow including performance and battery consumption improvements.  but I will stop at this point



Monday, September 14, 2015

Converting a batch of files of csv format to xls or xlsx

While working with data, we tend to deal a lot with CSV files. It is more efficient and trivial to manipulate csv data either through command line tools or through programming languages like ruby.

However, occasionally we need to convert files to MS Excel format before sending them to 3rd party.
Gnumeric is a wonderful opensource spreadsheet program.  It contains a command line convertion tool called ssconvert that can be used to perform direct conversion among lots of supported formats easily from the command line.

For example, conversion from csv to xlsx can be done via
ssconvert  file.csv file.xlsx
OR
ssconvert  file.csv --export-type=Gnumeric_Excel:xlsx
It can be installed in ubuntu via
apt-get install gnumeric
In order to convert lots of files, I wrote a simple bash script that will process all csv files in the current directory and generate the corresponding xlsx files.  The script came pretty handy in data preparation. I believe i can be helpful to many people

This can be simply downloaded and placed at /usr/local/bin,  and be used directly any where.

Friday, April 03, 2015

Google Adsense Sensitive Categories

According to a note from Google Adsense website,  starting last month, they rolled out new beta inventory of ads that might be bothering to some people, which is "Social Casino Games".

This includes poker, bingo, lotteries among other games.

If you are like me, do not like showing such ads even with the slightest possibility that they could be seen by the ads engine as relevant to some of your content,  you can opt out of them.  Simply by clicking "Allow and block ads" at the top, then choosing "Sensitive Categories", and block the categories you do not like. (see the image below)


Sunday, December 07, 2014

Smarter Egypt Hackathon, Nov 2014

Last weekend, IBM Egypt in cooperation with ITI  and other parties organized a 4 days hackathon in the theme of applying big data technologies to solve national problems in Egypt.


The organizing parties involved:

  • Information Technology Institute (ITI) that hosted the event and highly promoted it, in belief of the value of such activity towards the national development of the country, as well as allowing its students, among others, a chance to refine their skills, gain hands on experience on real world critical problems and a chance to make sounding success stories.
  • IBM, Beside the national target, IBM has ongoing cooperation with ITI. and the event was a good chance to promote IBM Technologies, specially in the national projects domain. possible success stories would have high ROI for IBM.
  • Government representatives from few domains that were target of the hackathon theme. The representatives brought sample amounts of data, and their domain experience about their fields. specifically:
    • Water
    • Agriculture
    • Health
I was a participant in the hackathon. along with the couple of professionals from alexandria, and 4 ITI students.   We called our team "waterfall" and worked on designing a product to make the operations of water network maintenance more efficient reducing the wasted time, effort and downtime. We were the 2nd place winners  AHL.



I would like to elaborate on some notes regarding the event:
  • Tremendous effort and results has been made to organize such event. i'm really thankful to all entities involved
  • While the government entities are usually closed minded when it comes to data. I am glad some were convinced to disclose some of their data. However,  declaring the event to carry "Big Data" theme, while the samples of the data doesn't include more than few thousands (one of the samples in a specific domain was less than 200 records) can be considered a joke.  I'd call it "data" hackathon, rather than "Big Data" one.
  • Although The hackathon was announced about and some resources were posted earlier, more benefit could have been made by replacing the technical sessions in the first day with actual workshops a week ahead or so. at least for students, who needed time to be able to use the technologies proposed.
  • The government can make use of similar activities on a large scale by inviting professional as Entities, as well as  individual. with larger time span in a similar kind of competition (not necessarily on site) and with potential actual projects afterwards.  Of course, companies can make this effort and try to proceed working on proposed solutions for the discussed problems. 

Overall, i'm highly satisfied and enthusiastic with the event. and looking forward for next steps from both the community and interested parties.

Sunday, November 23, 2014

Facebook "Thank you" moments

Few years ago, Facebook launched their "7 years look back" videos. where any Facebook user can go to https://www.facebook.com/lookback  to find a video generated for him, showing highlights over his historical activities and photos, beautifully animated along with a nice background music, and it went viral. everybody like to watch and share his highlights.

Nowadays, something more of that kind is up.  Facebook launched "Thank you" videos. Facebook users can visit https://www.facebook.com/thanks  with a list of friends on the side. Upon selecting a friend, a video will be generated with a wonderful theme and soundtrack showing highlights between you both. with generic thank you words. The content is usually photos where  are you both tagged in, or posts made by one of you where the other is tagged. Of course starting with your spouse by default :)

The wonderful part is that you can go through the list, and see highlights of you and different people. which eventually you would love to share with some of them.   even with those friends with not much interaction. facebook stays abstract and short, instead of making assumptions and looking stupid.  well done at that part.

Try it now https://www.facebook.com/thanks