Enable Dashboard in OS X El Capitan

So when you start your os you will see no dashboard there don’t panic it is disabled by default.
Just go to System Preference -> Mission Control you will see off beside Dashboard. From the drop down menu you can choose either As Space or As overlay. As Space is the old way to show the dashboard so an extra desktop screen will be added in the left most side. As overlay means it will appear as overlay so you can use either keyboard shortcut or hot corners which you can choose by clicking the button Hot Corners. When you will hover your mouse pointer in the hot corners the dashboard will appear.

Enjoy 🙂

View Animation vs Property Animation in Android

Sometimes we need to animate some view in our application. Here is a sample code for translate a view over x axis from its location.


Button bt;
bt = (Button) findViewById(R.id.bt);
bt.setOnClickListener(this);

TranslateAnimation animation = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 300, Animation.RELATIVE_TO_SELF, Animation.RELATIVE_TO_SELF);
animation.setDuration(1000);
animation.setFillAfter(true);
bt.setAnimation(animation);

But the problem of this code is if you want to click this button after animate you can not, why lets read the documentation from android developer site

disadvantage of the view animation system is that it only modified where the View was drawn, and not the actual View itself. For instance, if you animated a button to move across the screen, the button draws correctly, but the actual location where you can click the button does not change, so you have to implement your own logic to handle this.

more

To solve this issue we will use ObjectAnimator class to animate our view.


ObjectAnimator animXNext = ObjectAnimator.ofFloat(bt, "translationX", Animation.RELATIVE_TO_SELF, 300);
animXNext.setDuration(1000);
animXNext.start();

Now you can click on the button. Enjoy 🙂

The Era of Artificial Intelligence

I recently saw a post from Mark, he announced that Facebook is opening an international research center for artificial intelligence in Paris.

Screen Shot 2015-06-03 at 7.39.09 PM

see more

After that soundHound a popular song identification app company announced about a personal assistant called hound i am excited to see how this goes.

Last year amazon announced echo an intelligent device for your house or home. It can play music, get weather updates and other cool stuffs.

Apple also doing great with their intelligent personal assistant called Siri

What about Google ? we all know about their self driving car project. The software powering Google’s cars is called Google Chauffeur.

Last but not least i really loved the movie Ex machina. I think its not far when we can see this is happening in reality.  So is the “Turing Test” in the verge of failing … ?

Custom EditText with Line Number

Custom Edittext with Line Number

Mou icon

view raw
readme.md
hosted with ❤ by GitHub

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<rupantor.cusedittext.MyEditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</ScrollView>

view raw
main.xml
hosted with ❤ by GitHub

package rupantor.cusedittext;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.util.AttributeSet;
import android.widget.EditText;
/**
* Author S Mahbub Uz Zaman on 5/9/15.
* Lisence Under GPL2
*/
public class MyEditText extends EditText {
private Rect rect;
private Paint paint;
public MyEditText(Context context, AttributeSet attrs) {
super(context, attrs);
rect = new Rect();
paint = new Paint();
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.BLACK);
paint.setTextSize(20);
}
@Override
protected void onDraw(Canvas canvas) {
int baseline = getBaseline();
for (int i = 0; i < getLineCount(); i++) {
canvas.drawText("" + (i+1), rect.left, baseline, paint);
baseline += getLineHeight();
}
super.onDraw(canvas);
}
}

view raw
MyEditText.java
hosted with ❤ by GitHub

How to change Android Studio Keymap (MAC OS X)

It is very difficult for the eclipse users to switch to Android Studio, specially when it comes to keyboard shortcuts. So to solve this issue just follow the following steps.

1. Go to Preference from (cmd + ,)
2. From the left hand find Keymap under IDE settings
3. After selecting the Keymap, you will see in the right hand side a drop down menu under Keymap
4. Select Eclipse (Mac OS X)

And you are done

here are few keyboard shortcuts

1. format code: cmd + shift + f
2. up or down line of codes: alt + up key / down key
3. open resource: cmd + shift + t
4. comment line: cmd + /
5. delete line: cmd + d
6. go to line number: cmd + l
7. last edit line: ctrl + q
8. implement/override methods: cmd + o

If any of the shortcuts is not working you can always edit or add them from the keymap section.

enjoy 🙂

Replace last occurrence of Character in a String using Java

