Event Location:
College of Education, Criminal Justice, and Human Services University of Cincinnati
250H Teachers-Dyer Complex
Cincinnati, Ohio
Abstract:
Until recently, agile business had to choose between the benefits of JSON-based NoSQL databases and the benefits of SQL-based querying. NoSQL provides schema flexibility, high performance, and elastic scaling, while SQL provides expressive, independent data access. Recent convergence allows developers and organizations to have the best of both worlds. Developers need to deliver apps that readily evolve, perform, and scale, all to match changing business needs. Organizations need rapid access to their operational data, using standard analytical tools, for insight into their business. In this session, you will learn the ways that SQL can be applied to NoSQL databases, and what additional features are needed to deal with JSON documents. SQL for JSON, JSON data modeling, indexing, and tool integration will be covered. This session will focus mainly on CosmosDb and Couchbase, but it will also touch on emerging relational approaches to JSON data.
Speaker(s): Matthew Groves,
Abstract:
Ever had a manager standing over your shoulder, wanting to know why an instance is running slow or if it can handle additional workload? If only you knew what performance metrics to collect and had them for your existing instances to answer these questions. In this session, we will discuss sp_whoisactive and Query Store to track what queries are running. Then, we will be combining three open source tools – Telegraf, InfluxDB, and Grafana – into an inexpensive and easy to set up system that collects performance metrics you can use to troubleshoot issues and answer important questions about your SQL Server instances, including your Linux SQL Server instances, Azure Managed Instances, and Azure SQL Databases. Attendees will see how easy it is to get good performance data and visualize it interactively, and combine with other tools to troubleshoot issues. Finally, we will look at a problem I solved using this solution as an example.
Speaker(s): Tracy Boggiano,
Abstract:
When you move to Azure SQL Database, you select a predefined set of allocated resources across several dimensions such as CPU, memory, storage, and more. For a typical business application you need to find a balance between cost, performance demands and availability requirements. Yet for your mission critical application your focus moves toward the highest availability (i.e. 99.995% uptime) and performance. In this session we’ll review best practices around how to select your Azure SQL database configuration that is optimized for a specific application pattern and how to maximize its performance and availability. We’ll review the natural advantages you can leverage from the Azure SQL Database ecosystem and detail factors to consider when optimizing for performance in the cloud, including application patterns and anti-patterns that you may encounter when migrating legacy applications from SQL Server to Azure SQL Database.
Speaker(s): Anna Hoffman,
Abstract:
In this session Buck Woody explains how Microsoft has implemented the SQL Server 2019 relational database engine in a big data cluster leverages an elastically scalable storage layer that integrates SQL Server and HDFS to scale to petabytes of data storage. You’ll see the three ways you can interact with massive amounts of data: Data Virtualization, Data Marts, and working with a complete Kubernetes Cluster in SQL Server. You’ll also learn common use case scenarios that leverage big data and the SQL server 2019 Big Data Cluster on-premises, in the cloud, and in a hybrid architecture. Learning Objectives: - Articulate the Big Data Landscape and the problems it addresses - Present the technology approaches to analyzing large, heterogenous data sets to an audience - Design a solution using SQL Server 2019’s Big Data Clusters architecture and programming model
Speaker(s): Buck Woody,
Abstract:
Azure Machine Learning is a managed service that integrates services together for a full end-to-end machine learning solution. Azure ML enables Data Scientists, Data Engineers, and Business Users faster development, deployment, and access to machine learning models. Services available for each role include zero-code/low-code designer, Python, R, Databricks, Azure Kubernetes Service, and many more. Workspaces keep assets and artifacts in one place for easy management. Models can be developed locally, trained in Azure, and deployed to any device or environment. In this session, we will cover the built-in tools of the service and see an end-to-end solution for a simple machine learning model.
Speaker(s): Lucas Feiock,
Abstract:
When it comes to getting your data into Excel or Power BI, M is your best choice. The M Language (A.K.A Power Query) is a powerful tool for self-service data preparation. However, it's not clear where it fits compared to tools like SSIS or TSQL. It's also not clear what it's limitations are. This session will cover the basics of M and when to use it. In this session, we'll demonstrate how M is a linear series of transformations, just like a set of steps from a recipe. We'll show how 80% of what you will ever need to do can be done from the GUI. We'll also talk about how to write custom code for that other 20%. By the end of this presentation, you'll be able to take any manual cleanup you do today and turn it into a repeatable process with M.
Speaker(s): Eugene Meidinger,
Abstract:
Azure SQL Database offers a way quickly spin up new databases with minimal management requirements. However, the number of differences between on-premises SQL Server and Azure SQL Database can be overwhelming. Even worse, with DBaaS it’s not clear who is responsible for what anymore. In this session, we will cover all the basic steps of getting your first Azure SQL Database instance spun up. We’ll cover common gotchas, like firewall settings and resource locks. We’ll also dive into some more advanced options with templates, allowing you to make your processes reproducible. By the end of this presentation, you’ll understand if Azure SQL Database is the right choice for you and your needs. You’ll understand how it can simplify management and allow you to scale easily. Finally, you’ll have the confidence to go and create your own instance with ease.
Speaker(s): Jim Donahoe,
Abstract:
Mental illness is more common than you think. One in four Americans suffers from a mental illness each year. In the tech community, this is often not talked about. Many times, people feel alone and isolated in the tech community with us mostly being introverted people. It is time to start talking about mental illness out in the open and honestly about how it affects us and those around us. In this session, we will talk about what mental illness is and what it is not.  How it effects the tech industry. How mental illness can affect you and how you can tell if you are starting to have issues. What to say and what not to say to people you know that are affected by mental illness. Finally, how to get help and where reach out for help.
Speaker(s): Tracy Boggiano,
Abstract:
Everyone has strong opinions and reactions to which cloud database platform companies should be using but how different are they, really? What features does one cloud provider support that the other might not? How will normal DBA activities, such as backups and restores, change depending on the cloud provider your company uses? Join me in this session as I share my migration stories and discuss the results of my research about how AWS and Azure are different and how many of my daily tasks and tools changed as our company migrated to AWS. Come and listen as I share what I have learned on this journey from on-premises to the cloud. Join me and find out which platform I would use.
Speaker(s): Corey Hambrick,
Abstract:
As Organizations are looking to transform into data driven organizations. Stream analytics has emerged as an integral part of Enterprise Data platform architectures along with batch ETL. Stream analytics help to gain maximum value from user-interaction events, applications and machine logs. Ingesting, processing, and analyzing these data streams quickly and efficiently is critical in fraud detection, click stream analysis, sentiment analytics, online recommendations and IOT Scenarios among many examples. In this session we will look at options available in azure for real-time analytics and deep dive into Azure Stream Analytics. Build streaming jobs that can blend and aggregate data as it arrives to drive live Power BI dashboards. Plus, we’ll explore how a complete lambda architecture can be created when combining stream and batch data together and finally how it integrates with Azure ML.
Speaker(s): Sriharsh Adari,
Abstract:
You’ve looked at query plans and done some tuning, but you’re not sure what’s going on underneath. Hash Match? Merge Join? Watch both come to life in animations, and more! See (not just hear) the inner workings of a plan, and learn about the details that matter for performance. When plans make sense, tuning will become easier, and maybe even fun!
Speaker(s): Forrest McDaniel,
Abstract:
Are you curious about the role that AI will play in predictive modeling? Are you wondering what the difference is between the Computer Vision API and the Custom Vision API? Do you want a quick introduction to get you up to speed on both, so that you can quickly build and deploy a Cognitive Services model? Join us for an introduction to the Cognitive Services Computer Vision and Custom Vision APIs on Azure. In this session, we will look at the basics of Cognitive Services Vision. First learn how to create your Cognitive Services model. Then you can see how to train and improve accuracy. Finally, we will step through python code in Azure Notebooks to call the APIs. After this session, you will get up and running in Cognitive Services Vision in under an hour! Prerequisites: Attendees should have an Azure account, as well as an account on Azure Notebooks. Experience with coding in python is helpful, but not required.
Speaker(s): Alicia Moniz,
Abstract:
If you have been anywhere near the SQL community in the past year, you have heard of this cool new toolset call DBAtools. DBAtools is set of PowerShell commands that will help make every DBA's (including the accidental DBA's) life easier. With just a few piece of information, you can manage and report on your SQL instances, from one to many, with ease. This session is a quick overview of what DBAtools is, some of the things you can do with it, and then some real world examples that are taken from our daily uses. Our objective is that when you leave this session, you will be comfortable reporting on your instances, and be prepared to take the next steps, AUTOMATION!!
Speaker(s): Josh Handler,
Abstract:
Five years ago there was a limited number of ways to deploy and use the SQL Server engine in the Azure Cloud. Today, there are many different services that one can choose. How do you determine which service to use? In this presentation we focus on key attributes of your data to pick the correct service. Certain services have limits on size, performance and movability of database. Other factors, such as the budget of your project, may also come into the decision making. Transferring a database to the cloud is usually the easiest part of the project. Scheduling batch processes, executing maintenance jobs and providing alerts is usually part of the DBA equation. For companies that have a large amount of ETL packages, a lift and shift of this code might be a consideration. Other companies are more security conscious which means auditing, compliance, and threat detection are key factors in the decision. At the end of the presentation, the attendee will have a broad knowledge of the Azure SQL services and when to apply each to a given project.
Speaker(s): John Miner,
Abstract:
Using the right index for the right scenario can be the "go fast" button that keeps queries and customers happy. Over the years, Microsoft has given us many different indexing options and flavors. Today there are many more considerations beyond "clustered or non clustered". We'll cover all those different flavor options: Filtered, Compressed, Columnstore, included columns, and Partitioning. We'll cover an overview of what each of these options are, and then dive into some code examples to see how and when each of these work, and when the don't. You will leave the session with a much better idea of how and when to use each of these special indexing flavors to meet your needs.
Speaker(s): Andy Mallon,
Abstract:
Azure Data Studio (ADS) cross-platform database development tool which runs on Windows, Linux, and MacOS. ‘ADS’ supports SQL Server and Postgres (with more DB platforms soon) and works both on-prem and in the cloud. ADS is highly extensible, open source, and can dramatically change the way you approach SQL coding. In this session, we will cover ‘ADS’ features and capabilities such as - Connections - Code Snippets - Notebooks - Extensions And demonstrate why Azure Data Studio is in fact Way Cool.
Speaker(s): Jim Miller,
Abstract:
Azure Data Studio (ADS) cross-platform database development tool which runs on Windows, Linux, and MacOS. ‘ADS’ supports SQL Server and Postgres (with more DB platforms soon) and works both on-prem and in the cloud. ADS is highly extensible, open source, and can dramatically change the way you work with databases. In this session, we will provide a case study on how Azure Data Studio can directly integrate with an existing ELT/ETL database application. Topics include: - ADS Snippet and Extension Capabilities - ADS Terminal Window - ADS Platform Integrations - ADS Application Reporting And why Azure Data Studio could be Way Cool for your Database Application
Speaker(s): Jim Miller,
Abstract:
Have you ever felt like an extra in Office Space? You've got the skills. You've got the big brain. You feel like you have a higher calling, but those other guys get picked instead. What's the deal? In this session, you'll learn how to promote yourself, how to speak confidently, how to build your personal brand, how to demonstrate value, and how to interview.
Speaker(s): Dave Mattingly,
Abstract:
In this session we will explore the SQL Server engine’s I/O patterns and how they play into virtualization infrastructure. With the knowledge you’ll gain in this session you will be able to have more educated conversations with your cloud/infrastructure/VM/storage administrators in order to get the most performance and use the best features for your SQL Server (or SQL in Azure/AWS/GCP) environments.
Speaker(s): Argenis Fernandez,
Abstract:
Sometimes there is no better way than to learn by example. In this session, you will learn key capabilities of SQL Server and Azure SQL by seeing demonstrations. This session is all about less slides and more demos! This session will show you demonstrations on topics such as containers, Kubernetes, performance, availability, and data virtualization.
Speaker(s): Bob Ward,
Abstract:
Ten years ago, if you said that we would someday run Sql Server not only on Linux, but on Linux ON WINDOWS, you'd have been laughed out of the room. Here in 2020, though, not only is it possible, but it's faster and easier than installing Sql Server the old-fashioned way! In this talk, we'll discuss: 1. The basics how to run Docker containers locally on Windows 10. 2. How to get Sql Server for Linux running on it. 3. How to connect to it locally for your development needs.
Speaker(s): Chris Smith,
Abstract:
SQL Server Reporting Services 2017 offer many new features, making it more robust than ever. These features include Web Report Portal with KPI, Mobile Report Publisher, Redesigned report rendering engine supporting HTML5, and treemap sunburst chart types. With intuitive interfaces and rich data visualization, business users and stake holders can now view valuable information, not just numbers. This session will cover requirements for installing and configuring SSIS, and how to quickly generate reports.
Speaker(s): Sam Nasr,
Abstract:
In this session, Jon Moore will be diving into a quick, high-level overview of the vast monitoring, development analysis capabilities provided by SentryOne throughout most of the Microsoft stack. Whether you’re a DBA, developer, manager, business analyst or somewhere in between, SentryOne has something to take the pain out of your daily operations.
Speaker(s): Jon Moore,
Abstract:
Azure Data Factory is your golden ticket to moving and transforming data in Azure! On your tour of the factory you'll learn all the basics - Pipelines, Datasets, Connections and Triggers. Taking a closer look at pipelines, you'll see how to use a variety of activities, set up variables and parameters, and view debugging output. Next you'll learn how to monitor your pipelines and how using templates can improve your Data Factory experience. Finally you'll get to see the data mapping capabilities of Data Flows. By the end of your tour, you'll be saying that Azure Data Factory is Scrumdiddlyumptious!
Speaker(s): Vanessa Kesten,
Abstract:
Whether you're new to presenting or an accomplished professional, all of us need to learn more about presentation skills. In this real-world session, Buck Woody, a Data Scientist from Microsoft will show you how to: - Choose and develop a topic that draws in an audience - Create a story-line for your session - Understand the technologies and tools for delivering your session effectively - Deal with presentation disasters
Speaker(s): Buck Woody,
Abstract:
I just wrote some tSQL code, and made a perfect index! But wait, it's still slow and it's not being used! Why not? We're going to take a look at indexes and how they work, and then do a deeper dive into the ways we write our code that will not allow it to use those wonderful indexes. Participants will come out with a deeper understanding of indexes and yet more coding anti-patterns to avoid!
Speaker(s): Lisa Bohm,
Abstract:
Even the most beautifully designed reports that provide the most brilliant insights may suffer from a crippling problem: slow performance. In this demo-rich session we will discuss the key factors that impact the performance of your Power BI reports and learn simple, practical guidelines for making your reports faster.
Speaker(s): Slava Trofimov,
Abstract:
SQL Server provides several several security features for developers and architects. Features such as Dynamic Data Masking (DDM), "Always Encrypted", and Row-Level Security provide an additional level of security natively through the database server. We'll explore the implementation of these features on the client/server for data in transmission or at rest. In addition, we'll examine built-in features and custom implementations.
Speaker(s): Sam Nasr,
Abstract:
Ever get frustrated when watching Power BI training videos or reading through best practice documentation because the data sources that you have at work aren't anything like the pristine data warehouse sources from the video? This course will provide guidance and tips for building a solid Power BI data model with less than ideal data sources. If you have ever struggled building a data model from super wide, flattened out excel spreadsheets, this course is for you. We'll start off with some flattened data sources and end up with a star schema that will impress any data warehouse architect!
Speaker(s): Mark Beedle,
Abstract:
Availability Groups can help an organization smoothly handle OLTP and Reporting Requests, as well as provide a site for Disaster Recovery in a data synchronous manner. As a DevOps DBA, managing the availability groups using PowerShell makes the job of deployment, upgrades, and security a breeze. The PowerShell SqlServer module has many useful functions to achieve the goal of simplifying administration of availability groups. I will share my experiences and also some additional custom scripts to help in managing your Availability Groups.
Speaker(s): Julie McLain-Harper,
Abstract:
Coming from the Excel world, DAX can look like Excel formulas on steroids. However, to be successful with DAX and Powerpivot, you'll need a completely different mental model. In this introduction to DAX, we won't spend too much time on the basics. Instead, we'll focus the concepts that make DAX unique. This will help you avoid the stumbling blocks of working with DAX. We will cover calculated columns, measures, aggregations, filtering, and iterators.
Speaker(s): Eugene Meidinger,
This is a list of speakers from the XML Guidebook records. The details and URLs were valid at the time of the event.
Corey Hambrick is a Database Administrator for Cafepress. He has been working in IT for over 20 years, using SQL Server since 2000. He has worked on SQL Server since SQL 7.0. He enjoys learning and sharing his knowledge with others in the user community. When he is not being a geek, he can be found with his family, at his church and helping in the local jail ministry with those involved in the substance abuse program getting their lives back on track.
LinkedIn: https://www.linkedin.com/in/JonMooreJax/
My career started with device support for Apple, and that's where I found my love for helping people! I then worked for Pragmatic Works supporting software, and found my love of big data. And now that SentryOne acquired Pragmatic Works software, I get to do the best of both worlds while working with a top-notch crew in the best company culture I've ever experienced. As a Solutions Engineer, I leverage technical knowledge with consulting skills to provide advice, demonstrations and support on SQL Sentry products by being a key point of contact for existing and potential clients. I also work with development teams to provide insight into future development through testing and customer feedback, among other responsibilities.
LinkedIn: http://www.linkedin.com/in/samsnasr
Contact: http://samnasr.blogspot.com/
Sam Nasr has been a software developer since 1995, focusing mostly on Microsoft technologies. He’s a Sr. Software Engineer with NIS Technologies where he consults and teaches clients about the latest .Net technologies. Sam has achieved multiple certifications from Microsoft (MCSA, MCAD, MCTS, MCT), and is the leader of the Cleveland C#/VB.Net User Group since 2003. In addition, he’s the leader of the .Net Study Group, an author for Visual Studio Magazine, and a Microsoft MVP since 2013. When not coding, Sam loves spending time with his family and friends or volunteering at his local church.
LinkedIn: http://www.linkedin.com/in/blackwyrm
Contact: http://www.davemattingly.net
Dave Mattingly has spent thirty years of designing, developing, databasing, documenting, and directing a variety of projects in many industries. In the past, he’s worked on space travel, fraud prevention, data accuracy, and virtual reality for industries such as games, ecology, health, religion, and money. He also writes, publishes, orates, teaches, and preaches.
Contact: http://www.sqlflipflopsdba.com
Jim is a Premier Field Engineer for Microsoft in the Data/AI space. He lives in Pittsburgh in a small suburb. He loves working with all things Azure(ARM templates, DBaaS, SQL on IaaS). He is an avid collector of retro video games! He is a member of the Idera ACE program for 2018.
LinkedIn: https://www.linkedin.com/in/lucas-feiock
Contact: https://sql-stack.com
Lucas Feiock is a Senior Business Intelligence Consultant with KiZAN Technologies. He has four years of experience with the Microsoft BI Stack. In addition to data warehousing, data integration and data visualization, Lucas is also involved with machine learning and advanced analytics. He has experience working in multiple industries including manufacturing, sales, gas and electric utilities, and health care.
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://aka.ms/bobsql
Bob Ward is a Principal Architect for the Microsoft Azure Data SQL Server team, which owns the development for all SQL Server versions. Bob has worked for Microsoft for 26+ years on every version of SQL Server shipped from OS/2 1.1 to SQL Server 2019 including Azure SQL. Bob is a well-known speaker on SQL Server, often presenting talks on new releases, internals, and performance at events such as PASS Summit, Red Hat Summit, Microsoft Ready, SQLBits, SQLIntersection, Microsoft Inspire, and Microsoft Ignite. You can follow him at @bobwardms or linkedin.com/in/bobwardms. Bob is the author of the books Pro SQL Server on Linux and SQL Server 2019 Revealed available from Apress Media. Twitter: http://twitter.com/bobwardms.
LinkedIn: https://www.linkedin.com/in/lisa-bohm-73800311
Contact: http://www.lisagb.info
Lisa started in IT as a web developer. Designing databases as back ends for the web applications left the desire to learn more about solid design and coding for SQL performance. She has been on an ongoing mission to learn and improve code wherever she goes.
LinkedIn: http://www.linkedin.com/in/buckwoody
Contact: http://buckwoody.wordpress.com/
Born helpless, naked, and unable to provide for himself, Buck Woody overcame these amazing handicaps to become a software developer, data professional, teacher, and a productive invertebrate member of society.
LinkedIn: https://www.linkedin.com/in/slava-trofimov/
Slava Trofimov has over 15 years of experience in leading business transformation using data and and analytics. He currently works as a Cloud Solution Architect at Microsoft, specializing in Data AI.
LinkedIn: https://www.linkedin.com/in/jmiller8
Contact: https://https://www.bitracks.com/blog
Jim has worked in various facets of the IT business for over 30 years, with a primary focus on data warehousing, reporting and analytics, business intelligence, data modeling (relational, multi-dimensional), ETL frameworks, database architecture, as well as database performance tuning. In previous engagements, Jim has fulfilled roles as Data Architect, DBA, IT Director, and Senior Consultant. He also has experience in account management, marketing/technical support, and software application training. Jim has also had some extraordinary opportunities to lead IT organizations, with multinational participants, on reconstruction projects based in Bosnia and Iraq.
LinkedIn: https://www.linkedin.com/in/mgroves/
Contact: https://crosscuttingconcerns.com
Matthew D. Groves is a guy who loves to code. It doesn't matter if it's C#, jQuery, or PHP: he'll submit pull requests for anything. He has been coding professionally ever since he wrote a QuickBASIC point-of-sale app for his parent's pizza shop back in the 90s. He currently works as a Developer Advocate for Couchbase. His free time is spent with his family, watching the Reds, and getting involved in the developer community. He is the author of AOP in .NET (published by Manning), and is also a Microsoft MVP.
LinkedIn: https://www.linkedin.com/in/minerjohn/
Contact: https://www.mssqltips.com/sqlserverauthor/154/john-miner/
John Miner is currently a Data Architect at BlueMetal advising corporations on how to solve their business needs with data platform solutions. He has over twenty five years of data processing experience, and his architecture expertise encompasses all phases of the software project life cycle, including design, development, implementation, and maintenance of systems. He has an undergraduate and graduate degrees in Computer Science from the University of Rhode Island. Other credentials include an up to date MCSE certificate and currently taking the Data Science program from EDX. Before joining BlueMetal, John won the Data Platform MVP award in 2014 and 2015 for his outstanding contributions to the SQL Server community.
Contact: http://www.sqlgene.com
Eugene Meidinger works as a BI consultant and full time Pluralsight author. He currently focuses on content on Power BI and related products. He also leads the Pittsburgh Power BI User Group. He is certified in querying and administering SQL Server.
LinkedIn: https://www.linkedin.com/in/amthomas46/
Anna is a Data and Applied Scientist on the Azure Data (SQL) product team at Microsoft. In her time at Microsoft, Anna has worked in Microsoft Consulting Services, AI Engineering, and now SQL Engineering. She spends most of her time working on Azure SQL and participating in the community to democratize intelligence over all your data, from ground to cloud. You can follow her on Twitter at @AnalyticAnna.
LinkedIn: https://www.linkedin.com/in/mark-beedle-37b10b140/
I'm a BI developer at Tempur Sealy International, where I spend most of my time building out an enterprise data warehouse and support/administer/develop in Power BI. I've been working in the BI space for about 3 years now and have loved every minute of it! I'm working on starting a Power BI consulting company on the side, and in my free time I enjoy spending time with my family, reading, and learning to play bass guitar.
LinkedIn: https://www.linkedin.com/in/christopher-smith-54467a3/
I've been an IT professional for about 20 years and have basically seen it all. I worked my way up the old fashioned way, starting on a helpdesk, earning some certifications (Microsoft, Cisco, Citrix), and moving up the ladder. I'm current a DevOps Engineer working with the full range of Azure offerings, including Azure SQL database, Cosmos DB, Azure Devops, and App Services. I'm a database guy the way many folks are....just because someone has to do it.
LinkedIn: http://www.linkedin.com/in/samsnasr
Contact: http://samnasr.blogspot.com/
Sam Nasr has been a software developer since 1995, focusing mostly on Microsoft technologies. He’s a Sr. Software Engineer with NIS Technologies where he consults and teaches clients about the latest .Net technologies. Sam has achieved multiple certifications from Microsoft (MCSA, MCAD, MCTS, MCT), and is the leader of the Cleveland C#/VB.Net User Group since 2003. In addition, he’s the leader of the .Net Study Group, an author for Visual Studio Magazine, and a Microsoft MVP since 2013. When not coding, Sam loves spending time with his family and friends or volunteering at his local church.
LinkedIn: https://www.linkedin.com/in/jm-harper-36a829a/
As "The Goddess of the Database", I am a Sr DBA, Technical Professional and Microsoft Certified Trainer who has over 25 years of experience and a passion for EDUCATING, new technology, system performance and troubleshooting. My experience started with Hierarchical Databases and thankfully moved to Relational Databases, Open Systems technology, and SQL Programming. Because of my desire to give Developers a new perspective on their process of interacting with database data, I began educating co-workers and then training others in SQL Programming best practices. I have significant background as a professor/educator; a Sr. DBA; in performance tuning; as a data, app and infra architect; an Adopter of PowerShell and am MCSA Certified.
LinkedIn: https://www.linkedin.com/in/tracyboggiano
Contact: http://databasesuperhero.com
Tracy Boggiano is a Senior Database Administrator for DocuSIgn. She has spent over 20 years in IT, using SQL Server since 1999, and is currently certified as an MCSE Data Platform. Tracy has worked on SQL Server since 6.5. She has spoken at local user groups and numerous SQLSaturdays. She is currently a co-leader of a TriPASS Local Group in Raleigh, NC. Tracy also tinkered with databases in middle school to keep her sports card collection organized. She blogs at databasesuperhero.com. Her passion outside of SQL Server is volunteering with foster children as their advocate in court through volunteerforgal.org and being a mental health advocate as part of the PAIMI NC Advisory Council.
LinkedIn: https://www.linkedin.com/in/jmhandler/
Josh has been working with SqlServer since 1999. He is currently the Sr. Data Architect for Cozen O'Connor. Josh has been working with databases since DBase 3 and MS based DB's since Access 97 and SQL Server 7.0 in a development role. In addition to DB's, Josh also works on the front end with all things Visual Studio. In his current role, he now also handles the DBA roles as well.
LinkedIn: https://www.linkedin.com/in/jmiller8
Contact: https://https://www.bitracks.com/blog
Jim has worked in various facets of the IT business for over 30 years, with a primary focus on data warehousing, reporting and analytics, business intelligence, data modeling (relational, multi-dimensional), ETL frameworks, database architecture, as well as database performance tuning. In previous engagements, Jim has fulfilled roles as Data Architect, DBA, IT Director, and Senior Consultant. He also has experience in account management, marketing/technical support, and software application training. Jim has also had some extraordinary opportunities to lead IT organizations, with multinational participants, on reconstruction projects based in Bosnia and Iraq.
 For over a decade he's applied his math skills in various industries, and has become specialized in SQL Server performance. His current goal is to animate all the operator algorithms in query plans.
