Sabra Seekers

Sabra Seekers

“Write what you know. That should leave you with a lot of free time.”


Post Top Ad

Post Top Ad

Friday, November 23, 2018

How to Innovate to Make A Social Impact?? - HackaDev Learnings part (1) -

November 23, 2018 6
There are plenty of gaps in the world that should be filled with innovative ideas and solutions.As individuals everyone of us witness one or more of the gaps every day. And we can take part to resolve those issues because every simple act by us matters to the sustainability and well being of the entire eco-system.
This article provides you with guidance and direction to engage innovation exactly address the current requirement of the society . Simply it is about design thinking which is the key to innovation.
Initially it should be mentioned that this article is written based on the amazing experience and guidance that was given to us from Hackadev Social Innovation camp 2018; the 5 day residential programme to support our social innovation ideas with international facilitators from Malaysian Global Innovation and Creativity Centre which was held at cinnamon bey, Beruwala ;  organized by  United Nations Development Programme - UNDP Sri Lanka, the Ministry of Telecommunication, Digital Infrastructure and Foreign Employment, Information and Communication Technology Agency of Sri Lanka (ICTA) and the National Youth Services Council
Furthermore hope that this article will help you to recreate social innovation camps and disseminate this knowledge among st the community to encourage them in innovation.
Before entering the innovation process identify friends and enemies of learning; both of your self and your team mates. Friends of learning are the internal features in you (like energetic  nature, imagination, creativity, flexibility and team player capabilities) that supports learning as given in  the image.

The enemies of learning are the internal features of you that pull your leg when you start learning like below.

It is highly recommended to learn while playing throughout this since playing is the best way to learn passionately without getting bored.

Then dive into Design thinking since It is the key to innovation which includes the five steps given below; namely :
  • empathy
  • identify
  • define
  • prototype
  • test
 At  the end of the article you will know how to identify the major problem; define problem statement; identify the most impacting and viable solution and adjust the solution by addressing the feedback obtained through prototyping and testing.

Just follow this procedure whenever you witness a critical issue in the society. 

  1. 1.Empathy
Empathy is all about getting into one's own shoes to experience their perspective in the issue and identify the exact gap and exact requirements by digging into the issue with curiosity. watch this video for more understanding.what is empathy?

    1. a.Identify the "Issue" -  Initially the major issue should be identified. First discuss with the team about how you see this matter personally. Then just google and do some background research. For a example if your issue is "Increase in accidents in Sri Lanka"; just go to motor traffic department's site and obtain other google statistical data to exactly verify whether the accidents have increased and whether it is a issue that should be addressed. A simple and short background research would be enough for this. But always remember the issue is always neutral. Be open; allow change ; consider all facts and come up with decisions. Examples for issue : Increase in accidents in Sri Lanka, Increase in teenage pregnancy in central province Sri Lanka, Increasing polythene bag usage in Sri Lanka etc.
    2. b.Identity stakeholders and their persona - All the people and communities that are connected or impacted by the issue should be identified. Then discuss and note down their personalities in terms of general behaviors and characteristics.For an example if the issue is regarding accidents the stakeholders could be drivers, police, passengers, pedestrians, families of victims etc. 
    3. c.Stakeholder mapping - select major 5-6 stakeholders and make a poster to interpret their persona as identified. And draw arrows to show the connection between stakeholders and mention their relationship on the arrow.Some examples are given in the below images.
      stakeholder mapping
    4. d.Conduct interviews -  first make 3-5 questions to be asked from each stakeholder. make sure to focus on the facts that are needed to be verified.Find stakeholders through your connections or through online. It is recommended to interview even 5 persons from each stakeholder category because then you can obtain the most accurate requirements.
    5. e.Summarize the interview answers - After conducting the interview ; take all the important points obtained from stakeholders in to little sticky notes. Just write every single point separately. mentioning the person who said the point is not needed. 
    6. f.Mix them - to be used in the next phase of identifying requirements.

  1. 2.Identify                                                                            We validated the issue and collected facts and requirements in the above face. Those facts are organized in this phase to finalize the problem statement.

    1. a.Separate them into clusters and give names - The mixed sticky notes should be clustered separately ; the ones with similar kind of facts should go to the same cluster. For a example facts and suggestions about legal aspects should go to one cluster. When considering accident issue; death statistics can go to one cluster. The number of clusters you will get depends on the scope of your issue. In our camp (hackadev camp3) there were cluster numbers ranging from to 35.
    2. b.Identify one major problem from each cluster -  Identify one major problem from each cluster. If you have 10 clusters; now you will have 10 problems.
    3. c.Exclude one by one to get the major problem - now exclude the problems  one by one and obtain the most prominent problem. If you have more than one prominent problems identified you can combine them to obtain the final " problem statement". This is more specific when compared with the issue. This defines the exact problem faced by the society.
    4. d.Make a design challenge statement - This statement is designed to depict the final goal of our innovation. Indeed it says where your journey ends. And will motivate you if you feel like giving up through the innovation process. An example is given below.

      Design Challenge statement
