All posts by admin

How to completely uninstall Android Studio in macOS?

Problem:

You have an issue with Android Studio and want to reinstall it. In order to reinstall a fresh instance you need to uninstall the current version first.

Solution:

Execute these commands from the terminal:

rm -Rf /Applications/Android\ Studio.app
rm -Rf ~/Library/Preferences/AndroidStudio*
rm ~/Library/Preferences/com.google.android.studio.plist
rm -Rf ~/Library/Application\ Support/AndroidStudio*
rm -Rf ~/Library/Logs/AndroidStudio*
rm -Rf ~/Library/Caches/AndroidStudio*
rm -Rf ~/.AndroidStudio*

if you would like to delete all projects:

rm -Rf ~/AndroidStudioProjects

to remove gradle related files (caches & wrapper)

rm -Rf ~/.gradle

use the below command to delete all Android Virtual Devices(AVDs) and *.keystore. note: this folder is used by others Android IDE as well, so if you still using other IDE you may not want to delete this folder)

rm -Rf ~/.android

to delete Android SDK tools

rm -Rf ~/Library/Android*

Source: http://stackoverflow.com

How do we make an image look darker using Photoshop?

How do we make an image look darker using Photoshop?

  • Use Ctrl+J to duplicate the image layer
  • Click on the top layer and change the blend mode to either Multiply or Overlay
  • Go to Image > Adjustments > Levels
  • Adjust the middle node (sliding right makes darker image, sliding left makes lighter image) till you get your desired outcome.

How do we change a layer’s opacity?

  • Right click a layer > Blending Options…
  • Change the Opacity value

How do we straighten a photo (transform perspective while cropping)?

  • Hold down the Crop tool and select the Perspective Crop tool
  • Draw a marquee around the distorted object. Match the edges of the marquee to the rectangular edges of the object.
  • Press Enter (Windows) or Return (Mac OS) to complete the perspective crop.

How do we crop a photo with 4×6 ratio?

  • Hold down the Crop tool and select the 2:3 (4:6) from the drop down box on the top panel.
  • Resize the grid to appropriate size.
  • Right click on the image and select Crop.

How do we horizontally straighten a photo?

  • Hold down the Ruler tool and draw a line as the new horizontal.
  • Click Straighten Layer on the top panel.

 

 

How to Transfer Files and Music to an Android Phone Using USB

So you’ve plugged your USB to microUSB cable into your computer and Android phone and are ready to start downloading files.

Staring intently at your screen, you wait for a drive, a window — something, anything — where you can drag-and-drop your files, but it just doesn’t come.

Well, chances are, you are missing one simple yet critical but step.

Here’s how to transfer files to your Android phone:

  1. Connect your Android phone to your computer using the microUSB to USB cable.
  2. If you are using a PC, you will see an installation bubble pop up in the bottom right of your screen. Wait for the computer to successfully complete installation.
  3. The critical step: On your Android phone, pull down the notification window (aka ‘window shade’) and tap USB connected.
  4. A notification window will appear. Tap Mount. Your phone will enter USB storage mode.
  5. Find the removable storage drive. On a PC, navigate to My Computer and look for a new removable storage drive. On a Mac, the drive will appear on your desktop.
  6. Drag-and-drop the desired file(s) to the drive.
  7. In your phone’s notification window, tap Turn off USB storage.
  8. Unplug your phone and you’re all set.

Source: https://www.wirefly.com/

Topic 16 – Advanced Software Design

Why do I need to learn about advanced software design?

Your task now is not just to build a house, it is to build a city. Soon, you will be creating very complex software. You are responsible for designing a system containing around 10,000 classes or functions for 5,000 users to use over the next 15 years. The maximum allowable system downtime must be less than five minutes per year.

Imagine you have to create a system that serves millions of users simultaneously, like Facebook, YouTube, Amazon, Office 365, or Gmail. Are you confident in building one?

Now imagine you are tasked with creating a web framework for developers to extend, such as ASP.NET, Yii, or React. Are you confident you could create one?

If you are unsure how to accomplish these tasks, it is probably wise to study how others have built similar systems and adapt their approaches to your situation. Advanced software design equips you with the knowledge and tools needed to begin building your own complex software.

What can I do after finishing learning advanced software design?

You will learn how to design a complex software system that satisfies not only functional requirements but also security, modifiability, scalability, reusability, extensibility, and reliability requirements..

That sounds interesting! What should I do now?

Nowadays, software can be applied to many fields, each requiring specific advanced software design knowledge. In this topic, we focus only on enterprise software due to its popularity.

Before designing a complex system, you must thoroughly understand its sophisticated requirements. This is a critical step in building any large system.

First, please read this book to learn how to elicit, analyze and document requirements for an enterprise system: David C. Hay (2002). Requirements Analysis: From Business Views to Architecture. Prentice Hall PTR.

After that, please read this book to learn about transactional processing principles and techniques: Philip A. Bernstein and Eric Newcomer (2009). Principles of Transaction Processing. Second Edition. Morgan Kaufmann.

After that, please read the books below to learn how to leverage domain-driven design approach to reduce software complexity.

After that, please read the books below to learn how to design microservices:

