طريقة تثبيت ريكوفري مخصص CWM او TWRP للأندرويد

  • 0
إذا كنتم من هواة التعديل والإضافات البرمجية على نظام اندرويد مفتوح المصدر، او في حال رغبتكم في استخدام روم اندرويد مخصص (غير رسمي) على جهازكم الاندرويد بغض النظر إن كان هاتف ذكي او جهاز لوحي؛ فـ لابد ان تحتاجوا اولاً الى تثبيت ريكوفري مخصص Custom Recovery لإجراء وإدخال التعديلات على الجهاز. ولذلك نقدم لكم طريقة تثبيت ريكوفري مخصص CWM او TWRP للأندرويد نشرح من خلالها كيفية تثبيت الريكوفري بالإضافة الى الحصول على النسخة المتوافقة مع جهازكم الاندرويد.



في البداية يجب التنبيه الى أمر هام جدًا مع إخلاء للمسؤولية، “عملية تثبيت ريكوفري مخصص سوف يلغي ضمان (كفالة) جهازكم الاندرويد كونه امر غير رسمي وهو اختياري ليس اجباري، هذا بالإضافة الى إمكانية وقوع اخطاء ومشاكل قد تُعّرض جهازكم للتلف وتعطيله نهائيًا؛ لذلك (موقع اندرويد عربي غير مسؤول عن اي ضرر يلحق بجهازكم) وعملية تثبيت الريكوفري المخصص ستكون على مسؤوليتكم الخاصة.” كما ان تثبيت الريكوفري المخصص سيقوم بحذف كل شيئ من جهازكم لذلك يجب التنويه الى اخذ نسخة احتياطية من الملفات والبيانات المهمة قبل القيام بأي اجراء لكي لا يتم الدخول بمتاهات إستعادة الملفات المحذوفة من الاندرويد.
للتوضيح بشكل أدق حول الفرق بين الريكوفري الرسمي Stock Recovery والريكوفري المخصص Custom Recovery هو وجود خيارات أكثر في المخصص حيث يقدم من خلاله إمكانيات أكثر مثل إنشاء وإستعادة نسخة احتياطية كاملة من نظام اندرويد، نسخة من إعدادات الهاتف او الجهاز اللوحي، تثبيت وتبديل وتجربة رومات اندرويد مخصصة، روت، تعديلات وإضافات برمجية.. والمزيد (هذه الأمور تهم المتقدمين والخبراء في استخدام نظام اندرويد). للتعرف على أهم المصطلحات المتداولة في عالم الاندرويد مع شرح مبسط لها؛ يمكنكم الإطلاع على مقالنا ما هو الروت.
شرح طريقة تثبيت ريكوفري مخصص سيكون مخصص لريكوفري CWM اختصار ClockworkMod المعروف او لمشروع ريكوفري TWRP اختصار Team Win’s Recovery Project وهما يقدمان الدعم والريكوفري المخصص لأشهر اجهزة اندرويد وخاصةً الرائدة منها لمختلف الشركات مثل سامسونج، سوني، إل جي، إتش تي سي، موتورولا وغيرها، حيث يمكنكم اختيار تحميل وتثبيت ريكوفري مخصص من CWM او TWRP من خلال الشرح التالي.
ملاحظة مهمة
أجهزة اندرويد مقفلة البوت لودر bootloader يجب ان يتم فتحها، وطريقة الفتح تختلف من شركة لاُخرى؛ لذلك يجب الإطلاع على طريقة فتح البوت لودر الأجهزة عبر موقع شركة جهازكم، كما يجب التنويه الى ان فتح البوت لودر في بعض الشركات سوف يلغي ضمان الجهاز وهذا الأمر قد يختلف بحسب شروط الشركات التي يمكنكم الإطلاع عليها قبل القيام بعملية فتح البوت لودر. مع الاشارة الى ان اجهزة سامسونج العالمية لا تحتاج فتح بوت لودر.
متطلبات تثبيت الريكوفري
1-ان  يكون جهاز الاندرويد معرفًا على الكمبيوتر، ويمكن الحصول على التعريف إما بشكل تلقائي او تحميله من موقع الشركة.

2-تثبيت الحزمة التطويرية SDK اندرويد ويمكن تحمليه عبر موقع اندرويد Android developer.
3-تحميل ريكوفري مخصص من CWM او TWRP حسب رغبتكم، ويجب تحديد اسم الجهاز وتحميل الريكوفري المتوافق مع الهاتف او الجهاز اللوحي.
4-يجب توصيل جهازكم الاندرويد (الهاتف او الجهاز اللوحي) الى الكمبيوتر والتأكد من انه مُعرف بشكل صحيح وهو في حالة عمل قبل القيام بأي خطوة.
طريقة تثبيت ريكوفري مخصص CWM او TWRP للأندرويد
1- تفعيل خيار تصحيح أخطاء Enable USB debugging على جهاز الاندرويد من خيارات المطورين (لإظهار خيارات المطورين، يجب التوجه الى الإعدادات ثم معلومات الجهاز ثم الضغط على رقم الإنشاء او البناء 7 او 8 مرات متتالية ثم العودة الى الإعدادات لتظهر خيارات المطورين).