LinkedIn: https://www.linkedin.com/in/aliciamoniz
Alicia Moniz is a Microsoft AI MVP. She authors the blog HybridDataLakes.com, a blog focused on cloud data learning resources. Alicia has been in the Database/BI services industry for 14+ years and is an expert in T-SQL, Data Modeling, Database Administration, Analytics, Data Visualization, and Data Warehousing. Her skill set spans SQL Server 2005 through 2016 and Azure. She has hands on experience architecting, developing, and optimizing BI solutions in the Microsoft ecosystem. Alicia holds certifications for both AWS/Azure Architect and AWS/Azure Big Data, and is a Microsoft Certified Solution Expert (MCSE): Data Management and Analytics.
LinkedIn: https://www.linkedin.com/in/vanessa-kesten-b704675/
Vanessa Kesten is a Data Engineer with BrightSpring Health Services. She is an Microsoft Certified Solutions Expert (MCSE) in Data Management and Analytics. Vanessa has over a decade of experience with the Microsoft BI Stack and has led large scale deployments of data warehousing solutions and has worked in a variety of industries, including manufacturing, health insurance, and government contracts.
LinkedIn: http://www.linkedin.com/in/amtwo
Contact: http://www.AM2.co
Andy is a Data Platform MVP and SQL Server DBA that has managed databases in the healthcare, finance, e-commerce, and non-profit sectors. He has been supporting high-volume, highly-available OLTP environments with demanding performance needs since 2003. Andy is the founder of the BostonSQL User Group, and previous co-organizer of SQL Saturday events in Boston. He blogs at am2.co. Andy lives just outside Boston, Massachusetts, USA with his husband and their two dogs.
Contact: http://www.sqlgene.com
Eugene Meidinger works as a BI consultant and full time Pluralsight author. He currently focuses on content on Power BI and related products. He also leads the Pittsburgh Power BI User Group. He is certified in querying and administering SQL Server.
LinkedIn: http://www.linkedin.com/in/buckwoody
Contact: http://buckwoody.wordpress.com/
Born helpless, naked, and unable to provide for himself, Buck Woody overcame these amazing handicaps to become a software developer, data professional, teacher, and a productive invertebrate member of society.
LinkedIn: https://www.linkedin.com/in/sriharsh-adari
Contact: https://www.sriharshadari.com/
Sriharsh Adari is a technology strategist and Cloud BI Architect. He has around 16 years of experience helping customers with setting up Data Platforms focused on Microsoft BI. He has helped multiple global customers across different industry verticals set up enterprise data platforms using the Microsoft Data Platform and Business Intelligence stack. Over the past few years, he has been helping customers migrate on-premise data workloads onto Cloud Data Platforms - Azure, AWS, and set up new data platforms on cloud. Sriharsh is passionate about all things related to data, big data and Business Intelligence.
LinkedIn: https://www.linkedin.com/in/tracyboggiano
Contact: http://databasesuperhero.com
Tracy Boggiano is a Senior Database Administrator for DocuSIgn. She has spent over 20 years in IT, using SQL Server since 1999, and is currently certified as an MCSE Data Platform. Tracy has worked on SQL Server since 6.5. She has spoken at local user groups and numerous SQLSaturdays. She is currently a co-leader of a TriPASS Local Group in Raleigh, NC. Tracy also tinkered with databases in middle school to keep her sports card collection organized. She blogs at databasesuperhero.com. Her passion outside of SQL Server is volunteering with foster children as their advocate in court through volunteerforgal.org and being a mental health advocate as part of the PAIMI NC Advisory Council.
The following is a list of sponsors that helped fund the event.


