Tuesday, 28 June 2016

600-212 SPLTE Implementing Cisco Service Provider Mobility LTE Networks (SPLTE)

Exam Number 600-212 SPLTE
Associated Certifications Cisco Service Provider Mobility CDMA to LTE Specialist
Cisco Service Provider Mobility UMTS to LTE Specialist
Duration 90 Minutes (55-65 questions)
Available Languages English
Register Pearson VUE
Exam Policies Read current policies and requirements
Exam Tutorial Review type of exam questions

This exam tests a candidate's knowledge of the skills required to understand and implement technologies, components, architecture fundamentals and products that are found in common LTE networks. The exam includes information on the evolved packet core components and their role in the LTE Evolved Packet System (EPS) to include the Evolved Packet Core network as well as the Radio Access Network (RAN). The exam also includes information on standardized technologies that are implemented on the Mobile Management Entity (MME) Serving Gateway (SGW) and the Packet Data Network Gateway (PGW), and their interaction with authentication, charging, and billing components in the network of the mobile operator, as well as, configuration details of how these components are implemented on the Cisco ASR 5000 Series system.

The 600-212 SPLTE Implementing Cisco LTE Packet Core Networks exam tests a candidate's knowledge of the skills required to understand and implement technologies, components, architecture fundamentals, and products that are found in common Long-Term Evolution (LTE) networks.

Recommended Training

Implementing Cisco Service Provider Mobility LTE Networks – (SPLTE)

Courses listed are offered by Cisco Learning Partners—the authorized source for Cisco IT training delivered exclusively by Certified Cisco Instructors. For a list of Cisco Learning Partners, use the Learning Partner Locator.

The Implementing Cisco LTE Packet Core Networks (600-212 SPLTE) exam is a 90-minute, 65–75 question assessment within Cisco's Service Provider Specialist certification. This exam tests a candidate's knowledge of the skills required to understand and implement technologies, components, architecture fundamentals and products that are found in common LTE networks. The exam includes information on the evolved packet core components and their role in the LTE Evolved Packet System (EPS) to include the Evolved Packet Core network as well as the Radio Access Network (RAN). The exam also includes information on standardized technologies that are implemented on the Mobile Management Entity (MME) Serving Gateway (SGW) and the Packet Data Network Gateway (PGW), and their interaction with authentication, charging, and billing components in the network of the mobile operator, as well as, configuration details of how these components are implemented on the Cisco ASR 5000 Series system. This exam is a requirement in order to attain either the Cisco Service Provider Mobility UMTS to LTE Specialist certification or the Cisco Service Provider Mobility CDMA to LTE Specialist certification. Candidates can prepare for this exam by taking the Implementing Cisco Service Provider Mobility LTE Networks (SPLTE) v1.0 training course.

The following topics are general guidelines for the content likely to be included on the exam. However, other related topics may also appear on any specific delivery of the exam. In order to better reflect the contents of the exam and for clarity purposes, the guidelines below may change at any time without notice.

1.0 LTE 5%

1.1 Describe and differentiate LTE / SAE architecture

1.2 Explain attach procedure and call flow

2.0 MME (4G LTE) 16%

2.1 Network functions LTE –MME

2.1.a Identify key functions of the MME and basic understanding of architecture and interfaces
2.1.b Describe MME states of MM and CM management
2.1.c Describe protocol stacks and procedures
2.1.d Describe mobility management signaling and call flows
2.1.e Describe session management signaling and call flows
2.1.f Describe location management signaling and call flows
2.1.g Describe SGS procedures and signaling call flows
2.1.h Describe intra-MME handovers procedure
2.1.i Describe intra-RAT handovers procedure
2.1.j Describe inter-MME handover procedures

2.2 QOS architecture

2.2.a Describe the overall QOS functionality in LTE for single and multi pdn
2.2.b Describe the QOS mapping from UMTS to LTE

2.3 Configurations

2.3.a Configure S1 interface with corresponding services and system parameters
2.3.b Configure S6a interface with corresponding services and system parameters
2.3.c Configure S11 interface with corresponding services and system parameters
2.3.d Configure S13 interface with corresponding services and system parameters
2.3.e Identify and implement gateway selection mechanisms
2.3.f Identify and implement MME operator policy and feature sets
2.3.g Troubleshoot configurations

2.4 Network sharing


2.4.a Describe MOCN architecture
2.4.b Describe GWCN architecture

2.5 Security

2.5.a Describe LTE security principles for MME network node
2.5.b Explain security functions for mobility management procedures