The summary of this phase is depicted in the image below.

  1. 3.Define(IDEATE)

    1. a.Create Solution matrix and collect all the solutions -  create a solution matrix  (stakeholders vs solution category) as below.
      solution matrix
      The stakeholders are the persons that you defined and interviewed in the earlier phases. For a example if you take the accident issue driver is a one stakeholder. Solution categories can be social media, legal aspects , virtual reality, smart devices and many more. Lets take stakeholder 1 = driver and solution category 1= social media. Then write a solution in social media category in the perspective of drivers; on a sticky note and paste on the box of intersection of the two perspectives.  The solution can be a social media platform to encourage drivers to behave ethically on road. Don't think about the impact, difficulty or the possibility of the solution at this stage. This phase should be conducted as given below. In the first round take set of solution categories and stakeholders ; and write solutions on sticky notes and paste on the relavent intersections. Every team member should actively engage. But no one should talk to each other; in order to prevent ones ideas being affected by others opinions. One round can take only 3 minutes. At the end of the round take off the sticky notes and keep aside. Then replace the older stakeholders or solution categories and repeat the process until you complete 5 rounds. Now you have a whole lot of solution
    2. b.Identify most prominent 10 solutions - Inspect them with the team and select the most prominent 10 solutions from all.
    3. c.Arrange them according to priority horizontally - An example depicted in the below image
      according to priority
    4. d.Take difficulty as y axis and move solutions vertically according to impact
      Priority Vs Difficulty
    5. e.Select most viable product - As depicted in the diagram below. section 1 and 2 should be given the last priority. At first stage combine compatible solutions from section 3 and 4 to obtain the most viable solution.
      Selection of MVP
    6. f.Create the business model - write the relavent  people and points on sticky notes and paste on the below business model structure.
      Structure of the business model
always fall in love with the problem not the solution. Always be open to subject your solution to adjustments to suit the situation and requirements.

  1. 4.Prototype

    • a.Create concept poster - It depicts your entire concept. Just doodle and write information about what? why? and how you are going to provide the solution according to the structure given below.
concept poster

    • b.Take all your interfaces on to papers and models - These interfaces totally depend on the type of solution that you are going to provide. Try to come up with more understandable user friendly prototypes to get the best feedback.

  1. 5.Test 
    Just follow the steps below in testing prototypes with customers. This is one of the most important phases because every feedback gives you suggestions to improve a certain aspect in your solution.

    1. a.Initially give basic instructions and remain in silence
    2. b.Let the customers use and give feedback
    3. c.Note suggestions
    4. d.Improve your design according to the feedback
    5. e.Test with a new customer
The more customers you test with, The more you improve.Keep iterating on this procedure to get maximum results before pitching the concept .
Always remember it is totally okay to fail and feel frustrated through out this design thinking process. Just make sure to FAIL FAST! FAIL CHEAP AND FAIL OFTEN! because it will drive you towards success. 
And one last thing we were told that this knowledge has no copyrights; So we shared it with you. You can also share it  with anyone and apply it to any issue you come across.
Lets make the world a better place with sustainable and worthy innovations. 
Cheers to you and your journey!

