How did I turn my old crappy Pentium 4 PC into a nice home network data cloud ?

Do you have an old PC lying somewhere with a lot of dust all over it ? Do you want a local data cloud to sync all your files across your laptop, tablet, PCs ? 

Then, I guess this tutorial will come in handy.

– First step is to dust your machine off , when I first plugged in my machine it didn’t even boot except when I really cleaned it well but sadly one RAM stick died because of dust . Now I am stuck with only 256 MB of RAM on my P4 2.8 GHZ machine but that didn’t set me back !

image

Download, burn and install your favorite Linux distro  as ownclowd supports many distros, but note that this tutorial is debian-based, I am using debian wheezy 7.4 standard(no desktop)

– Remember that we are dealing with a server now:

  • It’s important that when the machine restarts because of a power cut for example; it should always boot to your server OS without any external intervention because we will only use ssh and won’t connect any IO devices to the server machine (keyboard,mouse,monitor…etc.)  , also make sure to configure your BIOS settings (boot device, order..etc.) .
  • To save power disconnect any unneeded peripherals(for ex: I disconnected my Nvidia VGA card and DVD ROM ) , not sure if it will do much saving for this old machine but better than nothing.

– Set a static IP to your local server , for a Debian server you can follow the following instructions from elinux which were originally written for the raspberry pi but the will work perfectly here:

You only need to modify the file /etc/network/interfaces

Before you do, backup the current version of the interfaces file, if there is already one present:

 pi@raspberry:sudo cp /etc/network/interfaces /etc/network/interfaces.sav

You can edit the file with any text editor such as vi or vim.

We need root privileges, so we use sudo:

 pi@raspberry:sudo vi /etc/network/interfaces

In the interfaces file look for a line such as:

 iface eth0 inet dhcp

This is to enable the DHCP client. You do not want this to work any more.

Put a hash at the beginning of the line to disable it or delete it:

 #iface eth0 inet dhcp

In the file you must insert the following lines:

 # The loopback interface
 auto lo
 iface lo inet loopback
 auto eth0
 iface eth0 inet static
 #your static IP
 address 192.168.1.118  
 #your gateway IP
 gateway 192.168.1.1
 netmask 255.255.255.0
 #your network address "family"
 network 192.168.1.0
 broadcast 192.168.1.255

Only the address and netmask data are strictly required.

If for example your LAN is configured to have IP adresses in the range x.x.x.1 to x.x.x.255, you will put x.x.x.0 in the network line.

“address” is the IP you want the RPi will assume (in the proper range, as described above). pay attention not to use an IP already used by another device in your LAN or that can be assigned to a device by your router by DHCP (set the DHCP range of the router wisely in order to avoid potential overlaps).

“netmask” will “always” be 255.255.255.0

gateway is usually x.x.x.1 (your router IP or the one given by your ISP)

You now need to restart the network:

 pi@raspberry:sudo /etc/init.d/networking restart

– Install ownclowd using the following techcint great tutorial , I recommend you to fully read it to understand what you are doing but here is a cheat sheet of the commands 

# apt-get install apache2 apache2-doc apache2-utils mysql-server mysql-client php5 php5-mysql php5-gd
# mysql -u root -p
mysql> create database cloud ; 
Query OK, 1 row affected (0.00 sec)
mysql> grant all on cloud.* to yourname@localhost identified by 'my_password'; 
Query OK, 0 rows affected (0.00 sec)
# wget http://download.owncloud.org/community/owncloud-6.0.0a.tar.bz2
# cp owncloud-6.0.0a.tar.bz2 /var/www/		
# tar -jxvf owncloud-6.0.0a.tar.bz2
# rm -rf owncloud-6.0.0a.tar.bz2
# chmod -R 777 owncloud/
# a2enmod rewrite
# a2enmod headers
# nano /etc/apache2/sites-available/default

Find

AllowOverride None

Change this to:

AllowOverride All
# service apache2 restart

VOILA ! You should be up and running now using :  http://your-ip-address/owncloud

Now , you should create the admin user  and remember to enter the mysql user and database to get it ready .

Don’t go yet as there is a last step,   php is set to have a max upload of 2 MBs which is useless so you have to configure it a bit :

Note: The order of the following steps is important! If you swap steps described below, the settings may fail.

