Event Location:
5100 Masthead St. N.E.
Albuquerque, New Mexico
Abstract:
The definition of confidence is “belief in oneself and one’s powers or abilities” but the authors of the new book “The Confidence Code” define confidence as “the quality that turns thoughts into actions.” Traditionally men have been found to have much more confidence in themselves than do women. For example, in a study at Hewlett-Packard, men applied for a promotion when they thought they could meet 60% of the qualifications while women applied only when they thought they could meet 100%. Attend this WIT session with panelists Melody Zacharias, Ginger Grant, Amy Herold, and Meredith Ryan to learn more about confidence and how it impacts your career and life. To prepare for the session, it is recommended that you complete The Confidence Quiz (http://theconfidencecode.com/confidence-quiz/) before the event and print out the results and recommendation. NOTE: You will not be required to share your results with the other participants during the session.
Speaker(s): Meredith Ryan-Smith,
Abstract:
Technology has revolutionized the way organizations run today. Rather than a few file cabinets, organizations use many different software packages and applications that are mission critical to running their business. These systems gather a large amount of valuable data that must be used in decision making to maintain a competitive advantage. However, we've all heard and likely been around when mission critical systems have been rendered useless due to long running reports. To solve this and a host of other source system reporting issues we have proven Data Warehousing techniques to store the data in a report friendly way. Dimensional modeling is one of the most widely used set of techniques that will provide source system relief for reporting. In this session, we will take a look at what Dimensional Modeling is along with some key terms and techniques.
Speaker(s): Marc Beacom,
Abstract:
This session will provide an introduction to Master Data Management (MDM). We explore the basic concepts, types of MDM solution, and the basics for a successful MDM Implementation. With a working definition in hand, we'll discuss strategies for beginning a successful MDM pilot in your organization and look at some of the pitfalls to avoid. We'll wrap the business discussion up with some tips for selecting the right domains to solve and some tips for managing the politics of MDM. After we've set the stage for what, how and why you need MDM, we'll take a brief look at SQL Server MDS through the Excel add-in and talk about the Architecture of MDS
Speaker(s): John McAllister,
Abstract:
A high performing data tier does not happen by accident. High quality shops understand that performance must be designed as a feature. While SQL Server remains one of the most popular databases in the world, the modern software engineer would rather learn Entity Framework, Dapper, or ORMLite over straight TSQL. Since the TSQL keys have in many cases been handed over to a service tier or ORM, maintaining a high performing database in this environment places significant emphasis on fundamental design. This session will identify the 5 most important factors that every database requires to support "performance as a feature". This session is for the Software Engineer or DBA/Data Architect/DBE who works with database servers where TSQL has b
Speaker(s): Russ Thomas,
Abstract:
All data warehouses need a date and time dimension to enable proper analysis across time. Most Data Warehouse designers will just use one provided by tools or whip it up in Excel, but what if you need to set up custom holidays or want different calendars, such as Fiscal or Julian? You can have any date and time dimension you need by using a single SQL script that can be modified and rerun as necessary. Learn what it takes to design a date and time dimension that does all of the calculations and formatting up-front so the reports can be easier to create. Sample script will be provided that creates the date and time dimensions and can be reused as often as necessary without breaking your data warehouse and it only take seconds to run!
Speaker(s): Steve Wake,
Abstract:
The volume of data addressed by the typical ETL operation is constantly on the rise. Not so many years ago, a table with a few million records was considered to be huge. These days, it's not uncommon to deal with multibillion row tables. As a result, ETL professionals are frequently tasked with finding efficient ways to incrementally process these large sets of data without resorting to expensive and time-consuming destructive reloads. In this session, we will review the common decision points surrounding incrementally loading data, and will demonstrate some of the methods for incremental processing. Among the topics of discussion: --Deciding whether an incremental load is appropriate --Pick your tool: T-SQL or SSIS? --Methods for detecting new and changed records --Common incremental load design patterns
Speaker(s): Tim Mitchell,
Abstract:
Often times, an Oracle DBA is given the new responsibility of administering SQL Server Instances. Or, conversely a SQL Server DBA has been given Oracle database instances to manage. This session provides a general survival guide to assist with the DBA’s journey to the “other-side”. An overview will be presented on the differences similarities between Oracle and SQL server in the areas of: terminology, object structures, memory, storage architecture, back recovery, basic administration, data transfers, security and performance analysis. We’ll discuss steps strategies to help guide you in learning this new database skill set, and also look at common performance analysis tools which can be used across both Oracle and SQL Server databases. Whether a DBA, developer or manager, this overview will help gain a basic understanding of the key similarities and differences between SQL Server Oracle.
Speaker(s): Trent Sherman,
Abstract:
Communicating. We all do it, every day. But can you do it better? You present to management, share with peers, advise your direct reports. A common thread of success or failure here is how well you get your message across. Can you share bad news and soften the blow with humor while respecting the nature of the news you have to deliver? Can you support your direct reports when they make a very human mistake? Do you know how you communicate your support without micromanaging them can make a huge difference in the quality of their work for years to come? These questions and more will be answered, with stories, with humor, and with experience (both good and bad). Once you've figured these things out, how do you communicate your own skills to the world? After attending, you’ll be on the road to better, more direct communication, whether it’s with your management, your peers, or your reports.
Speaker(s): Tom Roush,
Abstract:
Presenting BI in a sophisticated look that is both user friendly and easy to use can be challenging. In this session I will review the three major types of dashboards (Operational, Strategic, and Analytical). Using Visio, SSRS, SharePoint and Pyramid Analytics I will demonstrate examples of each of the dashboard types.
Speaker(s): Jeff Renz,
Abstract:
In this session, you’ll learn about SQL Server stored procedures (SPs): what they are, when and why you'd use them, and how you'd go about developing a solution with one. We will address common SP myths and learn about planning for performance. Most of all, we’ll walk through examples to explore the process of solution building in SQL Server.
Speaker(s): Jennifer McCown,
Abstract:
Join Microsoft Certified Master, Jason Brimhall, as he examines numerous database design and coding implementations that they have seen over the years. They will explore these implementations and show how they can be murder on SQL Server in terms of performance, security, storage and even accuracy. You will learn how you can identify these “killers” and how you can implement alternatives that will keep data professionals, management, and end-users happy. All while keeping your databases happy, secure, turbo-charged and healthy. This is the Solo version of the Joint version normally done as an all-day precon
Speaker(s): Jason Brimhall,
Abstract:
Social Networking/Media is all over the news today. Did you see that on Facebook? Johnny 5 said what on Twitter?? Can you believe Susie moved to that company?? Do any of those sound familiar? No? Never heard of Twitter? Don't have any fear as this session is for you! Social networking can be a very confusing place and when you don't know where to start, that makes it even worse. In this session, we will go over different facets of Social Networking/Media and how you can use them to enhance not only your personal lives but just as importantly, your professional one. We'll be covering Facebook, LinkedIn and Twitter.
Speaker(s): John Morehouse,
Abstract:
Interested in making SSIS perform faster? Do you wonder what the best practices for writing Packages really are? This session reviews how to create SSIS packages to perform as quickly as possible by revealing the Top 10 things you can do to improve the performance of your packages.
Speaker(s): Ginger Grant,
Abstract:
How to handle and track changes in a data warehouse dimension table is an important dimensional modeling consideration. The dimension tables of a data warehouse need to be designed to appropriately store a history of attribute changes over time. The ETL processes need to detect these changes and correctly update the dimensional table to preserve historical accuracy. Finally, fact records need to be associated with the correct historical version of the dimension. In this presentation, a SQL Server Integration Services (SSIS) will be demonstrated that creates an ETL data flow which will load a dimensional table with both Type 1 and Type 2 dimensional attributes.
Speaker(s): Ron Beatty,
Abstract:
How does your shop keep track of changes to your database schema? What are the database deployment procedures? Do you just make changes directly in production? In this beginner level session you will learn how to easily manage your database schema by leveraging SSDT in Visual Studio with Database Projects, create deployment scripts, and generate re-runnable deployment packages called DACPAC's. We will review how source control interacts with database projects as well as discuss how you can use PowerShell to automate your database deployments.
Speaker(s): Jason Kassay,
Abstract:
Developing repetitive strain injury (RSI) from all those mouse clicks in Business Intelligence Development Studio/SQL Server Data Tools? Longing to automate the tedium in SQL Server Integration Services package creation? In this session, we’ll explore the Integration Services object model and learn how to create rich packages without ever clicking our mouse. You’ll learn about the basic object model, the EzAPI wrapper for it, as well as using BIMLScript to build moderately complex packages.
Speaker(s): Bill Fellows,
Abstract:
We all appreciate a well-defined and well-tuned stored procedure. But sometimes the problem calls for a more dynamic solution. What are those problems and how do you generate SQL to solve them? After attending this session, you will be able to identify situations that call for dynamic SQL and address them with rapid, maintainable, and secure code.
Speaker(s): Jay Robinson,
Abstract:
We will discuss some of the most important things that you as a Data Professional can document to make your job much easier, ensure information consistency between groups, and better prepare your organizations for raising the bar on your day to day business. Think of this as a sort of Database Library that allows you to finally detail the processes you follow currently to perform repetitive tasks. This Library will also allow you to simply document your systems for your and others knowledge.
Speaker(s): TJay Belt,
Abstract:
Stop relying on vendors to provide you with performance data. Between Windows and SQL Server you’ve already got all you need to collect and report on server performance. And it’s far more flexible than you’ll ever get from a vendor. This is often called a poor man’s method, but it’s so much more than that. I’m going to show you what your options are for collecting performance data for free and you’ll even walk away with a framework you can plug into your own environment and start using tomorrow with very little effort.
Speaker(s): Sean McCown,
Abstract:
This presentation will compare and contrast set operations with Except, Intersect, and Unions compared with performance of accomplishing the same tasks with inner, outer, and full join queries.
Speaker(s): Thane Schaffer,
Abstract:
A journey through best practices in relation to scalable SQL Server Analysis Services cube design. From dimension design to SSAS engine internals we will explore SSAS multidimensional design patterns that will take you through steps to assist in getting your SSAS cubes better optimized to better match the needs of your organization. After this session you will be able to take these performance design patterns and apply them to new and existing cubes to tune your SSAS cube environment.
Speaker(s): Alan Faulkner,
Abstract:
The optimizer uses statistics to generate a cardinality estimate which, in turn, affects query plan decisions as well as system resources. In this session we're going to step through the process of evaluating the statistics present (or not present) and present a methodology for analyzing the presence of skew, candidate filtered statistics, and their efficacy in an environment. Additionally, we'll look at the impacts of the new Cardinality Estimator in SQL Server 2014 on plan generation This would, ultimately, be an excellent addition to any periodic SQL Server health check.
Speaker(s): Seth Washeck,
Abstract:
Parameter sniffing is something that more than often helps performance on your servers; however, there are times when it can hinder performance as well. In this session we will define exactly what parameter sniffing is, and examine when it is good and when it is bad. Lastly, we will explore the different options available to fix bad parameter sniffing. After this session, you will be able to locate and fix bad parameter sniffing when it occurs on your servers.
Speaker(s): Lance Tidwell,
Abstract:
Have you dipped your toe into the Powershell pool, but are still lost on how you can make it work for you? Maybe you're just looking for a few more tools to help you better manage SQL Server administration? In this session, we will cover a handful of useful scripts and patterns in Powershell that will ease your management of SQL Server. Backups, file management, instance configuration, and several other areas will be covered. By attending this session, you will learn more about how you can use Powershell effectively in your environment.
Speaker(s): Michael Fal,
Abstract:
Is your database normal? While being different and off-beat can be good for your personal life it is not a happy situation for your database to live in. Databases like to be normal! Join me for a fun and informational session on how to create a normal database and find out why it is important. We will also talk about how to make a database normal using queries so you can benefit from normalcy without having to go through major psychotherapy.
Speaker(s): Leslie Andrews,
Abstract:
We've all installed SQL Server and, most of the times, the default settings work just fine. This is a beginner session that will help you to understand what those settings mean along with why there might be times that you want to use something other than the defaults and how that might impact your server. We'll also go through unattended installs, both with and without a config file. This can really help to standardize your SQL Server installations and save you some precious keystrokes.
Speaker(s): Lori Edwards,
Abstract:
Follow along as we adventure through the vastness that is Availability Groups in SQL Server. In this beginners guys we show you how to make an Availability Group from scratch, the new system tables that go along with Availability Groups, and how to troubleshoot your Availability Group using the system tables and SSMS.
Speaker(s): Christopher Wolff,
Abstract:
Covering the basics for the beginner and those that have been thrown into a modeling role and have been cowboy’n it like the Wild West. We’ll cover why you should bother with a conceptual model and invest some of your project time in the modeling task. We will go over some different modeling techniques around Normalized, Dimensional and Data Vault options. And lastly, considerations for scalability, sustainability and empowering you with a Data Access Layer so you stay in control of your architecture as opposed to the application beast. Yee-Haw!
Speaker(s): Leslie Weed,
Abstract:
SQL 2012 best practices for data transformation
Speaker(s): B. Diane Blackwood,
Abstract:
You are a Developer (.NET, SQL or otherwise) but you have been doing some DBA work and have now decided that is all you want to do - how do you make the transition? What do you need to know? This session will cover this topic from first-hand experience.
Speaker(s): Amy Herold,
Abstract:
This will be an action-packed culmination of entertainment, story telling, jokes, and data wizardry using the next generation of Power BI!
Speaker(s): Matt Smith,
Abstract:
Still not sure of which is faster? Let us put this matter to rest once and for all. We will measure every single aspect of the execution of a stored procedure vs. its Ad-Hoc query counterpart, and only one will prevail! We will look at raw performance, memory consumption, plan cache usage, and network bandwidth utilization. We will also discuss options for environments on which the code cannot be modified.
Speaker(s): Argenis Fernandez,
Abstract:
Do your backups take too long? Do you know how to determine how long they are taking? Would you like database backups to run faster without having to ask for faster hardware? Then come learn some tips and tricks to make your SQL database backups run faster. In this session, we’ll look at several tangible things that you can take back to your environment and make an immediate measurable difference.
Speaker(s): Melody Zacharias,
Abstract:
n this heavily demo based session, we show some techniques for performance tuning common problems faced by DBA's Including: how to identify the problem, resolve the issue, and test the solution. Along the way we will also discuss some of theory behind the solutions. We all know there is no such thing as DBCC GO_FASTER but this session is the next best thing.
Speaker(s): Jason Horner,
Abstract:
Have you wondered which high availability features might be best for your shop? In this session we will go over a quick look at log shipping, database mirroring, transactional replication, failover cluster instances and availability groups. John will identify pros and cons for each features and share some tips from the field.
Speaker(s): John Sterrett,
Abstract:
So you have a SQL Server database, and you want a web site for your tables? Come see how to develop and deploy a simple .NET website against any SQL Server database. See firsthand how to use Microsoft’s Entity Framework, ASP.Net MVC and other tricks to develop a website by writing very little code. Take home the ability to create and deploy a simple website to your own database once this demonstration is seen.
Speaker(s): Gabriel Villa,
This is a list of speakers from the XML Guidebook records. The details and URLs were valid at the time of the event.
LinkedIn: http://www.linkedin.com/in/jasonhorner
Contact: http://blog.jasonhorner.com
Hi, my name is Jason I'm a practice lead at Redapt. I spend most of my day helping clients solve business problems mostly in the Data and Advanced Analytics spaces. Sometimes this involves various and sundry cloud technologies including Azure Data Factory, Azure SQL Data Warehouse, Azure Data Lake Store, Azure Databricks, HDInsight and Azure SQL Database. I'm fluent in several languages including: SQL, C#, Python, and PowerShell. I'm a Microsoft Certified Master of SQL Server (MCM) and have been recognized for my technical excellence and evangelism efforts by Microsoft by being awarded the Most Valuable Professional (MVP) for the last 5+ years. In my off hours I like to snowboard, karaoke, ride roller coasters, and play arcade games
LinkedIn: http://www.linkedin.com/in/argenis
Contact: http://blog.purestorage.com/author/argenisfernandez/
Argenis is a Principal Architect at Pure Storage. He works with customers around the world to make sure they don’t have to worry much about their infrastructure for Data. He is a former Data Platform MVP, former VMware vExpert, Microsoft Certified Master, and more recently worked in the Microsoft Azure Data/SQL Server engineering team as a Principal PM in the Tiger team.
Contact: http://www.blackwood.org
Diane Blackwood has spent her 15 year technology career integrating systems and making information available to a wider corporate audience. She works for Strafford Technology as a senior consultant doing business intelligence/corporate performance management software implementations. She has been with Strafford since 2008.
LinkedIn: http://www.linkedin.com/in/aherold
Contact: http://www.sqlkitten.com/
Amy Herold is currently a Premier Field Engineer with Microsoft, specializing in APS. Prior to this, she was a Sr. Database Administrator, focusing on PowerShell and automation. She is also currently the Director of Programs for the North Texas SQL Server User Group (NTSSUG). She frequently speaks at SQLSaturday and user group events across the United States and has also participated in numerous Women in Technology sessions as a panelist. Amy currently blogs at sqlkitten.com.
LinkedIn: http://www.linkedin.com/in/loriedwards/
Contact: http://www.sqlservertimes2.com
Lori Edwards currently holds the position of Solutions Engineer for SentryOne. Prior to working with SQLSentry, she spent 11 years working as a production DBA. She also has volunteered for PASS since 2009 on the Program Committee, ERC, Nomination Committee and speaking at SQLSaturdays.
Matt is currently a Data Platform Business Intelligence Technology Solution Professional at Microsoft and works heavily with Enterprise level architectural, analytical, operational solutions. His technical and leadership experience spans numerous industries. He has a strong interest in remaining tactical in while working at the strategic level. His goal is to assist clients in analyzing, cleansing, and presenting their data so they can make more educated decisions about their business.
LinkedIn: https://www.linkedin.com/in/michaelfal/
Contact: http://mikefal.net
Mike is a specialist in data management technologies. As a community advocate, public speaker, and blogger, Mike is a practicing thought leader for data and automation. He is passionate about DevOps and data, building platforms to optimize, protect, and use data efficiently. Since 1999, Mike has been working in the database field, focusing primarily on SQL Server and specializes in automating data solutions to improve the reliability and efficiency of his environments. He has been caught playing trombone in public on more than one occasion.
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/pub/leslie-andrews-csm/9/491/b89
Contact: https://www.lace.technology/blog
Leslie Andrews is an IT professional with almost 20 years of experience working with databases, designing databases, as well as designing and developing applications against those databases. 2018-2019 Idera ACE.
Contact: http://dawabi.com/blog.aspx
Marc Beacom is President of DawaBI, a Data Warehouse and Business Intelligence Consultancy firm focusing on Making Data-Driven Decisions Possible. He has been working with SQL Server for over a decade delivering scalable solutions for organizations of all sizes. He has earned several industry certifications and degrees. Marc is an active member of the community and has volunteered for many organizations such as PASS, Denver SQL, Colorado GiveCamp, Camp To Belong, to name a few.
LinkedIn: http://www.linkedin.com/in/tjaybelt/
Contact: http://tjaybelt.blogspot.com
TJay Belt is an outdoorsman at heart who enjoys riding dirtbikes, waterskiing, boating, playing racquetball and spending time with his family. When he can't be out playing, TJay loves to tinker with databases. TJay has been an IT professional for over a decade and a half. Currently serving as a Senior Database Administrator with Imagine Learning. TJay has progressed through several roles in his database career including developer, data guy, database developer, database analyst and DBA.
LinkedIn: https://www.linkedin.com/in/dbajbrimhall/
Contact: http://jasonbrimhall.info
Jason Brimhall has more than 20 years of experience and has worked with SQL Server 6.5 through SQL Server 2019. He has experience in performance tuning, high transaction environments, and large environments. He is currently a consultant specializing in performance tuning, server analysis, and problem resolution. Jason is a Microsoft Certified Master (MCM) and a Data Platform MVP.
Leslie Weed is currently a Data and BI Architect with RevGen Partners in Denver, CO. She has been a SQL Professional specializing in Business Intelligence, data analytics, systems implementation, integration, and solutions delivery for the last 20ish years, including a variety of Enterprise Data Warehouses in various industries.
LinkedIn: https://www.linkedin.com/in/ginger-grant-3a177b157/
Contact: http://www.DesertIsleSQL.com
Ginger Grant manages the consultancy Desert Isle Group and shares what she has learned while working with data technology to people around the world. As a Microsoft MVP in Data Platform, Microsoft Certified Trainer and an instructor on DataCamp, she focuses on guiding clients to create solutions using the entire Microsoft Data Stack, which includes SQL Server, Power BI, and Azure Data Cloud components. When not working, she protypes the latest pre-release data technologies, maintains her blog http://www.desertislesql.com, and spends time on twitter @desertislesql.
LinkedIn: https://www.linkedin.com/in/sqlrus
Contact: http://www.sqlrus.com
John Morehouse is currently a Consultant with Denny Cherry Associates living in Louisville, Kentucky. With over 2 decades of technical experience in various industries, John now focuses on the Microsoft Data platform and specializes in Microsoft SQL Server. He is honored to be a Microsoft Data Platform MVP, VMWare vExpert, Friend of Red Gate, Sentry One PAC member Community Ambassador, and 2016 Idera Ace. John has a passion around speaking, teaching technical topics, and giving back to the technical community as much as possible. He is a user group leader, SQLSaturday organizer, and former PASS regional mentor. He is also a blogger, avid tweeter, and a frequent speaker at SQLSaturday’s as well as other conferences.
LinkedIn: https://www.linkedin.com/pub/thane-schaffer/1a/4/874
Contact: http://sqlambassador.blogspot.com/
Over 25 years of IT experience focusing on software development during much of his career, Thane has in recent years focused on database development, architect/design, modeling, administration, and ETO focused ERP systems. His current position as a DBA at Transcore in Albuquerque NM provides a opportunities to do much of everything that a database generalist would enjoy doing.
Contact: http://www.MidnightDBA.com/Jen
Jen McCown is CEO of MinionWare, LLC; a Microsoft Certified Master for SQL Server; and an independent consultant. She is Senior Editor at MidnightDBA.com, where she creates training videos, the DBAs at Midnight webshow, blogs, reviews, and podcasts. Jen is a member, volunteer, and speaker in PASS, and the PASS Women in Technology Virtual Group.
Contact: http://meredithryansmith.wordpress.com
Meredith is the database administrator for The Bell Group. With more than 10 years of experience in IT, Meredith’s responsibilities have included everything from manning the Help Desk to VAX/VMS cluster administration. Most recently she has served as the production database administrator specializing in cluster administration and performance. Meredith has attended seven PASS Summits, and had volunteered with the WIT Virtual Chapter since early 2009. Most recently Meredith became the chapter leader for the Women In Technology Virtual Chapter, and has kept busy speaking at SQLSaturday events in the western half of the US.
LinkedIn: http://www.linkedin.com/in/johnbmcallister
Contact: http://www.profisee.com
John McAllister co-founded Stratature, an Independent MDM software vendor, in 2001. Following Microsoft’s acquisition of Stratature in 2007 John served as Group Program Manager for MDS and oversaw the incorporation of MDM into SQL Server. John now serves as the Regional Sales Director for Profisee, Inc. which provides enterprise-class MDM Solutions built on top of Microsoft’s MDS offering. John has worked with 100’s of organizations around the world in all phases of MDM projects.
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 SQLSaturdays. He blogs at TimMitchell.net, and tweets at @Tim_Mitchell.
Contact: http://lancetidwell.com
Lance Tidwell, from the Austin, TX, area, has worked as a SQL Server DBA for the last 11 years. During his time as a DBA he has found his passion for all things SQL, but specifically for performance tuning. He has a life-long quest to always be learning new things; currently this quest has lead him to explore more about the Data Analytics/ Data Science areas.
Trent Sherman has over 25 years of overall IT experience and over 20 years of DBA experience primarily in the telecommunications amp; software industries using Oracle amp; SQL Server. He is currently an Engineer/DBA with Confio Corporation, recently acquired by Solarwinds. Prior to Solarwinds, Trent worked as a Senior Infrastructure Architect, Technical Manager, DBA, Developer and Design architect in several OLTP amp; VLDB/Data Warehouse database environments.
LinkedIn: https://linkedin.com/in/swasheck
Contact: http://swasheck.wordpress.com
Seth Washeck, SentryOne senior solutions engineer, is a longtime SQL Server DBA, active member of the Denver SQL Server User Group, and frequent speaker at SentryOne events. He was formerly senior SQL Server DBA at OppenheimerFunds, and DBA of Baxter Healthcare.
LinkedIn: http://www.linkedin.com/pub/jeff-renz/29/82a/aa4
Contact: http://www.revgen.com
Jeff Renz is a Senior Architect at RevGen Partners, currently working as the design architect and implementation lead on several projects for a Fortune Top 50 company. Jeff has worked with SQL Server and BI for 15+ years and has 10 years’ experience with data warehouse design and implementation. In addition to consulting, he is joining the University of Denver adjunct faculty and is expected to begin teaching in the ICT program starting in June. He received his bachelor’s degree in Computer Science, his master’s degree in Operations Research from Colorado School of Mines, and will be graduating from the Harvard Business Analytics Program in December.
LinkedIn: http://www.linkedin.com/in/johnsterrett
Contact: https://johnsterrett.com/community/
John Sterrett is a MCSE: Data Platform, Principal Consultant, and the Founder of Procure SQL LLC. John has experience presenting at community events, including Microsoft Ignite, PASS Member Summit, SQLRally, 24 Hours of PASS, SQLSaturdays, PASS Chapters, and Virtual Chapter meetings. John is a leader of the Austin SQL Server User Group and is the founder of the HADR Virtual Chapter. John's community activities can be found at https://johnsterrett.com/community/
LinkedIn: http://ca.linkedin.com/in/melodyzacharias
Contact: http://sqlmelody.com
Melody is the Sr. Microsoft Solutions Manager at Pure and has been in love with data since 1991. She has been sharing her passion with the community in technical sessions and blogs since 2014. She has been a Microsoft MVP since 2016, including winning Rookie of the year for Canada that year. This last year, she was elected to the board of directors for PASS.org, the professional association for SQL Server and was awarded Regional Director by Microsoft. She has co-authored 3 books, including, SQL Server 2019 Administration inside out by Microsoft Press.
Contact: http://downshiftdata.wordpress.com/
Jay Robinson earned his MCSD and MCSE way back in 1999, getting certified on SQL Server 6.5 and 2000 along the way. A nice and quiet career as a developer followed. And then he came to ExactTarget (now the Salesforce Marketing Cloud) in 2008 and found out what real databases were like. Obsessed with speed, he spends his time writing code that makes big data go fast.
LinkedIn: http://www.linkedin.com/in/billinkc
Contact: http://blog.billfellows.net
Bill Fellows is a SQL Server MVP and has been a database developer for most of his career, with the past 15 years focused on ETL. He is the organizer of Kansas City's eight SQLSaturdays and a speaker at many other SQLSaturdays, User Groups and the PASS Summit. Bill is the owner of Sterling Data Consulting where he gets to solve interesting data problems.
LinkedIn: https://www.linkedin.com/in/gabevilla
Contact: https://extofer.wordpress.com/
Gabriel is a skilled leader, architect, and technical expert focusing primarily on Microsoft technologies and is passionate about open-source technologies for integration, automation, and development. Gabriel’s versatility extends from systems, data and development and leverages hybrid/SaaS/Cloud integration, proven software engineering platforms, and best-of-breed data management and business intelligence solutions. Originally from El Paso, Texas, Gabriel lives in Colorado Springs with his wife and kids, where he is an Architect for RevGen Partners, volunteers in the tech community and enjoys the Colorado outdoors.
LinkedIn: http://www.linkedin.com/pub/russ-thomas/59/601/4b2/
Contact: http://www.sqljudo.com
Prior to focusing full time on IT Management and Database Administration in the Denver Colorado financial sector, Russ spent several years in law enforcement including four as a training Sergeant and Washington CJTC Instructor specializing in Emergency Vehicle Driving at Portland Intl Raceway. An experienced public speaker and trainer, Russ also has two decades of hands on IT work and leadership experience. Russ is a SQL Server Data Platform MCSE and is active in the SQLSaturday community.
LinkedIn: http://www.linkedin.com/pub/alan-faulkner/31/b79/932/
Contact: http://falconteksolutionscentral.com/
I am an IT professional with over 20+ years of progressive technical experience with managing, consulting, software development, data integration architecture, data warehousing, and business intelligence development projects. The focus of my work is to work closely with stakeholders to develop architecture frameworks that align with organizational strategy, processes, and IT assets. Specializing in Business Intelligence (BI), Data Warehousing, database architecture, design and implementation.
LinkedIn: http://linkedin.com/in/jasonkassay
Contact: http://www.JasonKassay.com
Jason Kassay is a database administrator, software engineer amp; speaker from Colorado with over 12 years of experience. He is passionate about SQL Server, programming, release process, automation amp; performance tuning. Jason is an active member of the SQL Server community amp; volunteers/presents at events such as Colorado User Groups, SQLSaturday amp; Colorado GiveCamp. When not tuning databases or coding, Jason will most likely be found spending time with his family, playing hockey or running.
LinkedIn: https://www.linkedin.com/pub/christopher-wolff/11/a07/458
Contact: http://sqlred.blogspot.com/
Chris Wolff has been a developer, report writer, and an admin in Microsoft and SQL Server Space since SQL Server 2000 in industries such as telecommunications, green energy, money transfers, and online accounting. He has been an active member of the Denver SQL User Group since 2011 and enjoys learning new things about computers. His interests includes video games, movies, and enjoying time with his wife and 2 kids.
LinkedIn: http://linkedin.com/in/tomroush
Contact: http://www.geeql.com/
Tom is a master storyteller, known to translate Geek into plain English in a single bound. His wry sense of humor, life experiences and vivid descriptions are skillfully combined with his expertise as a DBA to have you understanding SQL in ways you never thought you would. Tom’s explanations of why to do something are insightful, why *not* to do something enlightening, and the stories behind them, both tech and non-tech, will leave you laughing to the point you forget you’re learning something.
LinkedIn: http://www.linkedin.com/in/b5lurker
Contact: http://blog.wakebi.com
Steve Wake is currently the Principal BI Developer at Brown and Caldwell and has experience in consulting, advertising, media, manufacturing, retail, charities, telecommunications and financial services organizations using the full on-premises Microsoft BI stack. Recent experience with the Azure services: Analysis Services, Logic Apps, Data Factory, Databricks, Snowflake and Power BI. Steve is also very involved in the SQL community, speaking at events around the world.
Ron Beatty is currently a Business Intelligence Developer. Ron has been in the trenches developing software solutions with Microsoft technologies for over 12+ years, with 9 years spent as a SQL Server developer. Ron has been working with the Microsoft BI Stack since SQL Server 2005, specializing in SQL Server Analysis Services, data warehousing, and MDX. Ron has a Bachelor’s degree from UNM in mathematics and a Master’s degree from UT in Biomedical Sciences.
The following is a list of sponsors that helped fund the event.


ESTIndoorLocationView Class Reference
| Inherits from | UIView |
|---|---|
| Declared in | ESTIndoorLocationView.h ESTIndoorLocationView.m |
Properties
location
ESTLocation
object to be drawn.
@property (nonatomic, strong, readonly) ESTLocation *location
Declared In
ESTIndoorLocationView.h
showBeaconOrientation
If YES then a beacons orientation indicator will be displayed.
@property (nonatomic, assign) BOOL showBeaconOrientation
Declared In
ESTIndoorLocationView.h
showTrace
If YES then a trace will be displayed.
@property (nonatomic, assign) BOOL showTrace
Declared In
ESTIndoorLocationView.h
rotateOnPositionUpdate
If YES then the view will be rotated so the position indicator will always be pointing up.
@property (nonatomic, assign) BOOL rotateOnPositionUpdate
Declared In
ESTIndoorLocationView.h
locationDrawn
Determines if location was drawn successfully.
@property (nonatomic, assign, readonly) BOOL locationDrawn
Declared In
ESTIndoorLocationView.h
Styling properties
positionView
View representing current position indicator
@property (nonatomic, strong) UIView *positionView
Declared In
ESTIndoorLocationView.h
positionImage
Image used as current position indicator.
@property (nonatomic, strong) IBInspectable UIImage *positionImage
Declared In
ESTIndoorLocationView.h
locationBorderColor
Color of the location boundary.
@property (nonatomic, strong) IBInspectable UIColor *locationBorderColor
Declared In
ESTIndoorLocationView.h
locationBorderThickness
Thickness of the location boundary.
@property (nonatomic, assign) IBInspectable NSInteger locationBorderThickness
Declared In
ESTIndoorLocationView.h
doorColor
Color of the location door.
@property (nonatomic, strong) IBInspectable UIColor *doorColor
Declared In
ESTIndoorLocationView.h
doorThickness
Thickness of the location door.
@property (nonatomic, assign) IBInspectable NSInteger doorThickness
Declared In
ESTIndoorLocationView.h
windowColor
Color of the location window.
@property (nonatomic, strong) IBInspectable UIColor *windowColor
Declared In
ESTIndoorLocationView.h
windowThickness
Thickness of the location window.
@property (nonatomic, assign) IBInspectable NSInteger windowThickness
Declared In
ESTIndoorLocationView.h
traceColor
Color of the location trace.
@property (nonatomic, strong) IBInspectable UIColor *traceColor
Declared In
ESTIndoorLocationView.h
traceThickness
Thickness of the trace.
@property (nonatomic, assign) IBInspectable NSInteger traceThickness
Declared In
ESTIndoorLocationView.h
wallLengthLabelsColor
Color of the wall length labels.
@property (nonatomic, strong) IBInspectable UIColor *wallLengthLabelsColor
Declared In
ESTIndoorLocationView.h
showWallLengthLabels
If YES then wall length labels will be displayed.
@property (nonatomic, assign) IBInspectable BOOL showWallLengthLabels
Declared In
ESTIndoorLocationView.h
Drawing
– drawLocation:
Draws a graphical representation of ESTLocation
object.
- (void)drawLocation:(ESTLocation *)location
Parameters
location |
Object representing current location. |
|---|
Declared In
ESTIndoorLocationView.h
– drawLocation:inRegionOfInterest:
Draws a graphical representation of ESTLocation
object
cropped to only include things explicitly inside the chosen
region (defined by bounding box).
- (void)drawLocation:(ESTLocation *)location inRegionOfInterest:(CGRect)regionOfInterest
Parameters
location |
Object representing current location. |
|---|---|
regionOfInterest |
Region of interest to be drawn |
Declared In
ESTIndoorLocationView.h
– drawObject:withPosition:
Draws a view that represents a real object at given position.
- (void)drawObject:(UIView *)object withPosition:(ESTPoint *)position
Parameters
object |
View representing a real object. |
|---|---|
position |
Object representing position in the location. |
Declared In
ESTIndoorLocationView.h
– updatePosition:
Updates current position indicator to the given position. If position is nil, indicator is hidden.
Will throw an exception if called without first calling drawLocation:
.
- (void)updatePosition:(ESTOrientedPoint *)position
Parameters
position |
Object representing current position in the location. |
|---|
Declared In
ESTIndoorLocationView.h
– clearTrace
Clears the trace.
Will throw an exception if called without first calling drawLocation:
.
- (void)clearTrace
Declared In
ESTIndoorLocationView.h
– calculatePictureCoordinateForRealX:
- (CGFloat)calculatePictureCoordinateForRealX:(double)realX
Parameters
realX |
X coordinate with regards to room (in meters). |
|---|
Return Value
X coordinate with regards to drawn location in this view.
Declared In
ESTIndoorLocationView.h
– calculatePictureCoordinateForRealY:
- (CGFloat)calculatePictureCoordinateForRealY:(double)realY
Parameters
realY |
Y coordinate with regards to room (in meters). |
|---|
Return Value
Y coordinate with regards to drawn location in this view.
Declared In
ESTIndoorLocationView.h
– calculateRealCoordinateForPictureX:
- (CGFloat)calculateRealCoordinateForPictureX:(double)pictureX
Parameters
pictureX |
X coordinate with regards to drawn location in this view. |
|---|
Return Value
X coordinate with regards to room (in meters).
Declared In
ESTIndoorLocationView.h
– calculateRealCoordinateForPictureY:
- (CGFloat)calculateRealCoordinateForPictureY:(double)pictureY
Parameters
pictureX |
Y coordinate with regards to drawn location in this view. |
|---|
Return Value
Y coordinate with regards to room (in meters).
Declared In
ESTIndoorLocationView.h


 I AM EXPECTING YOUR URGENT MAIL RESPONSE.    YOUR SINCERELY, MISS JAN CHARLES TAYLOR FREETOWN SIERRA LEONE
|


A connector to the 'What3Words' (http://what3words.com/) service, which represents each 3m by 3m square on earth with a unique trio of English-language words.
| Version: | 0.1.0 |
| Imports: | httr |
| Suggests: | testthat |
| Published: | 2015-08-08 |
| Author: | Oliver Keyes |
| Maintainer: | Oliver Keyes <ironholds at gmail.com> |
| License: | MIT + file LICENSE |
| NeedsCompilation: | no |
| Materials: | README NEWS |
| In views: | WebTechnologies |
| CRAN checks: | threewords results |
| Reference manual: | threewords.pdf |
| Package source: | threewords_0.1.0.tar.gz |
| Windows binaries: | r-devel: threewords_0.1.0.zip, r-release: threewords_0.1.0.zip, r-oldrel: threewords_0.1.0.zip |
| OS X binaries: | r-release: threewords_0.1.0.tgz, r-oldrel: threewords_0.1.0.tgz |
Please use the canonical form https://CRAN.R-project.org/package=threewords to link to this page.


RENAISSANCE MAN A film review by Michael John Legeros Copyright 1994 Michael John Legeros
Directed by Penny Marshall Written by Jim Burnstein Cast Danny DeVito, Gregory Hines, James Remar, and Kadeem Hardison. MPAA Rating "PG-13" Running Time Approx. 125 minutes
==
"It's the sound of hell." - DeVito's reaction to the noise of 4 AM PT.
This is the Army? Clean-talking, soft-spoken drill sergeants? Cadence calling to the tune of "Tiny Bubbles?" Has Disney transformed our nation's fighting force into a pack of PC professionals?
Or, in the case of RENAISSANCE MAN, not-so-professionals.
The eight recruits assigned to ad-man-turned-teacher Bill Rago (Devito) are bottom-of-the-barrel at best.  In comes Rago, a civilian instructor who discovers in his students a hankering for "Hamlet."
Think DEAD POETS SOCIETY-in-fatigues. Director Penny Marshall-- who specializes in these squishy, celluloid hugs--serves up sterile soldiers in a super-safe story with a happy happy ending for everyone. Suspense? At ease. Even DeVito gets a late-entry love-interest in this one. Puh-lease.
Sugar content notwithstanding, RENAISSANCE MAN *is* watchable. The humor is good and anyone with a military background can savor such succulent bits as DeVito getting directions from a base guard. Of course, *any* Army-as-a-way-of-life film is amusing when poking fun at the retentive rigidity of military command.
The film's characterizations are comfortably callow. Writer Jim Burnstein never fleshes out the role of Bill Rago. Nor is the diminutive director the best person for the part. (He never comes as alive as the role requires.) But DeVito's a lovable lout and he carries the film.
Rago's roster of students include TV actor Kadeem Hardison and rapper Marky Mark. They and the other recruits are all engaging, despite their cliched characterizations. Other strong supporters include Gregory Hines, James Remar, and, for two scenes, Cliff Robertson.
Running right at two-hours-plus-change, RENAISSANCE MAN is a long-sit. There are *some* rewards, such as the curious sight of DeVito rappelling from a training tower. The comedy is okay, but the feel-good drama doesn't wash with the subject matter.
Then again, how can you trash a film that tries to bring "Hamlet" to the masses? To gripe or not to gripe, that is the question.
BOTTOM LINE: An appropriate Memorial Day delivery, RENAISSANCE MAN is a squishy, everybody-learns-a-valuable-lesson comedy about eight military misfits who learn to love Shakespeare. Dismissed.
Grade: C+
.
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


prelink
Section: Maintenance Commands (8)Updated: 01 March 2007
Index Return to Main Contents
NAME
prelink - prelink ELF shared libraries and binaries to speed up startup timeSYNOPSIS
prelink [OPTION...] [FILES]DESCRIPTION
prelink is a program that modifies ELF shared libraries and ELF dynamically linked binaries in such a way that the time needed for the dynamic linker to perform relocations at startup significantly decreases. Due to fewer relocations, the run-time memory consumption decreases as well (especially the number of unshareable pages). The prelinking information is only used at startup time if none of the dependent libraries have changed since prelinking; otherwise programs are relocated normally.prelink first collects ELF binaries to be prelinked and all the ELF shared libraries they depend on. Then it assigns a unique virtual address space slot to each library and relinks the shared library to that base address. When the dynamic linker attempts to load such a library, unless that virtual address space slot is already occupied, it maps the library into the given slot. After this is done, prelink, with the help of dynamic linker, resolves all relocations in the binary or library against its dependent libraries and stores the relocations into the ELF object. It also stores a list of all dependent libraries together with their checksums into the binary or library. For binaries, it also computes a list of conflicts (relocations that resolve differently in the binary's symbol search scope than in the smaller search scope in which the dependent library was resolved) and stores it into a special ELF section.
At runtime, the dynamic linker first checks whether all dependent libraries were successfully mapped into their designated address space slots, and whether they have not changed since the prelinking was done. If all checks are successful, the dynamic linker just replays the list of conflicts (which is usually significantly shorter than total number of relocations) instead of relocating each library.
OPTIONS
- -v --verbose
- Verbose mode. Print the virtual address slots assigned to libraries and what binary or library is currently being prelinked.
- -n --dry-run
- Don't actually prelink anything; just collect the binaries/libraries, assign them addresses, and with -v print what would be prelinked.
- -a --all
- Prelink all binaries and dependent libraries found in directory hierarchies specified in /etc/prelink.conf. Normally, only binaries specified on the command line and their dependent libraries are prelinked.
- -m --conserve-memory
- When assigning addresses to libraries, allow overlap of address space slots provided that the two libraries are not present together in any of the binaries or libraries. This results in a smaller virtual address space range used for libraries. On the other hand, if prelink sees a binary during incremental prelinking which puts together two libraries which were not present together in any other binary and were given the same virtual address space slots, then the binary cannot be prelinked. Without this option, each library is assigned a unique virtual address space slot.
- -R --random
- When assigning addresses to libraries, start with a random address within the architecture-dependent virtual address space range. This can make some buffer overflow attacks slightly harder to exploit, because libraries are not present on the same addresses across different machines. Normally, assigning virtual addresses starts at the bottom of the architecture-dependent range.
- -r --reloc-only=ADDRESS
- Instead of prelinking, just relink given shared libraries to the specified base address.
- -N --no-update-cache
- Don't save the cache file after prelinking. Normally, the list of libraries (and with -m binaries also) is stored into the /etc/prelink.cache file together with their given address space slots and dependencies, so the cache can be used during incremental prelinking (prelinking without -a option).
- -c --config-file=CONFIG
- Specify an alternate config file instead of default /etc/prelink.conf.
- -C --cache-file=CACHE
- Specify an alternate cache file instead of default /etc/prelink.cache.
- -f --force
- Force re-prelinking even for already prelinked objects whose dependencies are unchanged. This option causes new virtual address space slots to be assigned to all libraries. Normally, only binaries or libraries which are either not prelinked yet, or whose dependencies have changed, are prelinked.
- -q --quick
- Run prelink in quick mode. This mode checks just mtime and ctime timestamps of libraries and binaries stored in the cache file. If they are unchanged from the last prelink run, it is assumed that the library in question did not change, without parsing or verifying its ELF headers.
- -p --print-cache
- Print the contents of the cache file (normally /etc/prelink.cache) and exit.
- --dynamic-linker=LDSO
- Specify an alternate dynamic linker instead of the default.
- --ld-library-path=PATH
- Specify a special LD_LIBRARY_PATH to be used when prelink queries the dynamic linker about symbol resolution details.
- --libs-only
- Only prelink ELF shared libraries, don't prelink any binaries.
- -h --dereference
- When processing command line directory arguments, follow symbolic links when walking directory hierarchies.
- -l --one-file-system
- When processing command line directory arguments, limit directory tree walk to a single file system.
- -u --undo
- Revert binaries and libraries to their original content before they were prelinked. Without the -a option, this causes only the binaries and libraries specified on the command line to be reverted to their original state (and e.g. not their dependencies). If used together with the -a option, all binaries and libraries from command line, all their dependencies, all binaries found in directories specified on command line and in the config file, and all their dependencies are undone.
- -y --verify
- Verifies a prelinked binary or library. This option can be used only on a single binary or library. It first applies an --undo operation on the file, then prelinks just that file again and compares this with the original file. If both are identical, it prints the file after --undo operation on standard output and exits with zero status. Otherwise it exits with error status. Thus if --verify operation returns zero exit status and its standard output is equal to the content of the binary or library before prelinking, you can be sure that nobody modified the binaries or libraries after prelinking. Similarly with message digests and checksums (unless you trigger the improbable case of modified file and original file having the same digest or checksum).
- --md5
- This is similar to --verify option, except instead of outputting the content of the binary or library before prelinking to standard output, MD5 digest is printed. See md5sum(1).
- --sha
- This is similar to --verify option, except instead of outputting the content of the binary or library before prelinking to standard output, SHA1 digest is printed. See sha1sum(1).
- --exec-shield --no-exec-shield
- On IA-32, if the kernel supports Exec-Shield, prelink attempts to lay libraries out similarly to how the kernel places them (i.e. if possible below the binary, most widely used into the ASCII armor zone). These switches allow overriding prelink detection of whether Exec-Shield is supported or not.
- -b --black-list=PATH
- This option allows blacklisting certain paths, libraries or binaries. Prelink will not touch them during prelinking.
- -o --undo-output=FILE
- When performing an --undo operation, don't overwrite the prelinked binary or library with its original content (before it was prelinked), but save that into the specified file.
- -V --version
- Print version and exit.
- -? --help
- Print short help and exit.
ARGUMENTS
Command-line arguments should be either directory hierarchies (in which case -l and -h options apply), or particular ELF binaries or shared libraries. Specifying a shared library explicitly on the command line causes it to be prelinked even if no binary is linked against it. Otherwise, binaries are collected together and only the libraries they depend on are prelinked with them.EXAMPLES
- # /usr/sbin/prelink -avmR
- # /usr/sbin/prelink -vm ~/bin/progx
- # /usr/sbin/prelink -au
- # /usr/sbin/prelink -y /bin/prelinked_prog > /tmp/original_prog; echo $? verifies whether /bin/prelinked_prog is unchanged.
FILES
- /etc/prelink.cache
- Binary file containing a list of prelinked libraries and/or binaries together with their assigned virtual address space slots and dependencies. You can run /usr/sbin/prelink -p to see what is stored in there.
- /etc/prelink.conf
- Configuration file containing a list of directory hierarchies that contain ELF shared libraries or binaries which should be prelinked. This configuration file is used in -a mode to find binaries which should be prelinked and also, no matter whether -a is given or not, to limit which dependent shared libraries should be prelinked. If prelink finds a dependent library of some binary or other library which is not present in any of the directories specified either in /etc/prelink.conf or on the command line, then it cannot be prelinked. Each line of the config file should be either a comment starting with #, or a directory name, or a blacklist specification. Directory names can be prefixed by the -l switch, meaning the tree walk of the given directory is only limited to one file system; or the -h switch, meaning the tree walk of the given directory follows symbolic links. A blacklist specification should be prefixed by -b and optionally also -l or -h if needed. A blacklist entry can be either an absolute directory name (in that case all files in that directory hierarchy are ignored by the prelinker); an absolute filename (then that particular library or binary is skipped); or a glob pattern without a / character in it (then all files matching that glob in any directory are ignored).
SEE ALSO
ldd(1), ld.so(8).BUGS
prelink Some architectures, including IA-64 and HPPA, are not yet supported.
AUTHORS
Jakub Jelinek<EMAIL_ADDRESS>Index
This document was created by man2html, using the manual pages.
Time: 05:34:29 GMT, December 24, 2015


Hello World! My name is Kent. I'm a student developer currently studying BS Computer Science at the University of the Philippines Cebu.
I do programming for fun. On my free time, I usually play computer games with my friends. When I'm not playing, I devote myself on exploring, learning, and creating awesome stuff with technology.
I'm also a core member of DSC UP Cebu. In the future, I aspire to be a software developer.
This is what I've been workin' on lately


STPPaymentContext
@interface STPPaymentContext : NSObject
An STPPaymentContext
keeps track of all of the state around a payment. It will manage fetching a user’s saved payment methods, tracking any information they select, and prompting them for required additional information before completing their purchase. It can be used to power your application’s payment confirmation
page with just a few lines of code.
STPPaymentContext
also provides a unified interface to multiple payment methods - for example, you can write a single integration to accept both credit card payments and Apple Pay.
STPPaymentContext
saves information about a user’s payment methods to a Stripe customer object, and requires an STPCustomerContext
to manage retrieving and modifying the customer.
-
This is a convenience initializer; it is equivalent to calling
initWithCustomerContext:customerContext configuration:[STPPaymentConfiguration sharedConfiguration] theme:[STPTheme defaultTheme]
.Declaration
Objective-C
- (nonnull instancetype)initWithCustomerContext: (nonnull STPCustomerContext *)customerContext;
Swift
init(customerContext: STPCustomerContext)
Parameters
customerContext
The customer context the payment context will use to fetch and modify its Stripe customer. - see: STPCustomerContext.h
Return Value
the newly-instantiated payment context
-
Initializes a new Payment Context with the provided customer context, configuration, and theme. After this class is initialized, you should also make sure to set its
delegate
andhostViewController
properties.See
STPPaymentConfiguration.hDeclaration
Objective-C
- (nonnull instancetype) initWithCustomerContext:(nonnull STPCustomerContext *)customerContext configuration:(nonnull STPPaymentConfiguration *)configuration theme:(nonnull STPTheme *)theme;
Swift
init(customerContext: STPCustomerContext, configuration: STPPaymentConfiguration, theme: STPTheme)
Parameters
customerContext
The customer context the payment context will use to fetch and modify its Stripe customer. - see: STPCustomerContext.h
configuration
The configuration for the payment context to use. This lets you set your Stripe publishable API key, required billing address fields, etc.
theme
The theme describing the visual appearance of all UI that the payment context automatically creates for you. - see: STPTheme.h
Return Value
the newly-instantiated payment context
-
Note: Instead of providing your own backend API adapter, we recommend using
STPCustomerContext
, which will manage retrieving and updating a Stripe customer for you. - see: STPCustomerContext.hThis is a convenience initializer; it is equivalent to calling
initWithAPIAdapter:apiAdapter configuration:[STPPaymentConfiguration sharedConfiguration] theme:[STPTheme defaultTheme]
.Declaration
Objective-C
- (nonnull instancetype)initWithAPIAdapter: (nonnull id<STPBackendAPIAdapter>)apiAdapter;
Swift
init(apiAdapter: STPBackendAPIAdapter)
-
Note: Instead of providing your own backend API adapter, we recommend using
STPCustomerContext
, which will manage retrieving and updating a Stripe customer for you. - see: STPCustomerContext.hInitializes a new Payment Context with the provided API adapter and configuration. After this class is initialized, you should also make sure to set its
delegate
andhostViewController
properties.See
STPPaymentConfiguration.hDeclaration
Objective-C
- (nonnull instancetype) initWithAPIAdapter:(nonnull id<STPBackendAPIAdapter>)apiAdapter configuration:(nonnull STPPaymentConfiguration *)configuration theme:(nonnull STPTheme *)theme;
Swift
init(apiAdapter: STPBackendAPIAdapter, configuration: STPPaymentConfiguration, theme: STPTheme)
Parameters
apiAdapter
The API adapter the payment context will use to fetch and modify its contents. You need to make a class conforming to this protocol that talks to your server. - see: STPBackendAPIAdapter.h
configuration
The configuration for the payment context to use. This lets you set your Stripe publishable API key, required billing address fields, etc.
theme
The theme describing the visual appearance of all UI that the payment context automatically creates for you. - see: STPTheme.h
Return Value
the newly-instantiated payment context
-
Note: Instead of providing your own backend API adapter, we recommend using
STPCustomerContext
, which will manage retrieving and updating a Stripe customer for you. - see: STPCustomerContext.hThe API adapter the payment context will use to fetch and modify its contents. You need to make a class conforming to this protocol that talks to your server.
See
STPBackendAPIAdapter.hDeclaration
Objective-C
@property (readonly, nonatomic) id<STPBackendAPIAdapter> _Nonnull apiAdapter;
Swift
var apiAdapter: STPBackendAPIAdapter { get }
-
The configuration for the payment context to use internally. - see: STPPaymentConfiguration.h
Declaration
Objective-C
@property (readonly, nonatomic) STPPaymentConfiguration *_Nonnull configuration;
Swift
var configuration: STPPaymentConfiguration { get }
-
If you’ve already collected some information from your user, you can set it here and it’ll be automatically filled out when possible/appropriate in any UI that the payment context creates.
Declaration
Objective-C
@property (readwrite, strong, nonatomic, nullable) STPUserInformation *prefilledInformation;
Swift
var prefilledInformation: STPUserInformation? { get set }
-
The view controller that any additional UI will be presented on. If you have a
checkout view controller
in your app, that should be used as the host view controller.Declaration
Objective-C
@property (readwrite, nonatomic, nullable) UIViewController *hostViewController;
Swift
weak var hostViewController: UIViewController? { get set }
-
This delegate will be notified when the payment context’s contents change. - see: STPPaymentContextDelegate
Declaration
Objective-C
@property (readwrite, nonatomic, nullable) id<STPPaymentContextDelegate> delegate;
Swift
weak var delegate: STPPaymentContextDelegate? { get set }
-
Whether or not the payment context is currently loading information from the network.
Declaration
Objective-C
@property (readonly, nonatomic) BOOL loading;
Swift
var loading: Bool { get }
-
The user’s currently selected payment option. May be nil.
Declaration
Objective-C
@property (readonly, nonatomic, nullable) id<STPPaymentOption> selectedPaymentOption;
Swift
var selectedPaymentOption: STPPaymentOption? { get }
-
The available payment options the user can choose between. May be nil.
Declaration
Objective-C
@property (readonly, nonatomic, nullable) NSArray<id<STPPaymentOption>> *paymentOptions;
Swift
var paymentOptions: [STPPaymentOption]? { get }
-
The user’s currently selected shipping method. May be nil.
Declaration
Objective-C
@property (readonly, nonatomic, nullable) PKShippingMethod *selectedShippingMethod;
Swift
var selectedShippingMethod: PKShippingMethod? { get }
-
An array of STPShippingMethod objects that describe the supported shipping methods. May be nil.
Declaration
Objective-C
@property (readonly, nonatomic, nullable) NSArray<PKShippingMethod *> *shippingMethods;
Swift
var shippingMethods: [PKShippingMethod]? { get }
-
The user’s shipping address. May be nil. If you’ve already collected a shipping address from your user, you may prefill it by setting a shippingAddress in PaymentContext’s prefilledInformation. When your user enters a new shipping address, PaymentContext will save it to the current customer object. When PaymentContext loads, if you haven’t manually set a prefilled value, any shipping information saved on the customer will be used to prefill the shipping address form. Note that because your customer’s email may not be the same as the email provided with their shipping info, PaymentContext will not prefill the shipping form’s email using your customer’s email.
You should not rely on the shipping information stored on the Stripe customer for order fulfillment, as your user may change this information if they make multiple purchases. We recommend adding shipping information when you create a charge (which can also help prevent fraud), or saving it to your own database. https://stripe.com/docs/api#create_charge-shipping
Note: by default, your user will still be prompted to verify a prefilled shipping address. To change this behavior, you can set
verifyPrefilledShippingAddress
to NO in yourSTPPaymentConfiguration
.Declaration
Objective-C
@property (readonly, nonatomic, nullable) STPAddress *shippingAddress;
Swift
var shippingAddress: STPAddress? { get }
-
The amount of money you’re requesting from the user, in the smallest currency unit for the selected currency. For example, to indicate $10 USD, use 1000 (i.e. 1000 cents). For more information, see https://stripe.com/docs/api#charge_object-amount
Note
This value must be present and greater than zero in order for Apple Pay to be automatically enabled.
Note
You should only set either this or
paymentSummaryItems
, not both. The other will be automatically calculated on demand using yourpaymentCurrency
.Declaration
Objective-C
@property (assign, readwrite, nonatomic) NSInteger paymentAmount;
Swift
var paymentAmount: Int { get set }
-
The three-letter currency code for the currency of the payment (i.e. USD, GBP, JPY, etc). Defaults to
USD
.Note
Changing this property may change the return value ofpaymentAmount
orpaymentSummaryItems
(whichever one you didn’t directly set yourself).Declaration
Objective-C
@property (readwrite, copy, nonatomic) NSString *_Nonnull paymentCurrency;
Swift
var paymentCurrency: String { get set }
-
The two-letter country code for the country where the payment will be processed. You should set this to the country your Stripe account is in. Defaults to
US
.Note
Changing this property will change thecountryCode
of your Apple Pay payment requests.See
PKPaymentRequest for more information.Declaration
Objective-C
@property (readwrite, copy, nonatomic) NSString *_Nonnull paymentCountry;
Swift
var paymentCountry: String { get set }
-
If you support Apple Pay, you can optionally set the PKPaymentSummaryItems you want to display here instead of using
paymentAmount
. Note that the grand total (the amount of the last summary item) must be greater than zero. If not set, a single summary item will be automatically generated usingpaymentAmount
and your configuration’scompanyName
.See
PKPaymentRequest for more information
Note
You should only set either this or
paymentAmount
, not both. The other will be automatically calculated on demand using yourpaymentCurrency.
Declaration
Objective-C
@property (readwrite, copy, nonatomic) NSArray<PKPaymentSummaryItem *> *_Nonnull paymentSummaryItems;
Swift
var paymentSummaryItems: [PKPaymentSummaryItem] { get set }
-
The presentation style used for all view controllers presented modally by the context. Since custom transition styles are not supported, you should set this to either
UIModalPresentationFullScreen
,UIModalPresentationPageSheet
, orUIModalPresentationFormSheet
. The default value isUIModalPresentationFullScreen
.Declaration
Objective-C
@property (assign, readwrite, nonatomic) UIModalPresentationStyle modalPresentationStyle;
Swift
var modalPresentationStyle: UIModalPresentationStyle { get set }
-
The mode to use when displaying the title of the navigation bar in all view controllers presented by the context. The default value is
automatic
, which causes the title to use the same styling as the previously displayed navigation item (if the view controller is pushed onto thehostViewController
).If the
prefersLargeTitles
property of thehostViewController
‘s navigation bar is false, this property has no effect and the navigation item’s title is always displayed as a small title.If the view controller is presented modally,
automatic
andnever
always result in a navigation bar with a small title.Declaration
Objective-C
@property (assign, readwrite, nonatomic) UINavigationItemLargeTitleDisplayMode largeTitleDisplayMode;
Swift
var largeTitleDisplayMode: UINavigationItem.LargeTitleDisplayMode { get set }
-
A view that will be placed as the footer of the payment options selection view controller.
When the footer view needs to be resized, it will be sent a
sizeThatFits:
call. The view should respond correctly to this method in order to be sized and positioned properly.Declaration
Objective-C
@property (readwrite, strong, nonatomic) UIView *_Nonnull paymentOptionsViewControllerFooterView;
Swift
var paymentOptionsViewControllerFooterView: UIView { get set }
-
A view that will be placed as the footer of the add card view controller.
When the footer view needs to be resized, it will be sent a
sizeThatFits:
call. The view should respond correctly to this method in order to be sized and positioned properly.Declaration
Objective-C
@property (readwrite, strong, nonatomic) UIView *_Nonnull addCardViewControllerFooterView;
Swift
var addCardViewControllerFooterView: UIView { get set }
-
If
paymentContext:didFailToLoadWithError:
is called on your delegate, you can in turn call this method to try loading again (if that hasn’t been called, calling this will do nothing). If retrying in turn fails,paymentContext:didFailToLoadWithError:
will be called again (and you can again call this to keep retrying, etc).Declaration
Objective-C
- (void)retryLoading;
Swift
func retryLoading()
-
This creates, configures, and appropriately presents an
STPPaymentOptionsViewController
on top of the payment context’shostViewController
. It’ll be dismissed automatically when the user is done selecting their payment method.Note
This method will do nothing if it is called while STPPaymentContext is already showing a view controller or in the middle of requesting a payment.Declaration
Objective-C
- (void)presentPaymentOptionsViewController;
Swift
func presentPaymentOptionsViewController()
-
This creates, configures, and appropriately pushes an
STPPaymentOptionsViewController
onto the navigation stack of the context’shostViewController
. It’ll be popped automatically when the user is done selecting their payment method.Note
This method will do nothing if it is called while STPPaymentContext is already showing a view controller or in the middle of requesting a payment.Declaration
Objective-C
- (void)pushPaymentOptionsViewController;
Swift
func pushPaymentOptionsViewController()
-
This creates, configures, and appropriately presents a view controller for collecting shipping address and shipping method on top of the payment context’s
hostViewController
. It’ll be dismissed automatically when the user is done entering their shipping info.Note
This method will do nothing if it is called while STPPaymentContext is already showing a view controller or in the middle of requesting a payment.Declaration
Objective-C
- (void)presentShippingViewController;
Swift
func presentShippingViewController()
-
This creates, configures, and appropriately pushes a view controller for collecting shipping address and shipping method onto the navigation stack of the context’s
hostViewController
. It’ll be popped automatically when the user is done entering their shipping info.Note
This method will do nothing if it is called while STPPaymentContext is already showing a view controller, or in the middle of requesting a payment.Declaration
Objective-C
- (void)pushShippingViewController;
Swift
func pushShippingViewController()
-
Requests payment from the user. This may need to present some supplemental UI to the user, in which case it will be presented on the payment context’s
hostViewController
. For instance, if they’ve selected Apple Pay as their payment method, calling this method will show the payment sheet. If the user has a card on file, this will use that without presenting any additional UI. After this is called, thepaymentContext:didCreatePaymentResult:completion:
andpaymentContext:didFinishWithStatus:error:
methods will be called on the context’sdelegate
.Note
This method will do nothing if it is called while STPPaymentContext is already showing a view controller, or in the middle of requesting a payment.Declaration
Objective-C
- (void)requestPayment;
Swift
func requestPayment()


r/{{ subreddit }} discussions
{% for season in result if season.number > 0 %}
Season {{ "unknown" if season.number == -1 else season.number }} {{ "(rewatch)" if season.is_rewatch else "" }}
Title
Date
{% for episode in season.episodes %}
{{ episode.number}}
{{ episode.title }}
{{ episode.date_pacific }}
{% endfor %}
{% endfor %}