Read More

Tuesday, January 2, 2018

ලිනක්ස් වල CMD එකේ දාන්න පුලුවන් වැඩ

January 02, 2018 1
ලිනක්ස් කියන්නේ පොඩ්ඩක් ඉගෙන ගන්න අමාරු  OS එකක් උනාට .ඉගෙන ගත්තට පස්සෙ පට්ට ලෙසියෙන් වැඩ කරන්න පුලුවන්  OS එකක් අද මම ඔයාලට කියලා දෙන්න යන්නේ මේ විදිහට ලිනක්ස් වල දාන්න පුලුවන් වැඩ ටිකක් ගැන .

 ඔයාලා ගොඩක් අය දන්නවනේ වින්ඩොස් වල තියෙන COMMAND PROMPT(CMD) එක . එක තමයි වින්ඩොස් වල තියෙන COMMAND LINE INTERFACE  එක එ වගෙම ලිනක්ස් වලත් තියෙනවා  COMMAND LINE INTERFACE එකක්

ඉතින් මේ  COMMAND LINE INTERFACE එකේ ගහන්න පුලුවන් කොඩ් ඔක්කොම තමයි මේ .

ඔයාලත් TRY කරලා බලන්න ...........

alias Create an alias •
apropos Search Help manual pages (man -k)
apt-get Search for and install software packages (Debian/Ubuntu)
aptitude Search for and install software packages (Debian/Ubuntu)
aspell Spell Checker
awk Find and Replace text, database sort/validate/index

basename Strip directory and suffix from filenames
bash GNU Bourne-Again SHell
bc Arbitrary precision calculator language
bg Send to background
bind Set or display readline key and function bindings •
break Exit from a loop •
builtin Run a shell builtin
bzip2 Compress or decompress named file(s)

cal Display a calendar
case Conditionally perform a command
cat Concatenate and print (display) the content of files
cd Change Directory
cfdisk Partition table manipulator for Linux
chgrp Change group ownership
chmod Change access permissions
chown Change file owner and group
chroot Run a command with a different root directory
chkconfig System services (runlevel)
cksum Print CRC checksum and byte counts
clear Clear terminal screen
cmp Compare two files
comm Compare two sorted files line by line
command Run a command - ignoring shell functions •
continue Resume the next iteration of a loop •
cp Copy one or more files to another location
cron Daemon to execute scheduled commands
crontab Schedule a command to run at a later time
csplit Split a file into context-determined pieces
curl Transfer data from or to a server
cut Divide a file into several parts