// beta
// Lisence Under GPL2
// Author: S.Mahbub-Uz-Zaman
public static String a = "test,test,test";
public static String replaceWith = " and ";
// using StringBuffer's replace method
public static void replaceLastCommaSB () {
StringBuffer sb = new StringBuffer(a);
sb.replace(a.lastIndexOf(","), a.lastIndexOf(",") + 1, replaceWith);
System.out.println(sb);
}
output: test,test and test
// using String's substring method
public static void replaceLastCommaSS () {
String temp = a.substring(0, a.lastIndexOf(",")) + replaceWith + a.substring(a.lastIndexOf(",") + 1);
System.out.println(temp);
}
output: test,test and test
// regular expression [work on progress]
public static void replaceLastCommaRE () {
String temp = a.replaceFirst(",", replaceWith);
System.out.println(temp);
}
output: test and test,test

view raw
replace.java
hosted with ❤ by GitHub

কেমন করে অ্যান্ড্রয়েড শিখব

আমি প্রায়ই একটি প্রশ্ন দেখি যে “কেমন করে অ্যান্ড্রয়েড শিখব”। তাই আজকে আমার নিজের অভিজ্ঞতা তুলে ধরছি যারা কিনা অ্যান্ড্রয়েড শিখতে চান তাদের জন্য।

শুরুতেই Environment Setup টি করে ফেলুন।

https://developer.android.com/sdk/installing/index.html

২০১২ এর প্রথম দিকে আমি অ্যান্ড্রয়েড শেখা শুরু করি। জাভা ল্যাঙ্গুয়েজ আগে থেকে জানার কারনে অ্যান্ড্রয়েড শেখার ক্ষেত্রে প্রেরণা হিসেবে কাজ করেছিল। আমার প্রথম অ্যাপ ছিল নোটপ্যাড। এই অ্যাপে প্রচুর বাগ ছিল এবং যেহেতু সব কিছুই ইউটিউবের ভিডিও দেখে করা বলতে গেলে কিছু না বুঝেই কাজ গুলা করেছিলাম। আমরা জানি যে অ্যাপ যখন প্রথম বার Eclipse এর মাধমে সাইন করি তখন একটি সার্টিফিকেট তৈরি করতে হয় এবং পাসওয়ার্ড ও এলিয়াস লাগে যা কিনা পরবর্তীতে অ্যাপটিকে আপডেট করতে কাজে আসে । তো আমি নোটপ্যাড অ্যাপের সার্টিফিকেটটি রাখি নাই তাই পরে আর সেটিকে আপডেটও করতে পারি নাই, বুঝতেই পারছেন অবস্থা খুব খারাপ :)। তাই আমার মত অবস্থা যাতে না হয় আপানার প্রতিটি পাবলিশ অ্যাপের জন্য এই তিনটি জিনিস অবশ্যই সংরক্ষণ করবেন। এখানে বলে নেওয়া ভাল অ্যাপের লোগো ও নাম, ভার্সন আপডেটের সময় পরিবর্তন করতে পারবেন কিন্তু প্যাকেজ নামটি আপনি পরিবর্তন করতে পারবেন না। প্যাকেজ নাম পরিবর্তনের জন্য আপনাকে নতুন একটি অ্যাপ বানাতে হবে। তাই অ্যাপের প্যাকেজ নামটি সঠিক ভাবে নির্বাচন করতে হবে।

আমার নিজের শেখার পাশাপাশি ইউনিভারসিটির বড় ভাই তাহিন রহমান উনি একদিন অ্যান্ড্রয়েডর একটি ধারনা দিলেন যার ভিতর ছিল মানিফেস্ট ফাইল, লেআউট ইত্যাদি।

যাইহোক তারপর আমি ও আমার বন্ধু তানজিনা মিলে শুরু করি আমাদের থিসিস প্রজেক্ট যা ছিল অ্যান্ড্রয়েডে বাংলা ও সি আর এর উপর। এর জন্য আমাদেরকে বেশ ভাল মত সময় দিয়ে অ্যান্ড্রয়েড শেখা লাগল কারন আমদের বাংলা ও সি আর এর কাজটি ছিল মোবাইলে প্রথম। আমি এর জন্য নিউবস্টন এর ২০০ ভিডিও সিরিজটা দেখে ফেলি। শুনতে খুব কঠিন মনে হলেও প্রতিটি ভিডিও ১০ মিনিটের মত।