Go to the admin section in the ownCloud-WebUI and do the following:

  • Under “File handling” set the Maximum upload size to the desired value (e.g. 16GB)
  • Click the “save”-Button

Open the php.ini – file

  • Under Debian or SUSE and their derivatives this file lies at /etc/php5/apache2/php.ini
  • On Windows, you can find this file within C:/Program Files (x86)/PHP/PHP.ini

Do the following:

  • Set the following three parameters inside th php.ini to the same value as chosen inside the admin-section one step before:
  • upload_max_filesize = 16G (e.g., to stay consistent with the example value above)
  • post_max_size = 16G (e.g., to stay consistent with the example value above)
  • output_buffering = 16384 (e.g., to stay consistent with the example value above)

whereas the “output_buffering” has to be given in MegaBytes but as a plain figure (without size-units as ‘M’ or ‘G’)

These client configurations have been proven by testing maximum file sizes of 16 GB:

  • Linux 32 Bit: Ubuntu, Firefox => 16GB
  • Windows 8 64 Bit: Google Chrome => 8GB

Here are some screenshots of my local cloud !

owncloud2

Capture03031

A Linux bash script to download all pdf files from a page

Are you trying to download multiple files from a webpage and bored from clicking and clicking ??

I needed to download like a 100 PDF from a single web page , so I started to look for a bash script that automates the process and found this interesting article by Guillermo Garron that combines several useful programs into a nice script to download all links from a page using lynx command line web browser and wget downloader.

First , install the the browser

$ sudo apt-get install lynx

Lynx has a nice feature that allows you to grab all links from a page

$ lynx --dump http://mlg.eng.cam.ac.uk/pub/ >> ~/links.txt

The output will be like this 

Image

So we need to filter out the first numbering column and all non pdf links for the output to be nice and readable by wget

$ lynx --dump //http://mlg.eng.cam.ac.uk/pub/  | awk '/http/{print $2}' | grep pdf  >> ~/links.txt

Resulting in a clean input to wget 

Image

and the last step is to pass this file into wget to download all the pdfs

$ for i in $( cat ~/links.txt ); do wget $i; done

 voilà ! you get all the files downloaded 

Image

Quick notes about SRTP (Secure Real-time protocol)

Here are some quick notes that I took while studying the SRTP from the standard document , they are not meant to be complete but rather a quick overview of the protocol.

SRTP: Secure Real-time Transport Protocol
is a profile of Real-time Transport protocol, a stream-cipher
provides confidentiality, message authentication, message integrity, and replay attack protection.
other goals are to have a small footprint, low bandwidth cost
additional features to simplify key management is introduction of a single MK(Master Key) ; all security services derive their keys from the MK using a key derivation function
note: reading the standard
SRTP provides a framework for encryption and message authentication of RTP and RTCP streams(Section 3). SRTP defines a set of default cryptographic transforms (Sections 4 and 5),and it allows new transforms to be introduced in the future (Section 6). With appropriate key management (Sections 7 and 8), SRTP is secure (Sections 9) for unicast and multicast RTP applications (Section 11).
SRTP Framework
SRTP is defined as a profile of the RTP protocol; an extension of the Audio/Video profile. It can be visualized residing between RTP application and transport layer.
SRTCP to RTCP resembles SRTP to RTP; providing same services, but with mandatory message authentication.
1. SRTP Packet
Payload size doesn’t change after encryption.
MKI [Optional] (Master Key Identifier)
     – identifies the master key from which session keys are derived.
     – shall not identify the cryptographic context.
Authentication tag [Recommended]
    – carries message authentication data
    – encryption shall be applied before authentication
   

        0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<+
     |V=2|P|X|  CC   |M|     PT      |       sequence number         | |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
     |                           timestamp                           | |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
     |           synchronization source (SSRC) identifier            | |
     +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ |
     |            contributing source (CSRC) identifiers             | |
     |                               ....                            | |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
     |                   RTP extension (OPTIONAL)                    | |
   +>+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
   | |                          payload  ...                         | |
   | |                               +-------------------------------+ |
   | |                               | RTP padding   | RTP pad count | |
   +>+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<+
   | ~                     SRTP MKI (OPTIONAL)                       ~ |
   | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
   | :                 authentication tag (RECOMMENDED)              : |
   | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
   |                                                                   |
   +- Encrypted Portion*                      Authenticated Portion ---+