After that, please read the books below to learn how to leverage event sourcing and stream processing to design scalable big data software systems:

Terminology Review:

  • Enterprise Applications
  • Enterprise Systems
  • Transaction Processing
  • Microservices
  • Domain-Driven Design
  • Entities
  • Value Objects
  • Aggregates
  • Domain Events
  • Factories
  • Repository Interfaces
  • Repository Implementations
  • Bound Contexts
  • Event Sourcing
  • Command Query Responsibility Segregation (CRQS)
  • Stream Processing
  • Lambda Architecture
  • Kappa Architecture
  • Event-Driven Architecture
  • Serverless

After finishing advanced software design, please click on Topic 17 – Calculus to continue.

 

How to Install Windows XP from a USB Flash Drive?

Why install Windows XP?

Sometimes you do need Windows XP for some specific tasks. For example running and testing old programs, a specific program, using your old computer for a specific task.

This is a  short guide to install Windows XP from a USB flash drive.

Requirements:

1. Windows XP installation files (you can use any Windows XP disc or ISO file).

2. DOS.zip file (download)

3. A USB flash drive of at least 2 GB (The best size is 1GB or 2GB. Some old computers do not allow to boot from USB having size being larger than 1GB).

4. A Windows 7 OS or a previous version.

Procedure:

1. Attach the USB to your computer

2. Unzip DOS.zip and run HpUSBformat.exe (this program can only be run under Windows 7 or a previous version), select below option values

  • File system: FAT
  • Volume label: SYSTEM
  • Select “Create a DOS Start up disk”
  • Select radio button “Using DOS system files located at:”
  • Enter the path where you have extracted DOS.zip files (Give the path of DOS folder).

3. Copy all other files from DOS folder to your USB disk (you can overwrite the existing ones).

4. Copy all the Windows XP installation files (I386) to the USB drive.

5. Boot system from the USB disk (you may need to adjust your BIOS for this).

6. Type fdisk, hit Enter and follow the instructions to create a partition for a new XP installation.

7. Type format d:/s to format the partition in the 6th step. If the partition already exists then use command format d:/q/s.

8. Type cd I386 and hit Enter to go to the I386 folder.

9. Type winnt and hit Enter.

10. Follow the screen instructions.

Important note: Your hard drive size should be less than 128Gb.

In, At, On + Time or Date

In

Use ‘in’ with months, years and periods of time such as decades or centuries:

  • in January
  • in 1978
  • in the twenties

When does the school year begin in your country? – In mine it begins IN September.

Use ‘in’ a period of time in the future to express that an action will occur after that amount of time:

  • in a few weeks
  • in a couple of days

At

Use ‘at’ with an exact time:

  • at six o’clock
  • at 10.30
  • at two p.m.

When do you eat lunch? – I usually eat it AT noon.

On

Use ‘on’ with days of the week:

  • on Monday
  • on Fridays

Use ‘on’ with specific calendar days:

  • on Christmas day
  • on October 22nd

When is your birthday? – Mine is ON October 12.

Important notes

in the morning / afternoon / evening – at night

We say in the morning, afternoon or evening BUT we say ‘at night’.

Should I Use a Singular or Plural Verb with None?

None can take either a singular or plural verb.

When none is followed by a mass noun (a noun that cannot be counted or made plural) it takes a singular verb.

– None of the wine was drunk. (wine = mass noun)

When none means no one or not any, use whichever verb makes more sense.
Consider none as singular when you want to emphasize a single entity in a group, but consider none to be plural when you want to emphasize more than one.

– None of the books is worth reading.
– None of the books are worth reading.

– None of us is going to the banquet.
– None of us are going to the banquet.

– None of the printers is working.
– None of the printers are working.

– None of you is guilty
– None of you are guilty.

If your meaning is ‘none of them’, treat the word as plural; if it is ‘none of it’, treat it as singular.

Wear vs. Put On

To wear: to have something on your body
– She was wearing a diamond necklace with matching earrings.
– Who is that boy wearing a black jacket?

To put on: to move something you ​wear onto ​your ​body
– Take that shirt off and put on a new one. You can’t go out in such an old shirt.
– It’ll be more beautiful if I put on this skirt.

– It’s sunny today so I decided to put on my sunglasses.
– Today, I wear sunglasses because of the sun.

Guide to Citing & Referencing

What is referencing

When writing a piece of academic work, you must acknowledge any sources you have used. You do this by including a ‘citation’ within your text (usually a number or an author’s name) next to the material you have used. This brief citation leads your reader to a full reference to the work, which you include in your list of references at the end of your text. These references should allow anyone reading your work to identify and find the material to which you have referred. You need to be consistent in the way you reference your sources by following an established referencing system and style.

Please download these 2 files for the full guide.

Please download these 2 guides for how to working with references using Microsoft Word 2007 or 2010.

If you want to use IEEE and ACM style with alphabetical (name) sequence then please download this BibWord file, unzip and copy  IEEE_Alphabetical.XSL and ACMNameSeq.XSL to  C:\Program Files (x86)\Microsoft Office\Office12\Bibliography\Style (The directory may be different to this in your machine).