ملاحظة: يمكن اختصار الخطوات القادمة جميعها بالنسبة لأجهزة سامسونج فقط، عبر تثبيت الريكوفري المخصص بطريقة اسرع من خلال برنامج اودين ODIN في وضع التحميل عبر الضغط على زر AP أو PDA ثم اختيار ملف الريكوفوري المخصص والمتوافق مع جهازك والبدء بتثبيته (نفس طريقة تثبيت روم رسمي) مع استبدال ملف الروم الكامل بملف الريكوفري المخصص فقط.
2- فتح نافذة إدخال التعليمات Command Prompt المعروفة بـ CMD على الكمبيوتر لكي نقوم بكتابة بعض التعليمات (لا تقلق عبارة عن نسخ من هنا ولصق هناك لتنفيذها).
الان يجب تحديد مكان مجلد تثبيت SDK اندرويد (يختلف من كمبيوتر لأخر) ونسخه الى نافذة التعليمات بعد كتابة cd ومثال على ذلك كما يلي
cd C:/Android SDK/adt-bundle-windows-x86_64-20131030/sdk/platform-tools/ ثم نضغط زر إنتر
او يمكن فتح نافذة التعليمات من خلال الذهاب الى مجلد platform-tools وفي اي مكان فارغ ضمن هذا المجلد الضغط على زر الفأرة اليمين مع زر “شيفت” على لوحة المفاتيح ثم فتح Command window هنا.

3- من نافذة ادخال التعليمات أدخل التعليمة التالية
adb devices ثم زر إنتر للتأكد من وجود الجهاز وتوصيله، ثم كتابة تعليمة إعادة التشغيل والدخول الى وضع البوت لودر adb reboot bootloader ثم الضغط على زر إنتر وإنتظار الهاتف او اللوحي حتى يدخل وضعية البوت لودر.
4- وضع ملف الريكوفري المخصص CWM او TWRP الذي تم تحميله داخل مجلد platform-tools الموجود داخل SDK اندرويد، ثم ضمن مجلد platform-tools  وفي اي مكان فارغ ضمن هذا المجلد يجب الضغط على زر الفأرة اليمين مع “شيفت” لفتح نافذة التعليمات Command window هنا مجددًا وكتابة التعليمة التالية
fastboot devices ثم الضغط على زر إنتر، ثم إدخال اخر تعليمة وهي fastboot flash recovery FILE.IMG ولا ننسى إستبدال كلمة FILE.IMG باسم ملف الريكوفري الذي كنا قد قمنا بتحميله ووضعه داخل مجلد platform-tools لعمل فلاش او تثبيت للريكوفري المخصص على جهاز الاندرويد والذي قد يكون على سبيل المثال لجهاز سامسونج جالكسي إس 3 على الشكل التالي cwm-6.0.4.7-Galaxy-S3-GT-I9300.img او twrp-2.6.3.1–Galaxy-S3-GT-I9300.img بحسب الريكوفري الذي تم اختياره مسبقًا.
5- بعد القيام بعمل فلاش للريكوفري المخصص، سيتم إعادة التشغيل ويمكنكم التأكد من ان وضع الريكوفري المخصص قد تم تثبيته بالضغط على زر رفع الصوت وزر الرئيسية والتشغيل (لأجهزة سامسونج) او رفع الصوت والتشغيل لباقي الأجهزة.
6- انتهى التثبيت تهانينا انت الآن تمتلك ريكوفري مخصص!
طريقة تثبيت ريكوفري مخصص CWM او TWRP السابقة يمكن استخدامها مع العديد من اجهزة اندرويد ومنها على سبيل المثال Samsung Galaxy S5, Galaxy S4, Galaxy S III, Galaxy Note 3, Galaxy Note 2, HTC One (M8), LG G3, LG G2, Moto X, Moto G, Sony Xperia Z2, Xperia Z1.. والمزيد طبعًا بشرط توفر دعم ملف الريكوفري المخصص لأي جهاز اندرويد من قِبل CWM او TWRP.
من الأسئلة الشائعة التي سنتعرض لها بدون اي شك، (كيف يتم العودة الى الريكوفري الأصلي الرسمي؟) في حال الرغبة بالعودة الى استخدام الريكوفري الرسمي، يجب تثبيت روم رسمي كامل على الهاتف لكي يعود الى حالته الأصلية.

Communications Forecast: Top 10 Communications Trends to Watch in 2015 - الاتصالات توقعات: أعلى 10 اتجاهات الاتصالات لمشاهدة في عام 2015

  • 0