date Display or change the date & time
dc Desk Calculator
dd Convert and copy a file, write disk headers, boot records
ddrescue Data recovery tool
declare Declare variables and give them attributes •
df Display free disk space
diff Display the differences between two files
diff3 Show differences among three files
dig DNS lookup
dir Briefly list directory contents
dircolors Colour setup for `ls'
dirname Convert a full pathname to just a path
dirs Display list of remembered directories
dmesg Print kernel & driver messages
du Estimate file space usage

echo Display message on screen •
egrep Search file(s) for lines that match an extended expression
eject Eject removable media
enable Enable and disable builtin shell commands •
env Environment variables
ethtool Ethernet card settings
eval Evaluate several commands/arguments
exec Execute a command
exit Exit the shell
expect Automate arbitrary applications accessed over a terminal
expand Convert tabs to spaces
export Set an environment variable
expr Evaluate expressions

false Do nothing, unsuccessfully
fdformat Low-level format a floppy disk
fdisk Partition table manipulator for Linux
fg Send job to foreground
fgrep Search file(s) for lines that match a fixed string
file Determine file type
find Search for files that meet a desired criteria
fmt Reformat paragraph text
fold Wrap text to fit a specified width.
for Expand words, and execute commands
format Format disks or tapes
free Display memory usage
fsck File system consistency check and repair
ftp File Transfer Protocol
function Define Function Macros
fuser Identify/kill the process that is accessing a file

gawk Find and Replace text within file(s)
getopts Parse positional parameters
grep Search file(s) for lines that match a given pattern
groupadd Add a user security group
groupdel Delete a group
groupmod Modify a group
groups Print group names a user is in
gzip Compress or decompress named file(s)

hash Remember the full pathname of a name argument
head Output the first part of file(s)
help Display help for a built-in command •
history Command History
hostname Print or set system name
htop Interactive process viewer

iconv Convert the character set of a file
id Print user and group id's
if Conditionally perform a command
ifconfig Configure a network interface
ifdown Stop a network interface
ifup Start a network interface up
import Capture an X server screen and save the image to file
install Copy files and set attributes
ip Routing, devices and tunnels

jobs List active jobs •
join Join lines on a common field

kill Kill a process by specifying its PID
killall Kill processes by name

less Display output one screen at a time
let Perform arithmetic on shell variables •
link Create a link to a file
ln Create a symbolic link to a file
local Create variables •
locate Find files
logname Print current login name
logout Exit a login shell •
look Display lines beginning with a given string
lpc Line printer control program
lpr Off line print
lprint Print a file
lprintd Abort a print job
lprintq List the print queue
lprm Remove jobs from the print queue
ls List information about file(s)
lsof List open files

make Recompile a group of programs
man Help manual
mkdir Create new folder(s)
mkfifo Make FIFOs (named pipes)
mkisofs Create an hybrid ISO9660/JOLIET/HFS filesystem
mknod Make block or character special files
more Display output one screen at a time
most Browse or page through a text file
mount Mount a file system
mtools Manipulate MS-DOS files
mtr Network diagnostics (traceroute/ping)
mv Move or rename files or directories
mmv Mass Move and rename (files)

nc Netcat, read and write data across networks
netstat Networking information
nice Set the priority of a command or job
nl Number lines and write files
nohup Run a command immune to hangups
notify-send Send desktop notifications
nslookup Query Internet name servers interactively

open Open a file in its default application
op Operator access 

passwd Modify a user password
paste Merge lines of files
pathchk Check file name portability
ping Test a network connection
pgrep List processes by name
pkill Kill processes by name
popd Restore the previous value of the current directory
pr Prepare files for printing
printcap Printer capability database
printenv Print environment variables
printf Format and print data •
ps Process status
pushd Save and then change the current directory
pv Monitor the progress of data through a pipe
pwd Print Working Directory

quota Display disk usage and limits
quotacheck Scan a file system for disk usage

ram ram disk device
rar Archive files with compression
rcp Copy files between two machines
read Read a line from standard input •
readarray Read from stdin into an array variable •
readonly Mark variables/functions as readonly
reboot Reboot the system
rename Rename files
renice Alter priority of running processes
remsync Synchronize remote files via email
return Exit a shell function
rev Reverse lines of a file
rm Remove files
rmdir Remove folder(s)
rsync Remote file copy (Synchronize file trees)

screen Multiplex terminal, run remote shells via ssh
scp Secure copy (remote file copy)
sdiff Merge two files interactively
sed Stream Editor
select Accept keyboard input
seq Print numeric sequences
set Manipulate shell variables and functions
sftp Secure File Transfer Program
shift Shift positional parameters
shopt Shell Options
shutdown Shutdown or restart linux
sleep Delay for a specified time
slocate Find files
sort Sort text files
source Run commands from a file '.'
split Split a file into fixed-size pieces
ss Socket Statistics
ssh Secure Shell client (remote login program)
stat Display file or file system status
strace Trace system calls and signals
su Substitute user identity
sudo Execute a command as another user
sum Print a checksum for a file
suspend Suspend execution of this shell •
sync Synchronize data on disk with memory

tail Output the last part of file
tar Store, list or extract files in an archive
tee Redirect output to multiple files
test Evaluate a conditional expression
time Measure Program running time
timeout Run a command with a time limit
times User and system times
touch Change file timestamps
top List processes running on the system
tput Set terminal-dependent capabilities, color, position
traceroute Trace Route to Host
trap Run a command when a signal is set(bourne)
tr Translate, squeeze, and/or delete characters
true Do nothing, successfully
tsort Topological sort
tty Print filename of terminal on stdin
type Describe a command •

ulimit Limit user resources •
umask Users file creation mask
umount Unmount a device
unalias Remove an alias •
uname Print system information
unexpand Convert spaces to tabs
uniq Uniquify files
units Convert units from one scale to another
unrar Extract files from a rar archive
unset Remove variable or function names
unshar Unpack shell archive scripts
until Execute commands (until error)
uptime Show uptime
useradd Create new user account
userdel Delete a user account
usermod Modify user account
users List users currently logged in
uuencode Encode a binary file
uudecode Decode a file created by uuencode

v Verbosely list directory contents (`ls -l -b')
vdir Verbosely list directory contents (`ls -l -b')
vi Text Editor
vmstat Report virtual memory statistics

wait Wait for a process to complete •
watch Execute/display a program periodically
wc Print byte, word, and line counts
whereis Search the user's $path, man pages and source files for a program
which Search the user's $path for a program file
while Execute commands
who Print all usernames currently logged in
whoami Print the current user id and name (`id -un')
wget Retrieve web pages or files via HTTP, HTTPS or FTP
write Send a message to another user 

xargs Execute utility, passing constructed argument list(s)
xdg-open Open a file or URL in the user's preferred application.
xz Compress or decompress .xz and .lzma files

yes Print a string until interrupted

zip Package and compress (archive) files
Read More

IT වල වැඩ්ඩෙක් වෙන්නෙ කොහොමද

January 02, 2018 0
IT වලට අලුතින් ආපු ඔයාලට තියෙන ලොකුම ප්‍රශ්නයක් තමයි කොහොමද මේ දැනුම ලබා ගන්නේ කියන එක . ඉතින් මෙකට  ගොඩක් ක්‍රම තියෙන්වා . හැමොම කරන එක Google . එත්  අද කාලේ  ගොඩක් දෙවල් ඉගෙන ගන්න Google හොදයි   තමයි . එත් මේ Google වල Code කරන එක ඇතුලුව අනිත් ගොඩක් වැඩ කරන හැටි ඉගෙන ගන්න ටිකක් අමරුයි

මෙකට මම දකින විසදුම තමයි Youtube . Youtube වලින් අපිට පුලුවන් මෙ Code කරන ආකාරය වගෙම අලුත් දෙවල් හදන ආකාරය ගැන ඉගෙන ගන්නත් පුලුවන් . හැබැයි අපෙ ගොඩක් මල්ලිලට එන ප්‍රශ්නයක් තමයි  කඩ්ඩ . මොකද කිව්වොත් ලන්කවේ ගොඩක් අයට කඩ්ඩ බැ . (මාත් ඇතුලුව ) ඉතින් මෙකට අද වෙන කොට හොද විසදුමක් තියෙනවා . ඒ තමයි  සිංහල යු ටියුබ් චැනල් . අද වෙන කොට මේ චැනල් ගොඩක් තියෙනවා . මේ චැනල්  වල විවිධාකාර මාතෘකා ඔස්සේ video upload කරලා තියෙනවා .ඉතින් ඔයාලා IT වලට අලුත් නම් ඔයාලට ගන්න ඔනි   මුලික දැනුම මේ පහල තියෙන චැනල් වලින් ලබා ගන්න පුලුවන් . මේ හැම චැනල් එකකටම යන්න පුලුවන් වෙන්න Link කරලා තියෙන්නෙ .

Read More

ජාවා interface ලස්සනට හදමු

January 02, 2018 0
ජාවා කියන්නේ මේ වෙනකොට ගොඩක් software developers ලා පාවිච්චි කරන programming language එකක් . අද වෙනකොට  it industry ජාවා කියන programming language එක දන්නේ නැති කෙනෙක් නැහැ . ඉතින් මේ ජාවා වල   interface හදන්නේ ගොඩක් වෙලාවට netbeans වගේ ide  එකක් පවිච්චි කරලා

හැබෙයි , එකෙන් හම්බ වෙන  interface එච්චර ලස්සන නැ . ලස්සන කරගන්න නම් ගොඩක් මහන්සි වෙන්න ඔනි .

ඉතින් දැන්  අලුතින්  තියෙනවා java fx scene builder කියලා  සොෆ්ට්වෙයා එකක් . මේ සොෆ්ට්වෙයා එක පාවිච්චි කරලා අපිට පුලුවන් විනඩි 5 න් විතර හොද  interface එකක් හදා ගන්න . මෙකෙ තියෙන්නෙ drag and drop තමයි එ වගෙම  interface එකෙ කරන්න පුලුවන් වෙනස්කම් ගොඩක් මේ සොෆ්ට්වෙයා එකෙ තියෙනවා .

මෙකේ එවාට අමතරව mouse එකෙන් කරන දෙවල් වලට (left click,right click, drag), keyboard එකෙ දෙන command වලට වෙන්න ඔනි මොකක්ද කියලත් දෙන්න පුලුවන් ඔයලට  මෙකෙ වැඩ ඔක්කොම ඉගෙන ගන්න පුලුවන් tutorial  සෙට් එකක් තියෙනවා . මේ විඩියො ටික මෙතනින් ගිහින් බලන්න .

 java fx scene builder  මෙතනින් ගිහින් බා ගන්න

Read More

Friday, August 11, 2017


August 11, 2017 1


JAM BOARD යනු එකිනෙකට සම්බන්ද  whiteboard වර්ගයකි. GOOGLE සමාගම මෙහි හිමිකාරීත්වයදරයි.මෙම නිශ්පාදනය 2016 ඔක්තෝබර් 25 දින නිලවශයෙන් ප්‍රසිද්දියට පත් කරන ලදී. මෙසේ කරළියට පැමිණි GOOGLE JAM BOARD ගැන තවදුරටත් අපි දැන ගනිමු.

G SUITE පවුලේ අංගයක් ලෙස අරඹුණු JAM BOARD මුල් වරට ප්‍රසිද්දියට පත්කරන විට එය සතුව අගල් 55 ,4K TOUCHSCREEN DISPLAY එකක් , අන්තර්ජාලය සමග සම්බන්දව ක්‍රියා කිරීමද හා CROSS-PLATFORM හැකියාවද මෙම GOOGLE JAM BOARD සතුව පැවතුණි.මෙම GOOGLE JAM BOARD උපකරණය මුල්වරට හදුන්ව දුන්නේ බිත්තියක එල්ලිය හැකි රාමුවක් වශයෙනි.

මෙම GOOGLE JAMBOARD උපකරණය ඕනෑම තැනක ස්පර්ශක ස්ථාන 16 ක් හඳුනා ගැනීමේ තාක්ෂණයට හැකියාව ඇත. ඒ වගේම මෙහි WI-FI සම්බන්දතවයක්ද, HD front-facing camera , microphone හා In-Built speakers පවතී. මෙම තිරය පාලනය කිරීම හෝ එය මත ඇඳීම සිදු කිරීම එහිම අන්තර්ගත stylus  මගින් පාලනය වේ.
මෙම JAMBOARD හි පවතින මෙහෙයුම් පද්දතිය(operating system එක) G Suite ecosystem හි පවතින මෙහෙයුම් පද්දතිය හා සමානවේ. JAMBOARD හි ප්‍රධාන පාලකය “JAM” යන KEY එක දීමෙන් OPEN කරගත හැක.ඒ වගේම එහි අවකාශය භාවිතා කලා හැකිනම් එහි projects වලට සම්බන්දවි ක්‍රියා කලහැකිය. ප්‍රථම වරට 2017 මැයි මස මෙම GOOGLE JAM BOARD කරළියට එනවිට එහි වටිනාකම US $5000 කට අසන්න විය.

Read More

Thursday, July 27, 2017

Share on Google+

Post Top Ad