{{error.message}}
path:{{error.path}} type:{{error.type}}
And, the developers of Pulsar want you to know we're already aware of it. Because if you can see this, it also got reported to us by Pulsar itself. Thanks for helping us find it!
An email has maybe been sent to {{user.email}} Please check both your inbox and spam folder for an email from Pulsar asking you to verify your email address. You can not post content here until you verify your email address.


|
The Cutting Edge
|
|
|
G'Day Developers!
Do you refactor your code and keep methods short?
Refactoring is all about making
code easier to understand and
cheaper to modify without
changing its behaviour.
As a rule of thumb, no
methods should be greater than
50 lines of code. Long-winded
methods are the bane of any
developer and should be avoided
at all costs. Instead, a method
of 50 lines or more should be
broken down into smaller
functions.
NB: Visual Studio 2005 has
refactoring tools built in.
More on Rules to
Better Code
|
|
Cheers until next time,
Adam
SSW Chief Architect and Microsoft Regional Director, Australia
Got a comment for Adam? 6164616d636f67616e407373772e636f6d2e6175
|
|
Sydney .NET User Group - The best
place to learn .NET for free in
Sydney
|
|
Sydney .NET User Group
19 October 2005 (6 Days to go)
This month
our special guest, Microsoft's David
Lean, takes you through his
Microsoft TechEd 2005 session, Ad
Hoc Reporting with Report Builder:
Extending the capabilities of SQL
Server 2005 Reporting Services.
Tatham Oddie will
demonstrate working with the new
WinFS SDK that has now been
released in beta. WinFS helps to
bridge the gap between the file
systems of today and relational
databases.
|
Wed. 19th October 5:45 pm
See You There!!!|
Sorry I can't make it
|
|
Reporting Services Training -
Brisbane
|
|
THIS
IS THE BLUE RIBBON EVENT NOT TO BE
MISSED!
Creating Reporting Solutions using
Microsoft SQL Server 2000 Reporting
Services
|
|
SPECIAL OFFER: SAVE $100.00 WITH SSW
Tue. 25th & Wed. 26th October
2005 (12 Days to go)
No doubt that by now you have
heard of Microsoft SQL Server
Reporting Services - Microsoft's
solution to the web reporting
problem. Join Microsoft Regional
Director and SSW Chief Architect
Adam Cogan as he takes you
through the basics of Reporting
services, managing your report
content, administering your
reports as well as adding custom
code..
This 2 day course provides
attendees with the knowledge and
skills to author, deploy and
manage reports using Mircosoft
Reporting Services.
This course is ideal for
database administrators,
database developers, IT
Professionals, and partners with
a minimum 6 months SQL Server
2000 and SQL Server 7.0
experience, and basic Microsoft
Visual Studio .NET navigation skills.
Contact:
Advertise with SSW | 736f7068696562656c6c65407373772e636f6d2e6175
|
|
VS
LIVE! - Sydney
|
|
28th November - 2nd December
2005
|
|
VSLive! , the premier event
for developers working in Visual Studio.NET, returns to Sydney for the first time in three years.
Come learn the latest on essential developer
topics
such as ASP.NET2.0, ADO.NET 2.0, Windows Communication Foundation (Indigo), NET Framework 2.0, Enterprise
Library, and more from the insiders at Microsoft and expert third-party practitioners
Special Offer: Register by 26 October
& SAVE $200.00!!!
Monday 28th November till Fri. 2nd December 2005 at
Hilton Hotel , George Street, Sydney.
|
Monday 28th November till Friday
2nd December 2005 at
Hilton Hotel , George Street,
Sydney. (Opposite Queen
Victoria
Building).
|
|
2 Day .NET Training -
Australia & New Zealand
|
Microsoft Access: Migrating to SQL Server & .NET
Melbourne: 6th & 7th
December (53 days to go!)
Sydney:
12th & 13th December (59 days to
go!)
New Zealand: 15th & 16th
December (62 days to go!)
Canberra: 19th & 20th
December (66 days to go!)The Goal: To convert an Access
application to .NET Windows Forms
and Reporting Services powered by a
SQL Server Database.
This event will be hosted by Adam
Cogan, Microsoft Regional Director
and SSW Chief Architect.
Contact:
Advertise with SSW | 736f7068696562656c6c65407373772e636f6d2e6175
|