Communications represents the core of electronics.  The technology traces back to the dawn of electronics, and still dominates today by weaving its way into nearly every facet of modern life. However, its immense impact on our lives is generally taken for granted.  With that in mind, pay attention to these key communications trends in the coming year:
Continued Expansion of LTE
Long Term Evolution 4G cellular standards, well established in the U.S. and Asia, haven’t hooked on everywhere. Many locations domestically and in most developing nations still rely mainly on 3G technology. In Europe, for example, LTE penetration is only 14%. With the smartphone now the de facto standard handset, there’s ever-growing demand for broad and fast LTE coverage. In response, U.S. carriers continue to expand their LTE offerings. Its growth, though, often slows due to lack of available capital and suitable frequency spectrum. 
Download this article in .PDF format
This file type includes high resolution graphics and schematics when applicable.
The next big step for LTE involves LTE-Advanced and small cells. LTE-A leverages carrier aggregation and higher MIMO levels to widen bandwidth and boost speed. Modem chips for the LTE-Advanced (Release 10) versions of LTE are just now emerging, so look for LTE-A cell sites and handsets to arrive in… 2016 (most likely not this year). Then download speeds up to 300 Mb/s will be possible under ideal conditions. 
While carrier aggregation will boost bandwidth to increase speeds, the lack of spectrum will still limit LTE-A. It’s going through trials and testing now around the world with almost no commercial activity. Carriers like AT&T, T-Mobile, and Verizon are currently preparing for real service in the coming years as chips and other equipment become available.
Despite the capital and spectrum limitations, LTE will still grow significantly. ABI Research estimates that 676 million LTE handsets will ship in 2015, a 50% increase over 2014. Furthermore, ABI estimates 1.89 billion LTE-enabled devices will be in use by 2019. Thus, the burden gets placed on carriers to expedite the LTE infrastructure to support that quantity.
As the LTE infrastructure expands, some of that growth will entail small cells—miniature base stations with limited range and power.  These small cells will add to the existing cellular base-station mix to create a heterogeneous network (HetNet) that should boost coverage indoors and out, as well as increase downlink speeds. Few small cells have been installed, but look for gradual deployment in dense population areas. 
Defining 5G
Even with 4G technology still in expansion mode, fifth-generation (5G) cellular systems are already being defined.  We will linger a while longer in the 4G world as LTE continues to expand, LTE-A comes online, and small-cell efforts like Wi-Fi offload and distributed antenna systems (DAS) are implemented. Nonetheless, debates about 5G’s future are underway, with further definitions expected this year.
As usual, the goal is to expand capacity, fill in the coverage gaps (especially indoors), ease the spectrum shortage problem, and increase downlink speed. The emerging consensus is that small cells in the millimeter-wave bands can do the job.  While physics restricts the range of millimeter-wave signals, high-gain antennas and many small cells should make it workable.  The 28-, 38- and 73-GHz millimeter bands have been proposed. 
While OFDM may be used, newer modulation methods could be part of the new standards. Steerable beamforming antenna arrays and high levels of MIMO will allow gigabit speeds in dense urban surroundings. Millimeter-wave backhaul will connect everything together. Overall, we’re years away (2020?) from 5G, but be on the lookout for ongoing discussions on its progress.
Eternal Ethernet
Ethernet, the ubiquitous local-area-network (LAN) technology, has been with us for over 40 years and continues to morph to keep pace with changing technology. Ethernet has been on the path of increasing line rates by a factor of ten every few years since its beginning. The original 10 Mb/s soon became 100 Mb/s, then 1 Gb/s, and onto 10 Gb/s. Today, Ethernet delivers 100 Gb/s in copper as well as fiber forms.
Lately, though, we’re seeing a different path taking shape in terms of speed. Instead of reaching for the next decade of 1 terabit per second (1 Tb/s), IEEE 802.3 task forces are targeting 400 Gb/s and even lower-level intermediate speed versions. The idea is to adapt Ethernet to specific needs and niches. A great example is the proposal for 2.5G and 5G versions of Ethernet. This effort is spurred on by the NBASE-T Alliance, an organization dedicated to promoting and developing the 2.5G and 5G versions.
One projected problem is that the LAN infrastructure needs to support the forthcoming 802.11ac Wave 2 wireless hotspots capable of multi-gigabit speeds. With most access points stuck at 1 Gb/s, existing cable installations can’t handle the extra speeds achievable with the wireless access points. The most common CAT5 and CAT6 cabling (Fig. 1)installations don’t support the 10-Gb/s version of Ethernet, so the need arises for another solution. We can look forward to some new versions of Ethernet with modulation methods that can handle 2.5G and 5G speeds on standard unshielded twisted pair up to 100 meters. 
1. Ethernet’s familiar CAT5/6 cables and connectors will continue to provide the links for new variations of this ubiquitous LAN standard (courtesy of the University of New Hampshire Interoperability Laboratory (UNH-IOL).

Another similar effort now underway comes via the 25G/50G Ethernet Consortium. This group wants new versions of Ethernet that will run at 25G and/or 50G on copper cables and backplanes. The impetus is to provide lower-cost interconnections of servers and storage units in data centers to support growing cloud, video-data and wireless-traffic needs.
We needn’t worry about Ethernet. Forthcoming new versions for 2.5G, 5G, 25G, 50G and 400G will keep us happy in the years to come.
New Short-Range Wireless Options
Now almost two decades old, Bluetooth and ZigBee have each carved out a niche in the short-range wireless market. Bluetooth became successful with its wireless headsets, hands-free automobile kits, and wireless speakers. Basically, it’s in every smartphone. ZigBee made great strides with home automation, industrial mesh sensor networking, and remote controls. They rarely competed with each other. That could all change, though, given the new versions of these technologies aimed at the Internet of Things (IoT) market.
The Bluetooth SIG’s latest version 4.2 improves privacy and security, boosts data speeds, and adds Internet connectivity. The greater security ensures that users of beacons can’t be tracked. Data speed jumps by an x2.5 factor over the 4.1 version, improving capacity. In addition, Internet connectivity via IPv6 and 6LoWPAN now make Bluetooth a candidate for IoT applications. And don’t forget Bluetooth Low Energy is continuing to penetrate into beacons and wearable products. Bluetooth being combined with near-field communications (NFC) for seamless pairing makes it even more popular in consumer devices.
ZigBee’s new 3.0 version has become more attractive than ever, too—it now combines all features of many ZigBee applications into one specification. That includes home automation, lighting, energy management, security, sensors, and healthcare monitoring(Fig. 2). Based on the popular ZigBee PRO specification, version 3.0 is still a great choice for IoT mesh networking and Internet connectivity.
2. ZigBee’s new version 3.0 will make this standard ever more popular for the Internet of Things in terms of home monitoring and control (courtesy of the ZigBee Alliance).
Needless to say, IoT developers now have two more excellent choices at their disposal.
NFC Progress…At Last
Near-field communications, another nearly two-decades-old short-range wireless technology, doesn’t compete with Wi-Fi, Bluetooth, or ZigBee. Rather, it’s found a niche or two in transit payment, secure entry, and posters. Its biggest challenge has been to become the wireless payment method in smartphones, replacing or at least supplementing credit-card payment methods. It was incorporated into some Android smartphones to implement payment schemes like Google Wallet and others. Overall, though, adoption by retailers and consumers was poor.

However, Apple put NFC into its new iPhone 6 models and implemented the Apple Pay system, which seems to have re-ignited interest in NFC and smarphone pay methods. In fact, LitePoint’s VP Curt Schmidek has seen a boost in sales of its IQnfc NFC production test units (Fig. 3).  He believes that NFC will come into its own this year. With the shift in liability for corrupt hacking charges shifting from bank insurers to merchants, retail outlets should finally invest in NFC payment terminals simply because the systems offer far more security. With the transition expected to happen late this year, look for 2016 to be the year of NFC and increased use of smartphone pay systems.



3. IQnfc, developed by LitePoint, is a production line tester for NFC wireless devices. Shipping volume of the tester has spiked thanks to increased NFC usage in smartphones


Improved Wi-Fi, and More of It
Where would we be without Wi-Fi?  It’s almost ubiquitous, with expectations of it being everywhere and free.  This year will see even more Wi-Fi with greater speeds, improved coverage, and even new uses.
First, adoption of the latest 802.11ac standard should be substantial. It has taken some time for this faster 5.8-GHz-only version to come on line, but with new chips available along with improved routers and access points (APs), look for faster links everywhere. Use of 80- or 160-MHz-wide channels and modulation methods up to 256QAM has boosted data rates into the gigabit region.
You will also see the emergence of 802.11ac Wave 2 products. These offer multiuser multiple-input multiple-output (MU-MIMO), which lets one access point handle more than one user at a time. This will provide greater access as well as near-gigabit data rates.
What’s not so clear is the path for the superfast 802.11ad version of Wi-Fi, known as WiGig. This 60-GHz-band wireless standard with active high-gain beam-forming antennas offers speeds to 7 Gb/s over short distances. Its most likely application is uncompressed video transfer. Chips are now available, but few end products. What will 2015 bring?
Major WLAN provider Ruckus Wireless offers up a variety of predictions for Wi-Fi. In addition to its “2015 is the year of 802.11ac” forecast, Ruckus expects wider adoption of the Wi-Fi Alliance’s Hotspot 2.0 (Passpoint) with the 802.11u standard, significantly improving the ability of Wi-Fi users to automatically connect to an AP and roam seamlessly from one AP to another. Another major prediction concerns the incorporation of virtualization into the WLAN via network function virtualization (NFV).
Ruckus also looks for wireless operators to increase use of Wi-Fi offload in order to increase capacity. Wi-Fi-calling, or VoIP over Wi-Fi, continues to gain popularity—it allows voice calls from cell phones from locations unreachable with a cell site, but with a nearby Wi-Fi access point.  This very popular feature could kill off the femtocell solution for poor cellular coverage. In addition, Wi-Fi offload should slow the adoption of LTE small cells. While small cells will soon become common, many of those small cells will be Wi-Fi access points.
Finally, we may see some progress in extended-range Wi-Fi with coverage out to one kilometer. One development called White-Fi, or Super Wi-Fi, involves application of the 802.11af standard to the white-space spectrum. White space represents the unused TV channels in the 54- to 790-MHz VHF and UHF range. These 6-MHz-wide channels permit longer-range communications than the current 2.4- and 5.8-GHz bands of Wi-Fi. Using cognitive radio methods, the 802.11af standard will greatly extend the range of Wi-Fi in rural areas and those with difficult terrain. 
Another longer range option is the 802.11ah standard designed for the 902- to 928-MHz U.S. unlicensed band. With channel bandwidths to 16 MHz, it can potentially deliver rates topping 300 Mb/s over its extended range.
The Internet of Things Becomes Reality
Connecting everything to the Internet seems like a nutty idea. Yet, the idea of linking “things” to other “things” and/or to humans via the Internet has not only generated lots of interest, but a surging number of new products. With Internet security becoming an increasing problem, you have to wonder about the implications. Yet new applications will produce substantial benefits in terms of convenience and time/cost savings.
A spokesperson for Broadcom Corp. offers this view of IoT:  “IoT is a significant growth engine as it has the ability to connect anything. Today, there are approximately 1.75 billion smartphone users worldwide and an average of five to seven connected devices per home. Experts predict that by 2020, 50 billion devices and objects will be connected to the Internet. What’s perhaps most exciting about this market is the low barrier for entry. There’s an opportunity for anyone with a brilliant idea to quickly test ideas and bring them to market. For example, Broadcom offers a $20 Wireless Internet Connectivity for Embedded Devices (WICED) development kit, called WICED Sense, that give developers access to the technology needed to quickly and affordably test an idea and create a prototype. “ 
IoT will exploit a variety of wireless methods. Broadcom’s WICED and Texas Instruments’SimpleLink products are two examples. But with new standards, Bluetooth and ZigBee also become candidates for IoT products. Furthermore, cellular remains an option for some applications.
A Crippled Internet
The government wants to regulate the Internet. Though it’s tried to do so on several occasions only to lose in court, the people in power aren’t giving up. The latest efforts include FCC Chairman Tom Wheeler’s hybrid plan and President Obama’s suggestion to categorize the Internet as a utility under Title II of the Communications Act of 1934. 
The idea is to keep the Internet open and fair. Of course, today the Internet is open and basically fair without regulation. Some argue that the carriers will throttle the Internet and raise fees unfairly. Others argue that regulation is necessary to ensure that all traffic of large and small organizations be treated the same.
While some regulation seems practical to thwart potential abuses, the effect of any regulation always seems to raise taxes and costs, as well as put restrictions on innovation and investment. So, it appears as though some regulation is inevitable. No decision has been made yet, but look for a resolution sometime during 2015.  Hopefully it will be reasonable and not cripple the best technological development of the century.
On top of the predictable forthcoming regulation, another possible government decision threatens to further cripple the Internet. In September, the U.S. Commerce Department’s contract with the Internet Corporation for Assigned Names and Numbers (ICANN) will end, terminating the U.S.’s control over the Internet. The current administration wants to turn control over to some international organization.
With individual governments able to make decisions on the Internet, we can possibly expect to see severe restrictions on a country by country basis. ICANN has tried to stay fair and neutral under the U.S. influence. Let’s hope the government changes its mind and keeps ICANN in its fold. Otherwise, 2015 could be a disaster of a year for the Internet.
Spectrum Shortage Solutions
Some claim that there‘s no spectrum shortage, but the wireless carriers say otherwise. The lack of usable spectrum is the main limitation to boosting 4G capacity and speed. A couple of approaches are being taken to solve this problem. The first revolves around spectrum auctions—a recent spectrum auction generated over $40 billion. The FCC freed-up space in the AWS-3 spectrum in the 1700- and 2100-MHz range for cellular usage, most of it going to major carriers like AT&T, Verizon, T-Mobile, and Dish Network.
More auctions are on the way.  In 2016, the FCC will ask TV broadcasters to voluntarily give up their channels and either go out of business or move to another location. This spectrum is worth billions and many TV station owners are seriously considering it. With only about 10% of the population getting over-the-air TV, and with increased competition from cable and Internet TV, it’s expected that some stations will participate. The FCC hopes to free up an additional 100 MHz and generate about $45 billion in the process.
Spectrum sharing is another technique employed to ease the spectrum crunch.  The best example is the 2.4- to 2.5-GHz unlicensed band used by Wi-Fi, Bluetooth, ZigBee, and even some cordless phones.  It works because of the limited range, low power, and some special co-existence techniques. 
We can look for more spectrum sharing that leverages cognitive-radio techniques. The TV white-space spectrum now uses these for unlicensed data transmission.
Download this article in .PDF format
This file type includes high resolution graphics and schematics when applicable.
Another solution is to move to the higher frequencies in the millimeter-wave bands.  These frequencies are already seeing increased usage as the latest semiconductors emerge to make them practical.  You will no doubt see cellular systems adopt the millimeter bands for 5G.
The “Softwarization” of Networking
So far, networking has been a balance of hardware and software.  Now, though, we’re seeing a gradual shift to the software side. With the meteoric rise in Internet traffic (especially video), growing cloud needs, and the potentially overwhelming Internet of Things, current networks find it harder to scale systems to handle the capacity and speed demands. The proposed solution is a new software-based paradigm for networking.
One solution—software-defined networking (SDN)—replaces some hardware with software. SDN separates the data and control planes of the network. The Open Networking Foundation (ONF) defines SDN as “an emerging network architecture where network control is decoupled from forwarding and is directly programmable.” OpenFlow is one example of SDN-related commercial software.
Another software approach is the aforementioned network function verification, or NFV. Its goal is to migrate network operations from dedicated hardware to multiple virtual machines running on common servers. This should lead to improved utilization of existing resources while lowering costs. Expectations are that NFV will be used in conjunction with SDN to further improve network performance and efficiency.
SDN and NFV have yet to be widely implemented, but the movement is underway and migration will take years.

What’s The Difference Between FDD And TDD? - ما الفرق بين FDD و TDD

Duplexing is the process of achieving two-way communications over a communications channel. It takes two forms: half duplex and full duplex (Fig. 1)

.1. There are two modes of duplex operation: (a) half duplex and (b) full duplex.
In half duplex, the two communicating parties take turns transmitting over a shared channel. Two-way radios work this way. As one party talks, the other listens. Speaking parties often say “Over” to indicate that they’re finished and it’s time for the other party to speak. In networking, a single cable is shared as the two computers communicating take turns sending and receiving data.
Full duplex refers to simultaneous two-way communications. The two communicating stations can send and receive at the same time. Landline telephones and cell phones work this way. Some forms of networking permit simultaneous transmit and receive operations to occur. This is the more desirable form of duplexing, but it is more complex and expensive than half duplexing. There are two basic forms of full duplexing: frequency division duplex (FDD) and time division duplex (TDD) (see the table).

Frequency Division Duplex

FDD requires two separate communications channels. In networking, there are two cables. Full-duplex Ethernet uses two twisted pairs inside the CAT5 cable for simultaneous send and receive operations.
Wireless systems need two separate frequency bands or channels (Fig. 2). A sufficient amount of guard band separates the two bands so the transmitter and receiver don’t interfere with one another. Good filtering or duplexers and possibly shielding are a must to ensure the transmitter does not desensitize the adjacent receiver.






2. FDD requires two symmetrical segments of spectrum for the uplink and downlink channels.
In a cell phone with a transmitter and receiver operating simultaneously within such close proximity, the receiver must filter out as much of the transmitter signal as possible. The greater the spectrum separation, the more effective the filters.
FDD uses lots of frequency spectrum, though, generally at least twice the spectrum needed by TDD. In addition, there must be adequate spectrum separation between the transmit and receive channels. These so-called guard bands aren’t useable, so they’re wasteful. Given the scarcity and expense of spectrum, these are real disadvantages.
However, FDD is very widely used in cellular telephone systems, such as the widely used GSM system. In some systems the 25-MHz band from 869 to 894 MHz is used as the downlink (DL) spectrum from the cell site tower to the handset, and the 25-MHz band from 824 to 849 MHz is used as the uplink (UL) spectrum from the handset to cell site.
Another disadvantage with FDD is the difficulty of using special antenna techniques like multiple-input multiple-output (MIMO) and beamforming. These technologies are a core part of the new Long-Term Evolution (LTE) 4G cell phone strategies for increasing data rates. It is difficult to make antenna bandwidths broad enough to cover both sets of spectrum. More complex dynamic tuning circuitry is required.
FDD also works on a cable where transmit and receive channels are given different parts of the cable spectrum, as in cable TV systems. Again, filters are used to keep the channels separate.

Time Division Duplex

TDD uses a single frequency band for both transmit and receive. Then it shares that band by assigning alternating time slots to transmit and receive operations (Fig. 3). The information to be transmitted—whether it’s voice, video, or computer data—is in serial binary format. Each time slot may be 1 byte long or could be a frame of multiple bytes.



3. TDD alternates the transmission and reception of station data over time. Time slots may be variable in length.
Because of the high-speed nature of the data, the communicating parties cannot tell that the transmissions are intermittent. The transmissions are concurrent rather than simultaneous. For digital voice converted back to analog, no one can tell it isn’t full duplex.
In some TDD systems, the alternating time slots are of the same duration or have equal DL and UL times. However, the system doesn’t have to be 50/50 symmetrical. The system can be asymmetrical as required.
For instance, in Internet access, download times are usually much longer than upload times so more or fewer frame time slots are assigned as needed. Some TDD formats offer dynamic bandwidth allocation where time-slot numbers or durations are changed on the fly as required.
The real advantage of TDD is that it only needs a single channel of frequency spectrum. Furthermore, no spectrum-wasteful guard bands or channel separations are needed. The downside is that successful implementation of TDD needs a very precise timing and synchronization system at both the transmitter and receiver to make sure time slots don’t overlap or otherwise interfere with one another.
Timing is often synched to precise GPS-derived atomic clock standards. Guard times are also needed between time slots to prevent overlap. This time is generally equal to the send-receive turnaround time (transmit-receive switching time) and any transmission delays (latency) over the communications path.

Application Examples

Most cell-phone systems use FDD. The newer LTE and 4G systems use FDD. Cable TV systems are fully FDD.
Most wireless data transmissions are TDD. WiMAX and Wi-Fi use TDD. So does Bluetooth when piconets are deployed. ZigBee is TDD. Most digital cordless telephones use TDD. Because of the spectrum shortage and expense, TDD is also being adopted in some cellular systems, such as China’s TD-SCDMA and TD-LTE systems. Other TD-LTE cellular systems are expected to be deployed where spectrum shortages occur.

Conclusion

TDD appears to be the better overall choice, but FDD is far more widely implemented because of prior frequency spectrum assignments and earlier technologies. FDD will continue to dominate the cellular business for now. Yet as spectrum becomes more costly and scarce, TDD will become more widely adopted as spectrum is reallocated and repurposed.

10 tips for students of Computer Science - ١٠ نصائح لطلاب علوم الحاسب

  • 0
1.) Math is More Important Than You Think
Math is all over Computer Science in many different ways. Software Engineers will use discrete math when working out algorithm complexity and efficiency, in graph theory, and recursion. People who work more directly with hardware will use discrete math in designing logical circuits and use automata theory for making finite state machines. At that level you are also working with the large amount of math inherent with electrical engineering. In research aspects you will be using probability and statistics for performance measurements and comparisons. Even game programmers use a lot of math when creating 3D environments. 