https://www.youtube.com/watch?v=SUOWNXGRc6g

২০১২ তে আমার জানামতে অ্যান্ড্রয়েডের উপর কোন বাংলাদেশী গ্রপ ছিল না তাই স্যার, বড়ভাই, গুগল, স্টাকওবভারফ্লো এইগুলোই ছিল ভরসা। এখন অনেকেই বলতে পারেন যে অ্যান্ড্রয়েডের নিজেস্ব টিউটোরিয়াল কি দোষ করেছে।

http://developer.android.com/index.html

হম কোন দোষ করে নাই। অন্যদের কথা জানি না কিন্তুু আমার কাছে এই সাইটের কন্টেন্ট গুলো বেশ কঠিন লাগত। শেখার জন্য আমি নিচের ২ টি লিঙ্ক দিলাম যা আমি ব্যবহার করতাম।

http://www.mkyong.com/tutorials/android-tutorial
http://www.vogella.com/tutorials/Android/article.html

থিসিস এর কাজের পাশাপাশি অ্যাপের কাজ করতে থাকি রুপান্তর এর জন্য সেটি করতে যেয়ে গুগল প্লে ডেভেলপার কনসোলের ব্যাপারটি আয়ত্তে চলে আসে। গুগল প্লে ডেভেলপার কনসোলের মাধমে আপানদেরকে অ্যান্ড্রয়েড অ্যাপটিকে মার্কেট প্লেসে দিতে হবে।

https://play.google.com/apps/publish

উপরের লিঙ্কটিতে গেলে আপনারা কনসোলটি দেখতে পারবেন, কিন্তু তার আগে আপনাকে ২৫ ডলার খরচ করতে হবে ডেভেলপার অ্যাকান্টটি অ্যাকটিভ করার জন্য (টাকাটি আপনাকে একবারি দিতে হবে)। টাকা দেওয়ার জন্য আপনার থাকতে হবে একটি ইন্টারন্যাশনাল ক্রেডিট কার্ড। আমাকে এই বিষয় সাহায্য করে আমার বন্ধু শহিদ। আপনারা ভাবছেন এ আর এমন কি ঝটপট কিনে ফেলি কিন্তুু না খেলা এখনও বাকি আপনি যদি অ্যাকান্টটি বাংলাদেশ থেকে খুলেন তাহলে পরে আর আপনার অ্যাকান্টটিকে মার্চেন্ট অ্যাকাউন্টে পরিনত করতে পারবেন না। কারন পরে আসছি আগে বলি মার্চেন্ট অ্যাকাউন্ট কেন লাগবে কারন এটি ছাড়া আপনি অ্যান্ড্রয়েড মার্কেট প্লেস অর্থাৎ গুগল প্লে স্টোরে ফ্রি অ্যাপ ছাড়া পেইড অথবা ইন অ্যাপ পারচেজ অ্যাপ দিতে পারবেন না ।

নিচের লিঙ্কটাতে গেলে দেখতে পারবেন যে কোন কোন দেশে গুগুল মার্চেন্ট অ্যাকাউন্ট সাপোর্ট করে, ভাল মত দেখলে দেখা যাবে বাংলাদেশ সাপোর্ট করে না। তাই আপনি যখন আপনার ডেভেলপার অ্যাকাউন্টটি খুলবেন তখন যদি আপনি আপানর জিমেইল অ্যাড্রেস যেটা কিনা বাংলাদেশ থেকে খোলা হয়েছে সেটি ব্যবহার করেন তাহলে বুঝতেই পারছেন পরে আর মার্চেন্ট অ্যাকাউন্টে পরিনত করতে পারবেন না । তাই যে সকল দেশ সাপোর্ট করে সেই সকল দেশ থেকে খোলা মেইল অ্যাড্রেস এবং ঐ দেশের থেকে অ্যাকাউন্টটি খুলতে হবে।

https://support.google.com/googleplay/android-developer/table/3539140?hl=en

আচ্ছা এটাতো গেল যারা নতুন অ্যাকাউন্ট খুলবেন তাদের জন্য। কিন্তুু যারা এই ভুলটি করে ফেলেছেন এবং মার্চেন্ট অ্যাকাউন্ট খুলতেন চান তারা কি বসে থাকবেন। তাদের পুরনো অ্যাপ গুলো কিভাবে নতুন ডেভেলপার অ্যাকাউন্টে নিয়ে আসবেন? এই সমস্যারও সমাধান আছে যা কিনা বিস্তারিত নিচের লিঙ্কটায় বলা হয়েছে।