WITNESS LIST Transportation Committee (SUBCOMMITTEE ON License Plates) March 6, 2003-1:00P HB 413 On: Dike, Jerry (Texas Dept of Transp.) HB 434 For: Brown, Russell H (Rusty) (Self) On: Dike, Jerry (Texas Dept of Transp.) HB 458 For: Graham, Jr., Seldon B. (Assocation of Graduates, United States Military Academy) On: Dike, Jerry (TX Dept. of Transp.) HB 499 For: Masterson, Nancy S. (Texas Urban Forestry Council) On: Dike, Jerry (TX Dept. of Transportation) HB 534 For: Dark, James (Texas State Rifle Association) Tripp, Alice (Texas State Rifle Assoc.) HB 749 For: King, Norm (Air Force Association - Texas) On: Dike, Jerry (Texas Dept. of Transp.)


Bot's Information
Email
Password
Output Folder
Remember Information
Save
Meeting URL
Time
Add
Let's Start
Thank you.
you can close the window.


The spaceship has been attacked and activated its self-defense system!
Help the astronaut escape the ship, while avoiding dangerous traps and solving puzzles!
This game was created for NES Jam, where we should create a game based on the old Nintendo, with the resolution of 256x240 and the color palette of the console.
Control the girl and pick up apples to get the highest score possible! Don't catch the bombs, and beware of the birds: they will
hinder the girl to pick up the apples!
This game was developed for the 4th Games Production Marathon, from the course Produção de Jogos, with a duration of 12 weaks.


Portfolio
These are things that I did.
Autodesk / PlanGrid
Backend & Frontend Engineering Intern
Yahoo!
(ooOoo)
Frontend Software Intern
Chinchilla in Hand
Chinchilla by Rocks
Chinchilla with Baby
Chinchilla and Greens


com
.
johnsnowlabs
.
nlp
embeddings
package
embeddings
Visibility
Public
All
Type Members
class
BertEmbeddings
extends
AnnotatorModel
[
BertEmbeddings
] with
WriteTensorflowModel
with
HasEmbeddings
class
ClusterWordEmbeddings
extends
Serializable
trait
EmbeddingsCoverage
extends
AnyRef
trait
EmbeddingsReadable
[
T <:
WordEmbeddingsModel
]
extends
ParamsAndFeaturesReadable
[
T
]
trait
HasEmbeddings
extends
Params
trait
HasWordEmbeddings
extends
HasEmbeddings
trait
PretrainedBertModel
extends
AnyRef
trait
PretrainedWordEmbeddings
extends
AnyRef
trait
ReadBertTensorflowModel
extends
ReadTensorflowModel
class
WordEmbeddings
extends
AnnotatorApproach
[
WordEmbeddingsModel
] with
HasWordEmbeddings
class
WordEmbeddingsModel
extends
AnnotatorModel
[
WordEmbeddingsModel
] with
HasWordEmbeddings
with
AutoCloseable
with
ParamsAndFeaturesWritable
case class
WordEmbeddingsRetriever
(
dbFile:
String
,
nDims:
Int
,
caseSensitive:
Boolean
,
lruCacheSize:
Int
=
100000
)
extends
AutoCloseable
with
Product
with
Serializable
Value Members
object
BertEmbeddings
extends
ParamsAndFeaturesReadable
[
BertEmbeddings
] with
PretrainedBertModel
with
ReadBertTensorflowModel
with
Serializable
object
ClusterWordEmbeddings
extends
Serializable
object
EmbeddingsHelper
object
WordEmbeddings
extends
DefaultParamsReadable
[
WordEmbeddings
] with
Serializable
object
WordEmbeddingsFormat
extends
Enumeration
object
WordEmbeddingsIndexer
object
WordEmbeddingsModel
extends
EmbeddingsReadable
[
WordEmbeddingsModel
] with
PretrainedWordEmbeddings
with
EmbeddingsCoverage
with
Serializable
Ungrouped