Whenever you update your bibliography, close your document then run BibWordExtender2.exe, click “OK”,  select your Word document, select Bibliography style, click “Extend”, re-open your document, re-select the style in Word.

 

 

Wireless Basic Configuration

Mbps vs. MBps: What’s the Difference?

Mbps means megabits per second. Mb is used for download and upload speed.
MBps stands for megabytes per second. MB is used for file size.
130Mbps = 16.25MBps
144Mbps = 18MBps

Differences between 802.11a, 802.11b, 802.11g and 802.11n

802.11a:
Operates in the 5.15GHz to 5.35GHz radio spectrum.
Speed: Up to 54Mbps (actual throughput is closer to 22Mbps)
Range: 50 feet
Less prone to interference.
More expensive.
Because 802.11b and 802.11a use different radio technologies and portions of the spectrum, they are incompatible with one another.

802.11b:
Operates in the 2.4GHz radio spectrum.
Speed: Up to 11Mbps
Range: 100 feet
Prone to interference (it shares airspace with cell phones, Bluetooth, security radios, and other devices).
Least expensive wireless LAN specification.

802.11g:
Operates in the 2.4GHz radio spectrum.
Speed: Up to 54Mbps
Range: 100 feet
Prone to interference (it shares airspace with cell phones, Bluetooth, security radios, and other devices).

802.11n:
Operates in the 2.4 or 5GHz radio spectrum
Speed: Up to 700Mbs
Range: 50 feet

802.11ac:
802.11ac builds upon previous 802.11 standards, particularly the 802.11n standard, to deliver data rates of 433Mbps per spatial stream, or 1.3Gbps in a three-antenna (three stream) design.
The 802.11ac specification operates only in the 5 GHz frequency range and features support for wider channels (80MHz and 160MHz) and beamforming capabilities by default to help achieve its higher wireless speeds.

Don’t Mix Wireless B/G with N

Wireless N is supposed to be interoperable with Wireless A, B, and G, but it doesn’t always work that way. Some older clients might not be able to connect at all, even when the wireless router or APs are in mixed wireless mode. Then when the older clients can connect, they’ll slow down the network.

Some clients may take a heavy 80 percent cut in their throughput. To prevent this problem, consider forcing the new APs to use only Wireless N, and keep the old router or APs around to support the old clients.

Although connections among users on the Wireless N router or APs with Wireless G users will still be bottlenecked by the old clients, the throughput cuts on a mixed mode Wireless N router or AP can be much worse.

Change your wireless channel

Changing your wireless channel might help increase range and performance, especially if you have neighboring networks set on the same channel or interference from other electronics. It’s best to check channel usage with a program like Vistumbler or inSSIDer, but you can simply try other channels as well to see which one is best.

For 2.4GHz routers (the most common), channel 6 is the default for most routers, so stay away from it. Try channel 1 or 11, the other two other non-overlapping channels. For 5GHz wireless N or AC routers, you shouldn’t have much of an interference issue since it’s less commonly used. But you might try changing to another channel as well.

Use WPA2 security

For the high speeds on wireless N or AC routers you must use WPA2 security with AES encryption. Using WPA or WEP security with TKIP encryption will dramatically reduce bandwidth. Most routers offer a mixed WPA/WPA2 mode, but you should use WPA2 only. Homes should use the personal (PSK) mode, which is the easiest to setup and businesses should use the enterprise (RADIUS) mode which requires an external authentication server.

Most devices you have should support WPA2 security, but if you have some that don’t consider using an older router with a newer one as mention in the previous section.

Short Guard Interval

The guard interval is the space between symbols (characters) being transmitted.  This is often confused with the space between packets, which is the interframe space (IFS).  The guard interval is there to eliminate intersymbol interference, which is referred to as ISI.  ISI happens when echos or reflections from one symbol interfere with another.  Adding time between symbol transmission allows these echos and reflections to settle in before the next symbol is transmitted.  In normal 802.11 operation, the guard interval is 800 ns.

With 802.11n, short guard intervals are possible.   The short guard interval time is 400ns, or half of what it used to be.  Shorter wait time (guard interval) between symbols increases throughput.  However, if it’s too short, the amount of ISI will increase, and throughput will decrease.  On the other hand, if the guard interval is too long, there is increased overhead due to the additional idle time.

If you are using 802.11n or 802.11ac only, you can enable short GI. In another word, when using mixed mode, please disable the short GI, which may cause issues.
When intending to improve the throughput, enable short GI can improve the throughput about 10%.

RTS/CTS Threshold

As an optional feature, the 802.11 standard includes the RTS/CTS (Request to Send/Clear to Send) function to control station access to the medium.
For access points, you enable RTS/CTS by setting a specific packet size threshold (0 — 2347 bytes) in the user configuration interface.
If the packet that the access point is transmitting is larger than the threshold, it will initiate the RTS/CTS function.
If the packet size is equal to or less than the threshold, the access point will not kick off RTS/CTS.
Most vendors recommend using a threshold of around 500.
The use of 2347 bytes effectively disables RTS/CTS for the access point.

Source: https://www.quora.com, http://www.ciscopress.com