text:
#### Nr: 64
#### [Back to Main list](index.md)
# SQLSaturday #64 - Baton Rouge 2011
Start Time (24h)|Speaker|Track|Title
---|---|---|---
00:00:00|Wesley Brown|SQL Admin I|[Understanding Storage Systems and SQL Server](#sessionid-28479)
00:00:00|Al Manint|.NET II|[Introduction to MVC 3](#sessionid-28633)
00:00:00|Arnoldo Ruiz|SharePoint|[Storage Optimization and Data Availability](#sessionid-28870)
00:00:00|Brian Sullivan|.NET II|[Building a Maintainable Model w/ EF Code-First](#sessionid-29099)
00:00:00|Brian Rigsby|.NET I|[Zen Coding](#sessionid-29285)
00:00:00|Cade Roux|SQL Admin II|[Get a Lever and Pick Any Turtle: Lifting with Meta](#sessionid-29366)
00:00:00|Carlos Bossy|BI|[Business Intelligence for Managers/Decision Makers](#sessionid-29411)
00:00:00|Carlos Bossy|Bonus Track|[Tune a Star Schema for High Performance Reporting](#sessionid-29412)
00:00:00|Cody  Gros|SharePoint|[PowerShell Cookbook for SharePoint 2010](#sessionid-29430)
00:00:00|Cherie Sheriff|SSIS/SSRS|[Auditing and SQL Forensics in SQL Server 2008 (r2)](#sessionid-29459)
00:00:00|Chris  Koenig|Windows Phone Garage|[Windows Phone Garage - Develop a Phone App](#sessionid-29476)
00:00:00|Cory Roth|SharePoint|[Getting the most out of SharePoint Search](#sessionid-29611)
00:00:00|Chander Dhall|.NET I|[MVc3 - Solid principles, IOC and ORM](#sessionid-29659)
00:00:00|Eric Trivette|SharePoint|[BCS Best Practices in SharePoint 2010](#sessionid-30093)
00:00:00|Ira Warren|SSIS/SSRS|[Creating a Metadata Mart w/ SSIS - Data Governance](#sessionid-30389)
00:00:00|Janis Griffin|SQL Admin II|[Looney Tuner?  No, there IS a method to my madness](#sessionid-30469)
00:00:00|Jose Chinchilla|SSIS/SSRS|[Learning SSIS under 1 hour](#sessionid-30631)
00:00:00|Jose Chinchilla|BI|[Designing and Optimizing SSAS Hierarchies](#sessionid-30633)
00:00:00|Jennifer McCown|SQL Admin II|[TSQL Brush-up: The Best Things You Forgot You Knew](#sessionid-30705)
00:00:00|Jennifer McCown|SQL Admin I|[Unraveling Tangled Code–Tale of Victory Over Chaos](#sessionid-30706)
00:00:00|John Welch|SSIS/SSRS|[Do More (ETL) with Less (Effort) - Automating SSIS](#sessionid-30968)
00:00:00|John Welch|BI|[Handling Advanced Data Warehouse Scenarios in SSIS](#sessionid-30970)
00:00:00|J Sawyer|Bonus Track|[Data in the Stream: Introducing StreamInsight](#sessionid-31074)
00:00:00|Justin Yesso|SSIS/SSRS|[SSRS for .Net Developers ](#sessionid-31166)
00:00:00|Kyle Kelin|.NET II|[Back to Basics - Threading in .NET](#sessionid-31376)
00:00:00|Chris Eargle|.NET II|[Fundamental OOP with C#](#sessionid-31469)
00:00:00|Chris Koenig|Windows Phone Garage|[Introduction to Windows Phone Development](#sessionid-31782)
00:00:00|Chris Koenig|Windows Phone Garage|[Windows Phone Demo Walk-through](#sessionid-31783)
00:00:00|Mike Huguet|.NET II|[Leveraging Open XML to Create More Dynamic Docs](#sessionid-31909)
00:00:00|Michael Moles|Bonus Track|[Introduction to Agile/Scrum](#sessionid-31959)
00:00:00|Peter Myers|SQL Admin I|[Developing Rich Reporting Services Visualizations](#sessionid-32285)
00:00:00|Peter Myers|BI|[Introduction to Analysis Services 2008 R2 Cubes](#sessionid-32289)
00:00:00|Ryan Duclos|Bonus Track|[Introduction to Windows Azure ](#sessionid-32471)
00:00:00|Ryan Duclos|Bonus Track|[Introduction to SQL Azure](#sessionid-32472)
00:00:00|Rob Vettor|.NET I|[Must-Know Design Patterns](#sessionid-32598)
00:00:00|Rob Vettor|.NET I|[EntityFramework 360: Getting Started](#sessionid-32599)
00:00:00|Ryan Richard|.NET I|[Using the MVVM pattern in Silverlight and WPF](#sessionid-32724)
00:00:00|Sean McCown|SQL Admin I|[Understanding Backups](#sessionid-32864)
00:00:00|Sean McCown|SQL Admin II|[Beginning Powershell for DBAs 1.0](#sessionid-32865)
00:00:00|Latish Sehgal|Bonus Track|[Extending Visual Studio  Sql Server Mgmt. Studio](#sessionid-32871)
00:00:00|Steve Jones|SQL Admin I|[The Top Ten SQL Server Skills You Need](#sessionid-32929)
00:00:00|Stacy Vicknair|.NET II|[Introduction to Visual Studio LightSwitch](#sessionid-33195)
00:00:00|Stuart Ainsworth|SQL Admin II|[Basic Guidelines for VLDB's](#sessionid-33255)
00:00:00|Kevin Boles|SQL Admin I|[SQL Server Partitioning from A to Z](#sessionid-33471)
00:00:00|Kevin Boles|SSIS/SSRS|[Advanced TSQL Solutions](#sessionid-33473)
00:00:00|Tim Costello|BI|[Visualizing SQL Saturday.](#sessionid-33632)
00:00:00|Victor Chataboon|SharePoint|[You want [Me] to do what?](#sessionid-33831)
00:00:00|William E Pearson III|BI|[An Overview of PowerPivot ](#sessionid-34258)
00:00:00|William E Pearson III|SharePoint|[An Overview of PowerPivot in SharePoint](#sessionid-34260)
00:00:00|William Assaf|SQL Admin II|[SQL Admin Best Practices with DMV's](#sessionid-34502)
00:00:00|Zain Naboulsi|.NET I|[Advanced Visual Studio Tips and Tricks](#sessionid-34524)
#
#### SessionID: 28479
# Understanding Storage Systems and SQL Server
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: SQL Admin I
## Speaker: Wesley Brown
## Title: Understanding Storage Systems and SQL Server
## Abstract:
### The most important part of your SQL Server is also the slowest, Storage. This talk will take you through the fundamentals of your server's Disk I/O System. This session should give you a solid foundation over storage systems and help you understand why they are slow and how to overcome some of their limitations. We will cover the basics of computer systems, hard disks and disk controllers. Next, we will move to the fundamentals of RAID and how to configure your arrays for performance and reliability. Later, we will discuss the relationship between SQL Server and the file system, what is required for SQL Server and how to configure the file system for optimal performance. Finally, we will touch on how to monitor the performance and health of
#
#### SessionID: 28633
# Introduction to MVC 3
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: .NET II
## Speaker: Al Manint
## Title: Introduction to MVC 3
## Abstract:
### Tired of Web Forms?  Interested in why Microsoft is pushing MVC?  Want to know what it stands for and why?  The basics of the project type and each of the aspects are explored.  Come explore a different way to write web applications in ASP.NET.
#
#### SessionID: 28870
# Storage Optimization and Data Availability
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: SharePoint
## Speaker: Arnoldo Ruiz
## Title: Storage Optimization and Data Availability
## Abstract:
### Optimizing storage and implementing comprehensive data protection strategies are essential for a highly performant, reliable SharePoint environment.  SharePoint and SQL Server natively provide capabilities in this regard, but they prove inadequate for most organizations. In this session, we will discuss key components for a successful SharePoint backup and recovery plan, including extended and archived content. After analyzing SharePoint's native features, we will identify best practices and available solutions for ensuring a reliable, scalable SharePoint platform.

#
#### SessionID: 29099
# Building a Maintainable Model w/ EF Code-First
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: .NET II
## Speaker: Brian Sullivan
## Title: Building a Maintainable Model w/ EF Code-First
## Abstract:
### The whiz-bang visual designer features of the Entity Framework demo well, and may even work for small projects, but anyone who's worked with EF knows that on larger projects, the design surface quickly becomes unusable and a bottleneck to your development process. Thankfully, the Entity Framework team has heard our anguished cries and introduced a new API for defining your EF models, dubbed "Code-First". In this presentation, Brian will guide you through building a true POCO model, basic mapping techniques, and leveraging conventions to keep your mappings DRY.
#
#### SessionID: 29285
# Zen Coding
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: .NET I
## Speaker: Brian Rigsby
## Title: Zen Coding
## Abstract:
### Learn the philosophy, mindset, and attitude of a professional, principled, disciplined software developer.
#
#### SessionID: 29366
# Get a Lever and Pick Any Turtle: Lifting with Meta
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: SQL Admin II
## Speaker: Cade Roux
## Title: Get a Lever and Pick Any Turtle: Lifting with Meta
## Abstract:
### Integrated metadata is a required element of all RDBMSs. In addition to ANSI INFORMATION_SCHEMA and metadata on implementation-specific features like indexes, SQL Server also offers a very powerful extended properties feature. In this talk, I cover using the basic metadata combined with extended properties and demonstrate practical usage to organize and document a system's design and monitor the health of a system's compliance with design rules.
#
#### SessionID: 29411
# Business Intelligence for Managers/Decision Makers
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: BI
## Speaker: Carlos Bossy
## Title: Business Intelligence for Managers/Decision Makers
## Abstract:
### Business Intelligence is an essential component for any business today and a successful BI implementation has the power to change the way your organization functions. In this non-technical session Carlos Bossy will show you what a BI project looks like and how it is different from other IT projects, how to determine the ROI of a BI project, the makeup of a good BI team, how to define the success of a BI implementation, and how to fix a BI project gone bad. You will also learn how to evaluate your BI  Analytical Strategy and you should leave this session with better knowledge of how to plan, build and deploy effective Business Intelligence solutions.
#
#### SessionID: 29412
# Tune a Star Schema for High Performance Reporting
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: Bonus Track
## Speaker: Carlos Bossy
## Title: Tune a Star Schema for High Performance Reporting
## Abstract:
### A data warehouse built using star schema dimensional models can be tuned to handle a demanding workload put on it by its users who require fast reports, dashboards, data extracts, and ad-hoc analysis.  In this session Carlos Bossy will discuss the unique problems associated with star schema query performance and present strategies that will allow you to handle large query volumes in a dimensional environment.  Topics covered will include clustering, indexing and partitioning, and how to treat fact tables different from dimension tables.
#
#### SessionID: 29430
# PowerShell Cookbook for SharePoint 2010
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: SharePoint
## Speaker: Cody  Gros
## Title: PowerShell Cookbook for SharePoint 2010
## Abstract:
### This informative and demo filled session provides real world examples of using SharePoint Management Shell in SharePoint 2010. This session will  demonstrate  how to take full advantage of using the SharePoint Management Shell to solve common issues in SharePoint 2010. The session will be presented in  a Problem/Solution/Discussion style.  This is a must see session for anyone who wants to learn how to take the SharePoint Management Shell to the next level.
#
#### SessionID: 29459
# Auditing and SQL Forensics in SQL Server 2008 (r2)
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: SSIS/SSRS
## Speaker: Cherie Sheriff
## Title: Auditing and SQL Forensics in SQL Server 2008 (r2)
## Abstract:
### Have you ever wondered who made a change to your structures or data?  Do you need to find out who has permissions to do what in your system?  This session will take you on a tour of auditing for internal, SOX or HIPPA Compliance.

How much of a summary do you need?  Or will this work?  I will go into some data forensics as well, but to keep it within the time limit, I will structure it to structural changes, not so much the data itself, though the same techniques apply.

#
#### SessionID: 29476
# Windows Phone Garage - Develop a Phone App
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: Windows Phone Garage
## Speaker: Chris  Koenig
## Title: Windows Phone Garage - Develop a Phone App
## Abstract:
### During this session Chris will be available to help you answer any questions that you have in developing your phone application.  It is also a great time to bring in your laptop and start working on a sample phone application.  Please come with the software pre-loaded to develop phone application.  You can find more information at http://msdn.microsoft.com/en-us/library/ff402535(v=vs.92).aspx.
#
#### SessionID: 29611
# Getting the most out of SharePoint Search
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: SharePoint
## Speaker: Cory Roth
## Title: Getting the most out of SharePoint Search
## Abstract:
### The number one complaint about Enterprise Search is usually summed up by a statement like this: “I can’t find anything!”. Whether you are using SharePoint Foundation with Search Server Express, SharePoint Server 2010, or FAST Search for SharePoint, the quality of the results you receive from search is only as good as the input you give it. Out-of-the-box, SharePoint gives you a very functional search engine, but you need to do some work to really enable the full power it provides. This intro level talk will teach you the basics of Enterprise Search in SharePoint. Here you will learn about the basic building blocks such as content sources, crawled properties, managed properties, and scopes.
#
#### SessionID: 29659
# MVc3 - Solid principles, IOC and ORM
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: .NET I
## Speaker: Chander Dhall
## Title: MVc3 - Solid principles, IOC and ORM
## Abstract:
### Come and see the important components of building an enterprise app with the current best practices on Mvc3 framework. It shows how to integrate Ioc containers, do some smart unit testing and integration testing. Use SOLID principles in practical every day development. Focus on techniques that increase productivity and reduces maintenance costs for the project down the line. And to use repository and unit of work patterns for ORMs like Nhibernate and Entity framework.
#
#### SessionID: 30093
# BCS Best Practices in SharePoint 2010
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: SharePoint
## Speaker: Eric Trivette
## Title: BCS Best Practices in SharePoint 2010
## Abstract:
### Business Connectivity Services (BCS), formerly Business Data Catalog, is a SharePoint 2010 service that allows developers to read and write data to and from external line-of-business (LOB) systems. In this session you will learn best practices in developing BCS solutions, including when to use BCS for your SharePoint projects, choosing the right type of BCS solution, securing your BCS solutions, and development techniques to use when creating your BCS solutions.
#
#### SessionID: 30389
# Creating a Metadata Mart w/ SSIS - Data Governance
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: SSIS/SSRS
## Speaker: Ira Warren
## Title: Creating a Metadata Mart w/ SSIS - Data Governance
## Abstract:
### Recently I have had a client that required migrating and re hosting a data warehouse from the Oracle environment to the Netezza Appliance. The application had hundreds of tables and almost 2900 Source to Target Mappings. This would have taken 1000's of hours of manual coding. For this client we implemented a reusable data driven architecture, via SSIS, that rely on a metadata mart. The end result a greatly reduced TCO(development effort) for generating the code required vs manual coding. In addition the process leaves behind a metadata mart to report on for auditing and other Data Governance efforts. We generated over 100,000 lines of code and over 3000 load scripts.
#
#### SessionID: 30469
# Looney Tuner?  No, there IS a method to my madness
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: SQL Admin II
## Speaker: Janis Griffin
## Title: Looney Tuner?  No, there IS a method to my madness
## Abstract:
### SQL Server query tuning is often more art than science and it can quickly eat up a lot of DBA and/or Developer time. This presentation will outline a method for determining the best approach for tuning queries by utilizing response time analysis and SQL diagramming techniques. Regardless of the complexity of the statement, this quick, systematic approach will lead you down the correct tuning path with no guessing.
#
#### SessionID: 30631
# Learning SSIS under 1 hour
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: SSIS/SSRS
## Speaker: Jose Chinchilla
## Title: Learning SSIS under 1 hour
## Abstract:
### Need to know what is the corresponding SSIS transformation or task to a specific T-SQL statement? How do you accomplish Unions, Joins, and Merges in SSIS? How do you do CASE statements in SSIS? How do you group and aggregate data in SSIS? In this session I will cover the some of the most important SSIS control flow and data flow tasks to jump start DBAs and Developers into SSIS with SQL Server 2008-R2. At the end of this demo, you will be able to identify what control flow tasks and data flow transformations can be used in place of T-SQL statements and scripts. I will also cover how to accomplish in SISS: Basic SELECT, INSERT, DELETE, UPDATE statements, Inner and Outer joins, Union, Aggregates, Merge, CAST, CASE, Sorting, Grouping, etc
#
#### SessionID: 30633
# Designing and Optimizing SSAS Hierarchies
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: BI
## Speaker: Jose Chinchilla
## Title: Designing and Optimizing SSAS Hierarchies
## Abstract:
### In this session Jose will do an overview of the different types of hierarchies and how to design user hierarchies in SSAS by defining attribute relationships and key columns the right way. Attendees will learn how to implement natural  unnatural hierarchies, balanced and ragged hierarchies, and Parent-Child hierarchies. Jose will show how to optimize SSAS hierarchies by specifying attribute and dimension types, member uniqueness, and aggregations. Jose will also do quick intro on querying hierarchies with MDX.
#
#### SessionID: 30705
# TSQL Brush-up: The Best Things You Forgot You Knew
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: SQL Admin II
## Speaker: Jennifer McCown
## Title: TSQL Brush-up: The Best Things You Forgot You Knew
## Abstract:
### You’re a good SQL professional –  some piece of T-SQL slips by you unnoticed, or falls out of memory. Most of us are working with at least two or three out of the last five versions of SQL Server, so who can blame us for missing a feature or two? Come and revisit old favorites, and brush up on new T-SQL features and enhancements. In this session you will see SELECT turned inside-out. You’ll get really, really excited about OVER and PARTITION BY. You’ll learn that Common Table Expressions are, in fact, very cool, and that FOR XML isn’t as scary as it looks. And what’s more, we’ll look and BRAND-new features like SQL Server Denali’s new SEQUENCE object!
#
#### SessionID: 30706
# Unraveling Tangled Code–Tale of Victory Over Chaos
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: SQL Admin I
## Speaker: Jennifer McCown
## Title: Unraveling Tangled Code–Tale of Victory Over Chaos
## Abstract:
### Once upon a time, you inherited an application or a database that was filled
with chaos and inconsistencies. The T-SQL code is overly complex and impossible
to ken. The architecture is painful to behold, and grueling to code for. One
might optimistically say that query performance is “spectacularly mediocre”. If
you’re without good documentation or system architects to guide you, how do you
break the curse of confusion? In this session you’ll learn several methods for
conquering chaotic code, and how to seek and destroy some of the nastier coding
mistakes and inefficiencies. We will break complicated queries into key pieces,
turn them upside-down, and reform them into something sensible.
#
#### SessionID: 30968
# Do More (ETL) with Less (Effort) - Automating SSIS
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: SSIS/SSRS
## Speaker: John Welch
## Title: Do More (ETL) with Less (Effort) - Automating SSIS
## Abstract:
### SSIS is a great tool for transferring data from one data source to another, and for implementing complex ETL processes. However, for simple, straightforward data transfer tasks or packages that adhere to a pattern, creating SSIS packages by hand can be time-consuming and repetitious. By attending this session, you'll learn how to automate package creation in SSIS, including the dynamic generation of data flows. We’ll cover some of the free and open source tools available for this, and discuss “roll your own” options.
#
#### SessionID: 30970
# Handling Advanced Data Warehouse Scenarios in SSIS
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: BI
## Speaker: John Welch
## Title: Handling Advanced Data Warehouse Scenarios in SSIS
## Abstract:
### So you’ve used SSIS to populate a simple star schema data mart, and everybody’s happy. But now you have new requirements that require more advanced data warehouse approaches, like late arriving dimensions, bridge tables, parent child dimensions, and Type 3 or Type 6 slowly changing dimensions (SCD). How do you handle those in a scalable, efficient way in SSIS? This session will present some common patterns for handling these scenarios. You’ll learn when to use each advanced approach and the pros and cons associated with each pattern. You will learn how to implement these patterns in SSIS, and how to tune them for high performance.
#
#### SessionID: 31074
# Data in the Stream: Introducing StreamInsight
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: Bonus Track
## Speaker: J Sawyer
## Title: Data in the Stream: Introducing StreamInsight
## Abstract:
### Introduced as a part of the Sql Server 2008 R2 platform, StreamInsight is Microsoft's Complex Event Processing (CEP) engine. It allows you to analyze and process large volumes of data - think tens to hundreds of thousands of events per second - with sub-second response time. It's as close to real time as you can get without quantum entanglement! The Sql Server engine may be fast ... but it's just not that fast.
This presentation will introduce core CEP concepts and sample uses cases and then dive into kinkiness with real-time data, including hosting StreamInsight, getting data into (and out of) the engine, how time is handled, writing queries in Linq and how to extend the StreamInsight engine.
It's a whole new paradigm of looking at data
#
#### SessionID: 31166
# SSRS for .Net Developers
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: SSIS/SSRS
## Speaker: Justin Yesso
## Title: SSRS for .Net Developers
## Abstract:
### At fist glance, SSRS can seem like an odd fit for .Net reporting. There is a little known side of SSRS that allows it to integrate seamlessly into an application's architecture. This session will introduce the concept of local mode reporting and how this feature allows direct binding to your Data Layer, Entity Model or any other type of object collection in your application.
#
#### SessionID: 31376
# Back to Basics - Threading in .NET
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: .NET II
## Speaker: Kyle Kelin
## Title: Back to Basics - Threading in .NET
## Abstract:
### Multi-core processors are becoming pretty prevalent for most business user's workstations these days. This trend has increased the benefits for developer's to take advantage of multiple threads in applications. While not every application will benefit from being multi-threaded this programming tool should be in every .NET developers tool belt. Unfortunately in my experience the majority of .NET developers are not comfortable with this programming paradigm and are afraid to ask. This session dives into the basics behind threads, outlines all the different threading options in .NET, and then walks through programming examples using .NET 2.0 and 4.0.
#
#### SessionID: 31469
# Fundamental OOP with C#
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: .NET II
## Speaker: Chris Eargle
## Title: Fundamental OOP with C#
## Abstract:
### Do you want to learn or have a refresher on the fundamentals of object-oriented programming and C#? This session is perfect for the DBA who must occasionally code and the developer who wants a deeper understanding of C# and OOP.
#
#### SessionID: 31782
# Introduction to Windows Phone Development
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: Windows Phone Garage
## Speaker: Chris Koenig
## Title: Introduction to Windows Phone Development
## Abstract:
### This session is an introduction to developing for Windows Phone 7.
#
#### SessionID: 31783
# Windows Phone Demo Walk-through
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: Windows Phone Garage
## Speaker: Chris Koenig
## Title: Windows Phone Demo Walk-through
## Abstract:
### During this session we will walk through some of the published sample Windows Phone 7 applications.
#
#### SessionID: 31909
# Leveraging Open XML to Create More Dynamic Docs
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: .NET II
## Speaker: Mike Huguet
## Title: Leveraging Open XML to Create More Dynamic Docs
## Abstract:
### Take advantage of the Open XML format and the .NET SDK to construct and manipulate documents, allowing for simplified interactions with Office documents. This session covers the Open XML format, the Open XML SDK, and shows some examples of how to apply this in real world solutions. We’ll also discuss the role of some of the SharePoint Office Services.
#
#### SessionID: 31959
# Introduction to Agile/Scrum
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: Bonus Track
## Speaker: Michael Moles
## Title: Introduction to Agile/Scrum
## Abstract:
### An introduction to Agile using the Scrum Process. In the past I’ve done an Agile presentation but soon learned that many people needed the basics, so I’ve created a introduction presentation. Even if you know Agile but don’t know scrum, I think you will find this presentation useful. You will learn about what a Scrum Master is vs. a Product Owner; you will understand the difference between the Team and the Stakeholders.  Lots of good stuff.
#
#### SessionID: 32285
# Developing Rich Reporting Services Visualizations
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: SQL Admin I
## Speaker: Peter Myers
## Title: Developing Rich Reporting Services Visualizations
## Abstract:
### This session explores the rich visualization capabilies of Reporting Services 2008 R2. Beyond the standard capabilities to deliver data using grid layouts (tables and matrices), Reporting Services includes Chart, Gauge, Map, Data Bars, Sparklines and Indicators visualizations.

Learn what each delivers and how to configure them to produce visually compelling reports. Furthermore, learn how the Chart is also available to developers to embed directly into .NET applications.
#
#### SessionID: 32289
# Introduction to Analysis Services 2008 R2 Cubes
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: BI
## Speaker: Peter Myers
## Title: Introduction to Analysis Services 2008 R2 Cubes
## Abstract:
### Analysis Service’s OLAP component allows organizations to implement a cube that is designed for rapid ad hoc information retrieval of their data. The cube, as a single version of the truth, can be enriched to encapsulate business rules and calculations, and advanced Business Intelligence features including KPIs and actions.

For organizations that have a Standard or Enterprise SQL Server license, Analysis Services is a possible zero-cost opportunity for your organization today. In the session learn how to exploit the capabilities and features, and the basics of best practice design. Be prepared for numerous compelling demonstrations and to leave the session energized by the potential!
#
#### SessionID: 32471
# Introduction to Windows Azure
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: Bonus Track
## Speaker: Ryan Duclos
## Title: Introduction to Windows Azure
## Abstract:
### During this session we'll explore an introduction to the Windows Azure platform. Covered will be basics of the developer tools, how development differs from traditional ASP.NET development. Also jump into some of the basics about the Azure Storage options (Tables, Blobs, and Queues), and briefly mention SQL Azure.
#
#### SessionID: 32472
# Introduction to SQL Azure
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: Bonus Track
## Speaker: Ryan Duclos
## Title: Introduction to SQL Azure
## Abstract:
### SQL Azure is part of the Windows Azure platform: a suite of services providing hosted computing, infrastructure, Web services, Reporting services and data services. The SQL Azure component provides the full relational database functionality of SQL Server, but it also provides functionality as a cloud-computing service, hosted in Microsoft datacenters around the globe. We will go over how it works and what it has to offer.
#
#### SessionID: 32598
# Must-Know Design Patterns
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: .NET I
## Speaker: Rob Vettor
## Title: Must-Know Design Patterns
## Abstract:
### Design patterns are recurring solutions to software design problems you find again and again in application development. They also serve as a vocabulary for developers to communicate their ideas.

Come and walk-through 5 key patterns, with easy-to-follow examples, and a clear explanation of the how and why behind each:

•	Factory
•	Strategy
•	Observer
•	Template Method
•	Decorator

You’ll walk away with an understanding of each pattern which you can take to the office the next day and implement

#
#### SessionID: 32599
# EntityFramework 360: Getting Started
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: .NET I
## Speaker: Rob Vettor
## Title: EntityFramework 360: Getting Started
## Abstract:
### While most enterprise applications are object-oriented, the data upon which they depend is not. Unfortunately, binding these two platforms together can result in significant amounts of lost productivity and a less than optimal solution.

Come see how you can resolve this recurring theme with the Microsoft ADO.NET Entity Framework.  In this session, we’ll…

•	Explore the Entity Framework 4, its components and see how it all works
•	Generate a business object model with database mappings, demonstrating database-first, model-first and code-only approaches
•	Walk through a variety of code examples that show how to interact with the model
•	Show how the Entity Framework automatically tracks data changes and generates updates
•	Deep-dive
#
#### SessionID: 32724
# Using the MVVM pattern in Silverlight and WPF
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: .NET I
## Speaker: Ryan Richard
## Title: Using the MVVM pattern in Silverlight and WPF
## Abstract:
### Silverlight and WPF are new technologies that break from the traditional Windows Forms style of programming.  The MVVM (Model-View-ViewModel) pattern can be used to create a robust and testable framework for your new Windows or Web application.
#
#### SessionID: 32864
# Understanding Backups
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: SQL Admin I
## Speaker: Sean McCown
## Title: Understanding Backups
## Abstract:
### One of the most important functions a DBA can perform is the backup.  And far too many DBAs rely on the wizard to perform this task.  Here I'll take you through everything you need to know about understanding command line backups, writing backup routines, and making the right decisions on how to do what kind of restore and when.  I will take you through basic backup syntax and fully explain how things work the way they do and why.  If you ever wanted to understand the ins and outs of SQL Server backups then this session will give you what you're after.
#
#### SessionID: 32865
# Beginning Powershell for DBAs 1.0
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: SQL Admin II
## Speaker: Sean McCown
## Title: Beginning Powershell for DBAs 1.0
## Abstract:
### The time has come where DBAs can no longer afford to ignore powershell. Not only has it become an integral part of SQL Server, but we’re being asked to do things on a much grander scale than ever before; things that can only be done with powershell. This session will take you from nothing and explain what powershell is all about. I’m going to show you how the more things change the more they stay the same and if you master the basics of powershell in this session, you’ll be able to work with powershell not only in SQL Server, but also at the file system level, in Exchange, IIS, Windows, and anything else. So in this session I’m going to show you the basics you need to get your powershell career started.

#
#### SessionID: 32871
# Extending Visual Studio  Sql Server Mgmt. Studio
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: Bonus Track
## Speaker: Latish Sehgal
## Title: Extending Visual Studio  Sql Server Mgmt. Studio
## Abstract:
### Are you a big fan of productivity plugins like ReSharper, CodeRush and SSMS Tools Pack? Ever wondered how you can write your own plug-ins for Visual Studio or Sql Server Management Studio? Come to this session to learn about the different ways to extend these editors. We'll see how one can create extensions, add-ins and packages and add new functionality to  Visual Studio and Sql Server Management Studio.
#
#### SessionID: 32929
# The Top Ten SQL Server Skills You Need
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: SQL Admin I
## Speaker: Steve Jones
## Title: The Top Ten SQL Server Skills You Need
## Abstract:
### Come learn the ten most important skills that every accidental DBA, developer, or even manager should be able to do in SQL server. If you want to know where to start working with SQL server or which 10 things will get you through most of your days, some see Steve Jones show you how to accomplish these ten important tasks and explain why they are important. These ten skills represent the 80/20 rule in action; if you can do these ten things, you can successfully get through most of your days at work.
#
#### SessionID: 33195
# Introduction to Visual Studio LightSwitch
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: .NET II
## Speaker: Stacy Vicknair
## Title: Introduction to Visual Studio LightSwitch
## Abstract:
### Tired of access or excel "applications"? Ready to quickly replace those apps with a 3-tier solution based on best practices and the .NET platform? In this session we'll look at how Microsoft's latest Visual Studio SKU, Visual Studio LightSwitch, can help rapidly create data-driven rich Internet applications. Get rid of those legacy nightmares once and for all!
#
#### SessionID: 33255
# Basic Guidelines for VLDB's
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: SQL Admin II
## Speaker: Stuart Ainsworth
## Title: Basic Guidelines for VLDB's
## Abstract:
### Most database professionals know (from firsthand experience) that there continues to be a "data explosion". Databases are getting larger, and working with Very Large DataBases (VLDB's) is becoming more commonplace. The focus of this session is to identify some key guidelines for the design, management, and ongoing optimization of VLDB's.

Special attention will be paid to the following areas:
* query design
* logical and physical data structures
* maintenance  backup strategies

#
#### SessionID: 33471
# SQL Server Partitioning from A to Z
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: SQL Admin I
## Speaker: Kevin Boles
## Title: SQL Server Partitioning from A to Z
## Abstract:
### We will cover most of the bases in this broad and deep coverage of table/index partitioning in the relational engine. Numerous demonstrations will help gel knowledge you can take back to the office and begin to apply to your environments to reap the many benefits of this fine addition to the product that has been significantly enhanced since SQL 2005.
#
#### SessionID: 33473
# Advanced TSQL Solutions
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: SSIS/SSRS
## Speaker: Kevin Boles
## Title: Advanced TSQL Solutions
## Abstract:
### The range of real-world queries that can be performed using set-based TSQL solutions is astounding, but many of these are not well known and if you haven't been shown the light you might never realize what is possible. Come and join me as we delve into the inner recesses and corners of the TSQL envelope using a wide variety of expressions, clauses and techniques.
#
#### SessionID: 33632
# Visualizing SQL Saturday.
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: BI
## Speaker: Tim Costello
## Title: Visualizing SQL Saturday.
## Abstract:
### This session will cover the best practices of dashboard design and data analytics as we explore and create data visualizations from the history of SQL Saturday.  This session will focus on analyzing trends over time, categorical trending and dashboard design.
#
#### SessionID: 33831
# You want [Me] to do what?
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: SharePoint
## Speaker: Victor Chataboon
## Title: You want [Me] to do what?
## Abstract:
### Lessons for the accidental SharePoint administrator

In many environments, there's one lucky winner that becomes the SharePoint Administrator or keeper of the system. This session provides some good advice for beginning Administrators seeking to gain a better understanding on how to effectively implement SharePoint in their environment.
#
#### SessionID: 34258
# An Overview of PowerPivot
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: BI
## Speaker: William E Pearson III
## Title: An Overview of PowerPivot
## Abstract:
### In this presentation, Microsoft BI Architect and SQL Server MVP Bill Pearson explores “self-service BI” as a concept. We then provide a walkthrough of the primary features of PowerPivot, focusing on how we can exploit its capabilities to offer the benefits of BI to decision makers and analysts throughout our organizations. “There’s no service like self-service …”

#
#### SessionID: 34260
# An Overview of PowerPivot in SharePoint
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: SharePoint
## Speaker: William E Pearson III
## Title: An Overview of PowerPivot in SharePoint
## Abstract:
###  Gain exposure to the Server side of PowerPivot with Microsoft BI Architect and SQL Server MVP Bill Pearson. The targeted audience of this session includes professionals who will be planning, deploying and maintaining the server side of PowerPivot. Among other BI architects and developers, this overview will be of particular interest to SharePoint Admins who are new to capabilities for sharing and managing PowerPivot applications created with PowerPivot for Excel.
#
#### SessionID: 34502
# SQL Admin Best Practices with DMV's
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: SQL Admin II
## Speaker: William Assaf
## Title: SQL Admin Best Practices with DMV's
## Abstract:
### In this practical and script-focused session, we'll discuss many best practices regarding SQL Server administration, maintenance, optimizations and monitoring using Dynamic Management Views.  DMV's are essential tools for the SQL administrator, but have a wide range of applications by developers, network engineers and DBAs.  We will delve into best practices for server maintenance, index fragmentation, XEvents, wait type analysis and future features.  This session will be informative and eye-opening to anyone from a junior DBA on up.
#
#### SessionID: 34524
# Advanced Visual Studio Tips and Tricks
#### [Back to calendar](#nr-64)
Event Date: 06-08-2011 - Session time: 00:00:00 - Track: .NET I
## Speaker: Zain Naboulsi
## Title: Advanced Visual Studio Tips and Tricks
## Abstract:
### Created for the seasoned developer, this session explores the features that can, literally, save hours of work.  Learn how to create your own templates all the way to special DevEnv switches you can use to quickly reconfigure your environment.  These are the super tips that can turn a ten minute task into ten seconds.

repository: andrekamman/sqlsathistory

repo_name: andrekamman/sqlsathistory


text:
xms
=============

| **Language** | **MySQL** | **Style** |
|--------------------|----------------------------|------------------|
| ![Language](https://img.shields.io/badge/python-3.6-brightgreen.svg) |![Database](https://img.shields.io/badge/MariaDB-10.1.31-blue.svg) | [![Codacy Badge](https://api.codacy.com/project/badge/Grade/6f99a332ab8a47499323ae9b88ddb0db)](https://www.codacy.com/app/vyz/XMind-Searcher?utm_source=github.com&utm_medium=referral&utm_content=vyzyv/XMind-Searcher&utm_campaign=Badge_Grade) |

Command line mind map searcher.

Parse your mind maps, create hierarchical database and search against it using keyword.
After installation use the command below:

```bash
xms <keyword> [-c --color] [-k --keep] [--s --secret SECRET]
```
To display help use standard ***-h*** parameter.

# Demo

You can easily find the keyword and open mind map containing it as shown below:

![gif](https://user-images.githubusercontent.com/20703378/36677183-dc9eaa36-1b0d-11e8-81fa-1ccd13b49981.gif)

- First line: path to the mind map with found keyword
- Second line: name of the mind map (root)
- Following lines: Consecutive branches pointing to keyword

# Why?

Let's say the **average mind map** may have around **100-200 branches**. According to standards one **branch** should consist of **1-5 words**.

If you have a lot of mind maps (e.g. 100) **total amount of words will be around 50.000**.
In such case it's easy to forget where certain important informations are located.

Thanks to this plugin your trouble is gone as it **scans through all of them and gives you the exact branch and mind map for any sought keyword**.

# Installation

Install required dependencies, run install.sh from terminal and follow the
instructions displayed on the screen.

## Dependencies

- **[XMind 7+](https://www.xmind.net)**
- **[Python 3.6.1+](https://www.python.org/downloads/release/python-363/)**
- MySQL implementation 5.1 or higher (advised: **[MariaDB 10.1.31+](https://www.python.org/downloads/release/python-363/)**)
- Optional: **[pipenv](https://github.com/pypa/pipenv)** or install pip packages located in ***Pipfile*** directly

license: MIT

repository: szymonmaszke/xms

branch_name: refs/heads/master

extension: md

gha_language: Python

gha_license_id: MIT

license_type: permissive

repo_name: szymonmaszke/xms


text:
---
layout: project
type: project
image: images/2019_09_20_py_sql_mm.png
title: Business Insights with SQL and Python, pd+mpl
permalink: projects/2019_09_20_py_sql
# All dates must be YYYY-MM-DD format!
date: 2019-09-20
labels:
- SQL
- Python
- Pandas
- Matplotlib
- Database
- Schema
- Query
- Built-in
- ETL
- Metadata Analysis
- Visualization

summary: SQL and Python languages will be accessed to manage data into a DB Server, including functions for connecting to a database, preparing and issuing SQL statements, fetching rows from result sets, calling stored procedures, committing and rolling back transactions, handling errors, and retrieving metadata into Pandas. Data will be queried according to segmentation and demographics goals using built-in database functions, subsequently providing valuable business insights.

---

SQL and Python languages will be accessed to manage data into a DB Server, including functions for connecting to a database, preparing and issuing SQL statements, fetching rows from result sets, calling stored procedures, committing and rolling back transactions, handling errors, and retrieving metadata into Pandas.

Data will be queried according to segmentation and demographics goals using built-in database functions, subsequently providing valuable business insights.

[Jupiter NBTK A > Understand the datasets > Store into SQL DB > Query data for analysis](https://colab.research.google.com/github/kikosikera/2019_09_20_py_sql/blob/master/2019_09_20_py_sql_a.ipynb?authuser=1)

[Jupiter NBTK B > Create Complete DB > Prepare variables > Provide final strategy](https://colab.research.google.com/github/kikosikera/2019_09_20_py_sql/blob/master/2019_09_20_py_sql_b.ipynb?authuser=1)

[Data](https://github.com/kikosikera/2019_09_20_py_sql/tree/master/data)

Source: kikosikera/2019_09_20_py_sql


text:
# Bank Tech Test

One of the Week 10 challenges at Makers Academy, intended to offer practice in typical tech tests.

Acceptance criteria are as follows:

**Given** a client makes a deposit of 1000 on 10-01-2012
**And** a deposit of 2000 on 13-01-2012
**And** a withdrawal of 500 on 14-01-2012
**When** she prints her bank statement
**Then** she would see

```
date || credit || debit || balance
14/01/2012 || || 500.00 || 2500.00
13/01/2012 || 2000.00 || || 3000.00
10/01/2012 || 1000.00 || || 1000.00
```

Data can be stored in memory.

## How it works

Clone this repo, then inspect index.html in a browser.

New account ```bank = new Bank();```

Make a deposit ```bank.deposit(100);```

Withdraw funds ```bank.withdraw(50);```

Check your statement ```bank.statement();```


text:
# A Web App for the Microsoft Graph buid in Node

This is simple web app that enables long-running access to information in the Microsoft graph.  It is built in node.

Users login with Azure Active Directory.  It supports login with Azure AD organization identities and, if the node server is enabled with HTTPS, it also supports Microsoft personal accounts.

The app shows how to maintain a long-running (offline) connection to the Microsoft graph enabling the node app to read mail or tasks and read and write to an extension on the user's profile.  The OAUTH2 refresh_token is used to update the access_token when it expires.

The app uses an independent bearer secret to avoid storing any PII in the web app.

## Minimilist Approach

This project is intended to show the minimum set of steps required for an app to integrate with the Microsoft graph.

To ensure the required steps are clear and the app logic is easy to follow no middleware or authentication libraries are used.

To keep the code easy to read the app uses async/await syntax.

Typescript is used in the *src* directory.  The *lib* directory contains a pure ES2018 javascript implementation.

To keep the app simple, the app uses just three small, unopionated, limited-purpose npm runtime libraries:
* *restify* for the web server
* *node-fetch* for HTTP requests using async/await.
* *dotenv* to pick up environment variables.

So the demonstrated approach should be easy to implement on small devices or with other frameworks or languages.

## Building

First clone the repo.  Then:

`> npm install`

`> npm run build`

## Configuration

The app needs to be registered with Azure AD.  This does not require admin access.

Once the app id and secret are known they should be placed into environment variables as AppClientId and AppClientSecret.

Alternatively the app will look in .env for these variables.

## Suggestions

To debug locally you can use *serveo* or *ngrok*:

`> ssh -R 80:localhost:3978 serveo.net`

or

`> ngrok http 3978`

## To Do

* Confirm that patch works if the key doesn't exist.

## Thanks

To RichDizz for an app with the golden thread demonstrating how to get long-runniung access.

repository: johnshew/NodeMicrosoftGraph

repo_name: johnshew/NodeMicrosoftGraph


text:
# Optimal Sparse Decision Trees (OSDT)

![GitHub Repo stars](https://img.shields.io/github/stars/xiyanghu/OSDT?style=social)
![Twitter Follow](https://img.shields.io/twitter/follow/hu_xiyang?style=social)
![License](https://img.shields.io/github/license/xiyanghu/OSDT?color=critical)
[![arXiv](https://img.shields.io/badge/arXiv-1904.12847-b31b1b.svg?style=flat)](https://arxiv.org/abs/1904.12847)

This accompanies the paper, ["Optimal Sparse Decision Trees"](https://arxiv.org/abs/1904.12847) by Xiyang Hu,
Cynthia Rudin, and Margo Seltzer.

It appeared in the [2019 NeurIPS conference](https://nips.cc/Conferences/2019)

* [:movie_camera: Overview video](https://youtu.be/UMjMQaH508M)
* [:newspaper: NeurIPS poster](doc/OSDT_NIPS_Poster.pdf)
* [:notebook_with_decorative_cover: NeurIPS slides](doc/NeurIPSSlides.pdf)

### Use OSDT

```python
from osdt import OSDT

# initilize an OSDT object
model = OSDT()
# fit the model
model.fit(x_train, y_train)
# make prediction and get the prediction accuracy
prediction, accuracy = model.predict(x_test, y_test)
# make prediction only
prediction = model.predict(x_test)
```

### Documentation

All code are in the `./src` folder. The `OSDT` class is in the `osdt.py` file.

---

```python
CLASS osdt.OSDT(lamb=0.1, prior_metric="curiosity", MAXDEPTH=float('Inf'), MAX_NLEAVES=float('Inf'), niter=float('Inf'),
                logon=False, support=True, incre_support=True, accu_support=True, equiv_points=True,
                lookahead=True, lenbound=True, R_c0=1, timelimit=float('Inf'), init_cart=True,
                saveTree=False, readTree=False)
```

 PARAMETERS:

 * **lamb** : float, optional (default=0.1)\
     The regularization parameter lambda of the objective function.
 * **prior_metric** : {'objective', 'bound', 'curiosity', 'entropy', 'gini', 'FIFO'}, optional (default='curiosity')\
     The scheduling policy used to determine the priority of leaves:
     - 'objective' will use the objective function
     - 'bound' will used the lower bound
     - 'curiosity' will use the curiosity
     - 'entropy' will use the entropy
     - 'gini' will use the GINI value
     - 'FIFO' will use first in first out
 * **MAXDEPTH** : int, optional (default=float('Inf'))\
     Maximum depth of the tree.
 * **MAX_NLEAVES** : int, optional (default=float('Inf'))\
     Maximum number of leaves of the tree.
 * **niter** : int, optional (default=float('Inf'))\
     Maximum number of tree evaluations.
 * **logon** : bool, optional (default=False)\
     Record relevant trees and values during the execution.
 * **support** : bool, optional (default=True)\
     Turn on Lower bound on leaf support.
 * **incre_support** : bool, optional (default=True)\
     Turn on Lower bound on incremental classification accuracy.
 * **accu_support** : bool, optional (default=True)\
     Turn on Lower bound on classification accuracy.
 * **equiv_points** : bool, optional (default=True)\
     Turn on Equivalent points bound.
 * **lookahead** : bool, optional (default=True)\
     Turn on Lookahead bound.
 * **lenbound** : bool, optional (default=True)\
     Turn on Prefix-specific upper bound on number of leaves.
 * **R_c0** : float, optional (default=1)\
     The initial risk.
 * **timelimit** : int, optional (default=float('Inf'))\
     Time limit on the running time. Default is True.
 * **init_cart** : bool, optional (default=True)\
     Initialize with CART.
 * **saveTree** : bool, optional (default=False)\
     Save the tree.
 * **readTree** : bool, optional (default=False)\
     Read Tree from the preserved one, and only explore the children of the preserved one.

---

> **fit**(x, y)

    Fit the model with input data.

    **PARAMETERS**:
* **x** : ndarray of shape (ndata, nfeature)\
    The features of the data.
* **y** : ndarray of shape (ndata,), optional\
    The true labels of the data.

    **RETURNS**:
* **self** : fitted OSDT model.

> **predict**(x, y=None)

    Predict if a particular sample is an outlier or not.

    **PARAMETERS**:
* **x** : ndarray of shape (ndata, nfeature)\
    The features of the data.
* **y** : ndarray of shape (ndata,), optional (default=None)\
    The true labels of the data.

    **RETURNS**:
* **prediction** : ndarray of shape (ndata,)\
    The features of the training data.
* **accuracy** : float, optional\
    If true label y is provided, output the accuracy of the prediction.

---

### Installation

```shell
git clone https://github.com/xiyanghu/OSDT.git
cd OSDT
conda env create -f environment.yml
conda activate osdt
```

#### Dependencies

* [gmp](https://gmplib.org/) (GNU Multiple Precision Arithmetic Library)
* [mpfr](http://www.mpfr.org/) (GNU MPFR Library for multiple-precision floating-point computations; depends on gmp)
* [libmpc](http://www.multiprecision.org/) (GNU MPC for arbitrarily high precision and correct rounding; depends on gmp and mpfr)
* [gmpy2](https://pypi.org/project/gmpy2/#files) (GMP/MPIR, MPFR, and MPC interface to Python 2.6+ and 3.x)
* See [environment.yml](environment.yml)

### Datasets

See `data/preprocessed/`.

We used 7 datasets: Five of them are from the UCI Machine Learning Repository (tic-tac-toc, car evaluation, monk1, monk2, monk3).
The other two datasets are the ProPublica recidivism data set and the Fair Isaac (FICO) credit risk datasets.
We predict which individuals are arrested within two years of release (`{N = 7,215}`) on the recidivism data set and whether an individual will default on a loan for the FICO dataset.
* [Tic-Tac-Toc](https://archive.ics.uci.edu/ml/datasets/tic-tac-toe+Endgame)
* [Car Evaluation](https://archive.ics.uci.edu/ml/datasets/car+evaluation)
* [MONK's](https://archive.ics.uci.edu/ml/datasets/MONK's+Problems)
* [ProPublica](https://www.propublica.org/article/how-we-analyzed-the-compas-recidivism-algorithm)
* [FICO](https://community.fico.com/s/explainable-machine-learning-challenge)

### Example test code

We provide our test code in `test_accuracy.py`.

### Citing OSDT

[OSDT paper](<https://arxiv.org/abs/1904.12847>) is published in
*Neural Information Processing Systems (NeurIPS) 2019*.
If you use OSDT in a scientific publication, we would appreciate
citations to the following paper:

    @inproceedings{NEURIPS2019_ac52c626,
     author = {Hu, Xiyang and Rudin, Cynthia and Seltzer, Margo},
     booktitle = {Advances in Neural Information Processing Systems},
     editor = {H. Wallach and H. Larochelle and A. Beygelzimer and F. d\textquotesingle Alch\'{e}-Buc and E. Fox and R. Garnett},
     pages = {7265-7273},
     publisher = {Curran Associates, Inc.},
     title = {Optimal Sparse Decision Trees},
     url = {https://proceedings.neurips.cc/paper_files/paper/2019/file/ac52c626afc10d4075708ac4c778ddfc-Paper.pdf},
     volume = {32},
     year = {2019}
    }

or:

    Hu, X., Rudin, C., and Seltzer, M. (2019). Optimal sparse decision trees. In Advances in Neural Information Processing Systems, pp. 7265–7273.

repository: xiyanghu/OSDT

repo_name: xiyanghu/OSDT


text:
---
layout: post
title: Blog 0
---

In this post, I’ll construct an data visualization of the Palmer Penguins dataset.

## Generate Data

We will read in the file and set it to a dataset called **penguins**.

```python
# The pd.read_csv command will let us save the .csv file as a pandas dataframe.
import pandas as pd
url = "https://raw.githubusercontent.com/PhilChodrow/PIC16B/master/datasets/palmer_penguins.csv"
penguins = pd.read_csv(url)
```

Let's take a look what does **penguins** looks like.

```python
# use df.head() to only display the top five rows of the dataframe
penguins.head()
```

      studyName
      Sample Number
      Species
      Region
      Island
      Stage
      Individual ID
      Clutch Completion
      Date Egg
      Culmen Length (mm)
      Culmen Depth (mm)
      Flipper Length (mm)
      Body Mass (g)
      Sex
      Delta 15 N (o/oo)
      Delta 13 C (o/oo)
      Comments

      0
      PAL0708
      1
      Adelie Penguin (Pygoscelis adeliae)
      Anvers
      Torgersen
      Adult, 1 Egg Stage
      N1A1
      Yes
      11/11/07
      39.1
      18.7
      181.0
      3750.0
      MALE
      NaN
      NaN
      Not enough blood for isotopes.

      1
      PAL0708
      2
      Adelie Penguin (Pygoscelis adeliae)
      Anvers
      Torgersen
      Adult, 1 Egg Stage
      N1A2
      Yes
      11/11/07
      39.5
      17.4
      186.0
      3800.0
      FEMALE
      8.94956
      -24.69454
      NaN

      2
      PAL0708
      3
      Adelie Penguin (Pygoscelis adeliae)
      Anvers
      Torgersen
      Adult, 1 Egg Stage
      N2A1
      Yes
      11/16/07
      40.3
      18.0
      195.0
      3250.0
      FEMALE
      8.36821
      -25.33302
      NaN

      3
      PAL0708
      4
      Adelie Penguin (Pygoscelis adeliae)
      Anvers
      Torgersen
      Adult, 1 Egg Stage
      N2A2
      Yes
      11/16/07
      NaN
      NaN
      NaN
      NaN
      NaN
      NaN
      NaN
      Adult not sampled.

      4
      PAL0708
      5
      Adelie Penguin (Pygoscelis adeliae)
      Anvers
      Torgersen
      Adult, 1 Egg Stage
      N3A1
      Yes
      11/16/07
      36.7
      19.3
      193.0
      3450.0
      FEMALE
      8.76651
      -25.32426
      NaN

From the dataset, we can see each column represents one parameter of penguins such as "Species", "Region", "Island", etc.

## Make the plot

Next, we want to know how does Delta 15 N (o/oo) and Delta 13 C (o/oo) affect the Species. To visualize this relationship, we create a scatterplot using matplotlib and seaborn:

```python
from matplotlib import pyplot as plt
import seaborn as sns
fgrid = sns.relplot(x = "Delta 15 N (o/oo)",
                    y = "Delta 13 C (o/oo)",
                    hue = "Species",
                    data = penguins).set(title = "My Awesome Penguins Plot")
# create the scatterplot with the x-axis represents Delta 15 N (o/oo), and y-axis represents Delta 13 C (o/oo).
# the scatterplot use different color to reprsents different penguins species.
```

![16B_Blog0.png](/images/16B_Blog0.png)

From the scatterplot we created, the three colors seems pretty concentrated in groups and separated from eachothers(with some outliers but not much). Examining the isopotic ratios(13C, 15N) could be a way to determine penguin species.


text:
# _Shoe Store App, Code Review 4 PHP_

#### _Week 4 Code Review of PHP - 3.7.2016_

### By _**Jon Sweeney**_

## Description

_The objective of this week's code review is to build a simple web application with php, Silex, and mySQL._

_This web app is designed to list out local shoe stores and the brands of shoes they carry. The information can be created, read, updated and deleted. The data is stored in a mySQL database._

## Setup/Installation Requirements

1. _Fork and clone this repository from_ [gitHub](https://github.com/jsween/code_review_shoe_stores_php.git).
2. Navigate to the root directory of the project in the CLI shell you are using and run the command: __composer install__ .
3. Create a local server in the /web directory within the project folder using the command: __php -S localhost:8000__ .
4. Open the directory http://localhost:8000 in any standard web browser.
5. Launch MAMP and access mySQL by entering __/Applications/MAMP/Library/bin/mysql --host=localhost -uroot -proot__ .

## SQL Commands used to Setup database

> CREATE DATABASE shoes;

> USE shoes;

> CREATE TABLE brands (id serial PRIMARY KEY, name VARCHAR(55));

> CREATE TABLE stores (id serial PRIMARY KEY, name VARCHAR(55));

> CREATE TABLE stores_brands (id serial PRIMARY KEY, store_id INT, brand_id INT);

## Known Bugs

_Unable to store names of clients and stylists when using an apostrophe._

## Support and contact details

_Contact the author through_ [gitHub](https://github.com/jsween/code_review_shoe_stores_php.git).

## Technologies Used

_This web application was created using the_  [Silex micro-framework](http://silex.sensiolabs.org/)_, as well _[Twig](http://twig.sensiolabs.org/), a template engine for php.

### License

MIT License.

Copyright (c) 2016 **_Jon Sweeney_**


text:
---
layout: post
title: Search Result Count Prediction
---
*Naver Corp, 2021. 1. ~ Current*

### Project Summary

Although it varies by search system, almost 50% of search queries have no search results. These noresult queries hit search engine servers of all shards and consume system resources.

If we can predict whether a query has search results in advance and forward the traffic only when search results exist, we can save the search engine resources a lot. Considering that the search engine servers occupy most of the search system, this is a good way to reduce the infrastructure cost.

![srcp-architecture]({{site.baseurl}}/images/srcp-architecture.png)

We built the structure like above and started to research about how to predict whether a query has search results or not precisly and efficiently.

### Role
- Researched and implemented the prediction model.
- Conducted extensive experiments to prove infrastructure saving effects.
- Built data processing, model training and serving pipeline.
- Developed go package which trains naive bayes model using multi cores.

### Model
Predicting whether a query has search results can be seen as a text binary classification problem. There were lot of model candidates like deep learning, decision tree and so on. But I selected naive bayes for the following reasons.

- Order between terms does not affect the presence of search results.
- Vocabulary size is so huge that training embedding vectors for every term might be ineffective.
- The goal is reducing infrastructure cost. So training and serving cost should be low.

I skipped the mathmatical details here. I checked the naive bayes model fulfilled the requirements of accuracy well through extensive experiments for many search services. In addition, the naive bayes model inference requires only key-value read so it was easy to serve.

![srcp-nb-prediction]({{site.baseurl}}/images/srcp-nb-prediction.png)

### Pipeline
To serve srcp models into production search services, we needed a pipeline to continuously update the naivebayes models and track performance of them. So I designed pipelines using airflow.

![srcp-pipeline]({{site.baseurl}}/images/srcp-pipeline.png)

### Results
- The performance of the srcp model depends on which search service to be applied and how much threshold value is set.
- However, the overall performance of the model is similar like below.
- It was impressive that it could reduce the cpu utilization quite much.

|threshold|traffic reduction|cpu utilization reduction|FN ratio|
|:---:|:---:|:---:|:---:|
|0.1|30%|20%|1%|
|0.5|55%|30%|10%|

### Limitations
Altough SRCP models can reduce the traffic significantly, there're always risks of false negative cases. If the model predicts that a query has no search results but in reality there are search results, the user will not see the search results. For some sensitive services like shopping seardch, this can leads to serious problem. So we have tried to solve it in multiple ways.

- Conservatively set criteria for determining that there are no search results.
- Add additional key/value dictionary for import queries that should return search results.
- Skip prediction for long tail queries.
- Build a feedback loop to continuously improve accuracy of the model.
- Currently, I'm trying to reduce false negative cases with the ensemble of those methods.

### Tech Stack
- Infrastructure: Linux(centos7), Docker
- Pipeline: airflow
- Language: go, python, shell script


text:
EdiTable
========

EdiTable provides an editable table-like view on your data. Unlike PivotTables, you can edit your data directly in the view.

## Demo

### Screenshots

![Screen1](https://github.com/ftrippel/excel-vba-editable/blob/master/screen1.PNG)

![Screen2](https://github.com/ftrippel/excel-vba-editable/blob/master/screen2.PNG)

### Usage

* Click `Build` to build the view.
* Click `Destroy` to destroy the view.
* Click `Push` to push the values to the view.
* Click `Pull` to pull the values from the view.

## Functionality

* Provides VBA class `Table` and auxiliary classes `Cell`, `LinkedCell`
* Works by creating a link (`LinkedCell`) between the data cell and the view cell
* A `Table` can be created as thus
```vbscript
Dim T As Table
Set T = New Table
T.AddColumn ActiveSheet.Range("A:A"), ColumnType.Normal
T.AddColumn ActiveSheet.Range("B:B"), ColumnType.Normal
T.AddColumn ActiveSheet.Range("C:C"), ColumnType.value
T.AddColumn ActiveSheet.Range("D:D"), ColumnType.data
T.Build "TableView"
T.Protect "password"
```

## Limitations

* Cannot insert or remove data rows. Instead, these cells can be protected from editing using `Table.Protect`.

repository: ftrippel/excel-vba-editable

repo_name: ftrippel/excel-vba-editable


text:
---
layout: post
title: Perl is Still a Requirement for open-vm-tools
author: FrozenFOXX
tags:
 - systems
 - linux
 - debian
 - ubuntu
 - packer
 - terraform
 - vsphere
---

I've recently been configuring up CICD pipelines with [Packer](https://www.packer.io) and [TerraForm](https://www.terraform.io) with vSphere and ran into an unexpected issue. I've been building the VM templates with Packer and then setting them to deploy with TerraForm. Problem is that while the templates can be cloned and boot just fine TerraForm would toss me an error about failing during VM customization. Even cranking up the debugging with `TF_LOG=TRACE` didn't seem to yield anything but that got me thinking, maybe the `open-vm-tools` package wasn't being installed correctly on my new PXE/netinstall Ubuntu hosts. Took a look at my preseed, turned out that yes, `open-vm-tools` was being installed and vSphere shows the host as running VMware Tools. So what gives?

Simple, `perl` is a package requirement for full functionality but isn't a dependency.

I'm sure there's probably a good explanation for this but since it's been several years and still hasn't happened I don't think it's likely to be fixed any time soon. Had the preseed install `perl` as well as `open-vm-tools` and now TerraForm is able to provision and customize the hosts without complaint.

branch_name: refs/heads/main


text:
# Blizzard Builder
Adds snowfall to any HTML element

To install with bower:

```bower install blizzard-builder```

To use in your page reference the canavs-snow.js file and create a new Blizzard object passing it the ID of the element you'd like to attach it to:

``` <script type='text/javascript' src='../canvas-snow.js'></script>
    <script>
      var falling = new Blizzard('parentID');
    </script>```

If HTML Canvas isn't available it will create a HTML element which will have the class fallback. You can use this class to attach a background image:

```.falling-snow.fallback {
    width: 100%;
    height: 100%;
    background-image: url('../img/bg-snow.png');
    background-size: 100%;
  }```

## License

Copyright (c) 2015 Eliot Fallon and contributors, licensed under the MIT license. See `LICENSE.md` for details.

repository: Calinou/snowfallcanvas

repo_name: Calinou/snowfallcanvas


text:
# Host and Port Options

You may choose to wish to change the host and port on which `webpack-dev-server`
will run. The `host` and `port` options allow for that.

## host

### IPv4

**webpack.config.js**

```js
module.exports = {
  // ...
  devServer: {
    host: "<IP_ADDRESS>",
    port: 5000,
  },
};
```

Usage via CLI:

```console
npx webpack serve --open --port 5000 --host <IP_ADDRESS>
```

### IPv6

_This also works with IPv6_

**webpack.config.js**

```js
module.exports = {
  // ...
  devServer: {
    host: "::",
    port: 5000,
  },
};
```

Usage via CLI:

```console
npx webpack serve --open --port 5000 --host ::
```

### local-ip

Specifying `local-ip` as `host` will try to resolve the `host` option as your local `IPv4` address if available, if `IPv4` is not available it will try to resolve your local `IPv6` address.

```js
module.exports = {
  // ...
  devServer: {
    host: "local-ip",
    port: 5000,
  },
};
```

Usage via CLI:

```console
npx webpack serve --open --port 5000 --host local-ip
```

### local-ipv4

Specifying `local-ipv4` as `host` will try to resolve the `host` option as your local `IPv4` address.

```js
module.exports = {
  // ...
  devServer: {
    host: "local-ipv4",
    port: 5000,
  },
};
```

Usage via CLI:

```console
npx webpack serve --open --port 5000 --host local-ipv4
```

### local-ipv6

Specifying `local-ipv6` as `host` will try to resolve the `host` option as your local `IPv6` address.

```js
module.exports = {
  // ...
  devServer: {
    host: "local-ipv6",
    port: 5000,
  },
};
```

Usage via CLI:

```console
npx webpack serve --open --port 5000 --host local-ipv6
```

#### What Should Happen

1. The script should open `http://<IP_ADDRESS>:5000/` if specifying the IPv4 option,
   or `http://[::]:5000/` for IPv6, in your default browser.
2. You should see the text on the page itself change to read `Success!`.

## port

### specific port

Tell the server to connect to a specific port with the following:

```js
module.exports = {
  // ...
  devServer: {
    port: 9000,
  },
};
```

Usage via CLI:

```console
npx webpack serve --open --port 9000
```

#### What Should Happen

1. The script should open `http://localhost:9000/` in your default browser.
2. You should see the text on the page itself change to read `Success!`.

### auto

Specifying `auto` as `port` will try to connect the server to the default port `8080` and if not available it will automatically search for another free port.

```js
module.exports = {
  // ...
  devServer: {
    port: "auto",
  },
};
```

Usage via CLI:

```console
npx webpack serve --open --port auto
```

#### What Should Happen

1. The script should open `http://localhost:8080/` in your default browser.
2. You should see the text on the page itself change to read `Success!`.
3. Keep the server open and switch to a new terminal window.
4. Run the script once again.
5. The script should open `http://localhost:8081/` (or any other port if it is not free) in your default browser.

repository: webpack/webpack-dev-server

gha_language: JavaScript

repo_name: webpack/webpack-dev-server


text:
JupyterLab GPU Dashboards
===========================

[![PyPI](https://img.shields.io/pypi/v/jupyterlab-nvdashboard)](https://pypi.org/project/jupyterlab-nvdashboard/)
[![npm](https://img.shields.io/npm/v/jupyterlab-nvdashboard)](https://www.npmjs.com/package/jupyterlab-nvdashboard)

A JupyterLab extension for displaying dashboards of GPU usage.

![demo](./demo.gif)

Built with [JupyterLab and Bokeh Server](https://github.com/ian-r-rose/jupyterlab-bokeh-server)

What's here
-----------

This repository contains two sets of code:

-   Python code defining a Bokeh Server application that generates the dashboards
    in the `jupyterlab_nvdashboard/` directory
-   TypeScript code integrating these dashboards into JupyterLab in the `src/`
    directory

You should be able to modify only the Python code to edit the dashboards
without modifying the TypeScript code.

## Prerequisites

* JupyterLab 1.0
* bokeh
* pynvml

## Installation

This extension has a server-side (Python) and a client-side (Typescript) component,
and we must install both in order for it to work.

> **Note: Currently nvdashboard does not support Windows**

To install the server-side component, run the following in your terminal

```bash
pip install jupyterlab-nvdashboard
```

To install the client-side component, run

```bash
jupyter labextension install jupyterlab-nvdashboard
```

## Development

To install the server-side part, run the following in your terminal from the repository directory:

```bash
pip install -e .
```

In order to install the client-side component (requires node version 8 or later), run the following in the repository directory:

```bash
jlpm install
jlpm run build
jupyter labextension install .
```

To rebuild the package and the JupyterLab app:

```bash
jlpm run build
jupyter lab build
```

## Publishing

This application is distributed as two subpackages.

The JupyterLab frontend part is published to [npm](https://www.npmjs.com/package/jupyterlab-nvdashboard),
and the server-side part to both [PyPI](https://pypi.org/project/jupyterlab-nvdashboard/) and [Anaconda](https://anaconda.org/rapidsai/jupyterlab-nvdashboard) ([nightlies](https://anaconda.org/rapidsai-nightly/jupyterlab-nvdashboard)).

Releases for both packages are handled by [gpuCI](https://gpuci.gpuopenanalytics.com/job/rapidsai/job/gpuci/job/jupyterlab-nvdashboard/). Nightly builds are triggered when a push to a versioned branch occurs (i.e. `branch-0.5`). Stable builds are triggered when a push to the `main` branch occurs.


text:
---
layout: page
title: Talks
---

On this page I'm listing the talks I've given.

## Increasing the bus factor

<script async class="speakerdeck-embed" data-id="dc2e602a048b48d2a0de8bb04cc43a17" data-ratio="1.77777777777778" src="//speakerdeck.com/assets/embed.js"></script>

[Video](https://skillsmatter.com/skillscasts/12440-cloud-native-london-august)

A talk on scalable training of teams of all sizes, particularly those using or intending to use cloud native technologies.

 Topic being our continuous delivery solution at Ocado Technology.
<script async class="speakerdeck-embed" data-id="7671a1747c6b4b639abad58d944725ae" data-ratio="1.77777777777778" src="//speakerdeck.com/assets/embed.js"></script>

## Kubernetes with Python

Gave this talk at Cambridge Python User Group and [London Python](https://skillsmatter.com/skillscasts/11142-kubernetes-and-python). Subject was learning Kubernetes from a python dev perspective, covering basic concepts and how to work with the API. [Additional resources](https://github.com/godley/k8s-talk) which I failed at presenting due to docker/minikube issues at London Python :(

## The automated sheet music librarian

<iframe width="560" height="315" src="https://www.youtube.com/embed/CKUmsGKdNqQ" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>

I gave this talk at **EMF Camp 2016 and Cambridge Python User Group** topic being my final year project [mahogany/muselib/I'm bad at naming things](https://github.com/godley/muselib)

gha_language: CSS

gha_license_id: NOASSERTION


text:
---
title: 5 CSS3 features explained
date: 2013-06-09
tags:
  - css3
---
CSS3 is one of the coolest new web technologies available to front-end developers right now, overtime we have seen so many features that generally were implemented via [JavaScript][0], can now be acheived with a few lines of CSS.
So in this post i will explain to you five features that will save you time and energy.

## Flexible boxes
The CSS3 Flexible Box, better known as Flexbox enables you to create complex layouts with only a few lines of code.
How many time you wanted to vertically center a div ? how many time you wanted to create a 3 columns layout with 2 fluid columns and one fixed ? here is how to do it — with CSS only

### Vertical centering of a div

### Fixed-Fluid-Fixed Layout

As you can see this will allow you to make other layouts(Fluid-Fluid-Fixed, Fluid-Fixed-Fixed, etc...), easy no ?

    <dfn title="firefox">
20.0
</dfn>
    <dfn title="chrome">
26.0
</dfn>
    <dfn title="opera">
12.1
</dfn>
    <dfn title="ie">
10.0
</dfn>
    <dfn title="safari">
5.1
</dfn>

## :nth-child

:nth-child is a CSS pseudo-class which allows you to select elements with a formula ```:nth-child(n)```. The pseudo-class accepts an argument, n, which can be a keyword, a number or a number expression of the form an+b.

A good use case is displaying a zebra striping table without using extra CSS classes, JavaScript, or server-side code using the modulo, only CSS hein ?

There is also ```:nth-of-type``` it works the same way , except that it only considers element of the given type.

    <dfn title="firefox">
3.5
</dfn>
    <dfn title="chrome">
4.0
</dfn>
    <dfn title="opera">
9.5
</dfn>
    <dfn title="ie">
9.0
</dfn>
    <dfn title="safari">
3.2
</dfn>

## CSS Hyphenation

The hyphens CSS property tells the browser how to go about splitting words to improve the layout of text when line-wrapping. On HTML, the language is determined by the lang attribute: browsers will hyphenate only if this attribute is present and if an appropriate hyphenation dictionary is available. On XML, the xml:lang attribute must be used.

Source [MDN][1].

NB: To see the result you need to try to resize the window of your demo.

    <dfn title="firefox">
6.0
</dfn>
    <dfn title="chrome">
13.0
</dfn>
    <dfn title="opera" class="unsupported">
—
</dfn>
    <dfn title="ie">
10.0
</dfn>
    <dfn title="safari">
5.1
</dfn>

## CSS Filter Effects

Filters are a powerful tool, they can manipulate the appearance of any HTML element and can be stacked together to create unique effects and provide endless of possibilities, such as grayscale, sepia, saturation, opacity, and blurs. The ```filter``` property creates a hardware-accelerated effects using the GPU.

    <dfn title="firefox" class="unsupported">
—
</dfn>
    <dfn title="chrome">
18.0
</dfn>
    <dfn title="opera">
15.0
</dfn>
    <dfn title="ie"  class="unsupported">
—
</dfn>
    <dfn title="safari">
6.0
</dfn>

## CSS3 Media Queries

CSS3 Media queries allow you to target CSS rules based on screen size, device-orientation or display-density, you can add expressions to media type to check for certain conditions, this is the technique used for the so called "Responsive design".

```css
/* The following CSS will apply if the viewing area is smaller than 600px. */
@media screen and (max-width: 600px) {
    .class {
        background: #ccc;
    }
}

/* The following CSS will apply if the viewing area is 700px wide or wider and the display is in landscape mode. */
@media screen and (min-width: 700px) and (orientation: landscape) {
    .class {
        background: #ccc;
    }
}
```

You can also apply css rules based on media types ```screen```, ```tv``` or ```handheld```, you can find the list [here][2]

    <dfn title="firefox">
20.0
</dfn>
    <dfn title="chrome">
26.0
</dfn>
    <dfn title="opera">
12.1
</dfn>
    <dfn title="ie">
9.0
</dfn>
    <dfn title="safari">
5.1
</dfn>

Let me know your thoughts in the comments below, also you can discuss, upvote this post over at [Hacker News][3].

[0]: http://daker.me/2013/06/5-html5-javascript-apis-to-keep-an-eye-on.html
[1]: https://developer.mozilla.org/en-US/docs/Web/CSS/hyphens
[2]: http://www.w3.org/TR/CSS2/media.html#media-types
[3]: https://news.ycombinator.com/item?id=5849053


text:
1.下载 depot_tools.git

```
git clone https://chromium.googlesource.com/chromium/tools/depot_tools
```

需要翻墙设置代理：

```
open ~/.gitconfig

在配置文件里添加：

[http]
  proxy = <IP_ADDRESS>:1087

```

代理需要查看本地的配置：

![](http://junziboxue.com/assets/images/webRTC/proxy_img.png)

配置

```
Add depot_tools to the front of your PATH (you will probably want to put this in your ~/.bashrc or ~/.zshrc). Assuming you cloned depot_tools to /path/to/depot_tools:

$ export PATH=/path/to/depot_tools:$PATH
```
下载需要 设置代理
```
$ export HTTP_PROXY=<IP_ADDRESS>:1087
$ export HTTPS_PROXY=<IP_ADDRESS>:1087

```

https://gn.googlesource.com/gn/+/master/README.md

https://webrtc.googlesource.com/src/+/refs/heads/master/docs/native-code/ios/index.md


text:
# repair-kopitiam-training-and-equipment
Training materials and equipment schematics for Repair Kopitiam. Detailed blog posts behind this can be found here: [Part 1](http://yeokhengmeng.com/2016/05/repair-kopitiam-speciality-electrical-tools/) and [Part 2](http://yeokhengmeng.com/2017/07/repair-kopitiam-specialty-electrical-tools-part-2-short-circuit-limiter/).

Some of the equipment in this picture have been deprecated. See the listing below for details.

![Screen](short-circuit-limiter/images/scl-prod-front.jpg)

This repository so far contains 6 pieces of equipment. More details can be found in the subdirectories.

1. [10mA RCBO](10ma-rcbo) (Deprecated)
2. [trip-10ma-rccb-only-tool](trip-10ma-rccb-only-tool) (Deprecated)
3. [anti-trip-earth-leakage-detector](anti-trip-earth-leakage-detector)
4. [10ma-rcbo-and-anti-external-cb-trip](10ma-rcbo-and-anti-external-cb-trip)
5. [10ma-rcbo-mcb-and-anti-external-cb-trip](10ma-rcbo-mcb-and-anti-external-cb-trip) (In use but overkill)
6. [short-circuit-limiter](short-circuit-limiter)

## Hackware talks

1. Part 1 at [Hackware v2.0](https://www.facebook.com/events/481593632030061/) on 27 July 2016: [Slides](http://www.slideshare.net/yeokm1/repair-kopitiam-specialty-electrical-equipment) and [Video](http://www.youtube.com/watch?v=OkuFtGhXB7U) about Equipment 1-4.

2. Part 2 at [Hackware v3.4](https://www.facebook.com/events/261629434317053/) on 6 Sept 2017: [Slides](https://www.slideshare.net/yeokm1/repair-kopitiam-specialty-tools-part-2-short-circuit-limiter) and [Video](https://www.youtube.com/watch?v=BM9I_tabfC8) about the short-circuit-limiter.

## Training materials

Files of the slides and simulation material are found in the [training directory](training). Slides can be viewed using the picture link below.

[![Circuit breaker slides on slideshare](training/cb-first-slide.png)](http://www.slideshare.net/yeokm1/repair-kopitiam-circuit-breaker-training)


text:
```
 888888ba            a88888b.  .d888888   888888ba     d88  dP   dP
 88    `8b          d8'   `88 d8'    88   88    `8b     88  88   88
a88aaaa8P' dP    dP 88        88aaaaa88a a88aaaa8P'     88  88aaa88
 88        88    88 88        88     88   88   `8b.     88       88
 88        88.  .88 Y8.   .88 88     88   88     88     88       88
 dP        `8888P88  Y88888P' 88     88   dP     dP    d88P      dP
oooooooooooo~~~~.88~oooooooooooooooooooooooooooooooooooooooooooooooo
            d8888P
```

#For the current version of the PyCAR class, visit [the maintained repo here](https://github.com/ireapps/pycar).

##Python mini boot camp at #NICAR14 in Baltimore

Let's use [Wakari.io](http://www.wakari.io/) bundles for this class. At the end, we'll give you everything working in Github.

As a backup plan in case the internet is bad, we'll have the bundles on the machines, and we can use the [Anaconda distro of Python](http://docs.continuum.io/anaconda/pkgs.html)'s interactive interpreter in Windows PowerShell.

###Schedule for the day
####[Introduction](http://bit.ly/intropycar14)

* Who are you, what do you do, what do you want to learn?
* What will we learn
* what can I do with it?
* The goal of the day is to start to learn how to think about solving problems.

[The Wakari bundle](https://www.wakari.io/sharing/bundle/tommeagher/pycar14)

####Project #1
Start with a CSV. Let's write some basic scripts to see what we're working with. Then we'll introduce some key Python types like strings, integers, lists, slicing and loops.
After a white board exercise, we'll start with a file of pseudocode, and we'll walk through writing the program in Python code, running the file at the command line.
We'll hold your hand through it, step by step.

####Project #2
We have a CSV of baseball player salaries. Let's figure out who makes the most money and examine some other biographical information about them, using dictionaries.

LUNCH

####How to debug your code, aka "Google and StackOverflow are your new best friends"

####Project #3
This section covers webscraping with Python using a get request, writing the data to a CSV.

####Project #4
Let's use an API to get information programatically to create a spreadsheet. Our data comes in a new format: JSON. Show on the whiteboard how it's basically a combination of data structures we already know about: Lists and dicts (arrays and objects).

At the end of the day, we'll __[send you home with](takehome/README.md)__ with:

* A [lightning dash](https://www.wakari.io/sharing/bundle/tommeagher/PyCAR_basics) through basic variables, types and functions.
* the working, commented code for each project from our git repo
* a walkthrough for setting up your machine at home with Python, version control and virtualenvs.
* Good libraries to explore with strong tutorials
* lifetime support guarantee [from us](CONTRIBUTORS.md) & [PythonJournos](https://groups.google.com/forum/#!forum/PythonJournos)

###Help!
If you're working through this code at home and have trouble, please let us know.
The best option is to [file an issue report](https://github.com/tommeagher/pycar14/issues?state=open) of the bug so we can help you.
You can also reach out to any of us [on Twitter](https://github.com/tommeagher/pycar14/blob/master/CONTRIBUTORS) or ping [PythonJournos](https://groups.google.com/forum/#!forum/PythonJournos).

gha_language: HTML


text:
# Singing With Uta

### About
Singing With Uta is a mod of the rhythm game [Friday Night Funkin'](https://fridaynightfunkin.fandom.com/wiki/Friday_Night_Funkin%27)

Play Singing With Uta here on [GitHub!](https://samjwu.github.io/SingingWithUta/)

![Singing With Uta Logo](SingingWithUtaLogo1.png)

Check out the gameplay video on [YouTube](https://www.youtube.com/watch?v=QEetPVv6LDQ)

[![Gameplay Video](utagameplay.png)](https://www.youtube.com/watch?v=QEetPVv6LDQ)

### Featuring

![Custom Week](weekuta.PNG)

- New title logo: Singing With Uta!
- New week: Week Uta!
- New song: PoBEEPo!
- New character: Uta!
- New background: Theatre!
- New cutscene: Uta challenges Boyfriend after hearing that he beat [Miku!](https://gamebanana.com/mods/44307)

# Credits / Shoutouts

### Friday Night Funkin'
- For creating the funkin’ base game
    - [Evilsk8r](https://twitter.com/evilsk8r)
    - [Kawai Sprite](https://twitter.com/kawaisprite)
    - [ninjamuffin99](https://twitter.com/ninja_muffin99)
    - [PhantomArcade3K](https://twitter.com/phantomarcade3k)

### Friday Night Funkin' Modding Community
- For inspiring me to make my own mod
    - [atsuover](https://gamebanana.com/members/1792259)
    - [bbpanzu](https://gamebanana.com/members/1764067)
    - [Dokki.doodlez](https://gamebanana.com/members/1814745)
    - [evdial](https://gamebanana.com/members/1771790)
    - [kuroao_anomal](https://gamebanana.com/members/1793932)
    - [Mike Geno](https://gamebanana.com/members/1894477)
    - [srPerez](https://gamebanana.com/members/1819241)
    - [Tuxsuper](https://gamebanana.com/members/1787500)

### funkin-utau
- For providing the BF voicebank
    - [GenosX](https://gamebanana.com/members/1771171)

### Kade Engine
- For adding features like the improved input system, accuracy rating, FNFBot (program that automatically plays song charts), etc.
    - [KadeDeveloper](https://twitter.com/KadeDeveloper)
    - [The contributors](https://github.com/KadeDev/Kade-Engine/graphs/contributors)

### Newgrounds
- For hosting the portal to Everything, By Everyone since 1995
    - [Tom Fulp](https://tomfulp.newgrounds.com/)

### YouTubers
- For providing helpful videos on Cakewalk, UTAU, Audacity, Krita, and GIMP
    - [David Revoy](https://www.youtube.com/c/DavidRevoy/about)
    - [Home Studio Simplified](https://www.youtube.com/c/Homestudiosimplified/about)
    - [Mitch](https://www.youtube.com/user/JustForFun7882/about)
    - [Yuunarii](https://www.youtube.com/c/Yuunarii/about)

repository: samjwu/SingingWithUta

repo_name: samjwu/SingingWithUta


text:
# Adjacency Matrix

* Good if graph is dense
* Requires vertices x vertices amount of storage and vertices x vertices time for matrix initialization
* If the number of edges is not proportional to vertices * vertices then runtime will be dominated by matrix initialization

## Undirected

* Each edge is represented by two bits in undirected graph
  * Edge between A and B can be represented as 1 or 0 in matrix[A][B] and also in matrix[B][A]
* When processing undirected graph, can save time by processing only half
* Also, in undirected graph, there is an "edge" from each vertex to itself
  * Matrix[A][A] is 1

## Directed

* Mark only one entry in matrix

```text
A -> B
^    |
|    v
D <- C

  A B C D
A 0 1 0 1
B 0 0 1 0
C 1 0 0 1
D 0 0 0 0
```

repository: jaebradley/notes

path: /Software Engineering/Data Structures and Algorithms/data-structures-and-algorithms-made-easy/chapter-9/adjacency-matrix.md

repo_name: jaebradley/notes


text:
## How can I Contribute?

There are four major ways that you can contribute to this project
| Type | Prefix | Description |
|--|--|--|
| [Documentation](https://github.com/Akshu-on-github/Make-your-own-README.md/issues/new?assignees=&labels=documentation&template=documentation.md&title=%5BDOC%5D) | [DOC] | Add/improve the documentation |
| [Feature Request](https://github.com/Akshu-on-github/Make-your-own-README.md/issues/new?assignees=&labels=feature&template=feature_request.md&title=%5BFEAT%5D) | [FEAT] | Add/request a new feature |
| [Enhancement](https://github.com/Akshu-on-github/Make-your-own-README.md/issues/new?assignees=&labels=enhancement&template=enhancement.md&title=%5BENMT%5D) | [ENMT] | Improve upon an existing feature |
| [Bug Fix](https://github.com/Akshu-on-github/Make-your-own-README.md/issues/new?assignees=&labels=bug&template=bug_report.md&title=%5BBUG%5D) | [BUG] | Fix a bug |

## Issue Guidelines

While raising an issue, remember:
- Use the appropriate Issue Template
- Indicate whether you'd like to take it up
- Wait until it is assigned to you
- **Issues will be assigned on a first come, first serve basis**
- If an issue is not resolved within Seven (7) days, it may be transfered to another

## Pull Request (PR) Guidelines
While raising a PR, remember:
- Link to the original issue (Use '#' followed by the issue number. Eg: #1)
- Use the approprite prefix (Eg: `[DOC]` for documentation)
- Add a brief description of changes made (Eg: `Modified the ABC tag in the XYZ file`)

**The `hacktoberfest-approved` label will be applied to the PR once these conditions are satisfied**

By contributing to this project, you abide by the [Code of Conduct](CODE_OF_CONDUCT.md)


text:
# Building for Erlang

Based on [Erlang.mk](https://erlang.mk), this builds with GNU make 4.0 and up.

When building in here, you should manually copy `Makefile.in` to `Makefile`,
while setting the `@Perpetuum_VERSION` to the right value.  Then,

    gmake all

More usefully however, is to use the way this is wrapped into `CMakeLists.txt`
as an integral part of this project.  You are building up the right structures
in your binary directory's `erlang/perpetuum-${Perpetuum_VERSION}` subdirectory.

To use this, you should include the `erlang` directory in the path setup in the
`ERL_LIBS` environment variable before invoking Erlang.  You should then be
able to find the generic component with

   inluclude_lib( 'perpetuum/ebin/gen_perpetuum.erl' )

See the standard library call `code:lib_dir/1,2` for more information.

repository: vanrein/perpetuum

repo_name: vanrein/perpetuum


text:
# Author Information
The corresponding author for "Near-Duplicate Detection in Web App Model Inference" is:
	```
	RahulKrishna Yandrapally
	GitHub ID: yrahulkr
	Email<EMAIL_ADDRESS>	```

The complete list of Author-University-GitHub ID pairs are as follows:
```
RahulKrishna Yandrapally : University of British Columbia
Andrea Stocco : Università della Svizzera Italiana
Ali Mesbah : University of British Columbia
```

gha_license_id: Unlicense


text:
---
layout: post
title: Model Based Design
subtitle: New way to solve engineering problems
gh-repo:
gh-badge:
tags: [General]
comments: true
---

Model based design approach is the way to define physical system in the form of mathematical equations. MBD can be accelerated using tools and software, which uses mathematical, blocks i.e. Simulink, Labview.

Blocks represent basic mathematical operations. When you connect blocks together, the resulting diagram is equivalent to the mathematical model, or representation, of the system under design.

In MBD a model is a description of a system using mathematical equations. Model may help to explain a system behavior under external excitation.

![](https://dl.dropboxusercontent.com/s/2dvfin1jxg5t9cx/MBD.png?dl=0)

MBD can be use in all development stages like Research, Design, Implementation and Verification and Validation. It helps engineer to rapidly iterate and optimize system under development and test new ideas.

**Current popular Modeling tools can be used are.**
1. Text based:
- Python, Matlab
1. Block based:
- Simulink, SimulationX, Modelica, Labview, Amesim, NX mechatronics concept designer