COMP1950 - Website Redesign Proposal
Rationale for the Suggested Changes to the Website
The current website for COMP1950 has a lot of great content to help students be successful when taking the course. The information on the website is key to the success of the student. We believe that the prime goal for our web-design proposal is to keep it simple and make it easy for the student to find the information they are looking for. Many times, information in previous sessions is needed, but difficult to find again, and our redesign will made it easy for the student to find what they need.
The world of web-design is creative, colorful, and stimulating. We want to bring these factors to the website, so that it is visually pleasing by adding pictures, videos, and other content so that it is interactive as well as informative. We want to showcase the specific skills they will learn on the home page so that students will gain excitement knowing they will be able to do these things once they finish the course.
Students of today use the internet and its resources throughout the day and need the information to be presented in a way that matches the devices they are using. Some students primarily use their smart phone, others an i-pad, and yet other prefer a larger screen such as a laptop or desktop. The website needs to work well using all platforms.
When people use a web-site they scan from left to right and thus we will setup pages in a grid fashion to help them easily digest the content. We will add pictures, background color, and other visually stimulating effects.
We have chosen to have a horizontal menu which will remain at the top when the student scroll past the initial image. An important addition to the header is a search field. This will help a student find the exact content quickly and easily. The menu is simple to use so that students will not be confused by too many navigation choices.
A key page that we are adding is a links page that will be a central hub for students to find internal and external links that will aid them to be successful in this course.
Top 3 Reasons for the Redesign
- Incorporate HTML5 and CSS3 to bring the website to current code functionality. See benefits below.
- Allow students to find resources and information on the website quickly to support them as they learn.
- Showcase some of the skills they will learn in the course to increase excitement and enthusiasm for the course.
Layout and Design Justification
Key information improved on all pages are:
| Improvement | Description |
|---|---|
| HTML5 | HTML5 has added tags to further describe the content on the webpage. The code will be cleaner and describe the content more thoroughly. This allows search engines and screen readers to understand the content of the page. Since there are more tags to describe the content then less generic tags are needed, which will make the CSS3 code more understandable and easier to maintain. With more specific tags it is easier to develop a responsive design to work with various screen sizes. |
| CSS3 | Utilizing the Box Model makes it is easier to create a responsive website. We will be implementing the “flexbox/grid” functionality so that the website will look good on all sizes of screens. We have added additional effects to make the website more visually stimulating. |
| JQuery | We will utilize JQuery to add functionality to the website without needing to create it from scratch using Javascript. |
| Fonts | We will use innovative fonts so that the client does not need to have the font installed on their system. |
| Javascript | Using Javascript allows the site to become more interactive. |
| Animations | Adding animations displays what is possible and also what will be learned in the course |
| Search Functionality | On the menu line we've added a search parameter to help students find key information quickly. |
Deliverables
Below will show the 3 pages we have created a prototype for. It will also describe what was changed/added and the improvements realized.
Home Page
| What was Changed or Added? | Improvements Realized |
|---|---|
| The color scheme | There are more options on colors making the layout more appealing for the users. |
| A background in the header of the page | Working as an entrance banner, a background image was added in the very beginning of the page. The image is related to web development. |
| The navigation flowing | We added a new navigation. When the page is scrolled down the navigation gets fixed when the top of the viewport reached the navigation bar. It also has a new search text field in a form for rapid searches. |
| Learning outcomes examples | After informing learning outcomer, we provided some examples of what the student is expect to learn in the course. The examples are good ways to keep the student intested in the course. |
| Top button | A fancier anchor tag which works as a top button to take you to the top of the page. This tag uses font-icon which is visually better for the user. |
| Centralized content | We aligned the content to be positioned in the middle of viewport with bootstrap. We also applied some media query breakpoints in order to have a good responsive layout. |
Lecture Page
| What was Changed or Added? | Improvements Realized |
|---|---|
| Main topics with graphics at the top | Shows the main topics on that lecture in flex boxes, making it more intuitive for students. |
| Headings for each section with content hidden and expandable when clicked | Only the headings are shown at the bottom of the page which makes the content easier to browse for the students. |
| Flex boxes are bookmarked, and opens the content of the specific section with a click | Each flex box is bookmarked to its specific section, and the content will be shown when clicked. |
| Fluid and responsive design for smaller devices implemented | The webpage is fluid and can be browsed with smaller devices. The flex boxes get adjusted depending on the screen size. |
| Semantic structure and SEO design | The website is semantically structured, and SEO techniques such as compound title, meta description, and site load time efficiency were used. |
Links Page
| What was Changed or Added? | Improvements Realized |
|---|---|
| This is a new page | Central hub for finding helpful information on the website easily and quickly. |
| Javascript accordian functionality on heading areas to close section details | Shows skills attained in course and allows the student to keep the screen clutter free. |
| Lecture links | This table has all important subjects that were learned for each lecture and provides links directly to this area of the website. |
| Learning Resources - External | Links to good sites to continue the learning experience. These sites will have good examples and further details about the information discussed in class |
| Most Used Links | This will contain any links that the students use all the time such as the CSS & HTML validator links. |
| Code Examples by Lecture– it would be beneficial to have the examples on the website for easy reference | This will allow the students to easily find examples by lecture and subject area. |
| Learning Resources - Videos | This area will have good quality YouTube videos for further learning opportunities. |
Additional Proposed Functionality
Due to the limit of time to prototype this new website we are including some additional functionality that would be really useful to implement after the initial site is implemented
| What is proposed?? | Improvements Realized |
|---|---|
| Add a Wiki | Some of the most common information can be pulled from the lecture pages and put into a Wiki for quick reference. |
| Add bookmark functionality | Students can have their most visited pages saved for quick reference |
| Add a database for easier search-ability | The links page could be modified to utilize a database. This would allow specific keyword searching to improve the searchability of the site. |
| Add a common questions section | Answers to frequent student’s questions can be shared instead of being repeated by multiple emails to the teacher. |


TypeDecoder
TypeDecoder is a Swift library to allow the inspection of Swift language native and complex types. It was initially written for use within the Kitura project but can easily be used for a wide range of projects where the dynamic inspection of types is required.
Swift version
The latest version of the TypeDecoder requires Swift 4.0 or newer. You can download this version of the Swift binaries by following this link. Compatibility with other Swift versions is not guaranteed.
Usage
Add dependencies
Add TypeDecoder
to the dependencies within your application’s Package.swift
file. Substitute "x.x.x"
with the latest TypeDecoder
release.
.package(url: "https://github.com/Kitura/TypeDecoder.git", from: "x.x.x")
Add TypeDecoder
to your target’s dependencies:
.target(name: "example", dependencies: ["TypeDecoder"]),
Using the TypeDecoder
TypeDecoder.decode()
returns a TypeInfo
enum which describes the type passed to decode()
. The TypeInfo
enum values are:
- .single(Any.Type, Any.Type) - A basic type, for example String.
- .keyed(Any.Type, [String: TypeInfo]) - A keyed container type, for example a struct or class.
- .dynamicKeyed(Any.Type, key: TypeInfo, value: TypeInfo) - A dynamically keyed container type; a Dictionary.
- .unkeyed(Any.Type, TypeInfo) - An unkeyed container type, for example an Array or Set.
- .optional(TypeInfo) - An optional container type.
- .cyclic(Any.Type) - A type that refers back to its own declaration, for example an Array field in a struct containing the same type as the struct.
- .opaque(Any.Type) - A type that cannot be decoded.
For each of these enum values, the first parameter is always the original type passed to the TypeDecoder
for decoding.
Example
To use the TypeDecoder you need to declare a type which conforms to the Decodable
protocol, such as the struct StructureType
below.
import TypeDecoder
struct StructureType: Decodable {
let aString: String
}
You then call TypeDecoder.decode()
passing the type to be decoded. If you print the contents of the returned TypeInfo
enum you can see it describes the type passed to decode()
.
let structureTypeInfo = try TypeDecoder.decode(StructureType.self)
print("\(structureTypeInfo)")
Printing the structureTypeInfo will output:
StructureType{
aString: String
}
You can then use .keyed(Any.Type, [String: TypeInfo])
to obtain a Dictionary of all the fields contained in the keyed structure, this allows you to retrieve each field’s TypeInfo
by name.
In the case below, the type of field “aString” is a basic type, so you can use .single(Any.Type, Any.Type)
. The appropriate enum value to call will vary depending on the field type, see the full implementation below for how to decode more complex types.
if case .keyed(_, let dict) = structureTypeInfo {
print("\nThe Dictionary returned from decoding StructureType contains:\n\(dict)")
/// Fields that are not containers will be .single
if let theTypeInfo = dict["aString"] {
if case .single(_) = theTypeInfo {
print("aString is type \(theTypeInfo)")
}
}
}
You will see the following output:
The Dictionary returned from decoding StructureType contains:
OrderedDictionary<String, TypeInfo>(keys: ["aString"], values: ["aString": String], iteratorCount: 1)
aString is type String
Full implementation
/// Building and running this example shows how to decode a Swift data structure.
///
/// You should expect to see the following output:
///
/// Print the returned TypeInfo and you get this:
/// StructType{
/// myString: String,
/// myOptional: Float?,
/// myCyclic: [StructType{<cyclic>}],
/// myDict: [String:Bool],
/// myArray: [Int8]
/// }
///
/// The Dictionary returned from decoding StructType contains:
/// ["myString": String, "myOptional": Float?, "myCyclic": [StructType{<cyclic>}], "myDict": [String:Bool], "myArray": [Int8]]
///
/// Each field can be individually inspected:
/// myString is type String
/// myDict is type Dictionary<String, Bool>
/// myArray contains type Int8
/// myOptional is type Float
///
/// Cyclics are harder to deal with as they're buried inside an Array type:
/// myCyclic is type StructType
import TypeDecoder
struct StructType: Decodable {
let myString: String
let myDict: Dictionary<String, Bool>
let myArray: [Int8]
let myOptional: Float?
let myCyclic: [StructType]
}
func main() {
do {
let structTypeInfo = try TypeDecoder.decode(StructType.self)
/// Print the returned TypeInfo and you get this:
///
/// StructType{
/// myString: String,
/// myDict: [String:Bool],
/// myArray: [Int8],
/// myOptional: Float?,
/// myCyclic: [StructType{<cyclic>}]
/// }
print("Print the returned TypeInfo and you get this:\n\(structTypeInfo)")
if case .keyed(_, let dict) = structTypeInfo {
/// .keyed TypeInfo contains a Dictionary<String, TypeInfo> of all fields contained in
/// the keyed structure, so each field's TypeInfo can be retrieved by name.
print("\nThe Dictionary returned from decoding StructType contains:\n\(dict)")
print("\nEach field can be individually inspected:")
/// Fields that are not containers will be .single
if let theTypeInfo = dict["myString"] {
if case .single(_) = theTypeInfo {
print("myString is type \(theTypeInfo)")
}
}
/// .dynamicKeyed fields are Dictionary types
if let theTypeInfo = dict["myDict"] {
if case .dynamicKeyed(_, let keyTypeInfo, let valueTypeInfo) = theTypeInfo {
print("myDict is type Dictionary<\(keyTypeInfo), \(valueTypeInfo)>")
}
}
/// .unkeyed fields are Array or Set types
if let theTypeInfo = dict["myArray"] {
if case .unkeyed(_, let theTypeInfo) = theTypeInfo {
print("myArray contains type \(theTypeInfo)")
}
}
/// .optional field types
if let theTypeInfo = dict["myOptional"] {
if case .optional(let theTypeInfo) = theTypeInfo {
print("myOptional is type \(theTypeInfo)")
}
}
/// .cyclic fields are embedded inside .unkeyed (Array or Set) types
if let theTypeInfo = dict["myCyclic"] {
print("\nCyclics are harder to deal with as they're buried inside an Array type:")
if case .unkeyed(_, let theTypeInfo) = theTypeInfo {
if case .cyclic(let theTypeInfo) = theTypeInfo {
print("myCyclic is type \(theTypeInfo)")
}
}
}
}
} catch let error {
print(error)
}
}
main()
Compatibility with types that perform validation
The TypeDecoder
works by using the Codable
framework to simulate the decoding of a type. The init(from: Decoder)
initializer is invoked for the type (and any nested types), in order to discover its structure. To create an instance without a serialized representation, the decoder provides dummy values for each field.
However, there are cases a type may need to perform validation of these values during initialization. TypeDecoder provides a mechanism for providing acceptable values during decoding through the ValidSingleCodingValueProvider
and ValidKeyedCodingValueProvider
protocols.
ValidSingleCodingValueProvider
Below is an example of an enum
with a raw value of String
. Swift can synthesize Codable conformance for such a type, producing an init(from: Decoder)
that requires a valid String matching one of the enum cases. Here is how you can extend such a type to be compatible with TypeDecoder:
public enum Fruit: String, Codable {
case apple, banana, orange, pear
}
// Provide an acceptable value during decoding
extension Fruit: ValidSingleCodingValueProvider {
public static func validCodingValue() -> Any? {
// Returns the string "apple"
return self.apple.rawValue
}
}
ValidKeyedCodingValueProvider
An example of a structured type, where one of the fields is validated, and an extension that enables it to be handled by the TypeDecoder:
public class YoungAdult: Codable {
let name: String
let age: Int
required public init(from decoder: Decoder) throws {
let container = try decoder.container(keyedBy: CodingKeys.self)
self.name = try container.decode(String.self, forKey: CodingKeys.name)
self.age = try container.decode(Int.self, forKey: CodingKeys.age)
// Validate the age field
guard self.age >= 18, self.age <= 30 else {
throw DecodingError.dataCorrupted(DecodingError.Context(codingPath: [], debugDescription: "Age is outside the permitted range"))
}
}
}
// Provide a value for 'age' which is within the acceptable range
extension YoungAdult: ValidKeyedCodingValueProvider {
public static func validCodingValue(forKey key: CodingKey) -> Any? {
switch key.stringValue {
case self.CodingKeys.age.stringValue:
return 20
default:
// For any fields that are not validated, you may return nil.
// The TypeDecoder will use a standard dummy value.
return nil
}
}
}
An example, implemented in TypeDecoder, of extending a Foundation type that requires validation, and that uses numeric CodingKeys:
extension URL: ValidKeyedCodingValueProvider {
public static func validCodingValue(forKey key: CodingKey) -> Any? {
switch key.intValue {
case 1?: return "http://example.com/"
default: return nil
}
}
}
API documentation
For more information visit our API reference.
Community
We love to talk server-side Swift, and Kitura. Join our Slack to meet the team!
License
This library is licensed under Apache 2.0. Full license text is available in LICENSE.