2. SRTP Cryptographic context
     is the cryptographic state information required to be saved by the sender and the receiver (e.g: keys, encryption algorithms used), session keys are derived form master keys and used directly in the cryptographic transform
    the cryptographic context parameters can be transform-independent(independent of the particular encryption or authentication transform used), or transform-dependent
    a cryptographic context of a packet is defined by the triplet context identifier = < SSRC, network address, port number>
3. SRTP Packet Processing
    @sender
    – determine the cryptographic context to use.
     determine index of packet (from ROC, RTP packet sequence number, cryptographic context sequence number)
    – determine master key and master salt , derive session keys and session salt from them.
     – encrypt the payload with the algorithm defined by the cryptographic context,
    – append the MKI if MKI indicator is set to 1
    – compute the authentication tag defined by the cryptographic context
    @receiver
    – find out the cryptographic context to use.
    – get packet index
    – if MKI indicator is set to 1 get MKI from packet else use previous index, determine master key and master salt , session keys and session salt.
    – authenticate
    – decrypt
    – update ROC and cryptographic context sequence number.
4. Predefined Algorithms for SRTP
    
    for encryption
   The encryption transforms defined in SRTP map the SRTP packet index
   and secret key into a pseudo-random keystream segment.  Each
   keystream segment encrypts a single RTP packet.  The process of
   encrypting a packet consists of generating the keystream segment
   corresponding to the packet, and then bitwise exclusive-oring that
   keystream segment onto the payload of the RTP packet to produce the
   Encrypted Portion of the SRTP packet.  In case the payload size is
   not an integer multiple of n_b bits, the excess (least significant)
   bits of the keystream are simply discarded.  Decryption is done the
   same way, but swapping the roles of the plaintext and ciphertext.
    – AES-CTR
    – AES-f8
 
    for authentication
   We describe the process of computing authentication tags as follows.
   The sender computes the tag of M and appends it to the packet.  The
   SRTP receiver verifies a message/authentication tag pair by computing
   a new authentication tag over M using the selected algorithm and key,
   and then compares it to the tag associated with the received message.
   If the two tags are equal, then the message/tag pair is valid;
   otherwise, it is invalid and the error audit message "AUTHENTICATION
   FAILURE" MUST be returned.
    – HMAC-SHA1    
5- An Example of an encryption process using AES-CTR
   Mainly, the encryption process is as simple as XORing the payload  
   with a keystream segment .
   The keystream segment SHALL be the concatenation of the 128-bit output
   blocks of the AES cipher in the encrypt direction, using key k = k_e,
   in which the block indices are in increasing order.  Symbolically,
   each keystream segment looks like

      E(k, IV) || E(k, IV + 1 mod 2^128) || E(k, IV + 2 mod 2^128) ...

   where the 128-bit integer value IV SHALL be defined by the SSRC, the
   SRTP packet index i, and the SRTP session salting key k_s, as below.

      IV = (k_s * 2^16) XOR (SSRC * 2^64) XOR (i * 2^16)

12 Angry Men

12angry-1024x707

الحقيقة أنا مش من هواة الأفلام الأبيض و الأسود , لما صديقى نصحنى بالفيلم ما كنتش متحمس أوى ليه و لكن تحمست لما عرفت أن الفيلم بالكامل متصور داخل غرفة وحيدة و دى فكرة جديدة بالنسبالى ..   الأفكار الجديدة دايما بتجذبنى بسهولة.. المفاجأة أن الفيلم كان شديد الابداع و العبقرية لدرجة أنه  .أسرنى من أول لحظة لأخر دقيقة فى الفيلم فى حالة 

12-angry-men-pic-3

قصة الفيلم

بيدور الفيلم حوالين قرار مرتبط بحياة انسان .. قضية اجتمعت فيها الأدلة ضد صعلوك من أحد الأحياء الفقيرة  متهم بقتل أبوه .. القانون الأمريكى بينص على أن هيئة من المحلفين بتتشكل من 12 فرد بيكون دورها أنها تحدد  اذا كان المتهم مذنب أو غير مذنب [1] و بعد كدة على القاضى أنه يأخذ برأيهم أو لا يأخذ و له كامل الصلاحيات .. و عشان الهيئة تاخد قرار ادانة لازم يكون التصويت بنسبة مئة فى
.المئة