Introduction
ThorsNisse is RESTful server framework for C++.
It is based on Node.js and its family of associated packages. ThorsNisse uses transparently non-blocking std::streams
to achieve high throughput and low complexity of development on a single threaded server.
What does transparently non-blocking: mean?
- To the user of the std::stream it will appear to be standard blocking stream; thus allowing very normal looking C++ code to be written.
- To make the framework efficient any blocking read/write calls transfers control back to the Nisse Framework so that other streams may be processed.
Node.Cxx
To simplify development for those that simply want to write HTTP RESTful endpoints the server Node.Cxx is provided to handle all the boilerplate.
Node.Cxx (Lovingly named after Node.js for the inspiration) is a simple HTTP server implemented using the ThorsNisse framework that will dynamically load Express modules.
The Node.Cxx server takes two flags as arguments on startup:
> Node.cxx [--debug:<port>] [--load:<SharedLib>:<Host>:<Base>:<port>]
#
# --debug:8081
# Loads the dynamic loader so it listens on port 8081
# To load a libray:
# curl --data '{"action": "Load", "host": "test.com", "base": "", "port": 8080, "lib": "AddBeer.dylib"}' localhost:8081
# To unload a library:
# curl --data '{"action": "Unload", "host": "test.com", "base": "", "port": 8080}' localhost:8081
#
#
# --load:AddBeer.dylib:test.com::8080
# Loads the AddBeer.dylib express module.
# And binds it to the root of http://test.com
#
# Assume AddBeer defines the end pointes /AddBeer
# When a request to `http://test.com/AddBeer the associated code will be called.
#
# --load:AddDrink.dylib:test.com:/drinks:8080
# Loads the AddDrink.dylib express module.
# And binds it to http://test.com/drinks
#
# Assume AddDrink defines the end pointes /AddDrink
# When a request to `http://test.com/drinks/AddDrink the associated code will be called.
#
# Note we did not bind AddDrink to the root of test.com so you need to add the `Base` to
# all routes defined by the library in its code.
| Command Line Flag | Description |
|---|---|
| --debug | Installs the dynamic library loader. This allows shared libraries to be loaded/unloaded at runtime without restarting the server. Useful for building and debugging but should not be used in production. As the command to load/unload library is simply a REST call to the specified port; this can be included into your build environment to un-install the old version and install the newly build version allowing a quick turn around for development. |
| --load | Loads a shared library that is linked with Express. This flag can be used multiple times. The express module provides the facility to easily associate code with REST end points. This flag uses the same underlying code as the REST call to load a site. So these sites can also be dynamically unloaded if required. |
Express
// Must include this header
#include "ThorsExpress/all.h"
namespace HTTP = ThorsAnvil::Nisse::Protocol::HTTP;
// Must define this function once.
void addSite(HTTP::Site& site)
{
site.get("/listBeer", [](HTTP::Request& request, HTTP::Response& response)
{
});
// You can add as many resources to as site as you need.
}
Express is a simple library that allows the definition of simple HTTP site modules that can be loaded/unload dynamically. Though each site object is simple each one can be bound to a different relative paths on a site.
Core
Utility
if (open("file", O_WRONLY) == -1)
{
throw std::runtime_error(
buildErrorMessage("MyClass::", __func__,
": open: ", Utility::systemErrorMessage()));
}
// Utility.h
/*
* Builds a string for a system error message.
* uses `errno` to build the name of the error and the associated message into a string.
*/
inline std::string systemErrorMessage();
/*
* Build an error message from a set of parameters.
* Slightly more compact than using 'operator<<` very useful for building exception messages.
*/
template<typename... Args>
std::string buildErrorMessage(Args const&... args);
Provides common utility functions for other packages.
- NameSpace:
- ThorsAnvil::Nisse::Core::Utility
- Headers:
- ThorsNisseCoreUtility
- Utility.h
-
- std::string buildErrorMessage()
- std::string systemErrorMessage()
buildErrorMessage
systemErrorMessage
Socket
> g++ Socket.cpp -o Socket -I${THOR_ROOT}/include -L${THOR_ROOT}/lib -lThorsExpress17
> curl --data "A test message in a bottle :)" http://localhost:8080;echo
// Server Side
#include "ThorsNisseCoreSocket/Socket.h"
#include "ThorsNisseCoreSocket/SocketStream.h"
#include <string>
int main()
{
namespace Sock = ThorsAnvil::Nisse::Core::Socket;
Sock::ServerSocket server(8080);
while(true)
{
Sock::DataSocket connection = server.accept();
Sock::ISocketStream input(connection);
std::string request;
std::getline(input, request);
std::string header;
std::size_t bodySize = 0;
while(std::getline(input, header) && header != "\r")
{
/*
* Note: This code is still handling the intricacy of the HTTP protocol
* so it is brittle. See Protocol/HTTP for help with handling the
* details of the protocol.
*/
if (header.compare(0, 15, "Content-Length:") == 0) {
bodySize = std::stoi(header.substr(15));
}
}
std::string message;
std::string line;
while(bodySize > 0 && std::getline(input, line))
{
message += line;
message += "
";
bodySize -= (line.size() + 1);
}
Sock::OSocketStream output(connection);
/*
* Note: This code is still handling the intricacy of the HTTP protocol
* so it is brittle. See Protocol/HTTP for help with handling the
* details of the protocol.
*/
output << "HTTP/1.1 200 OK\r\n"
"Content-Length: " << (11 + message.size()) << "\r\n"
"\r\n"
"It Worked: " << message;
}
}
- NameSpace:
- ThorsAnvil::Nisse::Core::Socket
- Headers:
- ThorsNisseCoreSocket
- Socket.h
-
- BaseSocket
- DataSocket BaseSocket
- ConnectSocket DataSocket
- ServerSocket BaseSocket
- SocketStream.h
-
- SocketStreamBuffer std::streambuf
- ISocketStream std::istream
- OSocketStream std::ostream
BaseSocket
Base of all the socket classes. This class should not be directly created. All socket classes are movable but not copyable.
Move-Constructor
Move-Assignment
swap
close
DataSocket
Data sockets define the read/write interface to a socket. This class should not be directly created
Constructor
getMessageData
std::pair<bool, std::size_t>
. The first member `bool` indicates if more data can potentially be read from the stream. If the socket was cut or the EOF reached then this value will be false. The second member `std::size_t` indicates exactly how many bytes were read from this stream.std::pair<bool, std::size_t>
. The first member `bool` indicates if more data can potentially be read from the stream. If the socket was cut or the EOF reached then this value will be false. The second member `std::size_t` indicates exactly how many bytes were read from this stream. The size of the buffer. Offset into buffer (and amount size is reduced by) as this amount was read on a previous call).putMessageData
std::pair<bool, std::size_t>
. The first member `bool` indicates if more data can potentially be written to the stream. If the socket was cut or closed then this value will be false. The second member `std::size_t` indicates exactly how many bytes were written to this stream.std::pair<bool, std::size_t>
. The first member `bool` indicates if more data can potentially be written to the stream. If the socket was cut or closed then this value will be false. The second member `std::size_t` indicates exactly how many bytes were written to this stream. The size of the buffer. Offset into buffer (and amount size is reduced by) as this amount was written on a previous call).putMessageClose
ConnectSocket
Creates a connection to host
on port
.
Note this class inherits from DataSocket
so once created you can read/write to the socket.
Constructor
ServerSocket
A server socket that listens on a port for a connection
Constructor
accept
DataSocket
is returned so data can be exchange across the socket. Passed to the constructor of the DataSocket
that is returned.DataSocket
that is returned.SocketStreamBuffer
This is a wrapper class for a DataSocket
that allows the socket to be treated like std::streambuf
.
This class overrides just enough virtual functions to make the ISocketStream
and OSocketStream
useful.
This class provides no public API and is designed to be used solely with the following stream objects.
ISocketStream
An implementation of std::istream
that uses SocketStreamBuffer
as the buffer.
The Notofer
is a primitive event callback mechanism.
A blocking read call to these streams calls the Notifier noData
.
This is used by the Server infrastructure to yield control back to the main event loop.
using Notifier = std::function
Constructor
Constructor
Constructor
Move-Constructor
OSocketStream
An implementation of std::istream
that uses SocketStreamBuffer
as the buffer.
The Notofer
is a primitive event callback mechanism.
A blocking read call to these streams calls the Notifier noData
.cw
This is used by the Server infrastructure to yield control back to the main event loop.
using Notifier = std::function
Constructor
Constructor
Move-Constructor
Service
> g++ -std=c++1z Server.cpp -o Server -I${THOR_ROOT}/include -L${THOR_ROOT}/lib -lThorsExpress17 -lboost_context-mt
> curl --data "A test message in a bottle :)" http://localhost:8080;echo
#include "ThorsNisseCoreService/Server.h"
#include "ThorsNisseCoreService/Handler.h"
#include "ThorsNisseCoreSocket/Socket.h"
#include "ThorsNisseCoreSocket/SocketStream.h"
#include <string>
namespace Serv = ThorsAnvil::Nisse::Core::Service;
namespace Sock = ThorsAnvil::Nisse::Core::Socket;
class MyHandler: public Serv::HandlerSuspendableWithStream
{
public:
MyHandler(Serv::Server& parent, Sock::DataSocket&& stream)
: HandlerSuspendableWithStream(parent, std::move(stream), EV_READ)
{}
virtual bool eventActivateWithStream(std::istream& input, std::ostream& output)
{
/*
* Note: The streams `input` and `output` are transparently non-blocking.
* Any blocking read/write will transfer control back to the server
* event loop.
*
* To the code in this function any read/write requests appear to be blocking
* So the writting code is still simple and looks like standard C++ code.
*/
std::string request;
std::getline(input, request);
std::string header;
std::size_t bodySize = 0;
while(std::getline(input, header) && header != "\r")
{
/*
* Note: This code is still handling the intricacy of the HTTP protocol
* so it is brittle. See Protocol/HTTP for help with handling the
* details of the protocol.
*/
if (header.compare(0, 15, "Content-Length:") == 0) {
bodySize = std::stoi(header.substr(15));
}
}
std::string message;
std::string line;
while(bodySize > 0 && std::getline(input, line))
{
message += line;
message += "
";
bodySize -= (line.size() + 1);
}
/*
* Note: This code is still handling the intricacy of the HTTP protocol
* so it is brittle. See Protocol/HTTP for help with handling the
* details of the protocol.
*/
output << "HTTP/1.1 200 OK\r\n"
"Content-Length: " << (11 + message.size()) << "\r\n"
"\r\n"
"It Worked: " << message;
return true;
}
};
int main()
{
Serv::Server server;
server.listenOn<MyHandler>(8080);
server.listenOn<MyHandler>(Serv::ServerConnection(8081, 20));
// Start the event loop.
server.start();
}
A simple wrapper around libEvent.
- NameSpace:
- ThorsAnvil::Nisse::Core::Service
- Headers:
- ThorsNisseCoreService
- Handler.h
-
- HandlerBase
- HandlerStream HandlerBase
- HandlerNonSuspendable HandlerStream
- HandlerSuspendable HandlerStream
- HandlerSuspendableWithStream HandlerSuspendable
- Server.h
-
- ServerConnection
- Server
- ServerHandler.h
-
- ServerHandler HandlerNonSuspendable
- TimerHandler HandlerNonSuspendable
- ServerHandler HandlerNonSuspendable
HandlerBase
Constructor
dropHandler
addHandler
moveHandler
eventActivate
suspendable
close
suspend
HandlerStream
This class is templatized based on the type of stream the socket represents. The class basically defines a common class for holding the stream object and how to close it when required.
Constructor
close
HandlerNonSuspendable
Defines `suspendable()` and `suspend()` for a class that is non suspendable. This is used by some of there server built in handlers that must complete. It is unlikely that this will be useful for a user defined handler.
suspend
suspendable
HandlerSuspendable
Defines a handler that is suspendable. Implements `suspendable`, `suspsend()` and `eventActivate()` as these all work together to define a class that can be suspended. The method `eventActivateNonBlocking()` should be overridden by derived classes to provide functionally.
Constructor
Constructor
suspend
suspendable
eventActivate
eventActivateNonBlocking
HandlerSuspendableWithStream
An implementation of `eventActivateNonBlocking()` that creates input and output stream objects. These stream objects will call `suspend()` if they are about to perform a blocking operation on the underlying socket. Thus we have transparently non-blocking streams.
eventActivateNonBlocking
eventActivateWithStream
ServerConnection
Used to simplify the definition of a port.
Constructor
Server
An object that acts as the main server event loop. One of these objects can handle all the ports your application requires
Default-Constructor
Move-Constructor
Move-Assignment
start
flagShutDown()
will cause the event loop to exit after the current iteration.
flagShutDown
listenOn
eventActivate()
method is called allowing the data to be processed.
For more details see HandlerBase.
addTimer
ServerHandler
An implementation of HandlerNonSuspendable that is used to accept connections and create other handlers.
TimerHandler
An implementation of HandlerNonSuspendable that is used to implement the timer functionality.
SQL
namespace Express = ThorsAnvil::Nisse::Protocol::HTTP;
namespace SQL = ThorsAnvil::SQL;
static SQL::Connection connection("mysqlNB://test.com", "test", "testPassword", "test");
static SQL::Statement listBeers(connection, "SELECT Name, Age FROM Beers");
class MyListBeerHandler: public HandlerSuspendable<DataSocket>
{
virtual bool eventActivateNonBlocking()
{
ISocketStream input(stream);
std::string request;
std::getline(input, request);
std::string header;
while(std::getline(input, header) && header != "\r")
{}
std::stringsttream body;
body << ""
<< "<title>Beer List</title>"
<< ""
<< "
Beer List
"
<< "
";
// Calling execute() suspends the current handler.
// Control is returned (unsuspends the handler) when the execute() function returns.
//
// The execute function returns when all the rows have been returned from the SQL
// DB. The lambda is executes once for each row that is ruturned this allowing us
// to build the response as a stream.
listBeers.execute([&body](std::string const& name, int age)
{
// This call to the MySQL server is also non blocking.
// If the call is going to block control is returned to ThorNisse framework
// Allowing another connection to be processed while the MySQL server finishes
// Its work.
body << "
" << name << " : " << age << "
";
});
body << "
";
OSocketStream output(stream);
output << "HTTP/1.1 200 OK\r\n"
"Content-Length: " << body.size() << "\r\n"
"\r\n"
<< body;
}
};
Please refer to the ThorSQL library for details.
A PIMPL proxy for the ThorSQL library.
There are no user usable classes in this package. All the classes are used internally by ThorSQL library. There usage is unlocked by using the prefix "mysqlNB" in the connection string.
- NameSpace:
- ThorsAnvil::Nisse::Core::SQL
- Headers:
- ThorsNisseCoreSQL/
Protocol
Simple
A very simple protocol. These classes are used to test the functionality of Core::Service without the extra baggage of the HTTP protocol.
- NameSpace:
- ThorsAnvil::Nisse::Protocol::Simple
- Headers:
- ThorsNisseProtocolSimple
HTTP
class Site
{
public:
Site();
Site(Site&&) noexcept;
Site& operator=(Site&&) noexcept;
void swap(Site&) noexcept;
void get(std::string&& path, Action&& action) {add(Method::Get, std::move(path), std::move(action));}
void put(std::string&& path, Action&& action) {add(Method::Put, std::move(path), std::move(action));}
void del(std::string&& path, Action&& action) {add(Method::Delete, std::move(path), std::move(action));}
void post(std::string&& path, Action&& action) {add(Method::Post, std::move(path), std::move(action));}
void all(std::string&& path, Action&& action) {add(4, std::move(path), std::move(action));}
std::pair<bool, Action> find(Method method, std::string const& path) const;
};
class Binder
{
public:
Binder();
void setCustome404Action(Action&& action);
void addSite(std::string const& host, std::string const& base, Site&& site);
std::pair<bool, int> remSite(std::string const& host, std::string const& base);
Action find(Method method, std::string const& host, std::string const& path) const;
};
class DeveloperHandler: public Core::Service::HandlerNonSuspendable<Core::Socket::DataSocket>
{
public:
DeveloperHandler(Core::Service::Server& parent, Core::Socket::DataSocket&& socket, DynamicSiteLoader& loader);
virtual short eventActivate(Core::Service::LibSocketId sockId, short eventType) override;
};
class DynamicSiteLoader
{
public:
DynamicSiteLoader(Core::Service::Server& server);
std::tuple<bool, int> load(std::string const& site, int port, std::string const& host, std::string const& base);
std::tuple<bool, int, int> unload(int port, std::string const& host, std::string const& base);
void setMaxWaitingConnections(int max);
};
class ReadRequestHandler: public Core::Service::HandlerSuspendable<Core::Socket::DataSocket>
{
public:
ReadRequestHandler(Core::Service::Server& parent, Core::Socket::DataSocket&& socket, Binder const& binder);
virtual bool eventActivateNonBlocking() override;
void setFlusher(Response* f){flusher = f;}
void flushing() {if (flusher){flusher->flushing();}}
};
struct HttpParserData
{
HttpParserData();
void addCurrentHeader();
Headers headers;
std::string currentHead;
std::string currentValue;
std::string uri;
char const* bodyBegin;
char const* bodyEnd;
Method method;
bool messageComplete;
bool gotValue;
};
class HttpScanner
{
public:
HttpParserData data;
HttpScanner();
void scan(char const* buffer, std::size_t size);
};
class Route
{
public:
Route(std::string&& fullRoute);
Route(Route const&) = delete;
Route& operator=(Route const&) = delete;
Route(Route&&) = default;
bool operator<(Route const& rhs) const;
bool operator<(std::string const& rhs) const;
bool operator<=(std::string const& rhs) const;
bool operator==(std::string const& rhs) const;
};
struct RouteTester
{
using is_transparent = std::true_type;
bool operator()(std::string const& lhs, Route const& rhs) const {return !(rhs <= lhs);}
bool operator()(Route const& lhs, std::string const& rhs) const {return lhs < rhs;}
bool operator()(Route const& lhs, Route const& rhs) const {return lhs < rhs;}
};
class Headers
{
public:
typedef ConstIterator const_iterator;
class Inserter
{
ValueStore& valueStore;
public:
Inserter(ValueStore& valueStore);
void operator=(std::string&& value);
void operator=(std::string const& value);
};
ConstIterator begin() const {return std::cbegin(data);}
ConstIterator end() const {return std::cend(data);}
Inserter operator[](std::string const& key) {return data[key];}
std::size_t getVersions(std::string const& key) const;
std::string const& get(std::string const& key, std::size_t version = 0) const;
};
class URI
{
public:
std::string original;
std::string normalized;
std::string schema;
std::string host;
std::string path;
std::string query;
std::string fragment;
short port;
Headers queryParam;
URI(std::string const& hostAndPort, std::string&& pathAndQuery);
};
class Request
{
public:
const Method method;
const URI uri;
const Headers& headers;
std::istream& body;
Request(Method method,
URI&& uri,
Headers& headers,
std::istream& body);
};
class Response
{
public:
short resultCode;
std::string resultMessage;
Headers headers;
std::ostream& body;
Response(std::ostream& body);
Response(ReadRequestHandler& flusher,
DataSocket& socket,
std::ostream& body,
short resultCode = 200,
std::string const& resultMessage = "OK");
~Response();
void flushing(bool allDone = false);
};
An implementation of the HTTP protocol
- NameSpace:
- ThorsAnvil::Nisse::Protocol::HTTP
- Headers:
- ThorsNisseProtocolHTTP
- Binder.h
-
- Site
- Binder
- DeveloperHandler.h
-
- DeveloperHandler Core::Service::HandlerNonSuspendable
- DeveloperHandler Core::Service::HandlerNonSuspendable
- DynamicSiteLoader.h
-
- DynamicSiteLoader
- HTTPProtocol.h
-
- ReadRequestHandler Core::Service::HandlerSuspendable
- ReadRequestHandler Core::Service::HandlerSuspendable
- HttpScanner.h
-
- HttpParserData
- HttpScanner
- Route.h
-
- Route
- RouteTester
- Types.h
-
- Headers
- URI
- Request
- Response
Site
Binder
DeveloperHandler
DynamicSiteLoader
ReadRequestHandler
HttpParserData
HttpScanner
Route
RouteTester
Headers
URI
Request
Response
Examples
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum
AddBeer
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum
- NameSpace:
- ThorsAnvil::Nisse::Example::AddBeer
- Headers:
- ThorsNisseExampleAddBeer/