2.) You'll Need To Write More Than Just Code

At the base level you will be writing comments in your code. Those are there for others to comprehend what you are trying to do, so explain what you are doing well. In software engineering you may be writing requirements, specifications, test plans, and more. There may be a time later in your CS career where you may need to write a research paper, that may get peer reviewed. Good writing skills will help you. Pay attention in your business writing classes and learn good technical writing skills now.

3) Don't Procrastinate

We know you've heard it a million times, but this is the worst possible thing you can do in a programming class. When you get an assignment, look it over and start on it right away. In the likely chance that you can't work through an error or figure out the logic, you'll have time to contact your instructor or use other available resources to solve the problem. 

4) Don't Overcomplicate Things
The smaller a block of code is, without being redundant of other code, the better. When you break down algorithms which have nothing in common, often there is a loop or operation which is not unique, other than the parameters involved. A single method/function should not be longer, or wider than a standard 800x600 monitor view. If you comment well, a little larger is acceptable.

6) Impress Your Instructors, But Not Too Much
Your instructor can be your best friend, but don't be a suck up. Ask questions and show your instructor you're interested but don't annoy the rest of the class with constant questions and meaningless comments. If you can get to know your instructor, you may be able to leverage that relationship in the future for internships and recommendations. 

7) Flowcharting Early and Often
Any good programmer will tell you planning is the most important part of any project. You'll have to flowchart when you get a real job, so get good at it now. Planning a project out before you start, even if it's just good pseudocode, can save you hours of frustration. Don't start your project in the compiler, instead sit down with a piece of paper and plan out your program. 