بيبدأ الفيلم بتفويض القاضى لهيئة المحلفين بالبحث فى ملف القضية و اتخاذ قرار مناسب فى قضية تبدو للوهلة الأولى محسومة … شاب شكله بلطجى اتخانق مع والده و قتله… بيجتمع ال 12 شخص فى غرفة واحدة و بسبب الصورة الذهنية المسبقة عن المتهم صاحب الأصول المتواضعة اتجاه التصويت بيتجه بأغلبية ساحقة لإدانة المتهم .. 11 صوت لإدانة المتهم الا صوت واحد لهنرى فوندا .. بيواجه بسخرية و نقد شديدين لأنه وقف أدام الأغلبية الساحقة لأ و كمان ماعندوش دليل واحد أن المتهم برىء .

 .هو صرح ببساطة أنه صوت بغير مذنب لأنه مش متأكد أنه مذنب

الجدلية إلى أثارها فوندا أنه لا يمكن تقرير مصير انسان بالسرعة دى لمجرد الحكم المسبق أن أصوله متواضعة (شكله بلطجى)..مصير انسان ما يستحقش وقت للتفكير ؟؟ .. محتاج أكتر يراجع على كل الحقائق عشان يطلعوا بقناعة 100% أنه جانى .. لازم ننحى الصورة الذهنية .. نتعامل مع الحقائق و المنطق

12-angry-men-pic-5 

طوال الفيلم هتنتشى بانتصارات فوندا و تنكسر بانكساراته و هو بيحاول يستخدم المنطق لمراجعة حقائق القضية الشبه محسومة و هتحس بالسعادة لما عدد المصوتين يزيد مع كل مراجعة جديدة من 1 – 11 ل 2 – 10 ل 3  … هتراقب المحلفين و هم مكسوفين من نفسهم بعد ما كل مراجعة بتحصل بتكشف معلومة جديدة كانوا هيهملوها  … هتعيش كل لحظة فى حالة من التشويق و الترقب لحد  نهاية الفيلم .

الأفكار ما وراء الفيلم

– الأفكار الجديدة منبوذة مهما بدت واقعيتها و انسانيتها

– ال prejudice أو الصورة الذهنية بتلعب دور كبيرفى قرارات الإنسان

– لا تستوحش طريق الحق لقلة سالكيه

[1] http://www.arab-ency.com/index.php?module=pnEncyclopedia&func=display_term&id=12393&m=1

12 Years a Slave … صرخة المظلوم واحدة

Image

فيلم الاوسكار السنادي ,بيحكي عن قصة حقيقية الولايات المتحدة في زمن كانت الولايات الشمالية حرروا السود و الولايات الجنوبية لسة , فكانوا بيخطفوا السود اﻷحرارمن عائلاتهم في الشمال و يهربوهم كعبيد للجنوب , قليل جدا اللي قدر يهرب و يرجع لعيلته , سولمون نورثوب اتخطف ١٢سنة اتهان و مسحوا هويته القديمة و اتجلد و اتعذب و دفن اصحابه اللي ماتو من كتر الشغل و اتنقل من سيد لسيد بهدلوه و هزأوه و ضربوه لكنه ما فقدش اﻷمل ..

Image

من المشاهد المؤثرة جدا سيده أجبره أنه يعذب شابة من العبيد لحد ما جلدها اتقطع و وسط صراخ البنت و دموع سولمون قاله : 

” You’re are the devil! “

” sooner or later in the course of eternal justice thou shalt answer for this sin”

سبحان الله صرخة المظلوم واحدة في أي زمان و أي مكان …

Image

بعد ١٢ سنة ربنا كرمه بواحد أبيض (كان كندي) مؤمن أن ربنا خلق البشر متساويين ساعده و قدر يشوف مراته و اولاده و حفيده ﻷول مرة (من المشاهد الرائعة) و رفع قضية علي اللي خطفوه و كتب كتاب يحكي فيه حكايته …
كل اللي عذبوه و عذبوا ملايين غيره راحوا مزبلة التاريخ هم وقوانينهم و اللي طبلولهم واللي سكتوا عنهم ..
و الفكرة العادلة المستقيمة بس هي اللي عاشت و خلدت اسم كل مظلوم و كل واحد دافع عنها …
إلي الجحيم يا منافقين ..