2.6 Idle mode signaling reduction

2.6.a Identify IDLE mode signaling reduction in an LTE network
2.6.b Describe IDLE mode signaling establishment
2.6.c Describe IDLE mode signaling reduction deactivation

2.7 CSFB

2.7.a Describe CSFB architecture in LTE network
2.7.b Describe CSFB call flow and signaling

2.8 IPv6 support

2.8.a Configure IPV6 and dual stack EPS bearer scenarios
2.8.b Configure and implement transport plane IPV6 support for MME

3.0 SGW (4G LTE) 10%

3.1 Network functions LTE-SGW

3.1.a Identify key functions of the SGW and basic understanding of architecture and interfaces
3.1.b Describe SGW attach procedures and call flows
3.1.c Configure S1-U interface with corresponding services and system parameters
3.1.d Configure S5/S8 using PMIP/GTP interface with corresponding services and system parameters
3.1.e Configure S11 interface with corresponding services and system parameters

3.2 Feature functionality and extended application

3.2.a Describe multi-PDN support for SGW
3.2.b Describe downlink delay notification for SGW
3.2.c Describe idle mode signaling reduction support for SGW
3.2.d Configure and implement IPV6 support for SGW

3.3 Internetworking between LTE and other technologies

3.3.a Describe interaction with CDMA/eHRPD internetworking
3.3.b Describe interaction with GSM/UMTS internetworking
3.3.c Configure S4 interface with corresponding services and system parameters
3.3.d Configure S12 interface with corresponding services and system parameters
3.3.e Configure S103 interface with corresponding services and system parameters

3.4 Charging

3.4.a Configure Gx interface with corresponding services and system parameters

3.5 QoS

3.5.a Describe QoS bearer management and marking for SGW
3.5.b Configuring DSCP marking for SGW

4.0 PGW (4G LTE/EHRPD) 15%

4.1 Architecture overview

4.1.a Identify key functions of the PGW and basic understanding of architecture and interfaces

4.2 Implement S5/S8 and Gn/Gp interface

4.2.a Describe GTP protocol
4.2.b Describe mobility management/session management call flows
4.2.c Describe QoS in EPC
4.2.d Configure S5/S8 interface with corresponding services and system parameters
4.2.e Troubleshoot S5/S8 and Gn/Gp

4.3 APN

4.3.a Describe the various IP address allocation mechanisms
4.3.b Describe the concept of virtual APNs
4.3.c Configure APNs and virtual APNs with corresponding service and system parameters
4.3.d Configure IP source address validation and access control list
4.3.e Troubleshoot APN

4.4 Implement Gx interface

4.4.a Describe the important diameter AVPs needed for Gx
4.4.b Describe basic Gx call flows
4.4.c Configure Gx interface with corresponding services and system parameters
4.4.d Troubleshoot Gx interface
4.4.e Describe the common policy use cases
4.4.f Configure failure handling modes
4.4.g Configure usage monitoring over Gx

4.5 Implement Gy interface

4.5.a Describe the important diameter AVPs needed for Gy
4.5.b Describe the basic Gy call flows
4.5.c Configure Gy interface with corresponding services and system parameters
4.5.d Troubleshoot Gy interface
4.5.e Configure failure handling modes
4.5.f Describe OCS selection based on static configuration
4.5.g Describe RADIUS attributes and PCRF out-of-quota redirection handling

4.6 Implement AAA Interface

4.6.a Describe the basic AAA authentication and accounting call flows
4.6.b Describe the important RADIUS attributes for authentication and accounting
4.6.c Configure RADIUS interface with corresponding services and system parameters
4.6.d Troubleshoot RADIUS interface

4.7 Implement S6b interface

4.7.a Describe the important diameter AVPs needed for S6b
4.7.b Describe the basic S6b call flows
4.7.c Configure S6b interface with corresponding services and system parameters
4.7.d Troubleshoot S6b interface

4.8 Interworking with non-3GPP access networks

4.8.a Configure S2a interface with corresponding services and system parameters
4.8.b Configure S2b interface with corresponding services and system parameters
4.8.c Configure S2c interface with corresponding services and system parameters
4.8.d Configure LMA functionality on a PGW
4.8.e Configure non-3GPP IRAT handovers
4.8.f Troubleshoot S2b and S2c interfaces

4.9 SGi Interface

4.9.a Configure and implement various IP transport types
4.9.b Configure and implement static and dynamic routing protocols

5.0 Voice Over LTE 20%

5.1 VoLTE application messages/protocols