8) Make Sure This is What You Want to Do

Many computer science students get into CS because they like games. Now there are a lot of positions in Computer Game Design that do not require you to be a programmer, so if you are not interested in the coding aspect talk to someone who might direct you to a better path. Areas such as Technical writing, Dramatic Writing, graphic arts, business management, and many more might be better places to go. Use your minor/electives to take computer oriented classes and get to know the CS majors.

9) Use All Your Resources
Don't hit a road block and then panic. There are thousands of resources online to help you work through a problem. From tutorials, to forums (like http://www.dreamincode.net), to live help, you should be able to find the help you need. Just remember it can take more than a few minutes for someone to help solve your problem so don't wait till the last minute. Google is definitley your friend and don't feel embarassed if you have to search for your problem. Don't expect people to do the work for you though, you'll still have to put forth some effort. 

10) Become a Well Rounded Programmer
Programming is more than just C++ or Java. If you plan on programming for a living, you'll need to learn the business side of programming. This includes things like systems analysis, databases, security, and documentation. Also realize that C++ isn't the only language out there, you should be able to jump fairly quickly from language to language. Don't get stuck in one language. Learn the basics of other languages including web based. In addition to code, focus on your humanities. Nobody wants to interact with a dull uncultured nerd. Take classes that interest you and will provide you with a good non-technical education as well. 

