Spiga

How to Configure User Rights

How to Configure User Rights

If the right to log on as a service is revoked for the specified user account, restore the right by performing the following steps:

Domain Controller

If the user is in an Active Directory domain:

  1. Start the Active Directory Users and Computers Microsoft Management Console (MMC) snap-in.
  2. Right-click the Organizational Unit (OU) in which the user right to log on as a service was granted. By default, this is in the Domain Controllers OU.
  3. Right-click the container, and then click Properties.
  4. On the Group Policy tab, click Default Domain Controllers Policy, and then clickEdit. This starts Group Policy Manager.
  5. Expand the Computer Configuration object by clicking the plus sign (+) next to the policy object. Under the Computer Configuration object, expand Windows Settings, and then expand Security Settings.
  6. Expand Local Policies, and then click User Rights Assignment.
  7. In the right pane, right-click Log on as a service, and then click Security.
  8. Add the user to the policy, and then click OK.
  9. Quit Group Policy Manager, close Group Policy properties, and then close the Active Directory Users and Computers MMC snap-in.

Difference between Cohesion & Coupling

Difference between Cohesion & Coupling

A first-order principle of software architecture is to increase cohesion and reduce coupling.

Cohesion (interdependency within module) strength/level names : (from worse to better, high cohesion is good)

  • Coincidental Cohesion : (Worst) Module elements are unrelated
  • Logical Cohesion : Elements perform similar activities as selected from outside module, i.e. by a flag that selects operation to perform (see also CommandObject).
    • i.e. body of function is one huge if-else/switch on operation flag
  • Temporal Cohesion : operations related only by general time performed (i.e. initialization() or FatalErrorShutdown?())
  • Procedural Cohesion : Elements involved in different but sequential activities, each on different data (usually could be trivially split into multiple modules along linear sequence boundaries)
  • Communicational Cohesion : unrelated operations except need same data or input
  • Sequential Cohesion : operations on same data in significant order; output from one function is input to next (pipeline)
  • Informational Cohesion: a module performs a number of actions, each with its own entry point, with independent code for each action, all performed on the same data structure. Essentially an implementation of an abstract data type.
    • i.e. define structure of sales_region_table and its operators: init_table(), update_table(), print_table()
  • Functional Cohesion : all elements contribute to a single, well-defined task, i.e. a function that performs exactly one operation
    • get_engine_temperature(), add_sales_tax()

Coupling (interdependence between modules) level names: (from worse to better, high coupling is bad)

  • Content/Pathological Coupling : (worst) When a module uses/alters data in another
  • Control Coupling : 2 modules communicating with a control flag (first tells second what to do via flag)
  • Common/Global-data Coupling : 2 modules communicating via global data
  • Stamp/Data-structure Coupling : Communicating via a data structure passed as a parameter. The data structure holds more information than the recipient needs.
  • Data Coupling : (best) Communicating via parameter passing. The parameters passed are only those that the recipient needs.
  • No data coupling : independent modules.

How to Find the Broadcast Address of a Subnetted Network

How to Find the Broadcast Address of a Subnetted
We need two things to find the broadcast address of a subnetted network: an IP address, and the subnet mask. The process is simple: find the inverse of the subnet mask. Then take the result, and logically OR it with the IP address to get the broadcast address.

Of course, we can convert the above binary result to decimal and get the broadcast address of 192.168.16.31. If you aren’t familiar with the OR process, it’s rather simple. If there is a 1 in either the IP or subnet field, then the result will always be a 1. (Otherwise, the result is 0)

Now we know how to find the broadcast address and how it works- but what is it used for?

What are private IP addresses

What are private IP addresses?

The Internet Assigned Numbers Authority (IANA) has reserved the following three blocks of the IP address space for private internets (local networks):

10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255

Also, IP addresses in the range of 169.254.0.0 -169.254.255.255 are reserved for Automatic Private IP Addressing.

These IP's should not be used on the Internet.

I usually use 192.168.0.1, 192.168.0.2, etc. and a subnet mask of 255.255.255.0 when assigning static IP addresses to computers on a small Local Area Networks (LANs). If a DHCP server is also on the LAN it's scope (range of IP addresses that it can assign to computers on the LAN set to obtain their IP addresses automatically) should be adjusted so it does not interfere with locally assigned static IP addresses.