5.1.a Describe VoLTE specific diameter interface
5.1.b Describe XCAP, LDAP, SPML
5.1.c Describe CAMEL, CAP, INAP, SOAP, MSML

5.2 Voice over LTE architecture

5.2.a Describe voice evolution in mobile network
5.2.b Identify VoLTE system architecture and functions of network elements

5.3 Network elements in voice over LTE

5.3.a Describe CSCF
5.3.b Describe ENUM
5.3.c Describe MNP — mobile number portability/database
5.3.d Describe telephony application server
5.3.e Describe DRA/DEA
5.3.f Describe HSS
5.3.g Describe PCRF
5.3.h Describe ATCF,ATGW
5.3.i Describe MRF
5.3.j Describe understand OSS and BSS

5.4 QoS

5.4.a Describe QoS in EPS
5.4.b Describe end-to-end QoS in VoLTE

5.5 Interfaces and signaling messages

5.5.a Configure Gx interface and signaling
5.5.b Design Rx interface and signaling
5.5.c Implement Cx interface and signaling
5.5.d Describe ISC interface and signaling
5.5.e Describe Ut interface

5.6 End-to-end call flow

5.6.a Describe IMS client attach to EPC
5.6.b Describe P-CSCF discovery
5.6.c Describe IMS registration, re-registration and de-registration
5.6.d Describe mobile-originated VoLTE call
5.6.e Describe mobile-terminated VoLTE call
5.6.f Describe emergency VoLTE call

5.7 Supplementary services

5.7.a Describe IR.92 supplementary service overview
5.7.b Describe IR.94 supplementary service overview
5.7.c Describe Important services call flows

5.8 VoLTE Interworking

5.8.a Describe PSTN interworking
5.8.b Describe IMS/SIP interworking
5.8.c Describe e-SRVCC

6.0 Other Interfaces 5%

6.1 AAA/diameter related interfaces

6.1.a Describe SWx interface
6.1.b Describe S9 interface
6.1.c Describe Sp interface

6.2 HRPD related interfaces

6.2.a Describe S101
6.2.b Describe S103

7.0 Charging 13%

7.1 Offline charging service

7.1.a Describe offline charging architecture
7.1.b Explain the GTPP protocol header and messages
7.1.c Explain charging data record transport through GTP'
7.1.d Compare and contrast GTPP transfer scenarios
7.1.e Describe and differentiate mobility records generated by MPC nodes
7.1.f Identify and list conditions for record closure and generation
7.1.g Explain Rf offline charging scenarios
7.1.h Identify and list offline charging error cases
7.1.i Configure for offline billing
7.1.j Troubleshoot for offline billing

8.0 Lawful Intercept 5%

8.1 Describe lawful intercept architecture and events

8.2 Configure lawful interception

8.3 Describe lawful intercept trigger element

9.0 Management Protocols 11%

9.1 TACACS

9.1.a Describe admin authentication and command authorization methods
9.1.b Configure Local administration levels
9.1.c Configure external authentication TACACS servers

9.2 Performance counters/statistics

9.2.a Describe the various performance counters
9.2.b Describe the collection and processing of performance counters
9.2.c Describe the common KPIs for various MPC nodes
9.2.d Configure counters and KPIs

9.3 Fault management

9.3.a Describe SNMP protocols, alarms, notification and MIBs
9.3.b Configure SNMP traps, filters and thresholds

9.4 syslog/events Log

9.4.a Describe system log formats and filters
9.4.b Configure syslog servers and event logs

9.5 Security

9.5.a Describe user access control

9.6 NTP

9.6.a Describe system timing
9.6.b Configure NTP servers, system clock, time zone and timestamps

QUESTION 1
Which three options are valid functions performed by Mobility Management Entity? (Choose
three.)

A. Header compression and user plane ciphering
B. PDN GW and Serving GW selection
C. Tracking area list management
D. User plane packet forwarding and routing
E. UE IP address allocation
F. NAS signaling

Answer: B,C,F

Explanation:


QUESTION 2
Which two radio technologies are used in LTE? (Choose two.)

A. OFDMA
B. MIMO
C. TDMA
D. EV-DO
E. VOR
F. DME

Answer: A,B

Explanation:


QUESTION 3
Which parameter provides support of radio resource management by the MME across the S1
interface?

A. RFSP index
B. relative MME capacity
C. GUTI
D. OLD-GUTI

Answer: A

Explanation:


QUESTION 4
Which two Transport protocols can be used for the S6a interface? (Choose two.)