| Sid |
A 34 character string that uniquely idetifies this resource. |
| DateCreated |
The date that this resource was created, given as GMT RFC 2822 format. |
| DateUpdated |
The date that this resource was last updated, given as GMT RFC 2822 format. |
| FriendlyName |
A human readable descriptive text for this resource, up to 64 characters long. By default, the FriendlyName is a nicely formatted version of the phone number. |
| AccountSid |
The unique id of the Account responsible for this phone number. |
| PhoneNumber |
The incoming phone number. e.g., +16175551212 (E.164 format) |
| ApiVersion |
Calls to this phone number will start a new TwiML session with this API version. |
| VoiceCallerIdLookup |
Look up the caller's caller-ID name from the CNAM database (additional charges apply). Either true or false . |
| VoiceUrl |
The URL Twilio will request when this phone number receives a call. |
| VoiceMethod |
The HTTP method Twilio will use when requesting the above Url . Either GET or POST . |
| VoiceFallbackUrl |
The URL that Twilio will request if an error occurs retrieving or executing the TwiML requested by Url . |
| VoiceFallbackMethod |
The HTTP method Twilio will use when requesting the VoiceFallbackUrl . Either GET or POST . |
| StatusCallback |
The URL that Twilio will request to pass status parameters (such as call ended) to your application. |
| StatusCallbackMethod |
The HTTP method Twilio will use to make requests to the StatusCallback URL. Either GET or POST . |
| SmsUrl |
The URL Twilio will request when receiving an incoming SMS message to this number. |
| SmsMethod |
The HTTP method Twilio will use when making requests to the SmsUrl . Either GET or POST . |
| SmsFallbackUrl |
The URL that Twilio will request if an error occurs retrieving or executing the TwiML from SmsUrl . |
| SmsFallbackMethod |
The HTTP method Twilio will use when requesting the above URL. Either GET or POST . |
| Uri |
The URI for this resource, relative to https://api.twilio.com. |


{% extends "MyHealthApp/sidebar.html" %} {% load static %} {% block title %} Edit Doctors {% endblock %} {% block div_id %}
Name
{{ form.doctor_name }}
Phone Number
{{ form.doctor_phone_number }}
Doctor Description
{{ form.doctor_description }}
Address
{{ form.doctor_address }}
Speciality
{{ form.doctor_speciality }}
Timings
{{ form.doctor_timings }}
Notes
{{ note_form.doctor_note }}


ARLINGTON ROAD *** (out of five stars) A review by Jamey Hughton
Starring-Jeff Bridges, Tim Robbins, Joan Cusack, Hope Davis and Robert Gossett Director-Mark Pellington Rated 14A Released July 1999 Sony
More MOVIE VIEWS by Jamey Hughton at: http://Welcome.to/MovieViews
It depends on your basis of judgment whether or not you will enjoy Arlington Road, a suspenseful but convoluted Hitchockian yarn about neighborly suspicion. Critics and audiences tend to react different to this sort of movie, but if you are able to grasp the basic premise with depth and believability, you should enjoy yourself.
Arlington Road was first set for release in mid-January ‘99, when it was re-scheduled for a May 14 opening. But, after the violent and tragic high school shooting in Colorado, the movie was postponed yet again to avoid conflict that could result from it's terrorist-associated plotline. All the more so because Arlington Road deals with violence that takes place in a friendly environment that could resemble home for more than a few people. It seemed nearly impossible for a film with such a complicated past to break through in the busy season of summer.
The film does have big Hollywood names to combat the typical summer action fare. Jeff Bridges, looking rather frigid and tense, plays Michael Faraday, a university professor who teaches a class in U.S. terrorism. He has a nine-year old child he's raised since the passing of his wife, an F.B.I. agent who was killed in the line of duty. In a tense prologue, Faraday comes upon a boy on the street, injured and bleeding as he hobbles along helplessly. After driving him to the hospital, Faraday meets the boy's parents, the humble and reserved Oliver Lang (Tim Robbins) and his eccentric but caring wife (Joan Cusack). It turns out the Lang's live just across the street from Michael, and the two families strike a bond.
But perhaps there is more to Mr. Lang than the friendly, overly-generous facade that he puts on. Faraday, a man so paranoid he could put Agent Mulder to shame, suspects something more of his neighbor. He starts digging, digs some more, and then can't stop extracting clues from Lang's mysterious past. After discovering a name-change and scanning through the suspect's local paper, he comes upon the conclusion that Oliver Lang is a sophisticated terrorist bomber. His current girlfriend (Hope Davis) thinks he's a loon, but while his son plays with the Lang's 10-year old boy who enjoys lighting firecrackers, Faraday becomes more overwrought with fear that something is not right.
To watch Arlington Road is to appreciate good acting. Bridges is terrific; a bit too extraneous, but terrific. And while Robbins and Cusack are both appropriately creepy, I wanted so much more from their characters, more exploration resulting in greater discovery. The latter, in particular, is left fairly one-note. And Tim Robbins has such great abilities, his character could have been stretched far beyond the limits it's taken. Still, there's a certain chill that runs down your back when he tells Bridges, `I didn't know you taught a course in terrorism. That's a pretty frightening subject.' But good for a living too, I suppose.
Most viewers will be biting their nails to the nubs as Arlington Road nears the climax, but the suspense could have been greater. The script, which starts out too dreary and slow, contains so many convoluted plot details that a sense of unease sets in. Luckily, the action picks up and the suspense goes into overdrive during the final twenty minutes, leaving room for a very surprising and deviously clever finale. Some may find it unnecessary, but I actually found more to like in it than I did with the twisted 2 hours that preceded it. If Arlington Road had maintained a steady intellectual pace to support this climax, than perhaps there would have been more to relish in this entertaining but passable summer popcorn movie.
Footnote: A good invitation for a neighborhood barbecue hosted by Robbins' character would read: `BYOB: Bring Your Own Bomb'. Ha, ha.
(C) 1999, Jamey Hughton
MOVIE VIEWS by Jamey Hughton: http://Welcome.to/MovieViews .......................
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