https://support.google.com/googleplay/android-developer/checklist/3294213

যদি অল্প কথায় বলতে চাই ধরে নিচ্ছি আপানার একটি গুগুল প্লে ডেভেলপার অ্যাকাউন্ট আছে কিন্তুু মার্চেন্ট অ্যাকাউন্ট খুলতে গেলে বলছে যে “your country is not supported”। আচ্ছা এখন আপনাকে গুগুল মার্চেন্ট অ্যাকাউন্ট সাপোর্ট করে এমন কোন দেশ থেকে এবং ঐ দেশ থেকে খোলা মেইল অ্যাড্রেস (মেইল অ্যাড্রেস খোলার সময় যেই কান্ট্রিটি নির্বাচন করেছিলেন সেই দেশটি অবশ্যই সাপোর্টেড কান্ট্রি নেমের ঐ লিস্টের ভিতর থাকতে হবে) দিয়ে আরও একটি ডেভেলপার অ্যাকাউন্ট খুলতে হবে এবং আরও ২৫ খরচ করতে হবে। এরপর মার্চেন্ট অ্যাকাউন্ট অ্যাক্টিভ করতে হবে। তারপর উপরের লিঙ্কের স্টেপ গুলো পরপর করে পুরান অ্যাপ গুলো নতুন ডেভেলপার অ্যাকাউন্টে নিয়ে আসতে হবে। এখানে বলে নেওয়া ভাল আপনি যদি এত ঝামেলা না চান, আপনি যদি চান ফ্রি অ্যাপ গুলো একটি অ্যাকাউন্টে আর পেইড অথবা ইন অ্যাপ পারচেজ অ্যাপ অন্য অ্যাকাউন্টে থাকবে, আপনি সেটাও করতে পারেন। কিন্তুু এই ক্ষেত্রে একটি অ্যাকাউন্টের অ্যাপ সাজেশন অন্য ডেভেলপার অ্যাকাউন্টে দেখাবে না অর্থাৎ More from developer অপশনটিতে নিজ নিজ অ্যাকাউন্টের সাজেশন গুলোই দেখাবে।

আমার এই লেখার পেছনে একটি অন্যতম কারন হল উপরের সব কিছুই আমার অজানা ছিল, যারজন্য অনেক সময় এর পিছনে ব্যয় করতে হয়েছে। তাই যারা নূতন তাদের যেন এই সমস্যা গুলো না হয় তার জন্য।

এস মাহবুব উজ জামান
১৬ অগাস্ট, ২০১৪

Work on progress

Hello everyone.

Today i am gonna talk about my new upcoming projects.

1. oblivion

Well by using the python programme you can determine total lines of any file. The main goal of the project is that, i wanted to know how many lines of code i wrote so far.

#!/usr/bin/env python
# beta
# Lisence Under GPL2
# Author: S.Mahbub-Uz-Zaman
import fnmatch
import os
def count_lines(filePath):
f = open(filePath)
lines = sum(1 for line in f)
f.close()
return lines
def main():
sum = 0
for root, dirnames, filenames in os.walk('.'):
#if root.split(os.path.sep)[-1] == "Dropbox":
#print "dropbox"
#continue
for filename in fnmatch.filter(filenames, '*.java'):
sum += count_lines(os.path.join(root, filename))
print 'whhhhat ',sum
if __name__ == '__main__':
main()

view raw
oblivion.py
hosted with ❤ by GitHub

2. Tech History

I am gonna put small description of tech giants like IBM, Google, Apple etc.

// Compiled by: S.Mahbub-Uz-Zamanm

// https://mahbubzaman.wordpress.com/

# International Business Machines (IBM) (Big Blue)

Founder(s): Thomas J. Watson Charles and Ranlett Flint
Founded: June 16, 1911, Endicott, New York, U.S.

source:
http://en.wikipedia.org/wiki/IBM

# Microsoft

Founder(s): Bill Gates and Paul Allen
Founded: April 4, 1975, Albuquerque, New Mexico, U.S.

Mou icon