Top 10 Programming Languages to Learn in 2014 - أفضل 10 لغات البرمجة للتعلم في عام 2014


Having spent more than 5 years in software development and the computer programming arena, one of the most common questions I am asked is:

What are some of the best programming languages to learn?

This is a question that is asked by beginners, as well as experts. As with many important questions, the answer is not simple. There are many factors that should be taken into account while deciding a programming language to learn.
Technology evolves in matter of weeks and by the time you become expert in a particular software technology, it can already be considered obsolete. Another extremely important thing to note is that programming languages vary greatly in terms of functionality and complexity. The answer to what programming language you should learn majorly depends upon the type of task you want to perform. For instance, if you are developing some static web-based application, you might need to learn simple HTML. Conversely, if you want to develop a more dynamic application with advanced capabilities, you might need to learn ASP.NET, PHP, Ruby on Rails, or Javascript and and accompanying framework. Desktop and mobile applications have different requirements as well.
In addition to that, another interesting aspect of programming that I noticed is that not only programmers and software engineers are interested in learning new programming languages, but people from totally different walks of life are also into it. Recently, I came across a PhD researcher with psychology as a research area. He was instructed by his supervisor to learn some advanced programming language because he would be required to display his research result in form of a software application. He was also asking the same question about what from where he should start. That shows that programming is not limited to programmers, with rigorous practice and attention, anyone, yes anyone, can program.
Now back to the top 10. I have decided to compile a list of programming languages that can be helpful in deciding which to pursue, and have also added a number of typical “developer types” or “tracks” that you could become or experiment with. You should have a look at these languages and decide which is best suited for your requirements. So, let’s get started.