الحاجة سواقة التاكسى

تاكسى


اعذرونى على البوست الطويل .. قصة لازم تتحكى (بتصرف) 🙂

النهاردة كنت نازل متأخر الصبح قلت أوقف تاكسى … ضربت بعينى كدة ع السواق لقيتها حاجة كبيرة فى السن لابسة عباية استغربت .. بس قلت و ماله ما هى البنت زى الولد ما هياش كمالة عدد .

– الجبل الأحمر يا حاجة ؟

– ماعرفوش ده يابنى .

– طب تعرفى نادى السكة ؟

– أيوة .
– على بركة الله ..

– مش فى ريحة شياط يا حاجة ؟؟

– ايوة يابنى مش عارفة العربية مالها بتكركر من الصبح ..

– مممممممممم …. طب شدى حيلك يا حاجة احنا ماشيين على 20 و لا ايه ده لو خدتها مشى كان زمانى وصلت 😀

و فجأة سواق تاكسى تانى بيزمر بصوت عالى جنبنا و بيلطم بهيستيريا و بينعر بفظاظة : الكاوتش بيطلع شياط .. نزلى الهاند يا حاجة !! أنتى بتتعلمى و لا بتعلميه و لا أيه .
– لأ باعلمه 😀
– هاااااار أسود 😀 … بتعلمينى ايه بس يا حاجة 😀

– يابنى والله أنا متعلمة كويس بس هى سهوات كدة
– سهوات ايه بس .. ده احنا مش باينلنا هنوصل النهاردة .. احكيلى ايه بس اللى رماكى على المر ده ؟

– واللهى يابنى أنا كنت شاطرة فى الخياطة جبت مكنة خياطة و المكنة جابت مكنة .. ربنا فتح عليا و جبت تاكسى .. شغلت 2 سواقين عليه بس نصبوا عليا .. و أنا صغيرة خالى كان بيسيبلنا مفاتيح العربية نسخنها و نغسلها فاتعلمت سواقة .. و ادينى وصلت زى مانت شايف كدة (و ضحكت 🙂 ) …. اللى بيزعلنى يابنى أن السواقين الرجالة بيزنقوا عليا عشان يخطفوا الزباين رغم أنهم شايفين أنى واحدة ست … كل واحد رزقه مقسوم و لو مكتوبلك النهاردة عشرة جنيه مش هتاخد أكتر منها ولا أقل منها … اللى بيزعلنى بس التصرف .
– اه والله عندك حق … و نعمة بالله (ييجى البغال اللى قاعدين ع القهاوى و النواصى يشوفو)

– هنا يابنى .

– أيوة على جنب .

– هو ده الجبل الأحمر ؟

– لأ ده اسمه الحى السادس .. الجبل الأحمر المنطقة العسكرية اللى قدامك دى .

– (اتخضت … و بعد كدة وصلة مدح) .. الجيش ده أحلى حاجة فى البلد يعنى التزام و انضباط .. مسئولية و …. الحاجة الوحيدة اللى شغالة فى البلد .. و شغالين فى الدواجن و المواشى و عندهم مزارع و كل حاجة .. و وطنية تلاقى فيها أنضف حاجة و أرخص حاجة كمان ..

– ما خلاص يا حاجة انتى هتعملى اعلان زيت الحلوة .

– نهارك أبيض 🙂

– سلامو عليكو (دى بلد وسخة اللى تبهدلك كدة … اه والله)

OpenTLD Object tracking on Raspberry PI

OpenTLD (Tracking-Learning-Detection ) is an object tracking algorithm originally developed in MATLAB by Zdenek Kalal, the novel feature of the algorithm is the decoupling between the tracking and the detection algorithms unlike many algorithms where the tracking depends on the detected features of the object. This decoupling allowed the OpenTLD to outperform many algorithms.

You can find more info about the algorithm and Kalal here.

