Copies the specified DB snapshot. The source DB snapshot must be in the "available" state.
To copy a DB snapshot from a shared manual DB snapshot, SourceDBSnapshotIdentifier must be the Amazon Resource Name (ARN) of the shared DB snapshot.
You can copy an encrypted DB snapshot from another AWS Region. In that case, the region where you call the copy-db-snapshot action is the destination region for the encrypted DB snapshot to be copied to. To copy an encrypted DB snapshot from another region, you must provide the following values:
To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process .
For more information on copying encrypted snapshots from one region to another, see Copying an Encrypted DB Snapshot to Another Region in the Amazon RDS User Guide.
See also: AWS API Documentation
copy-db-snapshot
--source-db-snapshot-identifier <value>
--target-db-snapshot-identifier <value>
[--kms-key-id <value>]
[--tags <value>]
[--copy-tags | --no-copy-tags]
[--pre-signed-url <value>]
[--source-region <value>]
[--cli-input-json <value>]
[--generate-cli-skeleton <value>]
--source-db-snapshot-identifier (string)
The identifier for the source DB snapshot.
If you are copying from a shared manual DB snapshot, this must be the ARN of the shared DB snapshot.
You cannot copy an encrypted, shared DB snapshot from one AWS region to another.
Constraints:
- Must specify a valid system snapshot in the "available" state.
- If the source snapshot is in the same region as the copy, specify a valid DB snapshot identifier.
- If the source snapshot is in a different region than the copy, specify a valid DB snapshot ARN. For more information, go to Copying a DB Snapshot .
Example: rds:mydb-2012-04-02-00-01
Example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805
--target-db-snapshot-identifier (string)
The identifier for the copied snapshot.
Constraints:
- Cannot be null, empty, or blank
- Must contain from 1 to 255 alphanumeric characters or hyphens
- First character must be a letter
- Cannot end with a hyphen or contain two consecutive hyphens
Example: my-db-snapshot
The AWS KMS key ID for an encrypted DB snapshot. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.
If you copy an unencrypted DB snapshot and specify a value for the KmsKeyId parameter, Amazon RDS encrypts the target DB snapshot using the specified KMS encryption key.
If you copy an encrypted DB snapshot from your AWS account, you can specify a value for KmsKeyId to encrypt the copy with a new KMS encryption key. If you don't specify a value for KmsKeyId , then the copy of the DB snapshot is encrypted with the same KMS key as the source DB snapshot.
If you copy an encrypted snapshot to a different AWS region, then you must specify a KMS key for the destination AWS region.
If you copy an encrypted DB snapshot that is shared from another AWS account, then you must specify a value for KmsKeyId .
To copy an encrypted DB snapshot to another region, you must set KmsKeyId to the KMS key ID used to encrypt the copy of the DB snapshot in the destination region. KMS encryption keys are specific to the region that they are created in, and you cannot use encryption keys from one region in another region.
A list of tags.
Shorthand Syntax:
Key=string,Value=string ...
JSON Syntax:
[
{
"Key": "string",
"Value": "string"
}
...
]
--copy-tags | --no-copy-tags (boolean)
True to copy all tags from the source DB snapshot to the target DB snapshot; otherwise false. The default is false.
The URL that contains a Signature Version 4 signed request for the copy-db-snapshot API action in the AWS region that contains the source DB snapshot to copy. The PreSignedUrl parameter must be used when copying an encrypted DB snapshot from another AWS region.
The presigned URL must be a valid request for the copy-db-snapshot API action that can be executed in the source region that contains the encrypted DB snapshot to be copied. The presigned URL request must contain the following parameter values:
- DestinationRegion - The AWS Region that the encrypted DB snapshot will be copied to. This region is the same one where the copy-db-snapshot action is called that contains this presigned URL. For example, if you copy an encrypted DB snapshot from the us-west-2 region to the us-east-1 region, then you will call the copy-db-snapshot action in the us-east-1 region and provide a presigned URL that contains a call to the copy-db-snapshot action in the us-west-2 region. For this example, the DestinationRegion in the presigned URL must be set to the us-east-1 region.
- KmsKeyId - The KMS key identifier for the key to use to encrypt the copy of the DB snapshot in the destination region. This is the same identifier for both the copy-db-snapshot action that is called in the destination region, and the action contained in the presigned URL.
- SourceDBSnapshotIdentifier - The DB snapshot identifier for the encrypted snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source region. For example, if you are copying an encrypted DB snapshot from the us-west-2 region, then your SourceDBSnapshotIdentifier would look like Example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115 .
To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process .
The ID of the region that contains the snapshot to be copied.
--cli-input-json (string) Performs service operation based on the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, the CLI values will override the JSON-provided values.
--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.
DBSnapshot -> (structure)
Contains the result of a successful invocation of the following actions:
- create-db-snapshot
- delete-db-snapshot
This data type is used as a response element in the describe-db-snapshots action.
DBSnapshotIdentifier -> (string)
Specifies the identifier for the DB snapshot.DBInstanceIdentifier -> (string)
Specifies the DB instance identifier of the DB instance this DB snapshot was created from.SnapshotCreateTime -> (timestamp)
Provides the time when the snapshot was taken, in Universal Coordinated Time (UTC).Engine -> (string)
Specifies the name of the database engine.AllocatedStorage -> (integer)
Specifies the allocated storage size in gigabytes (GB).Status -> (string)
Specifies the status of this DB snapshot.Port -> (integer)
Specifies the port that the database engine was listening on at the time of the snapshot.AvailabilityZone -> (string)
Specifies the name of the Availability Zone the DB instance was located in at the time of the DB snapshot.VpcId -> (string)
Provides the VPC ID associated with the DB snapshot.InstanceCreateTime -> (timestamp)
Specifies the time when the snapshot was taken, in Universal Coordinated Time (UTC).MasterUsername -> (string)
Provides the master username for the DB snapshot.EngineVersion -> (string)
Specifies the version of the database engine.LicenseModel -> (string)
License model information for the restored DB instance.SnapshotType -> (string)
Provides the type of the DB snapshot.Iops -> (integer)
Specifies the Provisioned IOPS (I/O operations per second) value of the DB instance at the time of the snapshot.OptionGroupName -> (string)
Provides the option group name for the DB snapshot.PercentProgress -> (integer)
The percentage of the estimated data that has been transferred.SourceRegion -> (string)
The region that the DB snapshot was created in or copied from.SourceDBSnapshotIdentifier -> (string)
The DB snapshot Arn that the DB snapshot was copied from. It only has value in case of cross customer or cross region copy.StorageType -> (string)
Specifies the storage type associated with DB snapshot.TdeCredentialArn -> (string)
The ARN from the key store with which to associate the instance for TDE encryption.Encrypted -> (boolean)
Specifies whether the DB snapshot is encrypted.KmsKeyId -> (string)
If Encrypted is true, the KMS key identifier for the encrypted DB snapshot.DBSnapshotArn -> (string)
The Amazon Resource Name (ARN) for the DB snapshot.Timezone -> (string)
The time zone of the DB snapshot. In most cases, the Timezone element is empty. Timezone content appears only for snapshots taken from Microsoft SQL Server DB instances that were created with a time zone specified.


Bad
Something happened
Saturday 11 April 2017 00.37
Better
Something happened
Saturday 11 April 2017 00.37
Another
Something happened
3 years ago


The primary objective of this study is to explore the capabilities of data science techniques to forecast revenue based on financial data of an advertising agency. To do this, we utilize the data of the local advertising agency Core Creative.
Secondary objectives of this study involve exploring the capabilities of data science techniques to predicting other facets of an advertising agency, again using the data of Core Creative. These other facets might provide predictive capabilities that can be utilized to extrapolate revenue forecasting beyond financial information data sets.
Core Creative is a full-service branding agency located in the fifth ward of Milwaukee. Their service offerings include public relations, digital advertising, traditional media buying, brand definition services, website development, and design services. Core Creative’s clients come from all across the nation. Most of their client base is in the Midwest, with a large percent of that base located in the greater Milwaukee area. However, they do have a substantial number of clients that are located on the East Coast.
Almost all the work performed for Core Creative clients is on a in progress time and material project basis. Throughout the month employee hours are logged to projects, and costs are classified on the general ledger if they relate to a project. Revenue is then generated by billing back employee hours and project costs to the client at a negotiated rate per employee service activity hour and markup per cost. It is very rare to see a fixed fee billing structure negotiated with a client at Core Creative.
The advertising industry is very volatile. Historically core creative experiences a 20% turnover in their client base per year. This is consistent with the industry average. This problem is compounded by the substantial costs to court and close a new client. It often requires substantial investment of time and money to sign a new client. But even at that time there is no contractual obligation for the client to stay with Core Creative. A new business investment might be made to close the deal, only to see that client leave after a small amount of project work. Again, this is consistent with industry standards.
Client demands also make it very difficult to do business in the advertising industry. Clients often want something yesterday for a dollar cheaper than it should be. This is to say, that often a client does not look at their agency of record as a partner, but more so as a vendor. However, the development of complex and strategical advertising plans requires such a partnership. Some projects present unique challenges not foreseen in the initial project budget and require additional time and money from Core Creative. This often leads to write offs when the client does not put in the effort needed to maintain a partnership with Core Creative.
This high paced and volatile environment is not conducive to standard or simple analytical procedures. Factors of inputs change constantly and need to be adjusted. There is often a lot of information about what is going on, but no one has the time to sit down and really dig through it. Additionally, there is not a robust process to examine these changing conditions.
This is where data science comes in. The initial development of data science and programming applications can take time, money, and effort. However, the process can be automated to an extent and can allow for a deeper analysis of the financial relationship between Core Creative and the company’s clients. Data science enables decision makers to identify which inputs are most relevant to Core Creative’s revenue and financial health across the client base and can determine the relative importance of each of those variables. This in turn, can drive decisions that optimize Core Creative’s client relationships, revenue, and employee utilization.


{{stream.activeChallenge}} Active challenges
{{stream.activeChallengeSinceLastVisit}} Challenges since last visit
{{stream.completedChallenges}} Completed