A. SCTP
B. TCP
C. UDP
D. FCP
E. RDP

Answer: A,B

Explanation:


QUESTION 5
Which two statements apply during the attach procedure on an MME? (Choose two.)

A. The attach procedure provides an always-on IP connectivity to the subscriber.
B. Multiple default bearers can be established during the attach procedure.
C. A dedicated bearer can also be established during the attach procedure.
D. The additional guti value in the attach request is derived from a PTMSI.
E. The attach request is always integrity protected.

Answer: A,C

Explanation:

Monday, 20 June 2016

Exam 70-483 Programming in C#

Published: October 12, 2012
Languages: English, Chinese (Simplified), French, German, Japanese, Portuguese (Brazil)
Audiences: Developers
Technology: Visual Studio 2012
Credit toward certification: MCP, MCSD

Skills measured
This exam measures your ability to accomplish the technical tasks listed below. The percentages indicate the relative weight of each major topic area on the exam. The higher the percentage, the more questions you are likely to see on that content area on the exam. View video tutorials about the variety of question types on Microsoft exams.

Please note that the questions may test on, but will not be limited to, the topics described in the bulleted text.

Do you have feedback about the relevance of the skills measured on this exam? Please send Microsoft your comments. All feedback will be reviewed and incorporated as appropriate while still maintaining the validity and reliability of the certification process. Note that Microsoft will not respond directly to your feedback. We appreciate your input in ensuring the quality of the Microsoft Certification program.

If you have concerns about specific questions on this exam, please submit an exam challenge.

If you have other questions or feedback about Microsoft Certification exams or about the certification program, registration, or promotions, please contact your Regional Service Center.

Manage program flow (25–30%)
Implement multithreading and asynchronous processing
Use the Task Parallel library (ParallelFor, Plinq, Tasks); create continuation tasks; spawn threads by using ThreadPool; unblock the UI; use async and await keywords; manage data by using concurrent collections
Manage multithreading
Synchronize resources; implement locking; cancel a long-running task; implement thread-safe methods to handle race conditions
Implement program flow
Iterate across collection and array items; program decisions by using switch statements, if/then, and operators; evaluate expressions
Create and implement events and callbacks
Create event handlers; subscribe to and unsubscribe from events; use built-in delegate types to create events; create delegates; lambda expressions; anonymous methods
Implement exception handling
Handle exception types (SQL exceptions, network exceptions, communication exceptions, network timeout exceptions); catch typed vs. base exceptions; implement try-catch-finally blocks; throw exceptions; determine when to rethrow vs. throw; create custom exceptions