It’s the 1970s. At work, we rely on typewriters. If we need to copy a document, we likely use a mimeograph or carbon paper. Few have heard of microcomputers, but two young computer enthusiasts, Bill Gates and Paul Allen, see that personal computing is a path to the future.

In 1975, Gates and Allen form a partnership called Microsoft. Like most start-ups, Microsoft begins small, but has a huge vision—a computer on every desktop and in every home. During the next years, Microsoft begins to change the ways we work.

In June 1980, Gates and Allen hire Gates’ former Harvard classmate Steve Ballmer to help run the company. The next month, IBM approaches Microsoft about a project code-named “Chess.” In response, Microsoft focuses on a new operating system—the software that manages, or runs, the computer hardware and also serves to bridge the gap between the computer hardware and programs, such as a word processor. It’s the foundation on which computer programs can run. They name their new operating system “MS‑DOS.”

When the IBM PC running MS‑DOS ships in 1981, it introduces a whole new language to the general public. Typing “C:” and various cryptic commands gradually becomes part of daily work. People discover the backslash (\) key.

MS‑DOS is effective, but also proves difficult to understand for many people. There has to be a better way to build an operating system.

Geek trivia: MS‑DOS stands for Microsoft Disk Operating System.

source:
http://windows.microsoft.com/en-us/windows/history#T1=era0

# Apple

Founder(s): Steve Jobs, Steve Wozniak, and Ronald Wayne
Founded: April 1, 1976, Cupertino, California

The Apple I personal computer kit, a computer single handedly designed by Wozniak. The kits were hand-built by Wozniak John Sculley became CEO of Apple on April 8, 1983, a position he held until leaving in 1993

source:
http://en.wikipedia.org/wiki/Apple_Inc.
http://en.wikipedia.org/wiki/John_Sculley

# Oracle Corporation

Founder(s): Larry Ellison, Bob Miner, Ed Oates
Founded: June 16, 1977, Santa Clara, California, U.S.

source:
http://en.wikipedia.org/wiki/Oracle_Corporation

# Cisco

Founder(s): Leonard Bosack and Sandy Lerner
Founded: 1984, San Francisco, California, U.S.

source:
http://en.wikipedia.org/wiki/Cisco_Systems

# Paypal

Founder(s): Ken Howery, Max Levchin, Elon Musk, Luke Nosek and Peter Thiel
Founded: June 1998, Palo Alto, California

source:
http://en.wikipedia.org/wiki/PayPal

# Google

Founder(s): Larry Page and Sergey Brin
Founded: September 4, 1998, Menlo Park, California

In 1995 Larry Page and Sergey Brin meet at Stanford. Larry, 22, a U Michigan grad, is considering the school; Sergey, 21, is assigned to show him around.

In 1996 Larry and Sergey begin collaborating on a search engine called BackRub. BackRub operates on Stanford servers for more than a year—eventually taking up too much bandwidth.

In 1997 Google.com is registered as a domain on September 15. The name—a play on the word “googol,” a mathematical term for the number represented by the numeral 1 followed by 100 zeros—reflects Larry and Sergey’s mission to organize a seemingly infinite amount of information on the web.

source:
http://www.google.com/about/company/history/
http://en.wikipedia.org/wiki/Google

Wikipedia

Founder(s): Jimmy Wales, Larry Sanger
Founded: January 15, 2001

source:
http://en.wikipedia.org/wiki/Wikipedia

# Linkedin

Founder(s): Reid Hoffman, Allen Blue, Konstantin Guericke, Eric Ly and Jean-Luc Vaillant
Founded: 2003, Santa Monica, California

source:
http://en.wikipedia.org/wiki/LinkedIn

# Facebook

Founder(s): Mark Zuckerberg, Eduardo Saverin, Andrew McCollum, Dustin Moskovitz and Chris Hughes
Founded: February 4, 2004

source:
http://en.wikipedia.org/wiki/Facebook

# YouTube

Founder(s): Steve Chen, Chad Hurley, and Jawed Karim
Founded: February 14, 2005

source:
http://en.wikipedia.org/wiki/YouTube

# Twitter

Founder(s): Jack Dorsey, Noah Glass, Evan Williams, Edward Cramer and Biz Stone
Founded: March 21, 2006

source:
http://en.wikipedia.org/wiki/Twitter

view raw
tech_history.md
hosted with ❤ by GitHub

Enjoy 🙂