#include <play.h>
Public Attributes | |
| Board | board [1] |
| Board | initial_board [1] |
| Search | search [1] |
| Result | result [1] |
| Book * | book |
| int | type |
| int | player |
| int | initial_player |
| Move | game [80] |
| int | i_game |
| int | n_game |
| volatile PlayState | state |
| int | level |
| long long | clock |
| struct { | |
| long long spent | |
| long long left | |
| long long extra | |
| } | time [2] |
| struct { | |
| Board real [80] | |
| Board unique [80] | |
| Move move [80] | |
| int n_move | |
| int i_move | |
| } | force |
| struct { | |
| Thread thread | |
| Lock lock | |
| Board board [1] | |
| bool launched | |
| bool verbose | |
| } | ponder [1] |
| char | error_message [PLAY_MESSAGE_MAX_LENGTH] |
play structure
| Board Play::board[1] |
current board.
pondered position
| Book* Play::book |
opening book
| long long Play::clock |
internal clock
| char Play::error_message[PLAY_MESSAGE_MAX_LENGTH] |
error message
| long long Play::extra |
extra time left
| struct { ... } Play::force |
forced line
| Move Play::game[80] |
game (move sequence).
| int Play::i_game |
current move index.
| int Play::i_move |
current forced move
| Board Play::initial_board[1] |
initial board.
| int Play::initial_player |
initial player's color.
| bool Play::launched |
launched thread
| long long Play::left |
time left
| int Play::level |
search level
| Lock Play::lock |
lock.
| Move Play::move[80] |
forced move sequence
| int Play::n_game |
last move index.
| int Play::n_move |
number of forced move
| int Play::player |
current player's color.
| struct { ... } Play::ponder[1] |
pondering thread
| Board Play::real[80] |
forced positions
| Result Play::result[1] |
search result.
| Search Play::search[1] |
search.
| long long Play::spent |
time spent
| volatile PlayState Play::state |
current state
| Thread Play::thread |
thread.
| struct { ... } Play::time[2] |
time of each player
| int Play::type |
ui type
| Board Play::unique[80] |
unique symetry of the forced positions
| bool Play::verbose |
verbose pondering


public final class CommandParser
extends java.lang.Object
Provides facilities to determine the number and values of text elements in a string. The elements are interpreted either as arguments (which have positional significance) or switches (which have an explicit identifier).
To create an instance of the CommandParser
class, use the
CommandParser
's static getBuilder
method to create
a Builder
object, passing it the string to be parsed, then use
the Builder
object's methods to set the required attributes;
finally use the Builder
object's build
method to create the
CommandParser
object.
Typically the supplied string is the arguments part of the command used to start an application, but there are many other uses.
The format of the string passed to the constructor is as follows:
[<argument> | <switch>] [<element-separator>... (<argument> | <switch>)]...
ie, there is a sequence of arguments or switches, separated by one or more element separator characters. The element separator character is specified in the getBuilder constructor.
Arguments that contain the element separator character must be enclosed in double quotes. Double quotes appearing within an argument must be repeated.
Switches have the following format:
[<switch-prefix>]<identifier>[<value-separator><switchValue>] OR <switch-prefix><switch-prefix>
ie a switch starts with a prefix (a single character specified in the getBuilder constructor) followed by an identifier, and optionally followed by a value separator character (specified in the getBuilder constructor) followed by the switch value. Switch identifiers must have a letter or digit as their first character, and can be specified to be case-sensitive in the getBuilder constructor. Switch values that contain the element separator character must be enclosed in double quotes. Double quotes appearing within a switch value must be repeated.
A null switch prefix can be specified, in which case any element that consists only of:
<identifier>[<value-separator><switchValue>]
is interpreted as a switch rather than an argument.
Alternatively a switch may consist simply of two occurrences of the switch separator character: all elements following this are interpreted as arguments.
Note that the element separator character, the switch prefix character, and the value separator character must all be different.
ExamplesExamples 1-3 use a space as the element separator character, a hyphen as the switch prefix character, and a colon as the value separator character:
Example 1: contains two arguments and two switches. Note that the first switch is between the two arguments: this does not affect the order of the arguments:
anArgument -sw1 anotherArg -sw2:42
Example 2: contains a single argument and a single switch. The argument is enclosed in double quotes because it contains the argument separator character. Note that the switch contains the switch value separator character, but this does not require the switch value to be quoted:
"C:\Program Files\MyApp\myapp.ini" -out:C:\MyLogs\myapp.Log
Example 3: the last two elements are interpreted as arguments because of the -- element, even though the last one looks like a switch:
-a -out:C:\MyLogs\myapp.Log -- C:"\Program Files\MyApp\myapp.ini" -in:inputFile
Example 4: this example uses a comma as the element separator character, a null switch prefix character, and an equals sign as the value separator character:
name=Jane Doe, age=41, address="123 Railway Cuttings, Camberwick Green"
| Modifier and Type | Class and Description |
|---|---|
static class |
CommandParser.Builder
Provides a means to construct an instance of the
CommandParser class. |
static class |
CommandParser.SwitchEntry
Contains details of a command switch.
|
| Modifier and Type | Field and Description |
|---|---|
static char |
SWITCH_PREFIX_NULL |
| Modifier and Type | Method and Description |
|---|---|
java.lang.String |
getArg(int index)
Gets the argument specified by
index . |
java.util.ArrayList<java.lang.String> |
getArgs()
Gets a List<String> containing all the arguments.
|
static CommandParser.Builder |
getBuilder(java.lang.String inputString)
Returns an instance of the
Builder class that is used to
construct a CommandParser instance. |
int |
getNumberOfArgs()
Gets the number of arguments.
|
int |
getNumberOfSwitches()
Gets the number of switches.
|
java.util.ArrayList<CommandParser.SwitchEntry> |
getSwitches()
Gets a
List<SwitchEntry> containing the
switch identifiers and values. |
int |
getSwitchIndex(java.lang.String name)
Gets the zero-based index of the specified switch.
|
java.lang.String |
getSwitchValue(java.lang.String name)
Gets the value of the specified switch.
|
boolean |
isSwitchSet(java.lang.String name)
Indicates whether the specified switch is set.
|
public static final char SWITCH_PREFIX_NULL
public static CommandParser.Builder getBuilder(java.lang.String inputString)
Builder
class that is used to
construct a CommandParser
instance.inputString
- A Builder
instance.Builder
class.public java.lang.String getArg(int index)
index
.index
- Identifies the argument to return.public java.util.ArrayList<java.lang.String> getArgs()
public int getNumberOfArgs()
public int getNumberOfSwitches()
public java.util.ArrayList<CommandParser.SwitchEntry> getSwitches()
List<SwitchEntry>
containing the
switch identifiers and values.List<SwitchEntry>
containing the
switch identifiers and values.public int getSwitchIndex(java.lang.String name)
name
- The name of the required switch.public java.lang.String getSwitchValue(java.lang.String name)
name
- The name of the required switch.public boolean isSwitchSet(java.lang.String name)
name
- The name of the switch.true
if the switch is set, otherwise false


We enjoy building solutions that fill needs to perfection. Our years of collaboration during work and after allows us to create seamless solutions.
An iOS application that countdown to given dates and notifies the user when the time has come.
A simple single page app that tracks Lebron's progress to becoming the all time leading scorer.