Preparation resources
Asynchronous programming with Async and Await (C# and Visual Basic)
Threading (C# and Visual Basic)
Selection statements (C# reference)

Create and use types (25–30%)
Create types
Create value types (structs, enum), reference types, generic types, constructors, static variables, methods, classes, extension methods, optional and named parameters, and indexed properties; create overloaded and overriden methods
Consume types
Box or unbox to convert between value types; cast types; convert types; handle dynamic types; ensure interoperability with unmanaged code, for example, dynamic keyword
Enforce encapsulation
Enforce encapsulation by using properties, by using accessors (public, private, protected), and by using explicit interface implementation
Create and implement a class hierarchy
Design and implement an interface; inherit from a base class; create and implement classes based on the IComparable, IEnumerable, IDisposable, and IUnknown interfaces
Find, execute, and create types at runtime by using reflection
Create and apply attributes; read attributes; generate code at runtime by using CodeDom and lambda expressions; use types from the System.Reflection namespace (Assembly, PropertyInfo, MethodInfo, Type)
Manage the object life cycle
Manage unmanaged resources; implement IDisposable, including interaction with finalization; manage IDisposable by using the Using statement; manage finalization and garbage collection
Manipulate strings
Manipulate strings by using the StringBuilder, StringWriter, and StringReader classes; search strings; enumerate string methods; format strings

Preparation resources
Types (C# programming guide)
Classes and structs (C# programming guide)
Object-oriented programming (C# and Visual Basic)

Debug applications and implement security (25–30%)
Validate application input
Validate JSON data; data collection types; manage data integrity; evaluate a regular expression to validate the input format; use built-in functions to validate data type and content out of scope: writing regular expressions
Perform symmetric and asymmetric encryption
Choose an appropriate encryption algorithm; manage and create certificates; implement key management; implement the System.Security namespace; hashing data; encrypt streams
Manage assemblies
Version assemblies; sign assemblies using strong names; implement side-by-side hosting; put an assembly in the global assembly cache; create a WinMD assembly
Debug an application
Create and manage compiler directives; choose an appropriate build type; manage programming database files and symbols
Implement diagnostics in an application
Implement logging and tracing; profiling applications; create and monitor performance counters; write to the event log

Preparation resources
Validating data
.NET Framework regular expressions

Implement data access (25–30%)
Perform I/O operations
Read and write files and streams; read and write from the network by using classes in the System.Net namespace; implement asynchronous I/O operations
Consume data
Retrieve data from a database; update data in a database; consume JSON and XML data; retrieve data by using web services
Query and manipulate data and objects by using LINQ
Query data by using operators (projection, join, group, take, skip, aggregate); create method-based LINQ queries; query data by using query comprehension syntax; select data by using anonymous types; force execution of a query; read, filter, create, and modify data structures by using LINQ to XML
Serialize and deserialize data
Serialize and deserialize data by using binary serialization, custom serialization, XML Serializer, JSON Serializer, and Data Contract Serializer
Store data in and retrieve data from collections
Store and retrieve data by using dictionaries, arrays, lists, sets, and queues; choose a collection type; initialize a collection; add and remove items from a collection; use typed vs. non-typed collections; implement custom collections; implement collection interfaces

Preparation resources
File system and the registry (C# programming guide)
Connecting to data in Visual Studio
Editing data in your application

QUESTION 1
You work as a senior developer at ABC.com. The ABC.com network consists of a single domain
named ABC.com.
You are running a training exercise for junior developers. You are currently discussing the use of
the Queue <T> collection type.
Which of the following is TRUE with regards to the Queue <T>collection type?

A. It represents a first in, first out (FIFO) collection of objects.
B. It represents a last in, first out (LIFO) collection of objects.
C. It represents a collection of key/value pairs that are sorted by key based on the associated
IComparer<T> implementation.
D. It represents a list of objects that can be accessed by index.

Answer: A

Explanation:


QUESTION 2
You work as a developer at ABC.com. The ABC.com network consists of a single domain named
ABC.com.
You have written the following code segment:
int[] filteredEmployeeIds = employeeIds.Distinct().Where(value => value !=
employeeIdToRemove).OrderByDescending(x => x).ToArray();
Which of the following describes reasons for writing this code? (Choose two.)

A. To sort the array in order from the highest value to the lowest value.
B. To sort the array in order from the lowest value to the highest value.
C. To remove duplicate integers from the employeeIds array.
D. To remove all integers from the employeeIds array.

Answer: A,C

Explanation:


QUESTION 3
You work as a senior developer at ABC.com. The ABC.com network consists of a single domain named ABC.com.
You are running a training exercise for junior developers. You are currently discussing the use of a
method that moves the SqlDataReader on to the subsequent record.
Which of the following is the SqlDataReader method that allows for this?

A. The Read method.
B. The Next method.
C. The Result method.
D. The NextResult method.

Answer: A

Explanation:


QUESTION 4
You work as a developer at ABC.com. The ABC.com network consists of a single domain named ABC.com.
You have received instructions to create a custom collection for ABC.com. Objects in the
collection must be processed via a foreach loop.
Which of the following is TRUE with regards to the required code?

A. The code should implement the ICollection interface.
B. The code should implement the IComparer interface.
C. The code should implement the IEnumerable interface.
D. The code should implement the IEnumerator interface.

Answer: C

Explanation:


QUESTION 5
You work as a senior developer at ABC.com. The ABC.com network consists of a single domain named ABC.com.
You are running a training exercise for junior developers. You are currently discussing the use of LINQ queries.
Which of the following is NOT considered a distinct action of a LINQ query?

A. Creating the query.
B. Obtaining the data source.
C. Creating the data source.
D. Executing the query.

Answer: C

Explanation:

Thursday, 9 June 2016

Exam 70-475 Designing and Implementing Big Data Analytics Solutions

Published: October 27, 2015
Languages: English
Audiences: IT Professionals
Technology: Microsoft Azure
Credit toward certification: Specialist

Skills measured
This exam measures your ability to accomplish the technical tasks listed below. View video tutorials about the variety of question types on Microsoft exams.

Please note that the questions may test on, but will not be limited to, the topics described in the bulleted text.

Do you have feedback about the relevance of the skills measured on this exam? Please send Microsoft your comments. All feedback will be reviewed and incorporated as appropriate while still maintaining the validity and reliability of the certification process. Note that Microsoft will not respond directly to your feedback. We appreciate your input in ensuring the quality of the Microsoft Certification program.

If you have concerns about specific questions on this exam, please submit an exam challenge.

If you have other questions or feedback about Microsoft Certification exams or about the certification program, registration, or promotions, please contact your Regional Service Center.

Design big data batch processing and interactive solutions (20-25%)
Ingest data for batch and interactive processing, design and provision compute clusters, design for data security, design for batch processing, design interactive queries for big data

Design big data real-time processing solutions (25-30%)
Ingest data for real-time processing, design and provision compute resources, design for lambda architecture, design for real-time processing

Design machine-learning solutions (25-30%)
Create and manage experiments, determine when to pre-process or train inside Machine Learning Studio, select input/output types, apply custom processing steps with R and Python, publish web services

Operationalize end-to-end cloud analytics solutions (25-30%)
Create a data factory, orchestrate data processing activities in a data-driven workflow, monitor and manage the data factory, move, transform, and analyze data

Thursday, 2 June 2016

10 more pointless (but awesome) Linux terminal tricks

One year ago, I put together a list of my favorite “pointless but awesome” Linux terminal tricks—filled with such classics as making a cow talk with “cowsay” and rainbow-coloring your terminal with “lolcat.”  As was correctly pointed out to me at the time, there are a lot of ridiculous (but cool) things you can do in the terminal that didn’t make that list. So, here’s round two. You’re welcome. (Note: Some of these you will need to install using apt-get, zypper or whatever package manager your Linux distribution uses.)

I’m 99 percent sure that every one of you has seen this. A full version of Star Wars Episode 4: A New Hope. Entirely in the terminal. And entirely via telnet. Simply pop open your terminal, type “telnet towel.blinkenlights.nl”, then sit back and enjoy this cinematic masterpiece in all its ASCII glory.

This one dates all the way back to 1983—33 years ago—with the release of https://en.wikipedia.org/wiki/UNIX_System_V. The “cal” program, short for “calendar,” does exactly what you think it does. It displays a calendar. It has a handful of options (like what day a week starts on and what month to display) but only a handful.  Recommendation: pipe “cal” through “lolcat” (“cal | lolcat”) to spice things up a little bit.

Clear your mind of what you think is possible. If you could imagine the most useful terminal command, what would it be? If you said “a command that repeated the same bit of text over and over again until the end of time,” you and the developer of “yes” have something in common! Type, simply ‘yes “repeat this text forever”’ and you’re in business! Again. “lolcat” makes everything better.

Take text, and make it bigger using a bunch of smaller characters. That’s toilet.  Typing ‘toilet “Yo, Dawg.”’ will get you the results you desire.

In 1999, “rig” was born with a singular purpose—to generate fake identities.  From the man page (“man rig”): “It is suitable for such applications as feeding the NY times registration page to fend off junk (snail) mail and telemarketers, or for registering on BBS's to which you don't wish to reveal your real information.”

I love “espeak”. Take some text and speak it—with loads of options. Create a .wav file, customizable speaking speed, change the pitch—it’s just wonderful. Extra fun: You can feed content from a text file to read to you or pipe the output of another program into espeak. For example, “rig | espeak” will cause your computer to speak a random, fake person’s name and address. Why would you do that? Who knows. But it’s cool that you can.

What if you want to see the exact number of times that you’ve run every single terminal program? Type “hash”. Note: This doesn’t count the number of times you pipe output through “lolcat.” This bums me out. Because if it did, my main machine might be breaking a world lolcat record right now.

We’re going to get into some very debatable territory here in terms of “pointless-ness.” This program displays an ASCII-fied version of any image—with lots of options. I recommend using “asciiview picture.png -driver curses”. That’s what I do. And be sure to fire up “man asciiview” to see all of the options available.

Admit it—“top” sucks. It’s OK—we’re all thinking it. Written in 1984, “top” is fine for getting some quick stats and finding a process ID. But it’s ugly and not exactly interactive. That’s where “htop” swoops in and saves the day. First released in 2004, “htop” is like “top” only you can move through the running tasks with your arrow keys and issue signals directly to them. It’s handy as all get out. And using this instead of a graphical system monitor will prove you’re one of the cool kids.

The final, and possibly most useful, terminal program on this list is the one that helps you to find other programs. Type “apropos” into your shell, and it will simply ask you: “apropos what?” Type “apropos picture”, and it will display the programs with man pages that have the word “picture” in their name or description. Handy as all get out if you’re trying to find the right tool to use—or goof off with.