Blast from the Past (1999) Reviewed by Christian Pyle Directed by Hugh Wilson Written by Bill Kelly and Hugh Wilson Starring Brendan Fraser, Alicia Silverstone, Christopher Walken, Sissy Spacek, and Dave Foley Grade: C+
It's 1962, and the Cuban Missile Crisis has everyone worried that nuclear war is imminent. But inventor Calvin Webber (Christopher Walken) is ready. He's got an elaborate fallout shelter under his backyard. Just as Calvin takes his pregnant wife Helen (Sissy Spacek) underground, a fighter jet crashes into their house. Thinking that the Bomb has dropped, Calvin seals the door with a timelock that will open in 35 years, when the radioactivity will have dissipated.  Adam Webber (Brendan Fraser) is born down there and grows to manhood in a sanitized 1950's fantasy.
Up top, a malt shop is built over the ruins of the Webber home.  In 1997 when Calvin comes up to take a look, he finds weirdoes, lunatics, transsexual prostitutes, and adult video stores. Horrified, he decides that his family should continue to live in the shelter, but Adam has to go out to restock their supplies. Raised in an artificial world, Adam is ill equipped to deal with modern day Los Angeles and quickly finds himself lost and confused. But Adam meets Eve (Alicia Silverstone). Eve and her gay best friend Troy (Dave Foley) adopt the manchild and introduce him to the pleasures and perils of life outside the shelter. Adam and Eve fall in love, of course, with the usual "boy-meets-girl/boy-loses-girl" complications.
Brendan Fraser seems to be type-cast as the "dopey good guy." This project could just have easily been "George of the Jungle Takes L. A." "Blast" tries to get a lot of mileage out of Adam's wide-eyed innocent response to all the things he's never seen or done. For example, when he sees his first black person, he shouts, "Oh my lucky stars! A Negro!" Fraser's amiability carries such jokes. The funniest moments, though, come from Christopher Walken and Sissy Spacek. In the scenes showing the passage of time in the shelter, Calvin prefers his orderly underground world while Helen becomes an alcoholic, a fact to which Calvin and Adam are oblivious. These extremely conflicting reactions are played for comedy and have more bite than anything else in the movie.
This premise could have been used for effective satire on the 90's or the 50's or both. However, screenwriters Bill Kelly and Hugh Wilson ignore that potential and opt instead for light comedy in the fish-out-of-water vein. Pity.
Bottom line: Pleasant distraction that neither taxes nor stimulates the mind.
© 2000 Christian L. Pyle
Read my reviews and others at the Mad Review: http://www.madreview.com/main.html
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Total shows: 43
Total shows length: 210 days, 18 hours, 17 minutes, 55 seconds
Total active shows: 28
Yearly output: 35 days, 9 hours
Monthly output: 2 days, 22 hours
Time untill 1 year of content: 4 years, 130 days
Adapt
18 hours, 18 minutes, 36 seconds
Number of shows: 17
Average Length: 1 hour, 4 minutes, 37 seconds
Average gap: 15 days, 19 hours, 19 minutes, 41 seconds
Standard deviation: 4 days, 14 hours, 43 minutes, 45 seconds
Shows per year: 23.1
Monthly show output: 2 hours, 4 minutes, 21 seconds
Analog(ue)
8 days, 14 hours, 21 minutes, 55 seconds
Number of shows: 173
Average Length: 1 hour, 11 minutes, 34 seconds
Average gap: 11 days, 10 hours, 14 minutes, 23 seconds
Standard deviation: 4 days, 7 hours, 15 minutes, 47 seconds
Shows per year: 31.9
Monthly show output: 3 hours, 10 minutes, 31 seconds
Automators
1 day, 16 hours, 23 minutes, 25 seconds
Number of shows: 42
Average Length: 57 minutes, 42 seconds
Average gap: 13 days, 18 hours, 22 minutes, 19 seconds
Standard deviation: 1 day, 12 hours, 43 minutes, 45 seconds
Shows per year: 26.5
Monthly show output: 2 hours, 7 minutes, 29 seconds
BONANZA
1 day, 13 hours, 2 minutes, 26 seconds
Number of shows: 38
Average Length: 58 minutes, 29 seconds
Average gap: 50 days, 12 hours, 47 minutes, 50 seconds
Standard deviation: 54 days, 3 hours, 4 minutes, 26 seconds
Shows per year: 7.2
Monthly show output: 35 minutes, 12 seconds
B-Sides
12 hours, 10 minutes
Number of shows: 39
Average Length: 18 minutes, 43 seconds
Average gap: 49 days, 10 hours, 17 minutes, 45 seconds
Standard deviation: 50 days, 20 hours, 28 minutes, 18 seconds
Shows per year: 7.4
Monthly show output: 11 minutes, 31 seconds
Clockwise
5 days, 17 hours, 56 minutes, 21 seconds
Number of shows: 279
Average Length: 29 minutes, 39 seconds
Average gap: 8 days, 17 hours, 32 minutes, 15 seconds
Standard deviation: 27 days, 12 hours, 45 minutes, 5 seconds
Shows per year: 41.8
Monthly show output: 1 hour, 43 minutes, 20 seconds
Connected
16 days, 18 hours, 13 minutes, 46 seconds
Number of shows: 279
Average Length: 1 hour, 26 minutes, 30 seconds
Average gap: 7 days, 3 hours, 51 minutes, 5 seconds
Standard deviation: 1 day, 6 hours, 42 minutes, 3 seconds
Shows per year: 51.0
Monthly show output: 6 hours, 7 minutes, 26 seconds
Cortex
6 days, 9 hours, 26 minutes, 10 seconds
Number of shows: 96
Average Length: 1 hour, 35 minutes, 53 seconds
Average gap: 17 days, 21 hours, 44 minutes, 50 seconds
Standard deviation: 8 days, 18 hours, 53 minutes, 21 seconds
Shows per year: 20.4
Monthly show output: 2 hours, 42 minutes, 53 seconds
Departures
8 hours, 7 minutes, 14 seconds
Number of shows: 2
Average Length: 4 hours, 3 minutes, 37 seconds
Average gap: 30 days, 6 hours
Standard deviation:
Shows per year: 12.1
Monthly show output: 4 hours, 4 minutes, 57 seconds
Focused
3 days, 17 hours, 51 minutes, 13 seconds
Number of shows: 91
Average Length: 59 minutes, 14 seconds
Average gap: 14 days, 3 hours, 43 minutes
Standard deviation: 1 day, 10 hours, 17 minutes, 57 seconds
Shows per year: 25.8
Monthly show output: 2 hours, 7 minutes, 18 seconds
Liftoff
3 days, 21 hours, 1 minute, 49 seconds
Number of shows: 117
Average Length: 47 minutes, 42 seconds
Average gap: 14 days, 36 minutes, 58 seconds
Standard deviation: 2 days, 20 hours, 56 minutes
Shows per year: 26.0
Monthly show output: 1 hour, 43 minutes, 27 seconds
Mac Power Users
33 days, 7 hours, 37 minutes, 23 seconds
Number of shows: 520
Average Length: 1 hour, 32 minutes, 15 seconds
Average gap: 7 days, 13 hours, 10 minutes, 52 seconds
Standard deviation: 3 days, 12 hours, 39 minutes, 27 seconds
Shows per year: 48.3
Monthly show output: 6 hours, 11 minutes, 44 seconds
Make Do
1 day, 11 hours, 13 minutes, 18 seconds
Number of shows: 48
Average Length: 44 minutes, 1 second
Average gap: 14 days, 7 hours, 13 minutes, 43 seconds
Standard deviation: 1 day, 23 hours, 23 minutes, 47 seconds
Shows per year: 25.5
Monthly show output: 1 hour, 33 minutes, 38 seconds
Material
11 days, 18 hours, 36 minutes, 9 seconds
Number of shows: 240
Average Length: 1 hour, 10 minutes, 39 seconds
Average gap: 6 days, 23 hours, 25 minutes, 25 seconds
Standard deviation: 20 hours, 25 minutes, 40 seconds
Shows per year: 52.3
Monthly show output: 5 hours, 8 minutes, 3 seconds
Originality
1 day, 9 hours, 42 minutes, 32 seconds
Number of shows: 31
Average Length: 1 hour, 5 minutes, 14 seconds
Average gap: 29 days, 17 hours, 45 minutes, 30 seconds
Standard deviation: 35 days, 2 hours, 47 seconds
Shows per year: 12.3
Monthly show output: 1 hour, 6 minutes, 43 seconds
Parallel
23 hours, 35 minutes, 43 seconds
Number of shows: 26
Average Length: 54 minutes, 27 seconds
Average gap: 20 days, 21 hours, 31 minutes, 12 seconds
Standard deviation: 21 days, 10 hours, 29 minutes
Shows per year: 17.5
Monthly show output: 1 hour, 19 minutes, 15 seconds
Pictorial
2 hours, 39 minutes, 41 seconds
Number of shows: 5
Average Length: 31 minutes, 56 seconds
Average gap: 13 days, 23 hours, 45 minutes
Standard deviation: 1 hour, 53 minutes, 44 seconds
Shows per year: 26.1
Monthly show output: 1 hour, 9 minutes, 26 seconds
Presentable
2 days, 16 hours, 13 minutes, 38 seconds
Number of shows: 80
Average Length: 48 minutes, 10 seconds
Average gap: 17 days, 27 minutes, 20 seconds
Standard deviation: 7 days, 9 hours, 23 minutes, 47 seconds
Shows per year: 21.4
Monthly show output: 1 hour, 26 minutes, 5 seconds
Reconcilable Differences
9 days, 14 hours, 44 minutes, 11 seconds
Number of shows: 122
Average Length: 1 hour, 53 minutes, 28 seconds
Average gap: 14 days, 26 minutes, 9 seconds
Standard deviation: 2 days, 3 hours, 21 minutes, 47 seconds
Shows per year: 26.0
Monthly show output: 4 hours, 6 minutes, 13 seconds
Remaster
3 days, 5 hours, 30 minutes, 46 seconds
Number of shows: 83
Average Length: 56 minutes, 2 seconds
Average gap: 17 days, 14 hours, 8 minutes, 35 seconds
Standard deviation: 8 days, 1 hour, 37 minutes, 23 seconds
Shows per year: 20.8
Monthly show output: 1 hour, 36 minutes, 53 seconds
Roboism
19 hours, 40 minutes, 47 seconds
Number of shows: 33
Average Length: 35 minutes, 46 seconds
Average gap: 25 days, 14 hours, 27 minutes, 11 seconds
Standard deviation: 18 days, 8 hours, 10 minutes, 55 seconds
Shows per year: 14.3
Monthly show output: 42 minutes, 30 seconds
Rocket
12 days, 14 hours, 4 minutes, 16 seconds
Number of shows: 263
Average Length: 1 hour, 8 minutes, 54 seconds
Average gap: 6 days, 23 hours, 37 minutes, 5 seconds
Standard deviation: 19 hours, 22 minutes, 25 seconds
Shows per year: 52.3
Monthly show output: 5 hours, 7 seconds
The Pen Addict
16 days, 19 hours, 4 minutes, 42 seconds
Number of shows: 395
Average Length: 1 hour, 1 minute, 13 seconds
Average gap: 7 days, 9 hours, 19 minutes, 47 seconds
Standard deviation: 4 days, 5 hours, 49 minutes, 54 seconds
Shows per year: 49.4
Monthly show output: 4 hours, 12 minutes, 2 seconds
Thoroughly Considered
1 day, 14 hours, 16 minutes, 54 seconds
Number of shows: 56
Average Length: 41 minutes
Average gap: 27 days, 21 hours, 52 minutes, 21 seconds
Standard deviation: 10 days, 23 hours, 45 minutes, 39 seconds
Shows per year: 13.1
Monthly show output: 44 minutes, 41 seconds
Top Four
1 day, 21 hours, 42 minutes, 13 seconds
Number of shows: 60
Average Length: 45 minutes, 42 seconds
Average gap: 27 days, 13 hours, 35 minutes, 35 seconds
Standard deviation: 10 days, 11 hours, 20 minutes, 49 seconds
Shows per year: 13.2
Monthly show output: 50 minutes, 25 seconds
Under the Radar
3 days, 17 hours, 1 minute, 39 seconds
Number of shows: 183
Average Length: 29 minutes, 11 seconds
Average gap: 8 days, 11 hours, 6 minutes, 15 seconds
Standard deviation: 5 days, 9 hours, 22 minutes, 48 seconds
Shows per year: 43.1
Monthly show output: 1 hour, 44 minutes, 54 seconds
Ungeniused
19 hours, 58 minutes, 28 seconds
Number of shows: 97
Average Length: 12 minutes, 21 seconds
Average gap: 13 days, 20 hours, 12 minutes, 11 seconds
Standard deviation: 3 days, 8 hours, 42 minutes, 31 seconds
Shows per year: 26.4
Monthly show output: 27 minutes, 9 seconds
Upgrade
18 days, 8 hours, 55 minutes, 49 seconds
Number of shows: 282
Average Length: 1 hour, 33 minutes, 48 seconds
Average gap: 6 days, 23 hours, 17 minutes, 46 seconds
Standard deviation: 16 hours, 28 minutes, 10 seconds
Shows per year: 52.4
Monthly show output: 6 hours, 49 minutes, 21 seconds
Almanac
1 hour, 29 minutes, 48 seconds
Number of shows: 1
Average Length: 1 hour, 29 minutes, 48 seconds
Bionic
1 day, 19 hours, 46 minutes, 15 seconds
Number of shows: 45
Average Length: 58 minutes, 21 seconds
Canvas
2 days, 16 hours, 27 minutes, 39 seconds
Number of shows: 76
Average Length: 50 minutes, 53 seconds
CMD Space
4 days, 4 hours, 56 minutes, 19 seconds
Number of shows: 103
Average Length: 58 minutes, 47 seconds
Disruption
4 days, 5 hours, 31 minutes, 12 seconds
Number of shows: 90
Average Length: 1 hour, 7 minutes, 40 seconds
Download
4 days, 5 hours, 20 minutes, 10 seconds
Number of shows: 108
Average Length: 56 minutes, 17 seconds
Inquisitive
2 days, 7 hours, 8 minutes, 45 seconds
Number of shows: 59
Average Length: 56 minutes, 4 seconds
Isometric
5 days, 21 hours, 11 minutes, 6 seconds
Number of shows: 102
Average Length: 1 hour, 23 minutes, 3 seconds
Less Than or Equal
4 days, 5 hours, 1 minute, 5 seconds
Number of shows: 100
Average Length: 1 hour, 36 seconds
Mixed Feelings
2 days, 7 hours, 5 minutes, 51 seconds
Number of shows: 70
Average Length: 47 minutes, 13 seconds
Playing for Fun
16 hours, 21 minutes, 14 seconds
Number of shows: 18
Average Length: 54 minutes, 30 seconds
Query
1 day, 3 hours, 16 minutes, 23 seconds
Number of shows: 46
Average Length: 35 minutes, 34 seconds
Subnet
6 hours, 57 minutes, 20 seconds
Number of shows: 228
Average Length: 1 minute, 49 seconds
The Prompt
3 days, 47 minutes, 35 seconds
Number of shows: 57
Average Length: 1 hour, 16 minutes, 37 seconds
Virtual
2 days, 13 hours, 26 minutes, 9 seconds
Number of shows: 61
Average Length: 1 hour, 25 seconds