TLD has been released under GPL v3.0 allowing the open source community to invest more efforts in the algorithm, Georg Nebehay released a complete C++ implementation of OpenTLD relying on the powerful OpenCV library and based solely on open source libraries.

Find more info here and src code here.

What’s cool about Georg’s implementation is using cmake (cross-platform make) as a build system for the project allowing compiling over windows and linux easily, so here’s what you have to do to get OpenTLD working on the Raspberry Pi

  • Install the dependencies
    •  OpenCV
    • CMake
    • libconfig++ (optional)
    • Qt4 (optional)

$ sudo apt-get install libopencv-*

$ sudo apt-get install cmake

  • Download the OpenTLD source code and unzip it .
  • Generate the native linux makefile

$ cd $OPENTLD
$ mkdir ../build
$ cd ../build
$ cmake ../$OPENTLD -DBUILD_QOPENTLD=ON -DUSE_SYSTEM_LIBS=OFF

  • Navigate with the terminal to the build directory

 $ make  (builds the project)
 $ make install (builds and installs the project)

That’s it , you are good to go . You will find opentld executable in bin/

$ ./bin/opentld

Update [16/12/2013]

Just thought of posting some performance benchmarks ..

Tracking + learning : ~ 0.8 fps

Tracking only (switched off learning) : ~ 1.5 fps

Rooting and installing CWM on Samsung Galaxy S3 without Odin/Computer/USB connection

Are you totally new to rooting Android phones ? Can’t fully understand the whole new terminology ? Finding Odin Confusing ?……

Then this thread is for you !

I am assuming you already did you research about rooting and you know all the risks involved .

I am also assuming that you got stuck with some Odin errors like the Stuck at “Get PIT for Mapping” or any other issue , despite of this post I still recommend using Odin as it’s widely supported . Finally , I am not responsible for any damage that happens to your phone . This method worked for an S3 I9300 with Android JB 4.1.2. 

Now after you have been lectured with the usual warnings and recommendations it’s time for action :

FIRST STEP : Downloading and installing Farmaroot.apk

Farmaroot is a tool that uses software workarounds to root the phone without having to flash a custom ROM.

1 – Download Farmaroot-1.6.0

2- Connect your phone to the PC and copy Farmaroot-1.6.0.apk to your sdcard .

3 – Install Farmaroot (make sure you checked installation from untrusted source from the security settings) .

4-  Run the app , choose “install Superuser”  option inside Framaraoot and Select any of the exploits that appears in the app and wait for some time(sam worked for me) .

  • If you get a “Success  … Superuser and su binary installed. You have to reboot your device” then you have successfully rooted your phone .

5- you can ensure that your phone is rooted by downloading the root checker from the app store.

 

SECOND STEP : Flashing the Clockworkmod recovery.

1- Now you have your phone rooted you can simply install CWM using the ROM manager app from the play store which fully supports the i9300 . Run Rom manager and follow the steps to flash the CWM.

2- Reboot your phone in recovery (by pressing Home + power + vol down buttons) and you will get the CWM recovery screen ..

 

That’s it ! Congrats !

 

How to install Ubuntu 12.04 over Fedora 17 keeping Windows 7 dual boot

I have spent a few days playing around with different boot scenarios to remove Fedora and install Ubuntu but keeping dual boot with Windows 7 intact and here is the juice of my experience 🙂

* If you are booting from USB live disk make sure to disable UEFI from BIOS options and run in legacy mode (sometimes referred as CSM)

Method 1

1 – Use Disk Management from Windows  (Run -> diskmgmt.msc), find the Fedora partitions, delete them and format but this will delete GRUB and you will not be able to boot hence you need to restore MBR.

2 – To restore the MBR using Ubuntu live CD you should simply install lilo

sudo apt-get install lilo

sudo lilo -M /dev/sda mbr

3 – Then you can install Ubuntu normally alongside with windows using the installer which will be able to automatically detect  Windows 7 installation.

This should be the perfect scenario but actually this is not what really happened to me during my trials,

What happened to me is that I damaged the MBR by accident so I got the error

BOOTMGR is missing.

after rebooting the machine.

Method 2

So I plugged in the ubuntu live usb disk -> install and when asked where to install I chose something else then I chose the 2 Fedora partitions as the installation partitions and checked the option to format them