Event Location:
Peter Kiewit Lodge
28500 W Park Hwy
Ashland, Nebraska
Abstract:
Data obfuscation, also known as data masking, is soon a legal requirement. Data masking is the best way to secure non-production systems (i.e. DEV, TEST, etc) to greatly reduce the surface area of risk for data breach in your organization. Masking isn't encryption, which is an appropriate solution for production applications. Masking also isn't just a SQL Server feature, it is a technique common across databases. Data masking for data at-rest removes the value from the asset. This reduces your organizations "surface area of risk" overall, permitting your organization to prioritize security efforts where they are absolutely needed. There are other possible solutions, such as synthesizing data and redaction, which present other challenges. Come learn about the right way to secure non-production data to limit exposure only to production. Learn what techniques can be used, why, and what factors should be considered when deciding to secure confidential data.
Speaker(s): Tim Gorman,
Abstract:
A deep dive into a Tabular Model developed from a Star Schema. We review different levels of normalization versus de-normalization. We examine how all relationships require a M:1 cardinality that is joined on a pair of single columns. We will clarify that models cannot include model ambiguity. “Live” Demos using Power Pivot and Power BI • Integrated workspace / server workspace • Data connections (impersonation) • Import tables into the tabular model • Date Dimension for Time Intelligence • Relationships between facts and dimensions • DAX to create measures and calculated tables • Ragged Hierarchies • Detail Rows Expression Property for Measures • Project deployment and processing • Best practices and what to avoid • Dimensions, facts, and reference tables (parameters) • Bridge table and M:M relationships • Bi-directional filtering versus cross-filtering • DAX Expanded Tables • Filter context and DAX
Speaker(s): Ryan Casey,
Abstract:
Remember that first time you saw Service Broker and thought of all the great things you could do with it? Remember when you actually tried Service Broker and found all the limitations and pain points? Enter Apache Kafka. Apache Kafka is a distributed publish-subscribe messaging system which can scale out to handle millions of messages per second and support a distributed, microservices-oriented architecture. In this talk, we will cover the basics of this powerful system, including general architectural and design principles. We will also build a .NET project which uses Kafka to produce and consume messages quickly and efficiently.
Speaker(s): Kevin Feasel,
Abstract:
Few subjects in Microsoft SQL Server inspire the same amount of Fear, Uncertainty, and Doubt (FUD) as Extended Events. Many DBA's continue to use Profiler and SQL Trace even though they have been deprecated for years. Why is this? Extended Events started out in SQL Server 2008 with no user interface and only a few voices in the community documenting the features as they found them. Since then it has blossomed into a full feature of SQL Server and an amazingly low-impact replacement for Profiler and Trace. Come learn how to get started - the basics of sessions, events, actions, targets, packages, and more. We will look at some base scenarios where Extended Events can be very useful as well as considering a few gotchas along the way. You may never go back to Profiler again!
Speaker(s): Andy Galbraith,
Abstract:
Database migrations are scary. The migration of a database has many moving pieces and things to think about. Some of those things have nothing to do with the DBA and are outside of their control. However, if these items are not taken into account, it is the DBA that management will hold responsible for the failure. This session will discuss what you need to take into account to ensure a successful pain free database migration. These steps can be used for a single database, multiple databases, or an entire server. By the end of the session, you will have a checklist of the items you need to consider for a database migration.
Speaker(s): Chris Lumnah,
Abstract:
If your boss asked you for the list of the five most CPU-hungry databases in your environment six months from now for an upcoming licensing review, could you come up with an answer? Performance data can be overwhelming, but this session can help you make sense of the mess. Twisting your brain and looking at the data in different ways can help you identify resource bottlenecks that are limiting your SQL Server performance today. Painting a clear picture of what your servers should be doing can help alert you when something is abnormal. Trending this data over time will help you project how much resource consumption you will have months away. Come learn how to extract meaning from your performance trends and how to use it to proactively manage the resource consumption from your SQL Servers.
Speaker(s): David Klee,
Abstract:
Regular expressions can help you perform incredible tasks with very little effort. Need to create 1700 logins from an email request? Developers give you a single script with 300 stored procedures filled with table variables instead of temp tables? Need to move 500 databases to a different drive? Any of these tasks can take a long time to code, but regular expressions cuts that work from hours to seconds. I use regular expressions all the time and I have taken many tasks down from several days to just a few minutes. Stop writing code manually and let regular expressions do it for you. Here you’ll learn: • The most useful regular expression commands. • The appropriate times to use regular expressions. • How to use regular expressions to write code for you. • How to incorporate regular expressions into large tasks and combine them with other methods.
Speaker(s): Sean McCown,
Abstract:
Design and development may be exciting, but database administration is absolutely critical (and, reasonably well-paying!) The care and feeding of a server tends to get short-changed or neglected. In this class, we'll cover the basics of the big five administrator tasks: * Backups – You must set up regular backups, to keep copies of your databases...just in case something breaks, or someone makes a bad, bad mistake. * Integrity checks – Regularly and automatically check databases for corruption, which is when bits get scrambled, lost, and ruined. * Index maintenance – Databases need regular upkeep so they'll continue to run well. * Disk management – It's actually your job to find out about full disks before they happen. After all, databases grow! * Alerting – Alerts tell you what's wrong, so you don't have to go looking for problems. Being a database administrator is a big job, but we can cover the basics in one session!
Speaker(s): Jennifer McCown,
Abstract:
SQL Server is a huge product, with many different places a DBA can go to look for information on how the server is performing. So many in fact that they can often overlap, which sometimes makes it hard to understand why tackling a new tool is worth the effort. In this installment of Rick's "Why should I care" series, he lays out a case for why working knowledge of the plan cache is critical for performance tuning efforts in real world environments. A review of relevant views and functions is included for the (newly?) motivated audience. Perfect for those who are relatively new to performance tuning concerns, or advanced DBAs trying to figure out how to have a similar conversation with their less experienced peers, or developers who are curious as to why their DBAs often seem so frazzled. This is not a deep dive into the cache, it really is primarily a session exploring _why_ these DMOs are worth slogging through.
Speaker(s): Rick Lowe,
Abstract:
You’re busy. You don’t have time to check the security of your systems all the time, right? It’s not like anyone has added a user that you don’t know about. And no one would create a database and add all logins to the db_owner role. And of course, no one would ever think of setting the TRUSTWORTHY property on a database... right? Things like that happen on a daily basis, poking holes in even the most well-secured database. Those holes are just waiting for someone to find them. That someone could be you, or it could be an attacker probing for a way to get data from your company. In this session, we will explore how to create reports that are quick to review so you can find the holes before someone else does - without interfering with the rest of your day. Along the way, you'll also learn where to find security-related information in SQL Server's metadata and logs to allow you to customize and extend the reports to meet your company's unique needs.
Speaker(s): Ed Leighton-Dick,
Abstract:
The most effective T-SQL support feature comes installed with every edition of SQL Server, is enabled by default, and costs no overhead. Yet, the vast majority of database administrator underutilize or completely neglect it. That feature's name is "comments". In this session, Microsoft Certified Master Jennifer McCown will demonstrate the various commenting methods that make code supportable. Attendees will#160;learn what’s important in a header comment, use code blocking to edit code, build a comprehensive help system, and explore alternative comment methods in stored procedures, SSIS packages, SSRS reports, and beyond. These methods help prevent errors and reduce troubleshooting.
Speaker(s): Jennifer McCown,
Abstract:
For large in-memory Analysis Services Tabular models, the design of table partitions and the scheduled refresh/processing operations has significant implications for query performance, resource utilization, processing duration, and database availability. This session will review the tabular model's processing operation types, design decisions such as parallelism and transactions, and provide examples of Tabular Model Scripting Language (TMSL) scripts and PowerShell scripts used to support the processing of Tabular models. Additionally, common Azure and on-premises job automation and orchestration tools used in the processing of Tabular models will be demonstrated including Azure Automation, SQL Server Agent, and SSIS.
Speaker(s): Brett Powell,
Abstract:
Have you used SSAS before? Have you created reports using T-SQL and Group by? Are you interested in or currently using Power BI? Do you you have a need for Analysis Services but don't want to have to deal with the hassle of buying and installing a server? Are you dreading having to upgrade your hardware for your current SSAS Tabular instance? Is your organization using Office 365? If you answered yes to any of these questions, you might need Azure Analysis Services. The wait is over! Azure Analysis Services is the platform as a service version of the wildly popular Analysis Services Tabular product. This demo heavy session will be focused on setting up Azure Analysis Services, deploying a model, loading the model with data and finally reporting from your Azure Analysis Services instance.
Speaker(s): Phillip Labry,
Abstract:
A common issue database administrators face is data auditing. Many use triggers, CDC, third-party tools, or roll their own type of auditing tool. In SQL Server 2016, a new feature called Temporal Tables was introduced and helps to simplify this common need. In this session, we will take a look at what temporal tables are, how they work and how you can implement them into your environment.
Speaker(s): John Morehouse,
Abstract:
Always Encrypted is a highly-touted feature of SQL Server that promises to make encryption simple to use and transparent to applications while still protecting the data both at rest and in motion, even from high-privilege users such as developers and DBAs. Does that sound too good to be true? It isn’t - Always Encrypted is an incredible feature - but like any new technology, it does have some limitations. In this session, you’ll see how to configure Always Encrypted, and we’ll talk about when you should and shouldn’t use it in your environment.
Speaker(s): Ed Leighton-Dick,
Abstract:
Think infrastructure in the cloud is still just for sysadmins? Think again! As your organization moves into the cloud, infrastructure architecture skills are more important than ever for DBAs to master. Expert knowledge of cloud-related infrastructure will help you maintain performance and availability for databases in the cloud. For example, know what an IOP is? Should you use a database-as-a-service or provision a cloud-based VM? How many compute resources does your database consume during a given day? Can you secure it properly? Come learn many of the key cloud infrastructure points that you should master as the DBA role continues to evolve!
Speaker(s): David Klee,
Abstract:
Amazon web services offers a befuddling number of of different services. Among these are the two major options for running SQL Server on AWS - Elastic Compute Cloud and Relational Database Services. Why would one be picked over the other? What are the limitations and trade offs? We will discuss these questions among others while working through the process of restoring a sample database under both services.
Speaker(s): Rick Lowe,
Abstract:
This is not a class about how to pass a test, or make a pretty report. This is a guy with 20+ years of experience telling you some things that he wished he would have known when he was young.
 Are you both the DBA and the Developer? Being the only data professional in an environment can seem overwhelming, daunting, and darn near impossible sometimes. However, it can also be extremely rewarding and empowering. This session will cover how you can keep your sanity, get stuff done, and still love your job. We'll cover how I have survived and thrived being a Lone DBA for 15 years and how you can too. When you finish this session, you'll know what you can do to make your job easier, where to find help, and how to still be able to advance and enrich your career.