Gecode::Int::Limits Namespace Reference
[Integer variables]
Numerical limits for integer variables. More...
Functions | |
| bool | valid (int n) |
| Return whether integer n is in range. | |
| bool | valid (double n) |
| Return whether double n is in range. | |
| void | check (int n, const char *l) |
| Check whether integer n is in range, otherwise throw out of limits with information l. | |
| void | check (double n, const char *l) |
| Check whether double n is in integer range, otherwise throw out of limits exception with information l. | |
| void | positive (int n, const char *l) |
| Check whether integer n is in range and strictly positive, otherwise throw out of limits with information l. | |
| void | positive (double n, const char *l) |
| Check whether double n is in integer range and strictly postive, otherwise throw out of limits exception with information l. | |
| void | nonnegative (int n, const char *l) |
| Check whether integer n is in range and nonnegative, otherwise throw out of limits with information l. | |
| void | nonnegative (double n, const char *l) |
| Check whether double n is in integer range and nonnegative, otherwise throw out of limits exception with information l. | |
| void | double_check (double n, const char *l) |
| Check whether double n is in exactly representable range, otherwise throw out of limits with information l. | |
Variables | |
| const int | max = INT_MAX - 1 |
| Largest allowed integer value. | |
| const int | min = -max |
| Smallest allowed integer value. | |
| const int | infinity = max + 1 |
| Infinity. | |
| const double | double_max =<PHONE_NUMBER>740991.0 |
| Largest double that can exactly be represented. | |
| const double | double_min = -9007199254740991.0 |
| Smallest double that can exactly be represented. | |
| const double | double_infinity = DBL_MAX |
| Infinity value for doubles. |
Detailed Description
Numerical limits for integer variables.
The integer limits are chosen such changing the sign is always possible without overflow.
Function Documentation
| bool Gecode::Int::Limits::valid | ( | int | n | ) | [inline] |
Return whether integer n is in range.
Definition at line 41 of file limits.hpp.
| bool Gecode::Int::Limits::valid | ( | double | n | ) | [inline] |
Return whether double n is in range.
Definition at line 46 of file limits.hpp.
| void Gecode::Int::Limits::check | ( | int | n, | |
| const char * | l | |||
| ) | [inline] |
Check whether integer n is in range, otherwise throw out of limits with information l.
Definition at line 51 of file limits.hpp.
| void Gecode::Int::Limits::check | ( | double | n, | |
| const char * | l | |||
| ) | [inline] |
Check whether double n is in integer range, otherwise throw out of limits exception with information l.
Definition at line 57 of file limits.hpp.
| void Gecode::Int::Limits::positive | ( | int | n, | |
| const char * | l | |||
| ) | [inline] |
Check whether integer n is in range and strictly positive, otherwise throw out of limits with information l.
Definition at line 63 of file limits.hpp.
| void Gecode::Int::Limits::positive | ( | double | n, | |
| const char * | l | |||
| ) | [inline] |
Check whether double n is in integer range and strictly postive, otherwise throw out of limits exception with information l.
Definition at line 69 of file limits.hpp.
| void Gecode::Int::Limits::nonnegative | ( | int | n, | |
| const char * | l | |||
| ) | [inline] |
Check whether integer n is in range and nonnegative, otherwise throw out of limits with information l.
Definition at line 75 of file limits.hpp.
| void Gecode::Int::Limits::nonnegative | ( | double | n, | |
| const char * | l | |||
| ) | [inline] |
Check whether double n is in integer range and nonnegative, otherwise throw out of limits exception with information l.
Definition at line 81 of file limits.hpp.
| void Gecode::Int::Limits::double_check | ( | double | n, | |
| const char * | l | |||
| ) | [inline] |
Check whether double n is in exactly representable range, otherwise throw out of limits with information l.
Definition at line 87 of file limits.hpp.
Variable Documentation
| const int Gecode::Int::Limits::max = INT_MAX - 1 |
| const int Gecode::Int::Limits::min = -max |
| const int Gecode::Int::Limits::infinity = max + 1 |
| const double Gecode::Int::Limits::double_max =<PHONE_NUMBER>740991.0 |
| const double Gecode::Int::Limits::double_min = -9007199254740991.0 |
| const double Gecode::Int::Limits::double_infinity = DBL_MAX |


fun observe(): Observable<OnlineCacheState<CACHE>>
How to begin observing the state of the cache for this OnlineRepository.
Teller will automatically perform a refresh if the cache does not exist or is too old. You will get notified anytime that the state of the cache changes.
RuntimeException
- If calling after calling dispose.


When I say artist I mean the man who is building things - creating molding the earth...some with a brush - some with a shovel - some choose a pen.


Blot is a blogging platform
Sign up
Log in
Introduction
Documentation
Philosophy
Changes
Support
Contact
You can email me at
<EMAIL_ADDRESS>. For short or less urgent questions feel free to contact me on
Twitter
.
I’m
David
, by the way.


2 columns
Cat
Cats are similar in anatomy to the other felids, with strong, flexible bodies, quick reflexes, sharp retractable claws, and teeth adapted to killing small prey. Cat senses fit a crepuscular and predatory ecological niche. Cats can hear sounds too faint or too high in frequency for human ears, such as those made by mice and other small animals. They can see in near darkness. Like most other mammals, cats have poorer color vision and a better sense of smell than humans. readmore...
Cat
Cats are similar in anatomy to the other felids, with strong, flexible bodies, quick reflexes, sharp retractable claws, and teeth adapted to killing small prey. Cat senses fit a crepuscular and predatory ecological niche. Cats can hear sounds too faint or too high in frequency for human ears, such as those made by mice and other small animals. readmore...
3 columns
Cat
Cats are similar in anatomy to the other felids, with strong, flexible bodies, quick reflexes, sharp retractable claws, and teeth adapted to killing small prey. Cat senses fit a crepuscular and predatory ecological niche. Cats can hear sounds too faint or too high in frequency for human ears, such as those made by mice and other small animals. They can see in near darkness. Like most other mammals, cats have poorer color vision and a better sense of smell than humans. readmore...
Cat
Cats are similar in anatomy to the other felids, with strong, flexible bodies, quick reflexes, sharp retractable claws, and teeth adapted to killing small prey. Cat senses fit a crepuscular and predatory ecological niche. Cats can hear sounds too faint or too high in frequency for human ears, such as those made by mice and other small animals. readmore...
Cat
Cats are similar in anatomy to the other felids, with strong, flexible bodies, quick reflexes, sharp retractable claws, and teeth adapted to killing small prey. Cat senses fit a crepuscular and predatory ecological niche. Cats can hear sounds too faint or too high in frequency for human ears, such as those made by mice and other small animals. They can see in near darkness. Like most other mammals, cats have poorer color vision and a better sense of smell than humans. readmore...
4 columns
Cat
Cats are similar in anatomy to the other felids, with strong, flexible bodies, quick reflexes, sharp retractable claws, and teeth adapted to killing small prey. Cat senses fit a crepuscular and predatory ecological niche. Cats can hear sounds too faint or too high in frequency for human ears, such as those made by mice and other small animals. They can see in near darkness. Like most other mammals, cats have poorer color vision and a better sense of smell than humans. readmore...
Cat
Cats are similar in anatomy to the other felids, with strong, flexible bodies, quick reflexes, sharp retractable claws, and teeth adapted to killing small prey. Cat senses fit a crepuscular and predatory ecological niche. Cats can hear sounds too faint or too high in frequency for human ears, such as those made by mice and other small animals. readmore...
Cat
Cats are similar in anatomy to the other felids, with strong, flexible bodies, quick reflexes, sharp retractable claws, and teeth adapted to killing small prey. Cat senses fit a crepuscular and predatory ecological niche. Cats can hear sounds too faint or too high in frequency for human ears, such as those made by mice and other small animals. They can see in near darkness. Like most other mammals, cats have poorer color vision and a better sense of smell than humans. readmore...
Cat
Cats are similar in anatomy to the other felids, with strong, flexible bodies, quick reflexes, sharp retractable claws, and teeth adapted to killing small prey. Cat senses fit a crepuscular and predatory ecological niche. Cats can hear sounds too faint or too high in frequency for human ears, such as those made by mice and other small animals. They can see in near darkness. Like most other mammals, cats have poorer color vision and a better sense of smell than humans. readmore...
Small and big column
Cat
Cats are similar in anatomy to the other felids, with strong, flexible bodies, quick reflexes, sharp retractable claws, and teeth adapted to killing small prey. Cat senses fit a crepuscular and predatory ecological niche. Cats can hear sounds too faint or too high in frequency for human ears, such as those made by mice and other small animals. readmore...
Cat
Cats are similar in anatomy to the other felids, with strong, flexible bodies, quick reflexes, sharp retractable claws, and teeth adapted to killing small prey. Cat senses fit a crepuscular and predatory ecological niche. Cats can hear sounds too faint or too high in frequency for human ears, such as those made by mice and other small animals. readmore...


Please enable Javascript or switch to a supported browser.
Welcome to Shooty Game! We hope you'll love the game as much as we do.
Don't forget to share the game with your friends!


The Self Destruct button is always there, just in case, but of course you have never pushed it.
Today the allure is too much to bear. Slaming your fist in the Self Destruct button, you laugh hysterically as the alarms blare.
5...4...3...2...1...
Was it worth it?
Try Again


My Current Workstation Arrangement
As of 2021 I'm using a custom-assembled computer and a laptop to manage my studies and I work
on some side projects as I get spare time from here and there.
Specs of my computer:-
- Motherboard
- GIGABYTE 450M Series
- Memory
- KINGSTON Hyper-Fury-X 4x8GB @ 3000MHz
- CPU
- AMD Ryzen 5-2600x @ 4.5GHz
- GPU
- NVIDIA GTX 1660 super 8GB
- Storage
- SAMSUNG NVME 512GB SSD
- TOSHIBA 2TB Hybrid SSHD
- OS
- Windows 10 Pro
- Debian 20.04
As for my laptop, I'm using DELL Inpiron 15-3595. Which has-
- CPU
- AMD Athlon APU A9 @ 4Ghz
- Memory
- 4+8GB @ 2666 MHz
- Storage
- 1TB HDD
- OS
- Arch Linux
- Windows 10 Home
Thanks for checking out my django assignment, if you want you can check out my
pending/completed projects at my github profile
<-Previous
Reset


Golf: Austria's Schwab leads by one at halfway in Turkish Open
(Reuters) - Austria’s overnight leader Matthias Schwab shot a five-under par 67 to maintain a one-stroke lead over four other golfers at the halfway stage at the Turkish Airlines Open in Antalya on Friday.
Schwab sank an eagle on the par-five first hole and had four birdies on the back nine, offset by a bogey on the fifth, to go 12-under overall on a relatively low-scoring day at the Montgomerie Maxx Royal golf course.
“I wasn’t really hitting them great at all, especially early on but kept it together,” said Schwab, who is yet to win his first European Tour title.
“The long game wasn’t on but I managed to make a few good pars. On the back nine I found my swing a little bit and made a few good birdies coming home.”
Sweden’s Alex Noren, Belgium’s Thomas Detry and England’s Ross Fisher and Danny Willett were in a four-way tie for second at 11-under overall.
England’s Tom Lewis, who shared the overnight lead with Schwab, slipped to 11th after signing for a two-under par 70.
Defending champion Justin Rose of England, who is looking to accomplish the three-peat after winning the event in 2017 and 2018, was tied for sixth with four others — two strokes behind Schwab.
“I put myself in position. The dream is alive, no doubt,” Rose said. “Last year I was in way worse shape after two rounds and just got it going on the weekend. If I can build from here, obviously that would be a great place to be.”