/dev/sda1 -> /boot

/dev/sda2 -> /

Ubuntu installation automatically fixed MBR and installed GRUB and now I can happily dual boot Ubuntu 12.04 and Windows 7 🙂

So I guess this is a second and an easier  method to install Ubuntu >= 12.04 over fedora just by using the live disk and choosing fedora partitions as Ubuntu installation partitions.

البت كوينز .. العملة الرقمية الرسمية لتجارة المخدرات

فى الأسابيع القليلة الماضية قامت السلطات الأمريكية بمصادرة 144,336 بت كوين بما يعادل قيمة 28 مليون دولار أمريكى من جهاز كومبيوتر ينتمى لصاحب موقع سيلك رود الألكترونى الذى يعد بمثابة السوق المزدهرة لتجارة المخدرات و الأنشطة الغير قانونية الكترونيا .

 

اذا ماهى قصة البت كوين ؟ و ما قصة سيلك رود ؟

فى نوفمبر 2008 قام ساتوشى ناكاموتو بنشر ورقة بحثية تحت مسمى : ” البت كوين : نظام النقد البير تو بير الالكترونى” حيث قام باقتراح نظام نقدى الكترونى جديد يمكن استخدامه فى عمليات الشراء و البيع على الانترنت و لكن الجديد فى هذه النظام هو أنه “مفتوح المصدر , تصميمه غير حصرى أو سرى بل معلن للعامة مما يوفر درجة أعلى من الثقة , لا أحد يمتلك أو يتحكم فى البت كوين و لكن كل المساهمين يؤدون دورا “

اذا قمت بتحميل ملفات تورنت من قبل فانت بالتأكيد سمعت عن البير تو بير حيث تقوم نظرية عمل تحميل ملفات التورنت على اشتراك جميع الأجهزة التى أكملت التحميل برفع الملفات لنظيراتها الذين لم يقوموا بتحميل الملف بعد , فلا يوجد سيرفر مركزى يقوم بتخزين الملف و يمكن التحميل منه بطريقة مباشرة و لكن الكل مشارك فى التخزين و الرفع . تقوم عملة البت كوين على نفس النظرية تماما و لذلك هى تعد أول عملة الكترونية لا مركزية مما يمنحها بالتأكيد العديد من المميزات لأن المعاملات تتم مباشرة بين الأفراد بدون وجود وسيط

– مما يخفض من تكلفة التحويل بشكل كبير

– لا يمكن أن تتعرض لتجميد حسابك

– من الممكن أن تستخدم البت كوينز فى جميع انحاء العالم بدون اجراءات ادارية مملة 

 

سيلك رود

كأى ابتكار جديد له جوانبه السلبية فان السرية المطلقة التى اتاحتها منظومة البت كوين للمستخدمين أتاحت قيام أسواق سوداء الكترونية تحمى هوية البائع و المشترى تقوم بتجارة كل ما هو غير قانونى بداية بالهيروين مرورا بالأسلحة و حتى يمكنك أن تستأجر قاتل محترف أو هاكر محترف لاختراق احد أكونتات تويتر أو فيسبوك  !  

فى الفترة من فبراير 2011 حتى يوليو 2014 تمت حوالى مليون و ربع المليون معاملة ناجحة تضمنت ربحا حوالى 9 مليون و نصف المليون بت كوين بما يعادل ما يقرب من 2 مليار دولار أمريكى , و بالرغم من كونه سوقا لتداول المنتجات الغير قانونية فان نجاح سيلك رود أثبت أن البت كوين منظومة تداول ناجحة و يمكن تعميمها أكثر لتحتل مساحة واسعة فى النظام النقدى العالمى

خاتمة

يدعى المتحمسون لمجتمع بت كوين أنها ستقوم بتغيير النظام البنكى العالمى بنفس الطريقة التى غير بها الانترنت وجه الكوكب . فهل تظن أنهم على حق ؟؟
يمكنك التجربة و الحكم بنفسك

 

مصادر

http://gadgets.ndtv.com/internet/news/28-million-in-bitcoins-seized-from-silk-roads-ross-ulbricht-438465

http://en.wikipedia.org/wiki/Bitcoin

http://bitcoin.org/bitcoin.pdf

https://www.weusecoins.com/en/