Speaker(s): Monica Rathbun,
Abstract:
It's not a question of whether or not the landscape for the common DBA is changing. Without a doubt, it is. Azure offers up a new world of possibilities for DBA's and we should all strive to learn it. In this session, we'll cover some basic knowledge and terminology of Azure as well as how easy it is to incorporate Azure into your environment. We will stand up a new Azure virtual machine as well as a setup SQL DB. You will see how easy it is to accomplish this. This new-found knowledge will help propel your career into the new landscape.
Speaker(s): John Morehouse,
Abstract:
Data breaches are now a when, not an if. Yet despite years of reading about data breaches in the news, very few companies are ready to weather the storm. This course will provide a general primer on data breach incident response and the parallels between the IT and Legal response cycles. At the end of this course, you will have the baseline knowledge of data breach responses and legal aspects your company needs to know.
Speaker(s): Wm Bruce Wray,
Abstract:
Microsoft introduced the APPLY operator in SQL Server 2005. This under-used, non-standard operator can help us solve a number of common (and not-so-common) problems with elegant code which performs well. We will look several problem spaces in which the APPLY operator shines, such as joining to table-valued functions, getting the top N child records for each parent record, string splitting, and word matching. With the use of these examples, we will gain a deeper understanding of when to use the APPLY operator.
Speaker(s): Kevin Feasel,
Abstract:
If you’ve looked at the cloud, you’ve realized the large number of options you have to implement a complete cloud analytics solution. You have the ability to deploy dashboards, data ingestion and integration and advanced analytics to the cloud that will empower data-driven decisions for your organizations. This talk will discuss and review options you have to run Cloud Analytic Solutions from the three major cloud providers – AWS, Azure and Google Cloud Platform.
Speaker(s): Marc Beacom,
Abstract:
In this session a sample database of athletic performance and wellness is leveraged to deliver insights and analytical capabilities via Power BI. A robust data model, advanced DAX metrics, rich data visualizations, and distribution capabilities in the Power BI web service such as data alerts and email subscriptions all contribute to the overall solution designed to answer top questions such as "Which athletes are making the greatest gains?" and to identify exceptions and trends.
Speaker(s): Brett Powell,
Abstract:
SQL Server 2016 and 2017 come with their own version of a Wayback Machine: temporal tables. With this new feature, it is easy to store and query the history of changes to data. We will discuss the fundamentals and creating, storing data in, querying from, and maintaining these tables. We will also take a quick look under the hood to see how they work. And yes, this is a version 1 (and 2) product, so we'll also consider the current limitations that are in place. Find out how temporal tables can benefit your system!
Speaker(s): Brian Hansen,
Abstract:
Have you ever wondered how SQL Server stores your data? With so many ways that it can be done, we couldn't possibly cover everything in this session, but we'll discuss the fundamental building blocks that SQL uses to organize data into usable units. We'll also see how we can peek under the covers to actually view some of the strutures involved. Why? Because understanding how the pieces fit together will help you to design better, more efficient databases and tables, as well as providing knowledge of a critical component of how the SQL optimizer comes up with query plans.
Speaker(s): Brian Hansen,
Abstract:
Many of us have to deal with hardware that doesn’t meet our standards or contributes to performance problems. This session will cover how to work around hardware issues when it isn’t in the budget for newer, faster, stronger, better hardware. It’s time to make that existing hardware work for us. Learn tips and tricks on how to reduce IO, relieve memory pressure, and reduce blocking. Let’s see how compression, statistics, and indexes bring new life into your existing hardware.
Speaker(s): Monica Rathbun,
Abstract:
Have you been too busy to explore the new developer features in 2014+? This session is for you! We're going to work through solving problems more effectively using the new capabilities built into SQL Server. Topics covered will include JSON, string splitting and aggregation, data masking, row level security, graph processing, and too many "minor" features to mention.
Speaker(s): Bill Fellows,
Abstract:
Powershell has become the defacto standard for scripting Microsoft products. However, putting data in text files doesn’t scale. Here I’m going to show you the ins and outs of loading data into SQL Server using Powershell for the purpose of centralizing collections. We’re going to cover RBAR as well as bulk operations and the types of things you need to take into consideration in an enterprise setting. This is a no holds barred session taught by an enterprise SQL Server scripting expert.
Speaker(s): Sean McCown,
Abstract:
In this session you will learn the basics of statistics and what they are used for. You will learn how to gather information about the statistics and how to use the information to improve performance. It is important the statistics are maintained to work properly. We will discuss what on going maintenance should be done on statistics.
Speaker(s): Dave Bland,
This is a list of speakers from the XML Guidebook records. The details and URLs were valid at the time of the event.
LinkedIn: https://www.linkedin.com/pub/kevin-feasel/7/716/504
Contact: http://www.catallaxyservices.com
Kevin Feasel is a Microsoft Data Platform MVP and CTO at Envizage, where he specializes in data analytics with T-SQL and R, forcing Spark clusters to do his bidding, fighting with Kafka, and pulling rabbits out of hats on demand. He is the lead contributor to Curated SQL (https://curatedsql.com), president of the Triangle Area SQL Server Users Group (https://www.meetup.com/tripass), and author of PolyBase Revealed (https://www.apress.com/us/book/9781484254608). A resident of Durham, North Carolina, he can be found cycling the trails along the triangle whenever the weather's nice enough.
LinkedIn: https://www.linkedin.com/in/sqlespresso
Contact: http://www.sqlespresso.com
Monica Rathbun lives in Virginia, is a Microsoft MVP for Data Platform and Microsoft Certified Solutions Expert. She has nearly two decades of experience working with a wide variety of database platforms with a focus on SQL Server and the Microsoft Data Platform. She is a frequent speaker at IT industry conferences on topics including performance tuning and configuration management. She is the Leader of the Hampton Roads SQL Server User Group and a Mid‐Atlantic PASS Regional Mentor. She is passionate about SQL Server and the SQL Server community, doing anything she can to give back. Monica can always be found on Twitter (@sqlespresso) handing out helpful tips. You can find Monica blogging at sqlespresso.com
LinkedIn: http://www.linkedin.com/in/billinkc
Contact: http://blog.billfellows.net
Bill Fellows is a SQL Server MVP and has been a database developer for most of his career, with the past 15 years focused on ETL. He is the organizer of Kansas City's eight SQL Saturdays and a speaker at many other SQL Saturdays, User Groups and the PASS Summit. Bill is the owner of Sterling Data Consulting where he gets to solve interesting data problems.
LinkedIn: http://www.linkedin.com/in/eleightondick
Contact: http://www.edleightondick.com
Ed Leighton-Dick is a Microsoft MVP, SQL Server performance and architecture specialist, and Founder/Principal Consultant of Kingfisher Technologies. He is a frequent volunteer with PASS, including current roles as a Regional Mentor, co-leader of I-380 PASS local group, and co-leader of the HA/DR virtual group. He can often be found teaching sessions at local, regional, and national events, including user groups, SQLSaturday, and PASS Summit.
Contact: http://phillip.labry.com
Phillip Labry is a Senior BI Consultant and Trainer with over 20 years experience in SQL Server and over 30 in IT. He has been lucky enough to work on data projects spanning telecom, banking, retail, law enforcement, health care, insurance, financial services and energy sectors. As a national consultant he provides training and builds solutions utilizing the full MS BI stack. He is an active member of the Madison, WI PASS chapter and speaks at events in the USA and Canada.
LinkedIn: http://www.linkedin.com/in/eleightondick
Contact: http://www.edleightondick.com
Ed Leighton-Dick is a Microsoft MVP, SQL Server performance and architecture specialist, and Founder/Principal Consultant of Kingfisher Technologies. He is a frequent volunteer with PASS, including current roles as a Regional Mentor, co-leader of I-380 PASS local group, and co-leader of the HA/DR virtual group. He can often be found teaching sessions at local, regional, and national events, including user groups, SQLSaturday, and PASS Summit.
LinkedIn: http://www.linkedin.com/in/marcbeacom
Contact: https://datalere.com/author/marc-beacom/
Marc Beacom, Managing Partner at Datalere, leverages over two decades of experience to better the data landscape for clients, along with nearly a decade of building and managing productive teams. Marc has led architecture and developed data integration strategies for dozens of Colorado based companies and organizations. Marc maintains an active presence in the Colorado community by volunteering and serving on nonprofit boards, speaking and running user groups.
LinkedIn: https://www.linkedin.com/in/wwray/
Mr. Wray is Vendor Legal Counsel for an international payments company, handling complex procurement negotiation and focusing on technology and security related aspects of the vendor on-boarding and management processes. ISC^2 CISSP certified, with Masters' Degrees in Mathematics and Computer Science, focused on Information Assurance. He worked prior as an associate at a national law firm, working within their Intellectual Property/Information Technology group. Prior to joining the legal profession, he worked for over a decade in the information technology field, focusing on development, database, and security, and taught as an adjunct professor, including courses in mathematics, computer science and information assurance.
LinkedIn: https://www.linkedin.com/pub/kevin-feasel/7/716/504
Contact: http://www.catallaxyservices.com
Kevin Feasel is a Microsoft Data Platform MVP and CTO at Envizage, where he specializes in data analytics with T-SQL and R, forcing Spark clusters to do his bidding, fighting with Kafka, and pulling rabbits out of hats on demand. He is the lead contributor to Curated SQL (https://curatedsql.com), president of the Triangle Area SQL Server Users Group (https://www.meetup.com/tripass), and author of PolyBase Revealed (https://www.apress.com/us/book/9781484254608). A resident of Durham, North Carolina, he can be found cycling the trails along the triangle whenever the weather's nice enough.
LinkedIn: https://www.linkedin.com/in/sqlespresso
Contact: http://www.sqlespresso.com
Monica Rathbun lives in Virginia, is a Microsoft MVP for Data Platform and Microsoft Certified Solutions Expert. She has nearly two decades of experience working with a wide variety of database platforms with a focus on SQL Server and the Microsoft Data Platform. She is a frequent speaker at IT industry conferences on topics including performance tuning and configuration management. She is the Leader of the Hampton Roads SQL Server User Group and a Mid‐Atlantic PASS Regional Mentor. She is passionate about SQL Server and the SQL Server community, doing anything she can to give back. Monica can always be found on Twitter (@sqlespresso) handing out helpful tips. You can find Monica blogging at sqlespresso.com
LinkedIn: http://www.linkedin.com/pub/andy-galbraith/5/149/98b
Contact: http://nebraskasql.blogspot.com/
I’m a forty-something Microsoft SQL Server DBA of 18+ years, a devoted husband, and a father of three young boys (all aged eight and under!) I have been a DBA at a public university, at a major bank, at a healthcare system, and I now work as a consultant with customers across the United States. I write and speak primarily about the tips and tricks that I discover along my SQL Server journey.
Contact: http://www.midnightdba.com/dbarant
Sean McCown is a Certified Master with 23 years of experience in databases. He is also founder and co-owner of the MidnightDBA.com website, where he records free SQL Server training videos. He also writes the popular Minion Maintenance suite, the most configurable maintenance solution on the planet.
LinkedIn: https://www.linkedin.com/in/dave-bland-sql-server
Contact: https://www.davebland.com
Over 20 years of SQL Server experience that includes being a DBA, BI development and Application development using VB.NET. Dave currently is the Manager of the DBA team at Stericycle. Dave is a Friend of Red-Gate for 2019. He is a frequent presenter at SQL Saturday events and user groups around the country. Has been teaching SQL Server since version 2000 and is the SQL Server instructor at Harper College in Palatine, IL. Current certifications include: • Microsoft Certified Trainer • MCTS: SQL Server 2008, Implementation and Maintenance • MCTS: SQL Server 2008, BI Development and Maintenance • MCSA: SQL Server 2008 • MCSA: SQL Server 2016 • MCSE: SQL Server 2016 - BI • MCDBA: SQL Server 2000 • MCSD • MCSE: Data Management and Analytics
Contact: http://www.tf3604.com
Brian is a database administrator at Children International in Kansas City. He has been working with SQL Server technologies since 1998, including roles in report development, application development and database administration.
Contact: http://www.midnightdba.com/dbarant
Sean McCown is a Certified Master with 23 years of experience in databases. He is also founder and co-owner of the MidnightDBA.com website, where he records free SQL Server training videos. He also writes the popular Minion Maintenance suite, the most configurable maintenance solution on the planet.
LinkedIn: https://www.linkedin.com/in/timgorman
Contact: http://evdbt.com
Tim Gorman is a senior technical consultant for Delphix who securely enables masked data virtualization to increase the agility of IT development and testing while ending decades of security risk in SDLC. Tim has co-authored six books on data warehousing and database administration, has performed technical review on eight more books, and has an author#39;s page on Amazon.com (http://www.amazon.com/Tim-Gorman/e/B00BKCTO5E).
LinkedIn: https://www.linkedin.com/in/sqlrus
Contact: http://www.sqlrus.com
John Morehouse is currently a Consultant with Denny Cherry Associates living in Louisville, Kentucky. With over 2 decades of technical experience in various industries, John now focuses on the Microsoft Data platform and specializes in Microsoft SQL Server. He is honored to be a Microsoft Data Platform MVP, VMWare vExpert, Friend of Red Gate, Sentry One PAC member Community Ambassador, and 2016 Idera Ace. John has a passion around speaking, teaching technical topics, and giving back to the technical community as much as possible. He is a user group leader, SQL Saturday organizer, and former PASS regional mentor. He is also a blogger, avid tweeter, and a frequent speaker at SQL Saturday’s as well as other conferences.
LinkedIn: https://www.linkedin.com/in/ryancaseymba/
Contact: https://www.AimYourData.com/
Microsoft Data Platform MVP, Public Speaker, and Group Moderator SQL Saturday Speaker @ • Houston, TX 2018 • Dallas, TX 2018, 2017 (BI), 2016, 2015 • Phoenix, AZ 2018, 2017 (BI) • Kansas City, MO 2017 • Baton Rouge, LA 2017 • Oklahoma City, OK 2016 • San Antonio, TX 2016 SQL User Group Speaker @ • NTSSUG, Dallas, TX • CACTUSS, Austin, TX • OKCSQL, Oklahoma City, OK • MSBIC, Dallas, TX • SALSSA, San Antonio, TX • FWSSUG, Fort Worth, TX AIM Business Driven Data Solutions combines the collaborative and creative arts included in Technical Communication, the business acumen of a Harvard MBA program, and the technical discipline of object-oriented programming and business intelligence (data warehouses).
LinkedIn: http://www.linkedin.com/in/jennifermccown
Contact: http://www.MidnightDBA.com/Jen
Jen McCown is CEO of MinionWare, LLC; a Microsoft Certified Master for SQL Server; and an independent consultant. She is Senior Editor at MidnightDBA.com, where she creates training videos, the DBAs at Midnight webshow, blogs, reviews, and podcasts. Jen is a member, volunteer, and speaker in PASS, and the PASS Women in Technology Virtual Group.
Contact: http://www.tf3604.com
Brian is a database administrator at Children International in Kansas City. He has been working with SQL Server technologies since 1998, including roles in report development, application development and database administration.
LinkedIn: https://www.linkedin.com/in/lumnah
Chris Lumnah began working in the IT as a programmer in 1996. He ended up becoming a SQL DBA out of necessity 15 years ago. He has worked on SQL Server version 2000 thru 2017. He likes to continue to use his knowledge of programming to create more automated solutions to assist him and his team to be more proactive. Chris lives in Providence, RI and is currently a SQL Server Solutions Architect at Rubrik Inc.
LinkedIn: https://www.linkedin.com/in/sqlrus
Contact: http://www.sqlrus.com
John Morehouse is currently a Consultant with Denny Cherry Associates living in Louisville, Kentucky. With over 2 decades of technical experience in various industries, John now focuses on the Microsoft Data platform and specializes in Microsoft SQL Server. He is honored to be a Microsoft Data Platform MVP, VMWare vExpert, Friend of Red Gate, Sentry One PAC member Community Ambassador, and 2016 Idera Ace. John has a passion around speaking, teaching technical topics, and giving back to the technical community as much as possible. He is a user group leader, SQL Saturday organizer, and former PASS regional mentor. He is also a blogger, avid tweeter, and a frequent speaker at SQL Saturday’s as well as other conferences.
LinkedIn: https://www.linkedin.com/in/brett-powell-61547819?trk=nav_responsive_tab_profile
Contact: https://insightsquest.com/
Brett is the author of the Microsoft Power BI Cookbook, Mastering Power BI, and an active technical blogger on Insight Quest (https://insightsquest.com). Brett also owns Frontline Analytics, LLC, a data and analytics consulting firm specializing in the Microsoft data platform. Brett has held multiple BI and analytics roles within corporate analytics functions, BI/IT organizations, and as a consultant for Microsoft BI Partner firms. Outside of work Brett contributes to the Power BI Community and the Boston Business Intelligence User Group.
LinkedIn: https://www.linkedin.com/in/burnill-amp;quot;b-d-amp;quot;-softley-2a303b1?trk=hp-identity-name
Someone remind me to put something interesting here.
LinkedIn: http://www.linkedin.com/in/davidaklee
Contact: http://davidklee.net
David Klee is a Microsoft Data Platform MVP and VMware vExpert with a lifelong passion for technology. David spends his days focusing on the convergence of data and infrastructure as the Founder of Heraflux Technologies. His areas of expertise include cloud, virtualization, performance, and business continuity. David speaks at a number of national and regional technology related events, including PASS Summit, VMware VMworld, SQLBits, SQL Saturday events, and many SQL Server User Groups.
LinkedIn: http://www.linkedin.com/pub/rick-lowe/a/228/441/
Contact: http://dataflowe.wordpress.com/
Rick is a Microsoft Certified Master with more than 20 years of SQL Server experience in a variety of roles. He currently lives in Washington state and works as an independent consultant providing remote performance DBA and performance tuning services for clients in the USA and Canada. His first exposure to SQL Server was as a database developer, but over time he became more and more interested in how the database engine operated... eventually specializing more on performance issues than code. Rick will work with all things relational, but most enjoys helping smaller companies get better performance from MSSQL, as well as smoothing over relationships between DBA and development teams.
LinkedIn: https://www.linkedin.com/in/brett-powell-61547819?trk=nav_responsive_tab_profile
Contact: https://insightsquest.com/
Brett is the author of the Microsoft Power BI Cookbook, Mastering Power BI, and an active technical blogger on Insight Quest (https://insightsquest.com). Brett also owns Frontline Analytics, LLC, a data and analytics consulting firm specializing in the Microsoft data platform. Brett has held multiple BI and analytics roles within corporate analytics functions, BI/IT organizations, and as a consultant for Microsoft BI Partner firms. Outside of work Brett contributes to the Power BI Community and the Boston Business Intelligence User Group.
LinkedIn: http://www.linkedin.com/in/davidaklee
Contact: http://davidklee.net
David Klee is a Microsoft Data Platform MVP and VMware vExpert with a lifelong passion for technology. David spends his days focusing on the convergence of data and infrastructure as the Founder of Heraflux Technologies. His areas of expertise include cloud, virtualization, performance, and business continuity. David speaks at a number of national and regional technology related events, including PASS Summit, VMware VMworld, SQLBits, SQL Saturday events, and many SQL Server User Groups.
LinkedIn: http://www.linkedin.com/pub/rick-lowe/a/228/441/
Contact: http://dataflowe.wordpress.com/
Rick is a Microsoft Certified Master with more than 20 years of SQL Server experience in a variety of roles. He currently lives in Washington state and works as an independent consultant providing remote performance DBA and performance tuning services for clients in the USA and Canada. His first exposure to SQL Server was as a database developer, but over time he became more and more interested in how the database engine operated... eventually specializing more on performance issues than code. Rick will work with all things relational, but most enjoys helping smaller companies get better performance from MSSQL, as well as smoothing over relationships between DBA and development teams.
LinkedIn: http://www.linkedin.com/in/jennifermccown
Contact: http://www.MidnightDBA.com/Jen
Jen McCown is CEO of MinionWare, LLC; a Microsoft Certified Master for SQL Server; and an independent consultant. She is Senior Editor at MidnightDBA.com, where she creates training videos, the DBAs at Midnight webshow, blogs, reviews, and podcasts. Jen is a member, volunteer, and speaker in PASS, and the PASS Women in Technology Virtual Group.
The following is a list of sponsors that helped fund the event.


Non-party Campaigner Registration Service
If you intend to spend more than £20,000 in England, or £10,000 in Scotland, Wales or Northern Ireland campaigning at certain elections, you must register with us as a non-party campaigner.
If you are a registered non-party campaigner, there are certain things you must report to us.
Use this service to register a non-party campaigner
Registering takes around 5 minutes.
Before you start
You can also register by post.
The online service is also available in Welsh (Cymraeg).


[Erowid Note: Some authors report suspicions that their cannabis has been 'laced' (adulterated), in some cases presumably with PCP. While this is possible, readers should be aware that idiosyncratic response to the effects of cannabis (usually higher doses) can lead some users to presume their cannabis has been 'laced'. There is no way to know if the cannabis in the report below was adulterated or not.]
The first semester I spent at my current college, I would party a lot at a house where eight classmates lived. It was a wild spot on the weekends where 30 or more people could often be found getting drunk and high, and occasionally experimenting with harder drugs as well.
At this point in my life, I was a habitual pot smoker. I would often go to class high, and smoked at least a joint's worth a day. I didn't often drink but could hold my ground with alcohol. It would typically take at least 6 beers or a large wine bottle to get me tipsy.
One weekend at the 'Kemper House' as the hangout was called, the party was particularly wild. About five of us retired to my friend Zach's bedroom to get some peace & quiet. We chilled out listening to Bjork and passed around a joint. I cradled a beer that I had been sipping on all night.
I only hit the joint 2-3 times, but something seemed off. Within five minutes I started feeling very strange, unlike how I had ever felt before. It started to feel as if my head, or my consciousness, was entirely separated from the rest of my body. I fazed out of the conversation, but I could still make out Zach commenting on how amazing Bjork's new album was. I decided I really didn't like what was happening to my head and my friend Mark could tell something was wrong.
I brushed off his questions and said I had to piss, as an excuse to be alone and hopefully wait out whatever the hell was going through my system. I casually sat my beer down and stood up. It felt like my body was a machine that I was feebly trying to maneuver with broken controls. I had no sense of balance whatsoever. I picked up on this immediately, and not to attract attention or concern I put my hand on the wall and guided myself out the door and down the hall.
The living room was vacant. The party had moved upstairs. I stood there, leaning against the wall of the room, wondering where in the hell the bathroom was. At this point, a friend walked by and I managed to ask him. It was in another hallway at the end of the living room. My heart sank when I realized that I would have to walk without the aid of a wall.
My friend walked out of the room and I took a couple of dizzy steps toward the bathroom. About three steps into the walk I could feel my body stop responding. It was so bizarre, I'd never completely lost control like this. I collapsed onto the floor without even attempting to brace my fall. My friend popped back into the room and asked if I was okay. I mumbled that I wanted to sit down, that I did it on purpose, and he seemed to buy this explanation.
I sat there motionless for about ten minutes and then carefully picked myself up and began to walk again. I quickly lost my balance, but by then I was able to catch myself on the far wall of the living room. I guided myself along the wall again into the bathroom and fell onto the toilet, where I sat for at least thirty minutes.
About an hour after leaving my friend's bedroom I could start to sense my coordination slowly returning. I decided to return to my friend's bedroom. Mark looked concerned, but I brushed off his concerns, saying that I just had drank too much and had been sick. This wasn't true, but seemed like a normal enough excuse.
A couple hours later I felt safe enough to drive (although I still had some minor effect). On the ride home I told him what had happened and he thought that I had gotten some third drug into my body. After researching the various substances that are sometimes laced with pot, the only explanation I could come up with was a very small dosage of PCP. Mark of course mentioned that he agreed wholeheartedly with Zach's opinion that Bjork's 'Vespertine' would live on to be one of the greatest albums of the 21st century.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Woody Allen Cries "Help!"
Celebrity (1998)
Seen on 21 November 1998 with Laura and Peter at the SONY 19th Street for $8.75
More than 30 movies into the game, Woody Allen finally puts his plea into the air, in skywriting: H-E-L-P. Big white letters in the sky for all to see. At least all of New York to see, as it sometimes seems we are his only intended audience.
In an entertaining but not-so-deep effort, Woody takes on the perils of being popular in our media-soaked culture. The attitudes we have of the rich and famous, many of whom are beautiful and consequently, rich and famous, are somewhat examined here. Only somewhat.  They just get an tremendously larger share of attention than the rest of us ever see.
Here, the "Woody Allen character"--the character that the audience clearly sees as the character we think Woody Allen is like in real life, and the one we see in movie after movie--is Lee Simon. He is an "entertainment reporter" who moves among the beautiful people. As Lee, Kenneth Branagh does an incredible acting job, as he takes on not just Allen's mannerisms, but a lot of his vocal affects. If you'd never seen Branagh before you'd think he was New York's famous stammering director and not a well-spoken Brit.
As ever, Allen provides flashbacks to Lee's breakup with his wife Robin (Judy Davis), and follows their parallel journeys. We follow Lee through several sojourns--an interview turned interlude with an actress (Melanie Griffith), a crazed evening on the town with a Supermodel (Charlize Theron, of Devil's Advocate), and debauchery with teen idol Brandon Darrow (Leonardo DeCaprio). Meanwhile, he also has relationships with a book editor (Famke Janssen) and a waitress (Nola, played by Winona Ryder).
The much more interesting character and story is that of Robin, who goes from feeling like a nothing as an English teacher to working for her next boyfriend, Tony Gardella (Joe Mantegna), a TV producer. Faced with "having it all" she is disbelieving and underconfident. Alternating from frantic to aggravated to elated, Judy Davis shows yet another intense performance for a Woody Allen movie that makes you wonder why he kept casting Mia Farrow. My God! Imagine how much more spectacular Broadway Danny Rose would have been with Judy Davis. Robin's growth and development are the most interesting parts of the movie, making Lee's adventures seems like so many red herrings. If you know of a bad Judy Davis performance, let me know. It seems inconceivable.
Also, Woody's preoccupation with oral sex and hookers (this time it's Bebe Neuwirth) is still going strong. If I really thought that they were back for shock value and irony, I wouldn't mind, but it seems more adolescent and self-serving. I suppose the President's antics have given him further license.
Sometimes, watching Celebrity, you think that perhaps it's just an excuse for Woody to string together some scenes that have nothing to do with each other. It's more an exposition of celebrity than an exploration or explanation. Celebrity is entertaining, but any comparisons to Hannah and Her Sisters and Crimes and Misdemeanors would be undesering.
Making cameo appearances are Donald Trump, Isaac Mizrahi, and the Buttafuocos--both Mary Jo and Joey.
More movie reviews by Seth Bookey, with graphics, can be found at http://www.geocities.com/Athens/2679/kino.html
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


A redesign of the popular UK food and recipe website to modernize and improve the user experience: from reducing the need to scroll and touch a device when cooking to the addition of a new and improved search feature on the homepage to help those 'hangry' people find great recipes, fast!
I redesigned 3 pages of the site: the home page, recipe page and the shopping list page for mobile and desktop. Researching current trends for cooking with devices and reviewing the current user profiles of the site, I highlighted pain points in the current user experience and began wireframing to bring a new flow to the selected pages. After sketching, I began creating low fidelity wireframe mockups to help test the layouts and practicality of elements of the design.
The aim of the redesign was to showcase great food photography and create a modular layout inspired by editorial design.
The search function was a pain point and is now a showcase feature on the homepage with options to type or use quick links. On scroll, the search bar transitions to the top left of the fixed header - so this feature will remain visible at all times.
The homepage called for improved organization and hierarchy. It now features distinct sections with clear CTAs thanks to new consistent button styling. The typography has improved hierarchy across headings and body copy, featuring a balance of sans serif and serif fonts together with lowercase and uppercase variants.
A new modular layout for the recipe page showcases the food photography with editorial styling of the typography.
The aim of the recipe page redesign is to enhance the cooking experience and limit the need to scroll through a recipe. Ingredients and method appear in tab layout so the user can simply tap between the two. A simple 'Add to Shopping List' button collates all ingredients in the newly designed shopping list. Hints and Tips for the recipe are featured underneath: including reviews from other users incorporating a new level of social interaction.
One of the most striking design elements of the recipe page is it's use of colour. Inspired by the great food photography and styling, recipe pages are designed to incorporate the colours and tonal qualities of the main photograph, adding a new depth of flexibility to the design.
The Shopping List is a useful tool that gathers all ingredients from your favourited recipes. The redesign now presents these ingredients in categories - sorted by recipe or by aisle. Individual ingredients can be added from the panel on the left. Usability is key here; the user can collapse and expand each category and edit any of the quantities or delete items. A clear CTA directs the user to save and send their collated list or bring them straight to their online grocer of choice to finalize sale.
Keeping functionality at the forefront, the design and layout of the desktop screens was adapted for smaller screens by adding interactive menu elements and functions.
I thoroughly enjoyed this project and the design process. I was really interested in exploring the effect an interface can have on the user and their experience whilst cooking - what prevents it from being a hinderance and makes it a helpful hand? It would be very interesting to take this to the next level and see how sound and voice control could further enhance this cooking experience with a home device such as Alexa or Google Home.
If you would like to see any more work from this project or chat about any of my findings, please get in touch!


In case you missed it somewhere, I'm Todd Seller. I've spent the better part of the past 20 years involved in sales and marketing. I'm currently on a journey to add full-stack developer to my skill set. I appreciate you spending time getting to know me and browse my portfolio. Feel free to fill out the form to contact me directly.


This page needs JavaScript enabled to function properly.
Replace
textarea
elements on the current page with editors?
Yes
No


--- layout: page title: "Developing Web Applications with Haskell and Yesod" prev: OEBPS/ch03s08.html next: OEBPS/ch04.html book_path: books/michael-snoyman-developing-web-applications-with-haskell-and-yesod-_oeb/ --- {% include JB/setup %} {% raw %}
Every Yesod application is built around a foundation data type. We associate some resources with that data type and define some handler functions, and Yesod handles all of the routing. These resources are also data constructors, which lets us have type-safe URLs.
By being built on top of WAI, Yesod applications can run with a number of different
backends. warpDebug
is an easy way to get started, as
it’s included with Yesod. For rapid development, you can use yesod devel
. And when you’re ready to move to production, you have Warp
as a high-performance option.
When developing in Yesod, we get a number of choices for coding style: quasi-quotation or
external files, warpDebug
or yesod
devel
, and so on. The examples in this book will tend toward using the choices
that are easiest to copy and paste, but the more powerful options will be available when you
start building real Yesod applications.


Daniel Bryan summons Bray Wyatt to the ring ahead of Survivor Series showdown
by WWE.comDaniel Bryan is letting him in – what will Bray Wyatt do with the opportunity?
Before the two competitors meet for the Universal Title at WWE’s Fall Classic, Bryan summons Wyatt to the ring for a pre-Survivor Series confrontation on Friday Night SmackDown. The rivalry has escalated in recent weeks with the Universal Champion’s backstage attack and “Miz TV” disruption, which led to Bryan laying down the title challenge.
Will Bryan send a message before the Survivor Series showdown? Can Wyatt’s mind games get his adversary back into a “Yes!” state of mind? Catch the confrontation on SmackDown at 8/7 C on FOX.


Learn to write concise code with the tips Zergs learned over the years.
The Computer Nonsense Guide is a collection of bite-sized tips and tricks that cover among other topics, the following:


OsmAnd Help Pages
OsmAnd Features
Versions
Frequently Asked Questions
OsMo Plugin
Extended Online Knowledge Base:
(Internet connection required)
Map Legend (default map style)
How-to Articles
Technical Articles


|
2002-2003
Season Team Awards Team South, 1st Place, Cornshuckers' Challenge, University of Iowa Invitational Team South, 2nd Place, Northwestern Invitational Team East, 2nd Place, Joliet Regional Team East, Bid to National Championship Tournament Team South, 3rd Place, South Bend Regional Team South, Bid to National Championship Tournament Team West, 5th Place, South Bend Regional Team West, Bid to National Championship Tournament Team South, 3rd Place, National Championship Tournament Individual Awards Sarah White, Outstanding Witness, Iowa Invitational Kevin Curran, Outstanding Attorney, Northwestern Invitational Harry Schmidt, Outstanding Attorney, Joliet Regional Beth Morrissey, Outstanding Witness, Joliet Regional Tim Katerberg, Outstanding Witness, South Bend Regional Melissa Currivan, All-American Witness, National Championship Tournament |


Injured quartet in line for PSG returns
by BeSoccerParis Saint-Germain are optimistic of a positive week on the injury front, with four key men - including Neymar - set to resume training.
Neymar, Thomas Meunier, Keylor Navas and Marco Verratti are all expected back in Paris Saint-Germain training next week following injuries.
PSG had previously announced Neymar was due to resume training this week, having been out since the previous international break with a hamstring injury.
He is instead now set to return in the coming days, alongside Thomas Meunier, who has also been dealing with a hamstring issue.
Navas should likewise be back among the squad in the next seven days as he recovers from a thigh injury which forced him out of last weekend's win at Brest.
Featured links
- Ballon d'Or winner already been decided
- The latest football transfers news and rumours
- Possible 'Clasico' in the Spanish Supercup final
- Who has the most free-kicks goals: Messi or Cristiano?
The former Real Madrid man had crucially saved a penalty against Club Brugge in the Champions League three days earlier.
Verratti has had an injury to the back of his right knee, keeping him out of international action for Italy, but is hoping to train by the end of next week.


Gecode::Int::ScaleView< Val, UnsVal > Class Template Reference
[Integer views]
Scale integer view (template). More...
#include <view.hpp>
Protected Attributes | |
| int | a |
| Scale factor. | |
Related Functions | |
(Note that these are not member functions.) | |
| template<class Char , class Traits > | |
| std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const IntScaleView &x) |
| Print integer-precision integer scale view. | |
Constructors and initialization | |
|
| |
| ScaleView (void) | |
| Default constructor. | |
| ScaleView (int b, const IntView &y) | |
| Initialize as . | |
Value access | |
|
| |
| int | scale (void) const |
| Return scale factor of scale view. | |
| Val | min (void) const |
| Return minimum of domain. | |
| Val | max (void) const |
| Return maximum of domain. | |
| Val | med (void) const |
| Return median of domain (greatest element not greater than the median). | |
| Val | val (void) const |
| Return assigned value (only if assigned). | |
| UnsVal | size (void) const |
| Return size (cardinality) of domain. | |
| UnsVal | width (void) const |
| Return width of domain (distance between maximum and minimum). | |
| UnsVal | regret_min (void) const |
| Return regret of domain minimum (distance to next larger value). | |
| UnsVal | regret_max (void) const |
| Return regret of domain maximum (distance to next smaller value). | |
Domain tests | |
|
| |
| bool | range (void) const |
| Test whether domain is a range. | |
| bool | in (Val n) const |
| Test whether n is contained in domain. | |
Domain update by value | |
|
| |
| ModEvent | lq (Space &home, Val n) |
| Restrict domain values to be less or equal than n. | |
| ModEvent | le (Space &home, Val n) |
| Restrict domain values to be less than n. | |
| ModEvent | gq (Space &home, Val n) |
| Restrict domain values to be greater or equal than n. | |
| ModEvent | gr (Space &home, Val n) |
| Restrict domain values to be greater than n. | |
| ModEvent | nq (Space &home, Val n) |
| Restrict domain values to be different from n. | |
| ModEvent | eq (Space &home, Val n) |
| Restrict domain values to be equal to n. | |
Delta information for advisors | |
|
| |
| Val | min (const Delta &d) const |
| Return minimum value just pruned. | |
| Val | max (const Delta &d) const |
| Return maximum value just pruned. | |
| bool | any (const Delta &d) const |
| Test whether arbitrary values got pruned. | |
Cloning | |
|
| |
| void | update (Space &home, bool share, ScaleView< Val, UnsVal > &y) |
| Update this view to be a clone of view y. | |
View-dependent propagator support | |
|
| |
| static ModEventDelta | med (ModEvent me) |
| Translate modification event me to modification event delta for view. | |
View comparison | |
|
| |
| template<class Val , class UnsVal > | |
| bool | same (const ScaleView< Val, UnsVal > &x, const ScaleView< Val, UnsVal > &y) |
| Test whether views x and y are the same. | |
| template<class Val , class UnsVal > | |
| bool | before (const ScaleView< Val, UnsVal > &x, const ScaleView< Val, UnsVal > &y) |
| Test whether view x comes before y (arbitrary order). |
Detailed Description
template<class Val, class UnsVal>
class Gecode::Int::ScaleView< Val, UnsVal >
Scale integer view (template).
A scale integer view for an integer view and a non-negative integer provides operations such that behaves as .
The precision of a scale integer view is defined by the value types Val and UnsVal. Val can be either int
or long
long
int
where UnsVal must be the unsigned variant of Val. The range which is allowed for the two types is defined by the values in Gecode::Limits.
Note that scale integer views currently do not provide operations for updating domains by range iterators.
The template is not to be used directly (as it is very clumsy). Use the following instead:
- IntScaleView for scale views with integer precision
- LLongScaleView for scale views with long long precision
Definition at line 671 of file view.hpp.
Constructor & Destructor Documentation
| Gecode::Int::ScaleView< Val, UnsVal >::ScaleView | ( | void | ) | [inline] |
| Gecode::Int::ScaleView< Val, UnsVal >::ScaleView | ( | int | b, | |
| const IntView & | y | |||
| ) | [inline] |
Member Function Documentation
| int Gecode::Int::ScaleView< Val, UnsVal >::scale | ( | void | ) | const [inline] |
| Val Gecode::Int::ScaleView< Val, UnsVal >::min | ( | void | ) | const [inline] |
| Val Gecode::Int::ScaleView< Val, UnsVal >::max | ( | void | ) | const [inline] |
| Val Gecode::Int::ScaleView< Val, UnsVal >::med | ( | void | ) | const [inline] |
| Val Gecode::Int::ScaleView< Val, UnsVal >::val | ( | void | ) | const [inline] |
| UnsVal Gecode::Int::ScaleView< Val, UnsVal >::size | ( | void | ) | const [inline] |
| UnsVal Gecode::Int::ScaleView< Val, UnsVal >::width | ( | void | ) | const [inline] |
| UnsVal Gecode::Int::ScaleView< Val, UnsVal >::regret_min | ( | void | ) | const [inline] |
| UnsVal Gecode::Int::ScaleView< Val, UnsVal >::regret_max | ( | void | ) | const [inline] |
| bool Gecode::Int::ScaleView< Val, UnsVal >::range | ( | void | ) | const [inline] |
| bool Gecode::Int::ScaleView< Val, UnsVal >::in | ( | Val | n | ) | const [inline] |
| ModEvent Gecode::Int::ScaleView< Val, UnsVal >::lq | ( | Space & | home, | |
| Val | n | |||
| ) | [inline] |
| ModEvent Gecode::Int::ScaleView< Val, UnsVal >::le | ( | Space & | home, | |
| Val | n | |||
| ) | [inline] |
| ModEvent Gecode::Int::ScaleView< Val, UnsVal >::gq | ( | Space & | home, | |
| Val | n | |||
| ) | [inline] |
| ModEvent Gecode::Int::ScaleView< Val, UnsVal >::gr | ( | Space & | home, | |
| Val | n | |||
| ) | [inline] |
| ModEvent Gecode::Int::ScaleView< Val, UnsVal >::nq | ( | Space & | home, | |
| Val | n | |||
| ) | [inline] |
| ModEvent Gecode::Int::ScaleView< Val, UnsVal >::eq | ( | Space & | home, | |
| Val | n | |||
| ) | [inline] |
| ModEventDelta Gecode::Int::ScaleView< Val, UnsVal >::med | ( | ModEvent | me | ) | [inline, static] |
Translate modification event me to modification event delta for view.
Reimplemented from Gecode::DerivedView< IntView >.
| Val Gecode::Int::ScaleView< Val, UnsVal >::min | ( | const Delta & | d | ) | const [inline] |
| Val Gecode::Int::ScaleView< Val, UnsVal >::max | ( | const Delta & | d | ) | const [inline] |
| bool Gecode::Int::ScaleView< Val, UnsVal >::any | ( | const Delta & | d | ) | const [inline] |
| void Gecode::Int::ScaleView< Val, UnsVal >::update | ( | Space & | home, | |
| bool | share, | |||
| ScaleView< Val, UnsVal > & | y | |||
| ) | [inline] |
Friends And Related Function Documentation
| std::basic_ostream< Char, Traits > & operator<< | ( | std::basic_ostream< Char, Traits > & | os, | |
| const IntScaleView< Val, UnsVal > & | x | |||
| ) | [related] |
Member Data Documentation
int Gecode::Int::ScaleView< Val, UnsVal >::a [protected] |
The documentation for this class was generated from the following files:
- gecode/int/view.hpp (Revision: 14967)
- gecode/int/view/scale.hpp (Revision: 14967)


{{/* Keep up-to-date with Sourcegraph.com */}}
{{with .Content}}
{{else}}
{{ end }}
{{end}}
{{/*
The index and doc_nav templates are copied to the https://github.com/sourcegraph/sourcegraph
repository's docsite package. They should be kept in sync.
*/}}
{{/* Define Page (Right Hand) Nav */}}
{{define "index"}}
{{with (or (and (eq (len .Doc.Tree) 1) (index .Doc.Tree 0).Children) .Doc.Tree)}}


Welcome to Apache Axis2 version @axisVersion@
@TODAY@
Just over 4 months since the original 1.2 release, we are very proud to
announce the release of Apache Axis2 version<EMAIL_ADDRESS>Downloads are available at:
http://ws.apache.org/axis2/download.cgi
Apache Axis2 is a complete re-design and re-write of the widely used
Apache Axis engine and is a more efficient, more scalable, more modular
and more XML-oriented Web services framework. It is carefully designed to
support the easy addition of plug-in "modules" that extend its
functionality for features such as security and reliability.
Modules supporting WS-Security/Secure-Conversation (Apache Rampart),
WS-Trust (Apache Rahas), WS-Reliable Messaging (Apache Sandesha) and
WS-Eventing (Apache Savan) will be available soon after the Apache Axis2
@axisVersion@ release. Please see these projects' own sites for further information.
Major Changes Since 1.2:
- Moved to maven2 from maven1
- Significantly improved documentation
- Significantly improved support for POJO services and clients
- Significantly improved Deployment module and custom deployers
- Significantly improved support for Spring services
- Significantly improved Axis Data Binding (ADB) to increase schema
coverage and overall stability
- Improved handler and module interfaces
- Improved Eclipse and Idea plugins
- Fixed tons of small and not-so-small bugs
- Major code cleanup and improved exception handling
- All the asynchronous MessageReceivers have been deprecated
- Deprecating the introspection to find init()/destroy() methods on service classes.
- Deprecated the Callback interface [http://wiki.apache.org/ws/FrontPage/Axis2/changesfrom1.2to1.3]
- Added a new phase called "Addressing" and moved all the addressing handlers into that phase
- Name of the wsdl2java generated Exception classes changed.
Earlier it had the Exception suffix and from Axis2 1.3 it has been removed
- Interface changed in ADB Datasource class
- Classpath module loading support
Known Issues and Limitations in @axisVersion@ Release:
- Java2WSDL and runtime WSDL generation only support doc-lit/bare and doc-lit/wrapped
- Custom deployers only work in file system based repository.
- POJO does not support HasMap , Hastable and Vectors.
Apache Axis2 @axisVersion@ is a major new release compared to Axis2 1.2. We are
striving for a simple and happy first time user experience as well as a
satisfying experienced user experience with this release. We welcome any
and all feedback at:
<EMAIL_ADDRESS>(please include "[axis2]" in the subject)
<EMAIL_ADDRESS>(please include "[axis2]" in the subject)
http://issues.apache.org/jira/browse/AXIS2
Thank you for your interest in Apache Axis2!
The Axis2 Development Team
http://ws.apache.org/axis2/
------------------------------------------------------------------------------------
Features of Apache Axis2:
Programming Model
- Simple XML-centric client API with full WSDL and policy support
- Support for easy deployemnt of POJO with or without annotation
- Support for Spring services and clients
- Support for any message exchange pattern (MEP)
- Synchronous and asynchronous programming model (both in client side and server side)
- Archived based service deployment model supporting full service
encapsulation
- Directory based service deployment support
- Archived module deployment model supporting controlled
extensibility with versioning support
- Hot deployment and Hot update suport for services
- WS-Policy driven code generation extensions
- Flexible service life cycle model and session managment
- Automatic support for POX (REST) style invocation of services
- Support for querying service's WSDL (with ?wsdl), schema (with
?xsd) and policies (with ?policy)
- Java2WSDL support for both doclit/bare and doclit/wrapped
- Support for custom deployers
- Classpath module loading support
Supported Specifications
- SOAP 1.1 and 1.2
- Message Transmission Optimization Mechanism (MTOM)
- XML Optimized Packaging (XOP)
- SOAP with Attachments
- WSDL 1.1 and WSDL 2.0, including both SOAP and HTTP bindings
- WS-Addressing submission and 1.0
- WS-Policy
- SAAJ 1.1
Transports
- HTTP/HTTPS
- SMTP
- JMS
- TCP
Supported Data Bindings
- Axis Data Binding (ADB)
- XMLBeans
- JibX
- JaxMe (Experimental)
- JaxBRI (Experimental)
Tools
- WSDL2Java: Generate Java stubs and skeletons from a WSDL document.
- Java2WSDL: Generate a WSDL document from a Java class.
- Eclipse Plugins
- IntelliJ Idea Plugins
- Maven2 Plugins
- Web application for administering Apache Axis2


- Understand X.509 certificates, X.509 certificate lifecycle, X.509 certificate fields and X.509v3 certificate extensions
- Understand trust chains and public key infrastructures
- Generate and manage public and private keys
- Create, operate and secure a certification authority
- Request, sign and manage server and client certificates
- Revoke certificates and certification authorities
- openssl, including relevant subcommands
- OpenSSL configuration
- PEM, DER, PKCS
- CSR
- CRL
- OCSP
- Understand SSL, TLS and protocol versions
- Understand common transport layer security threats, for example Man-in-the-Middle
- Configure Apache HTTPD with mod_ssl to provide HTTPS service, including SNI and HSTS
- Configure Apache HTTPD with mod_ssl to authenticate users using certificates
- Configure Apache HTTPD with mod_ssl to provide OCSP stapling
- Use OpenSSL for SSL/TLS client and server tests
- Intermediate certification authorities
- Cipher configuration (no cipher-specific knowledge)
- httpd.conf
- mod_ssl
- openssl
- Understand block device and file system encryption
- Use dm-crypt with LUKS to encrypt block devices
- Use eCryptfs to encrypt file systems, including home directories and
- PAM integration
- Be aware of plain dm-crypt and EncFS
- cryptsetup
- cryptmount
- /etc/crypttab
- ecryptfsd
- ecryptfs-* commands
- mount.ecryptfs, umount.ecryptfs
- pam_ecryptfs
- Understanding of DNSSEC and DANE
- Configure and troubleshoot BIND as an authoritative name server serving DNSSEC secured zones
- Configure BIND as an recursive name server that performs DNSSEC validation on behalf of its clients
- Key Signing Key, Zone Signing Key, Key Tag
- Key generation, key storage, key management and key rollover
- Maintenance and re-signing of zones
- Use DANE to publish X.509 certificate information in DNS
- Use TSIG for secure communication with BIND
- DNS, EDNS, Zones, Resource Records
- DNS resource records: DS, DNSKEY, RRSIG, NSEC, NSEC3, NSEC3PARAM, TLSA
- DO-Bit, AD-Bit
- TSIG
- named.conf
- dnssec-keygen
- dnssec-signzone
- dnssec-settime
- dnssec-dsfromkey
- rndc
- dig
- delv
- openssl
- Configure BIOS and boot loader (GRUB 2) security
- Disable useless software and services
- Use sysctl for security related kernel configuration, particularly ASLR, Exec-Shield and IP / ICMP configuration
- Exec-Shield and IP / ICMP configuration
- Limit resource usage
- Work with chroot environments
- Drop unnecessary capabilities
- Be aware of the security advantages of virtualization
- grub.cfg
- chkconfig, systemctl
- ulimit
- /etc/security/limits.conf
- pam_limits.so
- chroot
- sysctl
- /etc/sysctl.conf
- Use and configure the Linux Audit system
- Use chkrootkit
- Use and configure rkhunter, including updates
- Use Linux Malware Detect
- Automate host scans using cron
- Configure and use AIDE, including rule management
- Be aware of OpenSCAP
- auditd
- auditctl
- ausearch, aureport
- auditd.conf
- auditd.rules
- pam_tty_audit.so
- chkrootkit
- rkhunter
- /etc/rkhunter.conf
- maldet
- conf.maldet
- aide
- /etc/aide/aide.conf
- Understand and configure NSS
- Understand and configure PAM
- Enforce password complexity policies and periodic password changes
- Lock accounts automatically after failed login attempts
- Configure and use SSSD
- Configure NSS and PAM for use with SSSD
- Configure SSSD authentication against Active Directory, IPA, LDAP, Kerberos and local domains
- Kerberos and local domains
- Obtain and manage Kerberos tickets
- nsswitch.conf
- /etc/login.defs
- pam_cracklib.so
- chage
- pam_tally.so, pam_tally2.so
- faillog
- pam_sss.so
- sssd
- sssd.conf
- sss_* commands
- krb5.conf
- kinit, klist, kdestroy
- Understand FreeIPA, including its architecture and components
- Understand system and configuration prerequisites for installing FreeIPA
- Install and manage a FreeIPA server and domain
- Understand and configure Active Directory replication and Kerberos cross-realm trusts
- Be aware of sudo, autofs, SSH and SELinux integration in FreeIPA
- RedHat 389 Directory Server, MIT Kerberos, Dogtag Certificate System, NTP, DNS, SSSD, certmonger
- ipa, including relevant subcommands
- ipa-server-install, ipa-client-install, ipa-replica-install
- ipa-replica-prepare, ipa-replica-manage
- Understand and manage file ownership and permissions, including SUID and SGID
- Understand and manage access control lists
- Understand and manage extended attributes and attribute classes
- getfacl
- setfacl
- getfattr
- setfattr
- Understand the concepts of TE, RBAC, MAC and DAC
- Configure, manage and use SELinux
- Be aware of AppArmor and Smack
- getenforce, setenforce, selinuxenabled
- getsebool, setsebool, togglesebool
- fixfiles, restorecon, setfiles
- newrole, runcon
- semanage
- sestatus, seinfo
- apol
- seaudit, seaudit-report, audit2why, audit2allow
- /etc/selinux/*
- Understand NFSv4 security issues and improvements
- Configure NFSv4 server and clients
- Understand and configure NFSv4 authentication mechanisms (LIPKEY, SPKM, Kerberos)
- Understand and use NFSv4 pseudo file system
- Understand and use NFSv4 ACLs
- Configure CIFS clients
- Understand and use CIFS Unix Extensions
- Understand and configure CIFS security modes (NTLM, Kerberos)
- Understand and manage mapping and handling of CIFS ACLs and SIDs in a Linux system
- /etc/exports
- /etc/idmap.conf
- nfs4acl
- mount.cifs parameters related to ownership, permissions and security modes
- winbind
- getcifsacl, setcifsacl
- Configure FreeRADIUS to authenticate network nodes
- Use nmap to scan networks and hosts, including different scan methods
- Use Wireshark to analyze network traffic, including filters and statistics
- Identify and deal with rogue router advertisements and DHCP messages
- radiusd
- radmin
- radtest, radclient
- radlast, radwho
- radiusd.conf
- /etc/raddb/*
- nmap
- wireshark
- tshark
- tcpdump
- ndpmon
- Implement bandwidth usage monitoring
- Configure and use Snort, including rule management
- Configure and use OpenVAS, including NASL
- ntop
- Cacti
- snort
- snort-stat
- /etc/snort/*
- openvas-adduser, openvas-rmuser
- openvas-nvt-sync
- openvassd
- openvas-mkcert
- /etc/openvas/*
- Understand common firewall architectures, including DMZ
- Understand and use netfilter, iptables and ip6tables, including standard modules, tests and targets
- Implement packet filtering for both IPv4 and IPv6
- Implement connection tracking and network address translation
- Define IP sets and use them in netfilter rules
- Have basic knowledge of nftables and nft
- Have basic knowledge of ebtables
- Be aware of conntrackd
- iptables
- ip6tables
- iptables-save, iptables-restore
- ip6tables-save, ip6tables-restore
- ipset
- nft
- ebtables
- Configure and operate OpenVPN server and clients for both bridged and routed VPN networks
- Configure and operate IPsec server and clients for routed VPN networks using IPsec-Tools / racoon
- Awareness of L2TP
- /etc/openvpn/*
- openvpn server and client
- setkey
- /etc/ipsec-tools.conf
- /etc/racoon/racoon.conf
Last Modified: 2021-07-03T23:54:27.543892Z