1. C Language
I vividly remember that the first programming language course that I had in my university was of C language. Our instructor assigned us a task to add two numbers using C. And when we completed the task, we felt like the best programmers on earth. C is definitely a very good programming language to learn, specifically for the beginners who are intending for a programming career in the long run.
A bit of history: C language was developed by Dennis Ritchie in 1972, at Bell labs. The legacy of C language stems from the fact that it is ancestor to many of the advanced programming languages such as C++, Java, C#, JavaScript, and Pearl. It is probably due to this reason that C is the first programming course offered in universities as it paves way for learning other languages. C language is mostly used for developing low level applications as it is considered nearest to the hardware amongst all languages, baring assembly language. If you’re a beginner,here is a great starter course to C.
2. C++ Language
Though C language was performing extremely well, it lacked object orientation. In order to address this issue, C++ language was developed in 1983 which is often considered object oriented version of C language. C++ is one of the most widely used languages of the world with many amazing applications developed through it. Google Chrome, Mozilla Firefox, Winamp, and the complete suite of Adobe Software were developed using C++. Apart from that, several advanced games and operating systems – like windows – have been developed in C++ due to its quick processing and compilation mechanism. Also, C++ developers are in extremely high demand in the job market and the number of vacancies is growing. You can visit Udemy C++ to learn how to program in this rapidly growing language.