--- title: Newsletter Signup hero: Newsletter Signup description: Subscribe to our newsletter to stay up to date with latest news and be the first to hear about our flash sales. ---
Want to know when we're at events or when we have flash sales? Or want to know when we have a new range of designs? Sign up to our newsletter!
No spam, no BS, no fuss. We never pass your details onto third parties.


1. Total Number of Rides Aggregated by Day of the week
2. Total Number of Rides Aggregated by Month
3. Top 5 Most Used Bikes
To find the average distance, I calculated the distance traveled of each One-Way bike sharing ride (since Round Trip ended at the same coordinates) using the starting and ending latitude and longitude coordinates using the Haversine formula. I then took the mean of all those distances and found that the average distance traveled was 4900 meters.
I interpreted this as anyone who is holding a regular access pass (meaning not Walk Up) would be considered a commuter. Following that, if we consider each trip to be to a unique ridee, the number of trips taken by commuters would be 91203.


{% load i18n %}{% blocktrans with id=exemplar.pk %}
Hi !
As said in our conditions, your book (exemplar id: {{id}}) has been removed from our system and offered to the main library.
Thank you for using the book exchange!
Best,
AGEPoly's book exchange,
(This email is sent automaticaly when a book is removed){% endblocktrans %}


Event Location:
Moore/Norman Technology Center South Penn Campus
13301 South Pennsylvania Avenue
Oklahoma City, Oklahoma
Abstract:
SQL Server® has many performance WOMs (Word of Mouth), especially concerning indexes to include: • keep clustered index width small • unique indexes perform better • keep non-clustered index width small • compressed indexes have fewer logical reads This session dives down and looks at important items within index pages of clustered, non-clustered, and unique non-clustered indexes using the DBCC Page command to factually document index WOMs. The effect of row data compression on clustered and non-clustered indexes are also investigated. The demos will ascertain how the SQL Server® optimizer might use them and strive to gain some insight from a performance advantage. The session is 80% demos. This presentation will propel the layman to a new level of index understanding. Performance! That’s what we are all looking for. Blast off with this presentation.
Speaker(s): Mike Byrd,
Abstract:
Your job includes designing and writing stored procedures, but you haven’t had a lot of actual training on the subject, right? In a single day, we will show you how to write stored procedures from scratch, using the design advice we’ve accumulated in our combined 40 years of experience. Here are a few of the things you’ll learn: When and how to use stored procedures The benefits and basics of contractual programming How to write stored procedures from scratch How to structure and organize stored procedures Key techniques for ideal stored procedure management Troubleshooting and debugging stored procedures The session will be packed with tons of code examples, with plenty of labs to reinforce key concepts. Beginner and experienced T-SQL programmers both will walk away with a greater understanding of how to design, manage, and troubleshoot stored procedures. Join mefor one fun session of SQL Server programming!
Speaker(s): Sean McCown,
Abstract:
Performance! Performance! Performance! That’s what the rocket scientist and SQL Developer are looking for. Indexes can offer significant performance benefits, but can also be a detriment to overall database performance. This session will focus on a deep dive into clustered indexes (including B-tree traversal), Primary Keys, and non-clustered indexes, their syntax and utilization, and their effect on performance in transaction and data warehouse databases. Covering non-clustered indexes will also be examined in detail with emphasis on when and when not to use. Included will be many live query demos illustrating index utilization and performance using statistics and query plans.
Speaker(s): Mike Byrd,
Abstract:
Have you ever wanted to know how Transparent Database Encryption (TDE) works or how you set it up? What about encrypting your backups? This session will go over all the steps and caveats that go with this technology. TDE allows you to have your database encrypted on disk and the same Encryption Hierarchy allows you to back up your database and have it encrypt the contents in the backup file. We will discuss the Encryption Hierarchy which is used for encryption in SQL Server and take you through keeping your secrets safe. We will also go over how Always Encrypted works as well. Master the concepts of SQL Server Encryption when you are done with this session.
Speaker(s): Ben Miller,
Abstract:
The SSIS catalog is one of the best-evolved features in the SQL Server Integration Services ecosystem. With integrated package storage, Windows ACL-like security settings, built-in logging, and many other features, the SSIS catalog has become an anchor for many ETL architectures. With all this complexity, it is important to understand the inner workings of the SSIS catalog to keep it running smoothly. In this demo-heavy presentation, we will dive into the details of the SSIS catalog. We will start with a quick survey of catalog features, followed by an exploration of the moving parts (tables, views, and stored procedures) in the catalog database. We will also review the security capabilities in the catalog, and will discuss maintenance operations. Finally, we'll walk through the mechanics of deployment and execution, reviewing what happens under the covers during these operations.
Speaker(s): Tim Mitchell,
Abstract:
"Real World" Examples on How to Load Data Warehouse Structures using SSIS In this session we will discuss the value of a SSIS Framework, explore forward engineering benefits, and demonstrate SSIS design patterns on loading SQL structures when developing Data Warehouses, SSAS Cubes, and Power BI Analytics. Live Demo SSIS Framework Load Error Meta Data Restart ability, Rollback, Reload Count Master Load ID, LoadID, ExecutionID (SSISDB), Refresh Package Sequencing and Signatures Connections, Expressions, Parameters, Event Handlers Alerting (SMTP), Error Flows (XML Destination Script) Forward Engineering SQL Structures Relationships, Primary Foreign Keys Data Types, Nullability, Indexes Demos for Multiple Design Patterns Dimensions (Slowly Changing) Facts (Inserts, Updates, Deletes) Bridges / Snowflakes
Speaker(s): Ryan Casey,
Abstract:
Data is exploding across enterprises. Much of it is semi-structured junk. Or is it junk? What are you going to do with it until you can find out? Microsoft’s Azure Data Lake is a cloud storage and analytical service for parking a variety of data. When you are ready, you can query that semi-structured data using an ANSI SQL language called U-SQL. In this session I will demonstrate the similarities and differences between U-SQL and T-SQL. I will demonstrate how easy it is to build a query against 21 GB of CSV files. Such queries can help you determine whether you have a gold mine in your data or a bunch of garbage before investing in a full data warehouse build.
Speaker(s): Russel Loski,
Abstract:
Could your seemingly-normal SSIS package be hiding a disaster, waiting to detonate at the most inconvenient time? Integration Services is an incredibly flexible product, and that flexibility can lead to good - and occasionally bad - design patterns. Small and seemingly trivial design decisions can lead to big issues down the road, including leaky data flows, data quality issues, paralyzing performance issues, and other explosive behaviors. In this session, we will explore some of the most common SSIS design patterns that are potentially more harmful than they first appear. From package configuration to control flow constraints, and data flow transformations to logging, we'll demonstrate what can go wrong and show some alternative designs to prevent these types of problems from developing into bigger issues.
Speaker(s): Tim Mitchell,
Abstract:
When you think about backups in your environment, how many servers scripts do you have to manage? Or have you ever needed to get a table back from a large database and didn't want to argue with the storage admins about space for the restore? With Rubrik, we empower you to backup and restore your databases quickly and with ease. Come see how you can quickly protect hundreds of databases with just a few clicks or bring back a database in minutes to satisfy your most demanding executives. With Rubrik, it's not about backing up, it's about going forward!
Speaker(s): William Barnes,
Abstract:
Time and time again the same misunderstandings by developers and query writers appear when query performance issues arise. In this demo heavy presentation, we will review these specific topics such as data types, implicit conversions, sargability, and some others that all have an impact on query performance. Come join me and by the end of this session you will have the knowledge to boost your query performance!
Speaker(s): John Wells,
Abstract:
A perfectly tuned database only becomes valuable when the data becomes usable to the end consumer. Giant cross tabs might have all the data but often don’t allow users to understand what is happening. This talk will help you better understand the gap between end users and your database. Visual Analytics takes into account the reality of how the human mind processes information to enable users to quickly get the answers they need. We will cover some principles of visual perception and how these perceptions can influence worksheet and dashboard design. Tableau a leading visual analytics tool will be demoed and used to provide examples.
Speaker(s): William Barnes,
Abstract:
If you work with SQL Server at all, you need to know Transact-SQL, the SQL Server programming language. During this session, we’ll design and create our own table to demonstrate key concepts, query syntax, and more. If you’ve been meaning to learn T-SQL, here’s your chance!
Speaker(s): Jennifer McCown,
Abstract:
In the modern age, data is a company's most valuable resource and, unfortunately, data crimes are common and laws to protect data are becoming more common and can have harsh punishments. Because of this, everyone that works with SQL Server should have a basic understanding of database security. Attend this session to learn the what, how, and why of database security. Learn what permissions, securables, and principals are. Learn how to manage database security. Most importantly, learn what the best practices are and why they are important. Your company's data is your responsibility, and after attending this session you can step up and keep it safe.
Speaker(s): Kenneth Fisher,
Abstract:
You use SQL Server Management Studio every day, but do you really know all of the built in shortcuts? In this course we will go over some of the shortcuts to complete everyday operations, as well as look into some of the hidden functionality built into the software. You’ll learn tricks to help streamline your day-to-day work and we’ll take a look at some of the lesser known functionality.
Speaker(s): Caitlin Stewart,
Abstract:
How can you take advantage of Artificial Intelligence without being a data scientist? Cognitive Services allow you use Artificial Intelligence to enrich your data through simple API calls. In this session, we will demonstrate the Cognitive Services and brainstorm how we can apply these to our applications.
Speaker(s): Shawn Weisfeld,
Abstract:
Business Intelligence Markup Language is literally changing the way we think about Data Warehouse design and ETL. In this interactive presentation you'll see how you can rapidly iterate through the Data Warehouse Development Cycle and provide ROI almost immediately. Learn how you can use BimlScript to automatically create staging tables, SSIS Packages, and other necessary objects during the modeling process.
Speaker(s): David Stein,
Abstract:
Data Warehouses are expensive, right? I mean, companies charge hundreds of thousands of dollars to build them for you. We all know the hardest part is just getting started, in this session we will talk about general dimensional design, how to start modeling your schemas, and by the end of this session you will have built your first star schema.
Speaker(s): Matthew Brimer,
Abstract:
JavaScript Object Notation (JSON) is a highly popular format for storing and transferring data, especially in the realm of web development. JSON can sometimes be intimidating for those more familiar with tabular or XML data exchange formats. We’ll demystify JSON with a high-level overview of the format. We’ll then discuss the variety of built-in T-SQL functionality available to store, query, or even generate JSON within your SQL Server databases.
Speaker(s): Kristin Ferrier,
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:
Come on, PowerShell is all the rage and you have not even started looking into it. How productive can you actually be with PowerShell? This session will give you the jumpstart that you need to begin. This session will be focused on the DBA getting ramped up in the PowerShell world of SQL Server. PowerShell is everywhere and should not be ignored. Stop ignoring and join me for the beginning of your journey to really getting into how good you can get, using PowerShell and SQL Server together.
Speaker(s): Ben Miller,
Abstract:
In this session, we will walk you step by step showing how we determine root cause analysis of an unexplained failure in an Availability Group. Whether the databases simply became unavailable, synchronization stopped, or there was an unexplained failover. We will show you specifically what we look for in the OS Cluster logs, SQL error logs, Extended Events and other sources of information.
Speaker(s): Trayce Jordan,
Abstract:
This is a lunch session hosted by the Midnight DBAs!
Speaker(s): William Barnes,
This is a list of speakers from the XML Guidebook records. The details and URLs were valid at the time of the event.
Temp
LinkedIn: https://www.linkedin.com/in/kristinferrier/
Kristin is a software developer, business intelligence developer, and data architect with 10+ years SQL Server experience. She speaks frequently at local user groups with regional speaking credits including Tulsa Tech Fest and SQL Saturday Dallas.
LinkedIn: http://www.linkedin.com/pub/mike-byrd/1/aa0/bbb
Contact: http://logicalread.solarwinds.com/?s=byrd, www.TSQLMentoring.com and SQLServerCentral.com
Former rocket scientist and USAF Fighter Pilot -- now a SQL Server geek (24 years)! Past opportunities include free-lance technical writer for PC Magazine, Senior Software Manager for government sponsored munitions effectiveness committee, and insurance company CTO. Currently senior database engineer consultant for several Austin companies. Presenter at many SQL Saturdays over last 6 years in United States, Europe, and Australia. Specialize in SQL Server performance tuning; database (OLTP OLAP) architecture; trouble-shooting; teaching TSQL (Basic through Advanced). Video presentations (for local SQL Server user groups or SQL Saturdays) can be found at http://usergroup.tv/videos/category/speaker/mike-byrd
LinkedIn: http://www.linkedin.com/in/kennethfisher/
Contact: http://www.sqlstudies.com
Kenneth Fisher works as a senior database administrator for a large multinational insurance company and has over two decades of experience as a DBA. He enjoys writing, and his credits include a number of technical articles and SQL Server related crossword puzzles. He also blogs incessantly at www.sqlstudies.com. Kenneth is honored to be a Data Platform MVP.
Temp
LinkedIn: http://www.linkedin.com/pub/mike-byrd/1/aa0/bbb
Contact: http://logicalread.solarwinds.com/?s=byrd, www.TSQLMentoring.com and SQLServerCentral.com
Former rocket scientist and USAF Fighter Pilot -- now a SQL Server geek (24 years)! Past opportunities include free-lance technical writer for PC Magazine, Senior Software Manager for government sponsored munitions effectiveness committee, and insurance company CTO. Currently senior database engineer consultant for several Austin companies. Presenter at many SQL Saturdays over last 6 years in United States, Europe, and Australia. Specialize in SQL Server performance tuning; database (OLTP OLAP) architecture; trouble-shooting; teaching TSQL (Basic through Advanced). Video presentations (for local SQL Server user groups or SQL Saturdays) can be found at http://usergroup.tv/videos/category/speaker/mike-byrd
LinkedIn: http://www.linkedin.com/in/dbaduck/
Contact: https://dbaduck.com
Ben has been a member of the SQL Server Community since 2000. He loves a challenge and has fixed many SQL Servers and helped hundreds of people get more out of their DBA jobs. He is a Data Platform MVP a SQL Server Certified Master (MCM). He has worked at various companies throughout the USA, as well as at Microsoft for 7 years. He is passionate about SQL Server Infrastructure, High Availability, Automation and Integration using SMO and PowerShell. He teaches DBAs how to use PowerShell to do their job and teaches SQL Server Internals. He is @DBAduck all around the web (Twitter, LinkedIn, Facebook, Blog) so let's catch up.
LinkedIn: http://www.linkedin.com/in/sqlcenturion/
Contact: http://www.sqlcenturion.com
Matthew Brimer has 10 years experience with SQL Server, 3 of which was spent as a Database Security expert for a Department of Defense Agency and 5 as the Database/Security Manager for a leading Pharmacy Services Company. These days Matt can be found helping customers get the most out of the Databases/Servers/Networks as a Consultant for InterWorks. Matt also holds several Security and Microsoft Certifications, is the President of OKC SQL PASS Chapter and is the former Event Chair for SQL Saturday Oklahoma City.
LinkedIn: http://www.linkedin.com/in/dbaduck/
Contact: https://dbaduck.com
Ben has been a member of the SQL Server Community since 2000. He loves a challenge and has fixed many SQL Servers and helped hundreds of people get more out of their DBA jobs. He is a Data Platform MVP a SQL Server Certified Master (MCM). He has worked at various companies throughout the USA, as well as at Microsoft for 7 years. He is passionate about SQL Server Infrastructure, High Availability, Automation and Integration using SMO and PowerShell. He teaches DBAs how to use PowerShell to do their job and teaches SQL Server Internals. He is @DBAduck all around the web (Twitter, LinkedIn, Facebook, Blog) so let's catch up.
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.
Temp
LinkedIn: http://www.linkedin.com/pub/david-stein/8/ba8/705
Contact: http://www.Made2Mentor.com
David Stein - Agile Data Warehouse Architect and Independent Consultant - has more than a decade of experience working in SQL Server Business Intelligence. He’s designed multi-terabyte, multi-tenant Data Warehouses from scratch as well as saved projects in serious jeopardy.
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/shawnweisfeld
Contact: http://www.usergroup.tv
Shawn (http://www.shawnweisfeld.com<EMAIL_ADDRESS>is passionate about building awesome applications and websites with .NET technologies and Azure. He is currently a Technical Evangelist for Microsoft based in Austin TX and founder of http://UserGroup.tv. Read his full bio at http://about.me/shawnweisfeld
LinkedIn: https://www.linkedin.com/in/john-wells-33367a59/
Contact: https://sqlrookieinthe318.wordpress.com/
I'm a DBA at Lamar Advertising in Baton Rouge. I'm a member of the Baton Rouge User Groups Board as well as a co-organizer for the ONLY SQLSaturday that serves Jambalaya for lunch! I started speaking in 2018 and enjoy everything about this powerful community! I enjoy performance tuning, helping developers with best practices and DBATools.
LinkedIn: https://www.linkedin.com/in/timmitchell/
Contact: http://www.TimMitchell.net
Tim Mitchell is a business intelligence architect, author, and trainer. He has worked with SQL Server for over a decade, specializing in data warehousing, ETL/SSIS, and reporting. He holds a Bachelor’s Degree in Computer Science from Texas AM at Commerce, and is recognized as a Microsoft Data Platform MVP. Tim is a business intelligence consultant and principal at Tyleris Data Solutions. Tim is an active community speaker and volunteer, having spoken at over 100 events including the PASS Summit, SQLBits, Dev Connections, SQL Intersection, and scores of SQL Saturdays. He blogs at TimMitchell.net, and tweets at @Tim_Mitchell.
Caitlin Stewart is an Oklahoma City software developer working primarily with .NET and T-SQL. She speaks frequently at local user groups and is a co-organizer for SheCodesOKC, a group for female technologists.
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.
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: https://www.linkedin.com/in/timmitchell/
Contact: http://www.TimMitchell.net
Tim Mitchell is a business intelligence architect, author, and trainer. He has worked with SQL Server for over a decade, specializing in data warehousing, ETL/SSIS, and reporting. He holds a Bachelor’s Degree in Computer Science from Texas AM at Commerce, and is recognized as a Microsoft Data Platform MVP. Tim is a business intelligence consultant and principal at Tyleris Data Solutions. Tim is an active community speaker and volunteer, having spoken at over 100 events including the PASS Summit, SQLBits, Dev Connections, SQL Intersection, and scores of SQL Saturdays. He blogs at TimMitchell.net, and tweets at @Tim_Mitchell.
LinkedIn: http://www.linkedin.com/in/russloski
Contact: http://www.sqlmovers.com
Russ Loski is a SQL Server BI Developer based in Dallas-Fort Worth. He current works as a Data Analytics Engineer for Navisite, a remote managed IT services company. Twenty years ago, he began working with SQL Server 6.5. He has since continued to develop applications connected to all of the versions of SQL Server. He has worked with clients in industries from insurance to healthcare, from movie theaters to American football. Russ is a regular speaker at SQLSaturday events, as well as the SQL Server Users Groups in the North Texas region. Russ likes working with data in various shapes.
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.
Working with SQL Server for almost 20 years, Trayce is one of the first certified masters, holding an MCM for SQL 2005 and has been working at Microsoft since 2006. Prior to joining Microsoft, he worked for a major online travel company as well as financial institutions and has served as a consultant working with companies in many different industries. His specialties include database performance tuning, operations management and support, high availability and disaster recovery.
The following is a list of sponsors that helped fund the event.


procedure SaveToFile(const FileName: string);
Writes a bitmap image to disk. The image is saved as 32-bit BMP file.
If you need another pixel format or storage format, create intermediate TBitmap object or other TGraphic descendant, assign it from TBitmap32 and save it to a file.
See source of TBitmap.SaveToFile for more details.


|
| | Spritemap (string source, int width, int height) |
| | Create a new Spritemap from a file path. More...
|
| |
| | Spritemap (Texture texture, int width, int height) |
| | Create a new Spritemap from a Texture. More...
|
| |
| | Spritemap (AtlasTexture texture, int width, int height) |
| | Create a new Spritemap from an AtlasTexture. More...
|
| |
| void | Add (TAnimType a, Anim anim) |
| | Add an animation to the list of Anims. More...
|
| |
| Anim | Add (TAnimType a, string frames, float framedelays) |
| | Adds an animation using a string for frames and a single value for frame delay. More...
|
| |
| Anim | Add (TAnimType a, string frames, string framedelays) |
| | Add an animation using a string for frames and a string for framedelays. More...
|
| |
| Anim | Add (TAnimType a, int[] frames, float[] frameDelay=null) |
| | Add an animation to the sprite. More...
|
| |
| Anim | Add (TAnimType a, int[] frames, float framedelays) |
| | Adds an animation using an array for frames and a single value for frame delay. More...
|
| |
| override void | Update () |
| | Updates the animation. The sprite will not animate without this. More...
|
| |
| void | Play (TAnimType a, bool forceReset=true) |
| | Play the desired animation. More...
|
| |
| void | Buffer (TAnimType a) |
| | Buffers an animation but does not play it. Call Play() with no arguments to play the buffered animation. More...
|
| |
| void | Play (bool forceReset=true) |
| | Plays an animation. If no animation is specified, play the buffered animation. More...
|
| |
| Anim | Anim (TAnimType a) |
| | Get the animation with a specific key. More...
|
| |
| void | Pause () |
| | Pause the playback of the animation. More...
|
| |
| void | Resume () |
| | Resume the animation from the current position. More...
|
| |
| void | Stop () |
| | Stop playback. This will reset the animation to the first frame. More...
|
| |
| void | SetFrame (int frame) |
| | Set the current animation to a specific frame. More...
|
| |
| void | FreezeFrame (int frame) |
| | Set the current animation to a specific frame and pause. More...
|
| |
| void | SetGlobalFrame (int frame) |
| | Set the sprite to a frame on the sprite sheet itself. This will disable the current animation! More...
|
| |
| void | Reset () |
| | Resets the current animation back to the first frame. More...
|
| |
| void | Clear () |
| | Clear the list of animations. More...
|
| |
| | Image (string source=null) |
| | Creates a new Image using a filepath to a texture. More...
|
| |
| | Image (Texture texture) |
| | Creates a new Image using a Texture. More...
|
| |
| | Image (AtlasTexture texture) |
| | Creates a new Image using an AtlasTexture. More...
|
| |
| | Image (int width, int height) |
| | Creates a new Image using a specified width and height. More...
|
| |
|
Transformation | AddTransform (Transformation transform) |
| |
|
Transformation | AddTransform (Vector2 translation, Vector2 scale, Vector2 origin, float rotation) |
| |
|
Transformation | AddTransform () |
| |
|
Transformation | RemoveTransformation (Transformation transform) |
| |
|
Transformation | PopTransformation () |
| |
| virtual void | ClearShader () |
| | Removes the shader from the graphic. More...
|
| |
| void | SetPosition (float x, float y) |
| | Set the position of the Graphic. More...
|
| |
| void | SetPosition (Graphic g, float offsetX=0, float offsetY=0) |
| | Set the position of the Graphic. More...
|
| |
| void | SetPosition (Vector2 xy) |
| | Set the position of the Graphic. More...
|
| |
| void | SetOrigin (float x, float y) |
| | Set the origin of the Graphic. More...
|
| |
| void | SetOrigin (Vector2 xy) |
| | Set the origin of the Graphic. More...
|
| |
| void | SetTexture (string path) |
| | Set the Texture that the Graphic is using (if it is using one.) More...
|
| |
| void | SetTexture (Texture texture) |
| | Set the Texture that the Graphic is using (if it is using one.) More...
|
| |
| void | SetTexture (AtlasTexture atlasTexture) |
| | Set the Texture that the Graphic is using (if it is using one.) More...
|
| |
| virtual void | CenterOrigin () |
| | Centers the graphic origin. More...
|
| |
| virtual void | CenterOriginZero () |
| | Centers the graphic origin while retaining its relative position. More...
|
| |
| virtual void | Render (float x=0, float y=0) |
| | Draws the graphic. More...
|
| |
|
| int | Frames [get, set] |
| | The total number of frames on the sprite sheet. More...
|
| |
| int | Columns [get, set] |
| | The total number of columns on the sprite sheet. More...
|
| |
| int | Rows [get, set] |
| | The total number of rows on the spirte sheet. More...
|
| |
| TAnimType | BufferedAnimation [get, set] |
| | The current buffered animation. More...
|
| |
| bool | Active [get, set] |
| | Determines if the sprite is playing animations. More...
|
| |
| bool | Paused [get, set] |
| | Determines if the sprite is advancing its current animation. More...
|
| |
| Dictionary< TAnimType, Anim > | Anims [get, set] |
| | The dictionary of stored animations. More...
|
| |
| TAnimType | CurrentAnim [get, set] |
| | The animation currently playing. More...
|
| |
| int | CurrentFrame [get, set] |
| | The current frame of the animation on the sprite sheet. More...
|
| |
| int | CurrentFrameIndex [get, set] |
| | The current frame index of the animation, from 0 to frame count - 1. More...
|
| |
|
Anim | this[TAnimType anim] [get] |
| |
| Rectangle | ClippingRegion [get, set] |
| | Defines which area of the Image to show. More...
|
| |
| bool | FlippedX [get, set] |
| | Flip the texture coordinates on the X axis. More...
|
| |
| bool | FlippedY [get, set] |
| | Flip the texture coordinates on the Y axis. More...
|
| |
| Color | OutlineColor [get, set] |
| | The outline color of the Image (only applies to circles and rectangles.) More...
|
| |
| float | OutlineThickness [get, set] |
| | The outline thickness of the Image (only applies to circles and rectangles.) More...
|
| |
|
Transformation | Transform [get] |
| |
| float | X [get, set] |
| | The X position of the Graphic. More...
|
| |
| float | Y [get, set] |
| | The Y position of the Graphic. More...
|
| |
| float | ScaleX [get, set] |
| | The horizontal scale of the graphic. Used in the final transformation. More...
|
| |
| float | ScaleY [get, set] |
| | The vertical scale of the graphic. Used in the final transformation. More...
|
| |
| float | Angle [get, set] |
| | The angle of rotation of the graphic. Used in the final transformation. More...
|
| |
| float | OriginX [get, set] |
| | The X origin point to scale and rotate the graphic with. Used in the final transformation. More...
|
| |
| float | OriginY [get, set] |
| | The Y origin point to scale and rotate the graphic with. Used in the final transformation. More...
|
| |
| Color | Color [get, set] |
| | The base color of the Graphic. Multiplies the vertices of the graphic by this color. More...
|
| |
| virtual Texture | Texture [get, set] |
| | The texture that the graphic is using. More...
|
| |
| float | Alpha [get, set] |
| | The base transparency of the graphic. A shortcut to access the base color's Alpha. More...
|
| |
| int | Width [get, set] |
| | The width of the Graphic. More...
|
| |
| int | Height [get, set] |
| | The height of the Graphic. More...
|
| |
| float | ScaledWidth [get, set] |
| | The width in pixels of the image after applying the X scale. More...
|
| |
| float | ScaledHeight [get, set] |
| | The height in pixels of the image after applying the Y scale. More...
|
| |
| virtual bool | Smooth [get, set] |
| | Smooth the texture of a sprite image while scaling it. More...
|
| |
| float | Scroll [get, set] |
| | Set both ScrollX and ScrollY. More...
|
| |
| float | HalfWidth [get] |
| | Half of the width. More...
|
| |
| float | HalfHeight [get] |
| | Half of the height. More...
|
| |
| float | Scale [set] |
| | Sets both the ScaleX and ScaleY at the same time. More...
|
| |
| bool | Repeat [set] |
| | Sets both RepeatX and RepeatY at the same time. More...
|
| |
| float | Shake [set] |
| | A shortcut to set both ShakeX and ShakeY. More...
|
| |
| float | Left [get] |
| | The X position of the left side of the Graphic. More...
|
| |
| float | Top [get] |
| | The Y position of the top of the Graphic. More...
|
| |
| float | Right [get] |
| | The X position of the right side of the Graphic. More...
|
| |
| float | Bottom [get] |
| | The Y position of the bottom of the Graphic. More...
|
| |
| int | TextureLeft [get] |
| | The X position of the left of the Texture. More...
|
| |
| int | TextureRight [get] |
| | The X position of the right of the Texture. More...
|
| |
| int | TextureTop [get] |
| | The Y position of the top of the Texture. More...
|
| |
| int | TextureBottom [get] |
| | The Y position of the bottom of the Texture. More...
|
| |
|
| static Image | CreateRectangle (int width, int height, Color color) |
| | Creates a rectangle. More...
|
| |
| static Image | CreateRectangle (Color color) |
| | Creates a rectangle the size of the active Game window. More...
|
| |
| static Image | CreateRectangle () |
| | Creates a simple black rectangle the size of the active Game window. More...
|
| |
| static Image | CreateRectangle (int width, int height) |
| | Creates a rectangle. More...
|
| |
| static Image | CreateRectangle (int size) |
| | Creates a rectangle. More...
|
| |
| static Image | CreateRectangle (int size, Color color) |
| | Creates a rectangle. More...
|
| |
| static Image | CreateCircle (int radius, Color color) |
| | Create a circle. More...
|
| |
| static Image | CreateCircle (int radius) |
| | Create a white circle. More...
|
| |
| static int | CirclePointCount = 24 |
| | The amount of points to use when rendering a circle shape. More...
|
| |
|
override void | TextureChanged () |
| |
| override void | UpdateDrawable () |
| | Updates the internal SFML data for rendering. More...
|
| |
|
void | Append (float x, float y, Color color, float u, float v) |
| |
|
void | Append (float x, float y, Color color=null) |
| |
|
virtual void | SFMLRender (Drawable drawable, float x=0, float y=0) |
| |
|
bool | flipX = false |
| |
|
VertexArray | SFMLVertices = new VertexArray(PrimitiveType.Quads) |
| |
|
Drawable | SFMLDrawable |
| |
|
float | RepeatSizeX |
| |
|
bool | roundRendering = true |
| |
| bool | Dynamic |
| | If true the graphic will always update its drawable. More...
|
| |
Graphic that is used for an animated sprite sheet.
- Template Parameters
-


My notes... Maybe you'll find it helpful.
Here's some vocab you'll need.
If you're creating the new project on your local machine, we have to make it a git repo.
I use terminal, it's a breeze.

Give it a name, description, select either public or private, I always check the box to, "Initialize this repository with a README"
Click, "Create repository" button.
It'll take you to the repository. You'll have one file a "README.md". It'll show initial commit with how long ago and your description will display.
Now we need to clone this repo to our local machine.
Click the button to, "Clone or download" and copy the url.
Back to terminal:
git clone < the url you copied >
You should get a message showing:
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
You can jump into that directory. You will now see a git folder that you can expand and see its contents, also you have your README file.
What files? The files you tell it to.
git add < filename >
OR
git add .
This will add everything that's changed and any new files that have not been tracked yet.
git commit -m "Message about what are you committing"
- If you forget to add the message, you will get taken to the VI editor with the chance to input. If you're not familiar with it, .
Input a colon and then q!.
When you have time, you should definitely check out this site.
To work on something before merging into master branch we create and checkout a branch.
Let's do this...
git checkout -b < your branch name >
This creates a new branch and moves you to it.
You can check what branch you're on with:
git status
OR
git branch
Make your changes, then we have to...
git add .
And then...
git commit -m < "your message" >
We have to push our changes, send those suckers to the remote repository.
git push origin < branch you want to push changes to >
Back to github.
You'll now see you have a pull request.
Click the create pull request button.
*Usually this would be for someone else to review your changes and ensure they want to implement.
In our case, you can click the merge pull request button, then confirm it.
You'll get message that the, "Pull request successfully merge and closed."
You can delete the branch now, or wait.
At the top of the window, you'll have a message that says, "Merged NAME merged 1 commit into master from BRANCH just now"
Nice! You've just merged your changes into the repo.
Go to the file you just changed on Git, you'll see the updates.
You should also now have your 2 branches. This is the sweet spot. You can go back to those at any time and branch again.
Stop saving myfile1, myfile2, myfile873!
Their have been changes to your repo. We need to update our local repository.
git pull


- Hermes: Get ready for fun, Fry! Nowadays we have a type of game played entirely on video.Leela: We call it a "video game".Fry: A video game, you say? Well golly gee, you mighty space men of the future will have to show me how it works.— Futurama
Basically either the Fish out of Water (or another character who's visiting from elsewhere) describes something or someone shows or describes something to them, usually in a very condescending or superior manner. This is met with something along the lines of "So it's like a..." or "We have those too". Truth in Television — don't ask foreign people "do you have cable TV in Russia?"
A variation involves the native being perplexed by the description because they passed that level of technology generations ago, and have much simpler ways of doing the same thing.
See also Call a Rabbit a "Smeerp". Not Rare Over There and Worthless Yellow Rocks are arguably the next level of this trope: not only does the other country/group of people have the item, they have more of it than you do.
Examples:
- The subject of a Running Gag in Dr. Stone. Upon learning of a new scientific principle, Chrome will often come up with some new invention that makes use of it (for example, making a compass after learning about magnetism, or a waterwheel after seeing a gear in use for the first time), only to fall flat on his back as one of the revived modern humans recognises it immediately.
- Referenced in The Keys Stand Alone: The Soft World when Ringo gives Theecat his (extremely compressed) backstory. He wasn't sure if Theecat would understand what he was talking about, but it turns out the little steampunk Irorin is very familiar with mass media and its effect on people.
- Subverted in Disney's Pocahontas, when John Smith explains gold to the title character. She triumphantly produces an ear of corn, at which point Smith realizes there is no gold and Ratcliffe is deluded. The idea that a culture with no metal at all might have just not mined it never seems to occur to him.
- Used in the Martin Lawrence vehicle Black Knight. Martin tries to impress the English primitives with a Bic lighter. Cue unimpressed peasant, "We already have fire."
- While trying to barter with a goblin in Hellboy II: The Golden Army, Liz offers him "magic eyes", to which he responds he already has binoculars.
- In the 1997 live-action film of George of the Jungle, while in the jungle being guided by native guides, Lyle Van de Groot, rich snob white guy, attempts to impress his native guides by offering them lighters and showing off his camera... even though his guides are clearly familiar with such things. The guides play along for a bit, and then burst out laughing at him, whereupon their translator makes it clear they're not only unimpressed, they know more about cameras than he does.
Kwame: He says that he likes your magic pictures... but he prefers the resolution of the Leica 35-millimeter transparencies. He also says that your lens is dirty, but he has the equipment to clean it for you.
- Not exactly vocalized, but in the book Bedknob and Broomstick, one of the children tries to scare a cannibal native into letting them go by showing him matches. Unfortunately, they've already got those.
- A virtually identical scene happens in the book The Time Garden by Edward Eager.
- In The Boggart, a Canadian and a Scot have a dialect mixup:
Jessup: We could talk to each other, with flashlights.
Tommy: ...What's a flashlight?
Jessup: You don't have flashlights? Jeeze! A cylinder, like, with batteries inside it, and a lightbulb behind glass at one end—
Tommy: We have a thing in Scotland that's a cylinder too. Very thin, made of wood, with graphite in the center. We call it a pencil.
Jessup: You think we don't have pencils?
Tommy: You think we don't have flashlights?! That's just American dialect. In the English language they're called torches. - Discworld:
- From the novel Jingonote :
Lord Rust: That's a Make-Things-Bigger device, isn't it? My word, you are up to date. They were only invented last year.
General Ashal: I didn't buy this, my lord. I inherited it from my grandfather. - In Interesting Times Rincewind gets to do this to a native of the land he's visiting (because of the all the various peoples that have emigrated to Ankh-Morpork, they have much better stuff than the isolated and somewhat xenophobic Agatean Empire). It's turned around on him when he brings up The Luggage, only to be reminded that it came from the Empire and they have plenty more.
- From the novel Jingonote :
- In Notes from a Small Island Bill Bryson mentions a conversation with a British couple, who asked if they had Woolworth's and cornflakes in America. Happens again when he returns to America in Notes from a Big Country.
- Inverted in The Restaurant at the End of the Universe, where it's commented on that every race seems to have a drink whose name is some phonetic variation of "gin and tonic", but the drinks themselves vary wildly — the Sivolvian "chinanto/mnigs", for instance, is merely water served at slightly above room temperature, while the Gagrakackan "tzjin-anthony-ks" "kills cows at a hundred paces."
- The Dresden Files: In an encounter with Eldest Brother Gruff, Harry tells Eldest Brother that humans still tell stories about him and his brothers. Eldest Brother tells Harry that the Fae tell stories about him... because they are just as fond of good stories about plucky and clever underdogs as humans are.
- In Time At The Top Susan, a time traveler from 1960 to 1881, offends contemporary Victoria Walker by asking if the latter knows what an elevator is.
- The 10th Kingdom. Tony is in a fairy-tale world. He attempts to barter his wristwatch, using overly simplified language and referring to it as a "clock". The Tooth Fairy quietly turns around, opens a cabinet full of old-fashioned fob watches, and says "we call them watches."
- On the first episode of The Dead Zone, someone starts explaining to Johnny what a CD is, only for him to tell them that they had CDs when he went into his coma in 1996.
- An episode of Top Gear reports on Toyota's latest invention: "I didn't have the heart to tell them, but we have something like this in Britain already. It's called a wheelchair."
- In Babylon 5, Narn ambassador G'Kar does this when introducing an Earth food to his colleague, which he then proceeds to justify:
Na'kal: Breen. You've managed to import breen from homeworld. How?
G'Kar: It... isn't actually breen.
Na'kal: But the smell, the taste...
G'Kar: It's an Earth food. They are called "Swedish meatballs". It's a strange thing, but every sentient race has its own version of these Swedish meatballs. I suspect it's one of those great universal mysteries which will either never get explained or which will drive you mad if you ever learned the truth. - In an early episode of Lois & Clark, Lois and Clark visit Clark's parents in Smallville. Lois at one point asks Ma and Pa Kent if there's a place in town that has a fax machine, and then goes on to (condescendingly) explain what a fax machine does. Ma Kent then offers Lois the use of her own fax machine, effectively shutting Lois up.
- Similar to the Black Knight example above, in an early episode of Stargate Atlantis, Sheppard tries to impress the Athosians with his lighter. Teyla pulls out a much fancier lighter that also functions as a small flamethrower, much to his consternation.
- The Red Dwarf episode "Waiting for God" has this exchange:
Cat: You see, sometimes, in a book, we have a drawing of something that is happening in the story, and we call them "pictures".
Lister: (amused) Yeah, yeah, we have pictures too.
 Later inverted while the boys from the Dwarf are guests of a mysterious host named Legion. Rimmer, attempting to impress Legion, comments on the artistry of a mysterious object, and asks Legion what it is.
Legion: The light switch.
Rimmer: The light switch?
Legion: Yes.
Rimmer: I couldn't buy it, then?
Legion: ...not really. I need it to turn the lights on and off. - Inverted in A Colbert Christmas when Jon explains Hanukkah to Stephen:
Jon: We have latkes—
Stephen: What are they?
Jon: Potato pancakes. We have dreidels—
Stephen: What are they?
Jon: Wooden tops. We have candles—
Stephen: What are they?
Jon: THEY ARE CANDLES! - Meanwhile, over on Buffy the Vampire Slayer, Anya and Giles visit a somewhat less than omniscient oracle.
Beljoxa's Eye: The eye sees not the future, only the truth of the now and before.
Anya: Yes, we've all got that — it's called memory. - In the season one episode of Agents of S.H.I.E.L.D. where Lady Sif guest-stars, Coulson tries to acquaint her with S.H.I.E.L.D.'s computerized database. In keeping with the interpretation of Asgardians as Sufficiently Advanced Aliens, she replies that she's already familiar with such systems, having used them when visiting other not-as-advanced worlds. She even calls S.H.I.E.L.D.'s system "antiquated". Coulson can be excused for thinking Sif would be impressed, since Thor was not familiar with the modern world back in his film.
- In Sleepy Hollow, Lt. Mills at one point begins explaining the term "John Doe" to Crane. Since the term originated in England in the 1300s, he's entirely exasperated.
- In The Flash (2014), each visitor to Earth-1 from an alternate universe is gratified to learn that Big Belly Burger is apparently a multiversal constant.
- Mass Effect: Andromeda:
- At one point a background conversation can be heard between two angaara wondering what this "ice cream" thing the humans have is. When one realises it's like something similar they have, they exclaim a relative of theirs who makes and sells it can make a fortune.
- In a conversation between teammates Liam and Jaal, Jaal listens to a joke Liam makes, then dryly adds "we have people who aren't funny here too".
- In Homestuck, Terezi dialog with Dave shows that troll society has things like orange creamsicles and cotton candy, while invoking this trope. Of course, this actually ties in with how the trolls made the protagonists universe to begin with. Karkat's bedroom posters show that many Earth actors have Alternian troll equivalents.
The thing that most people don't realize is that John Cusack is a universal constant.
- In this Modest Medusa strip, Marah is unable to pay for her stay at an inn with "copper pieces" (copper-plated zinc US pennies). Instead they have to barter with the Medusa's Nintendo DS.
- The Simpsons:
- In the episode "Lisa's Wedding", Lisa's fiancée tells Homer that they have the "pull my finger" joke in Britain.
Homer: I said pull my finger!
- Another time, Ringo Starr answers a letter from Marge:
Ringo Starr: Dear Marge, thanks for the fab painting of Yours Truly. I hung it on me wall. You're quite an artist. In answer to your question, yes, we do have hamburgers and fries in England. But we call French fries "chips." Love, Ringo. P.S. Forgive the lateness of my reply.
- Another episode has the cops eating at Krusty Burger; Lou says that while he was in Shelbyville, he went to McDonald's, and instead of being called a non-dairy partially-gelatinated gum-based beverage he is surprised to hear it's called a "shake". This is, of course, a spoof of the "McDonald's in France" scene in Pulp Fiction.
- In the episode "Lisa's Wedding", Lisa's fiancée tells Homer that they have the "pull my finger" joke in Britain.
- Futurama has a lot of these.
- The best example would have to be:
Hermes: Get ready for fun, Fry! Nowadays we have a type of game played entirely on video.
Leela: We call it a "video game".
Fry: (deadpan) Oh, well you mighty space men of the future will have to show me how it works.
(the next scene has Fry kicking their asses six ways to Sunday) - And then there's this:
Giant Amazon: What men good for anyway?
(Amy whispers in her ear)
Giant Amazon: Ohhh... you mean snu-snu! - The first time crew encounter the sewer mutants, Fry quickly lights a makeshift torch and starts swinging it around threateningly. One of the sewer mutants casually lights a cigarette from the torch.
- The best example would have to be:
- In the episode of The Venture Bros. "Escape from the House of Mummies Part 2", Doctor Venture and Brock set up a Totem Pole Trench in an attempt to scare an Egyptian cult by pretending to be their "giant four-armed god". Doc aims a flashlight at one of them and boasts about his ability to create light from his hands. A cultist responds "It's just a flashlight!"
- On Sabrina: The Animated Series, Sabrina and Gem Time Travel to ancient Rome and meet Julius Caesar. At one point Gem pulls out a flashlight and waves it around, trying to cow him into surrendering to their technological superiority. He's less than impressed.
Julius Caesar: Ooh, a mini-lantern. Spooky.


The GNB model strategy implemented in this tutorial produced a greater Sharpe ratio and lower annual variance than buying and holding the S&P 500 index ETF benchmark over the backtesting period. In addition to outperforming during the entire backtest, the strategy also outperformed during the 2020 stock market crash.
To continue the development of this strategy, future areas of research include:


pulse
fade-in
scale-fade-up
scale-fade-down
twirl-in
fly-in-left
fly-in-right
fly-in-top
fly-in-bottom
rotate-in-left
rotate-in-right
whoosh-in-left
whoosh-in-right
drop-in
zoom-in
zoom-out
pan-left
pan-right
pan-up
pan-down
pan-right
with pan-scaling-factor attr
pan-down
with pan-scaling-factor attr


Eduardo Elísio Machado Souto de Moura (Portuguese pronunciation: [eˈðwaɾðu ˈsowtu dɨ ˈmowɾɐ]; born 25 July 1952), better known as Eduardo Souto de Moura, is a Portuguese architect who was the recipient of the Pritzker Architecture Prize in 2011[1][2][3] and the Wolf Prize in Arts in 2013.[4][5] Along with Fernando Távora and Álvaro Siza, he is one of the alumni of the Porto School of Architecture, where he was appointed a Professor. Souto de Moura began his career as an independent architect in 1980, after winning a design competition for the Casa das Artes, a cultural center with an auditorium and an exhibition gallery in the gardens of a neo-classical mansion, in his native city of Porto. However, Souto de Moura collaborated with Siza on the Portuguese pavilion at the Expo 2000 in Hanover, Germany, and Serpentine Gallery's annual summer pavilion in 2004. Souto de Moura's early commissions were often modest residential houses, mainly in his native country. Later, he was commissioned with shopping centers, schools, art galleries, and a cinema, in countries including Spain, Italy, Germany, the United Kingdom, and Switzerland. Between 1989 and 1997, Souto de Moura spent eight years on the restoration of Santa Maria do Bouro, a half-destroyed 12th-century monastery in Amares, transforming it into a Pousada.[7] From 1981 to 1990, Souto de Moura was an assistant professor at his alma mater, and was later appointed Professor at the Faculty of Architecture at the University of Porto.[8] He has been a visiting professor at the architectural schools of Geneva, Paris-Belleville, Harvard University, Dublin, ETH Zurich and EPFL Lausanne, and has participated in numerous seminars and given many lectures both in Portugal and abroad. His work has appeared in various publications and exhibitions. On 28 March 2011, it was announced that Moura is the 2011 Pritzker Prize winner, architecture's highest honor.[3] He is the second Portuguese architect to win the honor, after Álvaro Siza.[2] The prize was supposed to be presented in April in Washington DC but the winner was prematurely leaked by a Spanish news organisation.[9] The prize was awarded for his work including Estádio Municipal de Braga, the Burgo Tower in Porto and the Paula Rego Museum in Cascais.[9] On 3 January 2012, it was announced Moura is the 2013 Wolf Prize in Arts winner along with Robert S. Langer.[10] He has been also awarded: The Pessoa prize in 1998; the António de Almeida Foundation prize; the Antero de Quental Foundation prize; first prize in the Competition for the Restoration of Giraldo Square in Évora, Portugal; first prize in the Competition for the CIAC Pavilions; first prize in the Competition for a Hotel in Salzburg, Austria; first prize in the "IN/ARCH 1990 for Sicily" Competition; the Secil Prize for Architecture;[11] second prize in the "Architecture and Stone" ideas competition; honourable mention for his Miramar House in the Secil Architectural Prizes; honourable mention for both the SEC Cultural Centre and the Alcanena House in the National Architectural Prizes. On 14 July 2011, Souto de Mouro received an Honoris Causa doctorate by the Faculty of Architecture and Arts at the Lusíada University of Porto.[12]


Install it using npm or yarn:
npm install math-charts --save
yarn add math-charts --save
Import FunctionsGraph class to your project:
import { FunctionsGraph } from 'math-chart';
Set chart container using desired html canvas element id:
let graph = new FunctionsGraph();
graph.SetContainer('testCanvas');
Set starting viewport (X axis start, Y axis start and scale) and add some functions:
graph.SetViewport(-8, -2, 1);
graph.AddFunction('x^2');
graph.AddFunction('lg(-x)');
graph.AddFunction('ln(x+3)');
Draw a graph!
graph.Draw();
Graph can be panned using mouse and resized using mouse wheel.
import { Interpreter } from 'math-chart';
let interpreter = new Interpreter();
interpreter
.ExecuteExpression('100-4*20-(4+1)');
import { Interpreter } from 'math-chart';
let interpreter = new Interpreter();
interpreter
.EvaluateExpression('x^2+14-y', {x:6, y:50});
import { Interpreter } from 'math-chart';
let interpreter = new Interpreter();
interpreter
.EvaluateExpression('2(q+2)+3(q-1)', {q:2});
import { FunctionsGraph } from 'math-chart';
let graph2 = new FunctionsGraph();
graph2.SetContainer('graph2');
graph2.SetViewport(-4, -3, 1);
graph2.AddFunction('x^3');
graph2.AddFunction('sqrt(x+2)');
graph2.AddFunction('2/x');
graph2.Draw();
import { FunctionsGraph } from 'math-chart';
let graph3 = new FunctionsGraph({canResize: false, canMove:
false});
graph3.SetContainer('graph3');
graph3.SetViewport(-1, -2, 1);
graph3.AddFunction('x-3');
graph3.AddFunction('-x+4');
graph3.Draw();
import { FunctionsGraph } from 'math-chart';
let graph4 = new FunctionsGraph({drawGrid: false,
drawGridLabels: false});
graph4.SetContainer('graph4');
graph4.SetViewport(-1, -2, 1);
graph4.AddFunction('x^(x-3)');
graph4.AddFunction('x^4+2x^3-6x^2');
graph4.Draw();
import { FunctionsGraph } from 'math-chart';
let functionColors = ['#ad8708','#edbd1e','#ffd64f'];
let graph5 = new FunctionsGraph({ functionColors:
functionColors, labelFont: '12px monospace', gridColor:
'#c8daf7'});
graph5.SetContainer('graph5');
graph5.SetViewport(-1, -2, 1);
graph5.AddFunction('x^3-3x^2+1');
graph5.AddFunction('2^x');
graph5.AddFunction('sin(x)+x');
graph5.Draw();
| Operation | Explanation |
|---|---|
CreateExpression(expression: string):IExpression |
Parses given string expression to computable expression that can be executed by math chart plugin. Called internally by execute and evaluate expression methods |
ExecuteExpression(expression: string): number |
Executes numerical expression (without variables) |
ExecuteParsedExpression(expression: IExpression): number |
Executes parsed numerical expression (without variables), parsed with CreateExpression method |
EvaluateExpression(expression: string, replacementDictionary: any): number |
Evaluates string expression result using given variable replacement values. For example, {x: 2, y : 4} |
EvaluateParsedExpression(expression: IExpression, replacementDictionary: any): number |
Evaluates parsed expression result using given variable replacement values. For example, {x: 2, y : 4} |
| Operation | Explanation |
|---|---|
SetContainer(container: string) |
Sets a graph container to a given canvas element id. |
AddFunction(functionExpression: string) |
Adds a new function to a graph |
RemoveFunction(index: number) |
Removes a function from a graph by given index |
SetEvaluationBoundaries(start: number, step: number, count: number) |
Sets functions evaluation boundaries. Start defines starting x value, step defines functions smootness, count - number of function evaluation steps |
SetViewport(startX: number, startY: number, scale: number = 1) |
Sets graph viewport. startX - starting value on X axis (on the left); startY - starting value on Y axis (on the bottom); scale - Graph's scale |
Draw() |
Explicitly redraws graph with all functions |
UpdateSettings(newSettings: any) |
Updates existing graph settings. If any setting is not passed, its default value is used (see below) |
| Setting | Type | Role | Default value |
|---|---|---|---|
drawGrid |
Boolean | Draw a graph grid | true |
drawFunctions |
Boolean | Draw graph functions | true |
gridColor |
String - color hex | Color of a graph grid | #75ea88 |
labelColor |
String - color hex | Color of graph labels | #000 |
drawGridLabels |
Boolean | Draw graph labels | true |
labelFont |
String - font | Font of graph labels | 14px serif |
canResize |
Boolean | Can graph be resized using mouse wheel | true |
canMove |
Boolean | Can graph be panned using mouse drag | true |
functionColors |
String[] - array of hex colors | Colors of functions | ['#4286f4', '#f44141', '#772f93','#e8a23a'] |
| Operation | Expression | Arity |
|---|---|---|
| Sum | {x}+{y} |
2 |
| Difference - Subraction | {x}-{y} |
2 |
| Product - Multiplication | {x}*{y} |
2 |
| Quotient - Division | {x}/{y} |
2 |
| Power | {x}^{y} |
2 |
| Parenthesis | ({x}) |
1 |
| Square root | sqrt({x}) |
1 |
| Sin | sin({x}) |
1 |
| Cos | cos({x}) |
1 |
| Tan | tan({x}) |
1 |
| Natural logarithm | ln({x}) |
1 |
| Base 10 logarithm | lg({x}) |
1 |


Cart
Today's Deals
Products
About Us
Sell
Help
Sell
Product Name
Price
Quantity
<100
100-200
200-300
300-400
>500
Description
Submit


We optimize infrastructure!
- scale end-to-end portals
- morph cross-media technologies
- scale seamless e-tailers
- transform wireless experiences
- matrix B2B e-tailers
- deploy strategic platforms
- implement one-to-one systems
- enhance viral infrastructures
- syndicate wireless e-markets
- engage real-time communities
- target collaborative methodologies
- synergize scalable portals
- seize sticky solutions
- engage value-added deliverables


Attach this attribute to a method to identify it as a web service endpoint. The class containing this method must be decorated with the [IsService] attribute for this to work.
[IsService("order", "/order/", new[] { Method.Post, Method.Get, Method.Put, Method.Delete })] public class OrderService { [Endpoint(UrlPath = "{id}", Methods = new[] { Method.Get })] public void Get(IEndpointRequest request) { throw new NotImplementedException(); } }
The [Endpoint()] attribute has properties that specify how Http requests are routed to the service as folllows.
Specifies the Http path of this endpoint relative to the service BaseUrl property. The endpoint can also specify an absolute path by starting this property value with a forward slash.
If you do not set this property value then the name of the C# method will be used as the relative path.
For endpoints with an absolute UrlPath this property defines the Http methods that will be routed to this endpoint.
For endpoints with a relative UrlPath this property is a further restriction that is applied after the request is successfully routed to the service. In this case there is no point in adding methods here that are not also in the Methods property of the service.
Set this property to define how detailed are the analytics that are measured for this endpoint. You can use intellisense to see the possible values for this property.
Defines the type of deserializer to use when the body of the request is accessed for the first time by the application code.
The deserializer is specified as a class type to use. This class type must implement the IRequestDeserializer interface.
The standard libraries already contain some implementations of IRequestDeserializer that you can take advantage of in your application, but this interface is also straightforward to implement. These classes are in the OwinFramework.Pages.Restful.Serializers namespace.
Set this property to define how objects returned from this endpoint are written to the http response. The default serializer serializes the returned object to Json using the NewtonSoft serializer.
The serializer is specified as a class type to use. This class type must implement the IResponseSerializer interface. There are implementations of this interface in the OwinFramework.Pages.Restful.Serializers namespace.
Setting this property means that identities that call this endpoint will have to have this permission assigned to them in the authorization middleware.
Note that this property only has effect if your application includes authorization middleware in the Owin pipeline.
When this property is true the name of the service and method name are passed as the asset name to the authentication check separated by a forward slash. This allows you to define permissions that allow access to service methods using wildcards, for example you can give one group of users permission to call any endpoint in the service whilst other groups of users can only call certain specific endpoints.
This property defines the name of a parameter to the endpoint that will be passed to the authorization check at the asset value. For example you can have an endpoint that updates a users avatar that takes userId as a parameter, then you can set "userId" as the value of the ParameterSpecificPermission, in which case the value of the userId parameter will be passed to the authorization middleware as the asset name, and you can configure the authorization middleware to only grant this permission if the user id is your own user id. You can also define a group of users in the authorization middleware who can call this endpoint for any user id.
This parameters allows you to define different versions of your service endpoint for different segments of users in A/B testing scenarios. For example one group of users might see data sorted differently or have additional data included in the response so that you can measure the preferences of your usres.


Hugo GithubPages Chromebook
I confess that there is little to like about Google’s Blogger platform. It certainly has not kept pace with offerings like Wordpress or Medium. I suspect that it would suffice for normal text only blogging, but I have a technical blog and getting code snippets to work well is painful.
So when I learned recently that Github Pages supported Jekyll I immediately did a search to see if Hugo supported Github Pages. To my delight it did. Furthermore, since blogging is often a “sofa” activity, I decided to try to use my Chromebook from the start. I have a Samsung Chromebook Plus, which uses an ARM chip and often means a little more work. I have crouton installed using the target “cli-extra”, which means no GUI… just Vim and me (1).
First I tried to just use apt-get to install Hugo, but that version
is over two years old and couldn’t even do the quickstart tutorial (2).
So I used the tarball instructions to install
hugo_0.38.2_Linux-ARM64.tar.gz
.
I installed as directed into $HOME/bin
and ensured that it was
on my path. Transcript:
$ tar -xvzf ~/Downloads/hugo_0.38.2_Linux-ARM64.tar.gz
README.md
LICENSE.md
hugo
$ ./hugo version
Hugo Static Site Generator v0.38.2 linux/arm64 BuildDate: 2018-04-09T08:17:45Z
$ which hugo
/home/cecil/bin/hugo
I found out quickly that when I started the hugo web server
to view my content, I was able to simply switch tabs and go to
localhost:1313
to view… and it worked perfectly.
If unable view the content, then using my Chromebook
was pretty much a non-starter.
There are several ways to setup Hugo to work with Github Pages (3). Since I wanted to be able to have multiple blogs, I settled on the “project” based approach.
By far the hardest part of using Hugo is picking a theme (4). There is a wide variety of themes, which is a good thing. But the themes have little consistency and support a bewildering set of parameters and features, which makes it hard. I soon learned to look at the list of configuration parameters in the theme documentation to evaluate whether a theme had what I wanted.
I finally settled on the Kiera theme (as a fan of Vlad, how could I resist??). It is simple, clean, and rendered my test post very well, which included code blocks, backticked phrases, bullets, images, links, etc. However, it did not support Google Plus as a social network option, which I wanted. So I had to research a bit and ended up forking the theme and doing a pull request to add it.
In the hours I played with different themes, I finally got into a rhythm on evaluating them:
- Create a new directory for the theme (if tried to keep multiple themes in one project, the configuration parameters seemed to interfere, so I kept them cleanly separated)
- Copy over content, static folders
- Use the theme’s
config.toml
file as a starting point and update it to suit - Finally start the server and test it:
hugo server -D
Since these are static web pages, there is no built-in commenting system. Disqus is available, but has mixed reviews. So I simply suggest that if you want to comment, contact me over on LinkedIn or Google+ (see top of each post)… or file an issue in Github! :-)
My first set of posts will be ones ported over from Blogger.
References


august 20, 2015
As Phase 0 is wrapping up, in addition to anxiously looking forward to what's ahead, I'm finding myself in a state of reflection. The past year has been a transformative experience for me personally, as I've left behind a perfectly comfortable life and embarked on a journey in search of discovering nothing more than how happy one can be.
As I get older and each year seems to pass faster than the last, I've become painfully aware of the fact that my time on this Earth is very limited. I'm passionate about maximizing my happiness and making the most of my life, and this idea has permeated nearly every decision I've made in the last year. Selling everything I own, roadtripping around the country, exploring Asia, and drastically shifting careers are my attempt to derive as much pleasure as possible from my brief existence.
When I consider the times in my life that I've been the happiest, more often than not those feelings arose from a sense of freedom, adventure, connecting with nature, and independence. Nothing beats knowing that the world is my oyster, feeling at peace with being alone, and venturing outside my comfort zone to see and experience as much of the world as I can.
Throughout this journey, I've been admired from afar by others who wish they could throw up their hands and start down a new path as well. The truth is, most people could. It takes a lot of courage to quit a perfectly good job, to leave a city you love, to lob your life savings at a goal, or to do all of the above, if that's the case. But what's the alternative? Your life will remain mundane. Someday you'll wake up and discover that 30 years have passed and nothing's changed. All the excitement is gone; there are no more surprises to be had. This is my greatest fear.
I think remembering these ideals and my reasons for entering Dev Bootcamp will help motivate me and lift me up while I'm struggling through the next several weeks. I didn't sign up for this program on a whim, and it's not a backup plan. My participation is the result of over a year of self-reflection and chasing the dream: to find fulfillment in my career and in my life.
I'll leave you with a quote that I find infinitely inspiring:
"Make a radical change in your lifestyle and begin to boldly do things which you may previously never have thought of doing, or been too hesitant to attempt. So many people live within unhappy circumstances and yet will not take the initiative to change their situation because they are conditioned to a life of security, conformity, and conservation, all of which may appear to give one peace of mind, but in reality nothing is more damaging to the adventurous spirit within a man than a secure future. The very basic core of a man's living spirit is his passion for adventure. The joy of life comes from our encounters with new experiences." --Jon Krakauer, Into The Wild


Server implementation for persisting session data
A standalone server that maintains session information.
Opens a new Unix domain socket at the socketLocation and uses anydbm to persist data in the file dbFileName.
Runs the server until signal 2 is caught.
A script that starts a SessionServer as a Daemon process.


SPACE COWBOYS
Review by John Beachem
* * * 1/2
Directed by: Clint Eastwood Written by: Ken Kaufman, Howard Klausner
The guidance system on a Russian communications satellite, which has been in space for about 14 years, is finally breaking down and sending the satellite towards Earth. In about a month and a half it will burn up in the atmosphere and the communications break-down may plunge Russia into a civil war. No problem, right? We can just send some boys up there to fix it and it'll be as good as new.  Frank was originally supposed to go into space back in the fifties, but he and his team were replaced by a monkey. The man responsible for destroying Frank's dream of going into space was Bob Gerson (James Cromwell), who is still in charge of the space program, and is now in charge of trying to find a way to fix the Russian satellite. So Frank makes a deal with Gersen, whereby Frank will fix the satellite if, and only if, he and his original team members, Hawk, Tank, and Jerry (Tommy Lee Jones, James Garner, and Donald Sutherland respectively), are allowed to go into space together to do so. They will be accompanied by two young astronauts, Ethan (Loren Dean) and Roger (Courtney B. Vance), but all the repairs will be performed entirely by Frank and his team. The catch is, in order to qualify for this, Frank and his team must undergo all the rigorous training astronauts now go through.
Let me catch my breath after that plot summary. I know it sounded long and confusing, but the movie's plot is actually remarkably simple; it just can't be written down in simple terms (or maybe it's just me, but I must have re-written that summary a dozen times).  In other words, "Space Cowboys" was as cliched as it could be, but it was also a lot of fun, very entertaining, and it even had a few touching moments. The movie is bound to draw (possibly unfair) comparisons to "Armageddon", just as Michael Bay's film drew comparisons to "The Right Stuff". Both films feature a group being quickly trained for a space mission, having quite a few problems up in space, and unfortunately both lose most of their steam once the group actually makes it into space. That's right, just like Bay's big loud picture, "Space Cowboys" is an absolute blast while it's on the ground, but all the fun gets sapped out once the actual mission is underway.
In a movie with a cast like this, the high point is obviously going to be the acting. Where else can you see five great old actors get together for one last hurrah? As a result, I'm going to devote a lot more of the review to each of the actors involved than I normally would. Eastwood does a magnificent job playing an aged Dirty Harry like character, getting excellent lines like: "Go ahead, I've got medicare, take your best shot." For those of you worried about Eastwood taking his shirt off after that reportedly horrifying sight in "The Bridges of Madison County", I'm sorry to say he does just that. However, it's only for a split second, and he's bent over so you really don't see his chest too well. Why am I telling you this?  The only other actor to play a really major part in "Space Cowboys" is Tommy Lee Jones, playing Eastwood's on again - off again best friend, Hawk. Jones is clearly one of the best older actors working in Hollywood (though he's actually the youngest of the five featured in this movie), and he's great here because he's obviously having such a good time. Jones has a big goofy smile plastered on his face throughout the film, and as a result, we can't help but smile along with him.
The other three old-timers aren't given half the screen time Jones and Eastwood are, but at least two of them still manage to leave an impression. What type of impression does Donald Sutherland ("Outbreak") leave? Why, the same kind he always does of course: Eww, creepy (if you've seen Sutherland in anything before you should know exactly what I mean). The fact that his character is a womanizing old man doesn't help matters any. James Cromwell ("LA Confidential") is gaining quite a reputation for playing sadistic old men, and he continues in that same vein as the hateful Bob Gersen. Does he play a hateful old man well? Disturbingly well, actually. The only one of the five who leaves no impression is the great James Garner ("Maverick"). How can that possibly be, you ask? Well, don't get me wrong, James Garner is certainly the man, but even he can't save a role where he's given no more than fifteen or twenty minutes of screen time. The only other people given enough screen time to leave any sort of mark are Marcia Gay Harden (that's right, from the masterpiece "Miller's Crossing") as Tommy Lee Jones's love interest, and William Devane (just seen briefly in "Hollow Man") as James Cromwell's boss who seems afflicted by a split personality.
Eastwood's skill behind the camera is a little hard to predict. It can be outstanding and frankly mesmerizing as it was in "Unforgiven"; or it can be, well, "True Crime". His efforts in "Space Cowboys" fall somewhere safely in the middle. Most of his scenes work quite well, like a bar- room brawl between Eastwood and a young skin head; or the scene where we first meet Hawk, who now makes his living teaching young hotshots a thing or two about flying in an old, bright red one prop plane. However, a few of the tricks he tried just didn't do it for me, like the actors' voices being dubbed over on younger actors in the first fifteen minutes. Eastwood's biggest strength in "Space Cowboys" is his ability to throw in slap-stick like humor without making the film feel campy. His biggest weakness is pacing, which is slow and leisurely while the crew is on the ground, but frantic and headache inducing while they're in space. I think things would have gone over a bit more smoothly if a half hour had been taken out of the script and Eastwood had directed the whole film in his trademark, meandering sort of way.
Other than the acting and a lot of really entertaining scenes, there isn't much to "Space Cowboys". The special effects are nice, but certainly nothing spectacular. The training scenes may run on far too long, but they're sure a whole lot of fun. The score from Clint Eastwood's favorite composer, Lennie Niehaus, is nice, but after Trevor Rabin's outstanding, rousing score from "Armageddon" (I said it was going to draw unfair comparisons), this one just doesn't stand up. Despite these factors, "Space Cowboys" is still enjoyable enough that it was well on its way to a full four star rating until the last half hour hit. In that last half hour every heart string tugging cliche in the book was hurled at me till I felt like knocking it down more than just one notch. "Space Cowboys" did force me to reconsider a statement I made earlier this month. I said that all movies in Hollywood should be restricted in length to one hour, because writers seemed to run out of ideas at that point. I'm changing that statement to all movies should be written and ready to go, and then have the last half hour done away with. Granted, there are exceptions, this year's "X-Men" springs to mind, but for the most part I think this would benefit Hollywood greatly. "Space Cowboys" runs a long 129 minutes, and I recommend it to just about any age group, though senior citizens will probably get more out of it than kids. I give the move three and a half out of five stars.
Comments? Send to<EMAIL_ADDRESS>Past reviews can be found at: http://www.epinions.com/user-elerad?public=yes or http://us.imdb.com/ReviewsBy?John+Beachem
* * * * * - One of the best movies of the year. * * * * - Great flick, try and catch this one. * * * - Okay movie, hits and misses. * * - Pretty bad, see it at your own risk. * - See this one only if you enjoy pain.
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


--- post_id: /svar-pa-italienska-fragor date: 2010-06-17 19:25 return_url: '2010-04-19-svar-pa-italienska-fragor.html' name: 'Keitha Valiton' email<EMAIL_ADDRESS>comment: '
Hey can I use some of the information found in this entry if I link back to you?
' ---


Hello-hello!
I’ve been building things for most of my life—woodworking, carpentry, making noise and websites. Attending Designation allowed me opportunities to focus my career in UX and lead teams of designers.
I’m fascinated by the intersections of people, technology, and environments, and I’m looking to help solve vital problems at a design-focused company.
Find me on LinkedIn or shoot me an email if you’d like to connect.