3. Java
Java was developed by James Gosling, in 1990 at Sun Microsystems. Java further adds to the capabilities of C++ language. It is often said that Java owes a lot to C and C++ in terms of features and capabilities. The special thing about Java is that this is the first purely object oriented programming language. Java was developed on the principle of WORA i.e. “Write Once Run Anywhere”. This feature adds to the portability of Java. You just need to compile Java Source code once and then on any machine where JVM (Java Virtual Machine is installed), you can run that code irrespective of the underlying operating system and hardware.
Java language is used to develop enterprise level application and video games; it can be employed to develop web based applications when used with JSP (Java Server Pages). Java has huge job market with attractive incentives. This is a must learn language for every programmer. The ultimate guide to Java for beginnerscan help you master this language.
4. C#
C# belongs to the Microsoft’s family of programming language and was developed in 2000 to be the part of the first ever release of Microsoft’s prestigious .NET framework. C# is very similar to Java in terms of capabilities. It has been said that C# combines the robustness of C++ with the advanced features of Java. Therefore, if you are good at Java, it is extremely easy to switch to C# and vice-versa.
C# language is used to develop almost all types of software applications that come with Visual Studio IDE. If you are developing a dynamic web based application in ASP.NET, you will be required to code in C# or VB to write backend handling mechanism. If you are developing a Windows form application or a Windows Presentation Foundation (WPF) Application, you will be required to code in C#. Similarly, if you are developing a windows phone application, again you will be required to code in C#.
Keeping in view, the importance of the usage of C# in Microsoft’s application, you should definitely consider it if you are looking to develop applications for Windows-based platforms. The job market for C# programmers is also good and you can find a lucrative job being a C# programmer. Explore the fundamentals of C# in this course.
5. Objective C
Objective-C was initially developed at Apple by Brad Cox and Tom Love, in 1983. The purpose of developing Objective-C programming language was to address the deficiencies in C language. The major shortcoming in C language was object orientation which provoked many developers to devise languages that incorporate object orientation paradigm. As a result C++ and Object-C were developed. However, the latter have gained immense popularity owing to its use in developing applications for Apple’s iPhone and iPad.
Sound knowledge of Objective-C would be helpful in landing you a job in companies that develop Apple based software applications. In addition to that, freelance industry also has huge demand for Objective-C coders across the globe. Just getting started? Learn coding alongside a professor in this course for beginners.


6. PHP
PHP (Hypertext Preprocessor) is one of the most widely used languages used to develop dynamic websites. PHP was developed in 1995 and is a server-side scripting language which means that PHP code is processed on the server and end result is sent to the user of the website in the form of plain HTML.
PHP is an open-source language which means that there are thousands of already built modules that can be modified to achieve the desired functionality. Also, PHP is easy to learn; you simply have to embed the code inside HTML. And if there was anything left, there are hundreds of PHP platforms available such as Joomla, WordPress, and Drupal that allow you to develop websites even more conveniently. PHP is one language that every programmer should learn if he or she plans to pursue a web developer’s career. PHP is also an integral part of the famous LAMP (Linux Apache MySQL and PHP) platform that Facebook, Yahoo, and other famous websites use. PHP has a huge job market, though not much highly paid when compared to ASP.NET developers; PHP developers easily find decent jobs. Some easy and comprehensive tutorials are available at Udemy PHP.
7. JavaScript
Server side languages are ideal for developing complex web applications but performing every task on server puts lots of load on a server. For this reason, developers often delegate some part of the functionality to client side and for this purpose JavaScript is used. JavaScript is a client side programming language that runs inside a client browser and process commands on client computer rather than server which results in decreased load on server and increased application’s execution speed. JavaScript has been designed by Netscape and there is hardly any website that doesn’t make use of JavaScript. Though, JavaScript alone will not help you land a job but if you are looking to pursue a career in web development, JavaScript is a must learn language along with some advanced server side scripting language. A good resource to learn Java is available at Udemy.com. Join over a thousand students who have taken this course on comprehensive JavaScript programming.


8. Python
Python is another high-level programming language and is often considered on the easiest language to learn, owing to its simplicity, readability and straight forward syntax. Python was developed by Guido Van Rossum in 1991. Python wasn’t used that widely in the past; however, the language has seen great surge in popularity in the recent years owing to Google’s investment in the language in the past 10 years or so. Currently, some highly famous and robust sites are operating in python including pinterest.com, instagram.com, and rdio.com. Like, PHP, Python also has associated web frameworks which make it more convenient to develop web based applications in python. Django is one such platform which powers the sites aforementioned. There are two renowned courses on Python for beginners that I’d like to recommend: this course on Python programming and this Ultimate Python Tutorial.
9. SQL
SQL is not a development language; it is actually a database query language. SQL stands for Structured Query Language. SQL provides a standardized way of interacting with the underlying database of an application. SQL is extremely simple to learn and is probably closest to the English language in terms of syntax. Almost every application has a backend database and in order to interact with that you will need to have sound knowledge of SQL. Like JavaScript, SQL alone is not that beneficial in terms of job placement; however, good command of SQL can help you stand out of crowd. Therefore, it is highly recommended that you learn it. You can try out this beginner’s SQL crash course to start!
10. Ruby
Similar to Python, Ruby is also a simple and readable programming language mainly focused on developing web-based applications. Designed by Yukihiro Matsumoto in 1995, Ruby powers Ruby on Rails, a web development framework on which numerous renowned websites including Github, Scribd, Yammer, Shopify, and Groupon have been developed. Ruby is regarded as combination of some of the most famous features of Lisp, Pearl and Eiffel. Ruby also has got a good job market and ruby developers are being paid decently at the moment. Learn Ruby quickly and painlessly with this course!