It’s that time again when people start thinking about their New Years Resolutions. Usually they involve, losing weight, quitting smoking, and joining a gym, just to mention a few.
It’s that time again when people start thinking about their New Years Resolutions. Usually they involve, losing weight, quitting smoking, and joining a gym, just to mention a few.
It’s that time again when people start thinking about their New Years Resolutions. Usually they involve, losing weight, quitting smoking, and joining a gym, just to mention a few.
It’s that time again when people start thinking about their New Years Resolutions. Usually they involve, losing weight, quitting smoking, and joining a gym, just to mention a few.


|
Trex Run
1.12
Arcade Classic Game from Chrome Browser Exported to Minix Environment.
|
Functions | |
| int() | util_get_LSB (uint16_t val, uint8_t *lsb) |
| int() | util_get_MSB (uint16_t val, uint8_t *msb) |
| int() | util_sys_inb (int port, uint8_t *value) |
| int() util_get_LSB | ( | uint16_t | val, |
| uint8_t * | lsb | ||
| ) |
| int() util_get_MSB | ( | uint16_t | val, |
| uint8_t * | msb | ||
| ) |
| int() util_sys_inb | ( | int | port, |
| uint8_t * | value | ||
| ) |


The Board of Trustees, President and UCOE (Universal College Of Engineering) community, invite you, your family
and your friends to join us for a special event in New York metropolitan area to Support the Kosova’s Next Success Story
We are proud to witness how our institution has positively impacted Kosovar society through alumni engagement.
Our current Success Stories are best represented by our Alumni:
- 68% of alumni hold management positions; whereas 53% are mid and senior managers.
- 11% of our Alumni are entrepreneurs and employ more than 1,000 Kosovars.
- 95% of our Alumni are working.
- Of alumni who pursued master’s degrees, 65% received some form of scholarship,
and 47% were awarded full scholarships to study abroad.
While we have great cases of success to share with you, we must acknowledge that students from Kosova
need further support to Become the Next Success Stories. Supporting quality education and building the
future leaders of Kosovo is one of the best ways to consolidate the statehood of Kosovo and the advancement of this society.
Your attendance at this cocktail supports and encourages our talented and underprivileged students to aspire for the
best education possible in Kosovo and the region.
The Support Kosova’s Next Success Story event will enable our university to offer more scholarships for talented
students with limited financial means from Kosovo and abroad. This event is a great opportunity for our Albanian diaspora
and other friends in United States to learn about the Universal College of Engineering in Kosovo, its impact in the country
and how your contribution can make an enormous difference.
We want to continue doing our best, and we need your involvement to Support Kosova’s Next
Success Story and help them to attain an excellent American education!
Please come and join us for some food and drinks and be ready to be amazed by the incredible and inspiring stories
we will share with you.
Sincerely,
Board of Trustees | Universal College of Engineering


Weekly Reading: Medieval Spell Books and Mark Swain
At the end of a long day of work, Machiavelli liked to change into “regal and courtly garments” and spend hours reading his favorite authors. For Machiavelli, this reading was the highlight of his day, and it was not a passive activity but a form of conversation, even communion: “I no longer fear poverty, nor do I tremble at the thought of death,” he wrote to his friend Francesco. “I become completely part of them.”
We at *The Appendix also believe in the power of the written word to bridge gaps, not only between people living today, but between the past and the present. This is the fourth installment of a new Appendix feature, Weekly Reading, that combines links to contemporary writing we enjoyed from the past week alongside extracts from authors who might be long dead.*
-
Why are turkeys called that?
-
The New Yorker on the tireless search for a new nightly sleep aid.
-
We found out that Harper’s Weekly misprinted Mark Twain’s name (“Mark Swain”) when it published his first magazine article. He wasn’t happy (“they put it ‘Mike Swain’ or ‘MacSwain,’ I do not remember which. At any rate, I was not celebrated”). h/t @AdrianChen.
-
“Quantified Self is a passionate political ‘movement’ without concrete demands” argues The New Inquiry.
-
The Sefer Raziel, an early medieval book of spells originally written in Hebrew and Aramaic. We came across a transcription of it written by an English lawyer in 1564 and it’s utterly nuts (“drinketh the milke of a white or red or a black cowe, know thou that it maketh a man say things to come.”)
-
Vanity Fair wonders if David Hockney’s famously controversial questions about Vermeer’s use of optics have been solved (answer: not really).
-
Scientific American: “Life does not really exist.”
For more links to good writing and interesting discoveries, follow us on Twitter, Tumblr, and Facebook.


Star
Follow @mojocn
Follow @Eric Zhou
Issue
Download
Base64 Captcha Playground
...base64Captcha/fonts/RitaSmith.ttf
IsShowHollowLine
IsShowNoiseDot
IsShowNoiseText
IsShowSlimeLine
IsShowSlimeLine
Verify Captcha
I have 2-years-golang experience and 5-years-php-full-stack experience. Locking for a job. Email: admin@mojotv.cn


Eclipse 3.7 Indigo Enterprise Edition which provides by
default EGit (1.1.0+) to interact with GIT code repositories,
m2e(1.0+) that integrates with the Maven build system, and Mylyn
(teamwork tool). Use the Eclipse Marketplace to install the Spring
IDE plug-in (for spring configuration support).


Wandx
Home
AdminOperations
Admin
Operations
operation
Get_Orders
Basket_Orders
Deposit
originator
AssetId
Amount
GetBalance
originator
AssetId
Get Balance Fee is:
CalculateHash
Seller Address
offerAssetId
offerAmount
WantAssetId
WantAmount
Nonce
Get Hash is:
Single Sell order
Seller Address
offerAssetId
offerAmount
WantAssetId
WantAmount
FulfillSingleOffer
Filler Address
offerAssetId
WantAssetId
OrderHash
BuyForAmount


Home
About Me
Contact Me
History
Facts
Demos
College Lacrosse
Sitemap
College Lacrosse at Babson
Babson College Women's Lacrosse NEWMAC Champions
Next
Next
Visit Babson College
Want to check out the Babson Women's Lacrosse 2017 record?
14-6
Hide
Show


I am a Senior at the University of Michigan College of Engineering studying Computer Science with experience in scripting, object oriented programming, and web development.
Co-Captain of Team Dr. Nitro, a summer internship where we converted an electric racecar into an ice-cream truck. We then used this to start a liquid nitrogen ice-cream business.
Directed a team of high school students with mentors to design and build a 120 pound robot. This was an intensive program to learn design, metal fabrication, wiring, systems integration, and testing (6 weeks, 25 hrs. per week). We then competed against other high school teams around the state to become a regional finalist.
Determined a schedule for all volunteers involved by appointing people to different tasks to best help the instructors. Was also involved in guiding children ages 4- 17 during class, lunch, and recess by helping with assignments and making sure nobody was hurt.
Designed and developed a 2D Android Game using LibGDX and Android Studio for Java based mobile platforms
Participated in a 36 hour hackathon event in a team of three developers where we made a Tic Tac Toe game using the Firebase API for user authentication in Java based mobile platforms
Developed and designed the app “Dhikr Allah” using Android Studio for Java based mobile platforms
GPA: 3.51 | 4
GPA: 4.21 | 4


Tourism
This ministry works closely with the tourism sector to help stimulate economic growth and investment and create an environment that allows Ontario to compete successfully in the rapidly changing world of travel and leisure. Among our activities to strengthen Ontario as an internationally-recognized tourist destination:
- 1. We market Ontario as a tourist destination.
- 2. We work with industry and organizations to support the maintenance and growth of the tourism's economic contribution.
- 3. We undertake vital market research in the areas of marketing,product development, and investment to aid business decisions by both governments and industry.
- 4. We encourage private sector investment and new product development to expand Ontario's tourism sector and promote egional tourism economic development.
- 5. We support and facilitate the development of new experiences and destinations.
- 6. We invest in Ontario's tourism agencies.


i went to high school
and then college until the economy crashed
i worked a lot
barista
server
researcher
designer


{% if np.argmax prediction == 0 %} Your character is Aika Granzchesta! {% if np.argmax prediction == 1 %} Your character is Aisaka Taiga! {% if np.argmax prediction == 2 %} Your character is Akihime Sumomo!! {% if np.argmax prediction == 3 %} Your character is Akiyama Mio! {% if np.argmax prediction == 4 %} Your character is Akizuki Ritsuko! {% if np.argmax prediction == 5 %} Your character is Alice Margatroid! {% if np.argmax prediction == 6 %} Your character is Allen Walker! {% if np.argmax prediction == 7 %} Your character is Amami Haruka! {% if np.argmax prediction == 8 %} Your character is Ana Coppola! {% if np.argmax prediction == 9 %} Your character is Andou Mahoro! {% if np.argmax prediction == 10 %} Your character is Arcueid Brunestud! {% if np.argmax prediction == 11 %} Your character is Asagiri Mai! {% if np.argmax prediction == 12 %} Your character is Asahina Mikuru! {% if np.argmax prediction == 13 %} Your character is Asakura Otome! {% if np.argmax prediction == 14 %} Your character is Asakura Yume! {% if np.argmax prediction == 15 %} Your character is Ayanami Rei! {% if np.argmax prediction == 16 %} Your character is Ayasaki Hayate! {% if np.argmax prediction == 17 %} Your character is Belldandy! {% if np.argmax prediction == 18 %} Your character is Black Rock Shooter! {% if np.argmax prediction == 19 %} Your character is C.C! {% if np.argmax prediction == 20 %} Your character is Canal Volphied!! {% if np.argmax prediction == 21 %} Your character is Caro Ru Lushe! {% if np.argmax prediction == 22 %} Your character is Chii! {% if np.argmax prediction == 23 %} Your character is Cirno! {% if np.argmax prediction == 24 %} Your character is Corticarte Apa Lagranges! {% if np.argmax prediction == 25 %} Your character is Daidouji Tomoyo! {% if np.argmax prediction == 26 %} Your character is Enma Ai! {% if np.argmax prediction == 27 %} Your character is Erio Mondial! {% if np.argmax prediction == 28 %} Your character is Fate Testarossa! {% if np.argmax prediction == 29 %} Your character is Feena Fam Earthlight! {% if np.argmax prediction == 30 %} Your character is Flandre Scarlet! {% if np.argmax prediction == 31 %} Your character is Fujibayashi Kyou!! {% if np.argmax prediction == 32 %} Your character is Fukuzawa Yumi! {% if np.argmax prediction == 33 %} Your character is Furude Rika! {% if np.argmax prediction == 34 %} Your character is Furukawa Nagisa! {% if np.argmax prediction == 35 %} Your character is Fuyou Kaede! {% if np.argmax prediction == 36 %} Your character is Golden Darkness! {% if np.argmax prediction == 37 %} Your character is Hakurei Reimu! {% if np.argmax prediction == 38 %} Your character is Hatsune Miku! {% if np.argmax prediction == 39 %} Your character is Hayama Mizuki! {% if np.argmax prediction == 40 %} Your character is Hayase Mitsuki! {% if np.argmax prediction == 41 %} Your character is Hiiragi Kagami! {% if np.argmax prediction == 42 %} Your character is Hiiragi Tsukasa! {% if np.argmax prediction == 43 %} Your character is Hinamori Amu! {% if np.argmax prediction == 44 %} Your character is Hirasawa Yui! {% if np.argmax prediction == 45 %} Your character is Horo! {% if np.argmax prediction == 46 %} Your character is Houjou Reika! {% if np.argmax prediction == 47 %} Your character is Houjou Satoko! {% if np.argmax prediction == 48 %} Your character is Ibuki Fuuko! {% if np.argmax prediction == 49 %} Your character is Ichinose Kotomi! {% if np.argmax prediction == 50 %} Your character is Ikari Shinji! {% if np.argmax prediction == 51 %} Your character is Illyasviel Von Einzbern! {% if np.argmax prediction == 52 %} Your character is Ito Chika! {% if np.argmax prediction == 53 %} Your character is Ito Nobue! {% if np.argmax prediction == 54 %} Your character is Izayoi Sakuyae! {% if np.argmax prediction == 55 %} Your character is Izumi Konata! {% if np.argmax prediction == 56 %} Your character is Kagamine Len! {% if np.argmax prediction == 57 %} Your character is Kagamine Rin! {% if np.argmax prediction == 58 %} Your character is Kagurazaka Asuna! {% if np.argmax prediction == 59 %} Your character is IKallen Stadtfeld! {% if np.argmax prediction == 60 %} Your character is Kamikita Komari! {% if np.argmax prediction == 61 %} Your character is Kanu! {% if np.argmax prediction == 62 %} Your character is Katagiri Yuuhi! {% if np.argmax prediction == 63 %} Your character is Katsura Hinagiku! {% if np.argmax prediction == 64 %} Your character is Katsura Kotonoha! {% if np.argmax prediction == 65 %} Your character is Kawashima Ami! {% if np.argmax prediction == 66 %} Your character is Kikuchi Makoto! {% if np.argmax prediction == 67 %} Your character is Kinomoto Sakura! {% if np.argmax prediction == 68 %} Your character is Kirisame Marisa! {% if np.argmax prediction == 69 %} Your character is Kisaragi Chihaya! {% if np.argmax prediction == 70 %} Your character is Kobayakawa Yutaka! {% if np.argmax prediction == 71 %} Your character is Kochiya Sanae! {% if np.argmax prediction == 72 %} Your character is Koizumi Itsuki! {% if np.argmax prediction == 73 %} Your character is Komaki Manaka!" {% if np.argmax prediction == 74 %} Your character is Konpaku Youmu! {% if np.argmax prediction == 75 %} Your character is Kotegawa Yui! {% if np.argmax prediction == 76 %} Your character is Kotobuki Tsumugi! {% if np.argmax prediction == 77 %} Your character is Kousaka Tamaki! {% if np.argmax prediction == 78 %} Your character is Kururugi Suzaku! {% if np.argmax prediction == 79 %} Your character is Kusugawa Sasara! {% if np.argmax prediction == 80 %} Your character is Kyon! {% if np.argmax prediction == 81 %} Your character is Lala Satalin Deviluke! {% if np.argmax prediction == 82 %} Your character is Lelouch Lamperouge! {% if np.argmax prediction == 83 %} Your character is Li Syaoran! {% if np.argmax prediction == 84 %} Your character is Lisianthus! {% if np.argmax prediction == 85 %} Your character is Louise! {% if np.argmax prediction == 86 %} Your character is Maka Albarn! {% if np.argmax prediction == 87 %} Your character is Maria! {% if np.argmax prediction == 88 %} Your character is Matou Sakura! {% if np.argmax prediction == 89 %} Your character is Matsuoka Miu! {% if np.argmax prediction == 90 %} Your character is Megurine Luka! {% if np.argmax prediction == 91 %} Your character is Melon Chan! {% if np.argmax prediction == 92 %} Your character is Midori! {% if np.argmax prediction == 93 %} Your character is Mifeulle Sakuraba! {% if np.argmax prediction == 94 %} Your character is Minamoto Chizuru! {% if np.argmax prediction == 95 %} Your character is Minase Iori! {% if np.argmax prediction == 96 %} Your character is Miura Azusa! {% if np.argmax prediction == 97 %} Your character is Miyafuji Yoshika! {% if np.argmax prediction == 98 %} Your character is Miyamura Miyako! {% if np.argmax prediction == 99 %} Your character is Mizunashi Akari! {% if np.argmax prediction == 100 %} Your character is Nagase Minato! {% if np.argmax prediction == 101 %} Your character is Nagato Yuki! {% if np.argmax prediction == 102 %} Your character is Nagi! {% if np.argmax prediction == 103 %} Your character is Nakano Azusa! {% if np.argmax prediction == 104 %} Your character is Nanael! {% if np.argmax prediction == 105 %} Your character is Natsume Rin! {% if np.argmax prediction == 106 %} Your character is Nerine! {% if np.argmax prediction == 107 %} Your character is Nia!/span> {% if np.argmax prediction == 108 %} Your character is Njihara Ink! {% if np.argmax prediction == 109 %} Your character is Nogizaka Haruka! {% if np.argmax prediction == 110 %} Your character is Noumi Kudryavka! {% if np.argmax prediction == 111 %} Your character is Nunnally Lamperouge! {% if np.argmax prediction == 112 %} Your character is Ogasawara Sachiko! {% if np.argmax prediction == 113 %} Your character is Okazaki Tomoya! {% if np.argmax prediction == 114 %} Your character is Pastel Inke! {% if np.argmax prediction == 115 %} Your character is Patchouli Knowledge! {% if np.argmax prediction == 116 %} Your character is Primula! {% if np.argmax prediction == 117 %} Your character is Ranka Lee! {% if np.argmax prediction == 118 %} Your character is Reina! {% if np.argmax prediction == 119 %} Your character is Reinforce Zwei! {% if np.argmax prediction == 120 %} Your character is Reisen Udongein Inaba! {% if np.argmax prediction == 121 %} Your character is Remilia Scarlet! {% if np.argmax prediction == 122 %} Your character is Rollo Lamperouge! {% if np.argmax prediction == 123 %} Your character is Ryougi Shiki! {% if np.argmax prediction == 124 %} Your character is Ryuuguu Rena! {% if np.argmax prediction == 125 %} Your character is Saber! {% if np.argmax prediction == 126 %} Your character is Saigyouji Yuyuko! {% if np.argmax prediction == 127 %} Your character is Sairenji Haruna! {% if np.argmax prediction == 128 %} Your character is Sakagami Tomoyo! {% if np.argmax prediction == 129 %} Your character is Sakai Yuuji! {% if np.argmax prediction == 130 %} Your character is Sanzenin Nagi! {% if np.argmax prediction == 131 %} Your character is Saotome Alto! {% if np.argmax prediction == 132 %} Your character is Sendou Erika! {% if np.argmax prediction == 133 %} Your character is Seto San! {% if np.argmax prediction == 134 %} Your character is Setsuna F. Seiei! {% if np.argmax prediction == 135 %} Your character is Shameimaru Aya! {% if np.argmax prediction == 136 %} Your character is Shana! {% if np.argmax prediction == 137 %} Your character is Sheryl Nome! {% if np.argmax prediction == 138 %} Your character is Shidou Hikaru! {% if np.argmax prediction == 139 %} Your character is Shigure Asa! {% if np.argmax prediction == 140 %} Your character is Shihou Matsuri! {% if np.argmax prediction == 141 %} Your character is Shindou Chihiro! {% if np.argmax prediction == 142 %} Your character is Shindou Kei! {% if np.argmax prediction == 143 %} Your character is Shinku! {% if np.argmax prediction == 144 %} Your character is Shirakawa Kotori! {% if np.argmax prediction == 145 %} Your character is Shirley Fenette! {% if np.argmax prediction == 146 %} Your character is Shirou Kamui! {% if np.argmax prediction == 147 %} Your character is Siesta! {% if np.argmax prediction == 148 %} Your character is Sonozaki Mion! {% if np.argmax prediction == 149 %} Your character is Sonsaku Hakufu! {% if np.argmax prediction == 150 %} Your character is Souryuu Asuka Langley! {% if np.argmax prediction == 151 %} Your character is Subaru Nakajima! {% if np.argmax prediction == 152 %} Your character is Suigintou! {% if np.argmax prediction == 153 %} Your character is Suzumiya Akane! {% if np.argmax prediction == 154 %} Your character is Suzumiya Haruhi! {% if np.argmax prediction == 155 %} Your character is Suzumiya Haruka! {% if np.argmax prediction == 156 %} Your character is Tainaka Ritsu! {% if np.argmax prediction == 157 %} Your character is Takamachi Nanoha! {% if np.argmax prediction == 158 %} Your character is Takara Miyuki! {% if np.argmax prediction == 159 %} Your character is Takatsuki Yayoi! {% if np.argmax prediction == 160 %} Your character is Teana Lanster! {% if np.argmax prediction == 161 %} Your character is Tohsaka Rin! {% if np.argmax prediction == 162 %} Your character is Tsukimura Mayu! {% if np.argmax prediction == 163 %} Your character is Tsuruya! {% if np.argmax prediction == 164 %} Your character is Vita! {% if np.argmax prediction == 165 %} Your character is Vivio! {% if np.argmax prediction == 166 %} Your character is Yagami Hayate! {% if np.argmax prediction == 167 %} Your character is Yakumo Yukari! {% if np.argmax prediction == 168 %} Your character is Yoko! {% if np.argmax prediction == 169 %} Your character is Yoshida Kazumi! {% if np.argmax prediction == 170 %} Your character is Yuno! {% if np.argmax prediction == 171 %} Your character is Yuuki Mikan! {% if np.argmax prediction == 172 %} Your character is Yuzuhara Konomi! {% elif prediction %} Sorry, this is not an available character. {% endif %}


7. On Cosmic Tracks
<
>
Reached orbit. Please calibrate course coordinates.
click/drag on image to draw
restart
/
print


set poli on|off
Selects whether you want political boundries drawn for the mres or hires map data sets. The default is on.
mres
hires
on
Settings stay the same until changed by new set commands.
set


Annye Driscoll | annyedriscoll.com
Girl Develop It is here to provide affordable and accessible programs to learn software through mentorship and hands-on instruction.
Some rules
We're going to make a table out of this info in part 2!
By the end of the class, you will be able to query and modify a SQL table to make sense of the data you have.
What's a database? What's SQL?
A set of related data and the way it is organized!
A collection of tables, schemas, queries, reports, views, and other objects (it’s not just tables of data!) often organized in a way that supports processes or reflects real life in order to facilitate business or functions.
A collection of tables, schemas, queries, views…
Relational database = organizes data into one or more tables of columns and rows with a unique key identifying each row (record).
Tables are joined on special fields called keys
| Oracle | MySQL |
| SQL Server | Postgres |
| Access | Sybase |
| DB2 |
All different flavors of the same language
What's a database? What's SQL?
The power is in the relationship between data sets.
| 1 SELECT | selects variables |
| 2 FROM | opens datasets |
| 3 WHERE | restricts observations |
| 4 GROUP BY | groups observations |
| 5 HAVING | restricts groups |
| 6 ORDER BY | sorts results |
We'll use MySQL, a popular version of SQL.
If you've done anything online, chances are the transation went through MySQL (Walmart, Kayak, Facebook, Etsy, Verizon).
We'll log on to the front-end of MySQL, PHPMyAdmin.
Logon site: https://demo.phpmyadmin.net/STABLE/
Login username is "root". Leave the password field blank.

Database → Schema → Table
Book → Chapter → Page
MySQL Database → Employees Schema → employees Table
Usually it's bad practice to name tables the same thing as the database (confusing), but we'll be ok with the small test data set.
SELECT * FROM employees.employees;
Type out all the SQL you write. It'll be easier to learn.
Try a couple of these:
SELECT * FROM employees.titles;
SELECT * FROM employees.dept_emp;
SELECT * FROM employees.salaries;
and check out the tables and info.
Now let's try selecting only certain columns
SELECT title, emp_no FROM employees.titles;
A note about the semi-colon: depending on which flavor of SQL you're using you may not need it, but it's good practice in general to include it.
Selecting one column:
SELECT dept_name FROM employees.departments;
Selecting multiple columns:
SELECT emp_no, dept_no FROM employees.dept_emp;
SELECT AVG(salary) FROM employees.salaries;
SELECT MIN(from_date) FROM employees.dept_manager;
SELECT DISTINCT title FROM employees.titles;
SELECT COUNT(DISTINCT title) FROM employees.titles;
6
SELECT COUNT(title) FROM employees.titles;
14,782
Distinct: Selecting only unique instances
Which result set is bigger?
What is each one telling us?
SELECT COUNT(title) FROM employees.titles;
14,782
SELECT COUNT(*) FROM employees.salaries;
94,917
SELECT COUNT(*) from employees.departments;
9
SELECT COUNT(*) FROM employees.dept_emp;
11,050
SELECT COUNT(*) FROM employees.dept_manager;
24
SELECT COUNT(*) FROM employees.employees;
10,000
SELECT COUNT(*) FROM employees.salaries;
94,917
SELECT COUNT(*) FROM employees.titles;
14,782
| 1 SELECT | selects variables |
| 2 FROM | opens datasets |
| 3 WHERE | restricts observations |
| 4 GROUP BY | groups observations |
| 5 HAVING | restricts groups |
| 6 ORDER BY | sorts results |
SELECT type_of_dog,COUNT(*)
FROM animals.total_dogs
GROUP BY type_of_dog;
Group statements corral data together into categories when we want to count things by groups of things
i.e. How many total dogs vs puppies vs parents.
SELECT title, COUNT(*) FROM employees.titles
GROUP by title;
SELECT dept_name, COUNT(*) FROM employees.departments
GROUP BY dept_name;
SELECT first_name, COUNT(*)
FROM employees.employees
GROUP BY first_name
SELECT first_name, last_name, COUNT(*)
FROM employees.employees
GROUP BY first_name, last_name
How many unique salaries does each employee have? (how many times have they been given raises?)
SELECT emp_no, COUNT(DISTINCT salary)
FROM employees.salaries
GROUP BY emp_no;
How many managers has each department had?
SELECT dept_no, COUNT(emp_no)
FROM employees.dept_manager
GROUP BY dept_no;
How many people that were born on the same day, have the same first name?
SELECT birth_date,first_name, COUNT(*)
FROM employees.employees
GROUP BY birth_date, first_name;
Which title has been around the longest?(Smallest employee number)
SELECT title, MIN(emp_no)
FROM employees.titles
GROUP BY title;
Will sort by ascending by default.
SELECT first_name, gender, COUNT(*)
FROM employees.employees
GROUP BY first_name, gender
ORDER BY first_name;
SELECT first_name, gender, COUNT(*)
FROM employees.employees
GROUP BY first_name, gender
ORDER by first_name DESC;
Ordering by more than one column, will sort by the first, then by the second, ascending
SELECT gender, birth_date FROM employees.employees
ORDER BY gender, birth_date;
Order by a number ascending
SELECT emp_no, salary FROM employees.salaries
ORDER BY salary ASC;
Order by a number descending
SELECT emp_no, salary FROM employees.salaries
ORDER BY salary DESC;
| 1 SELECT | selects variables |
| 2 FROM | opens datasets |
| 3 WHERE | restricts observations |
| 4 GROUP BY | groups observations |
| 5 HAVING | restricts groups |
| 6 ORDER BY | sorts results |
You only want to select certain things.
SELECT first_name, last_name
FROM employees.employees
WHERE first_name='Adam';
"Like" is used in a WHERE clause to search for a specific pattern.
SELECT last_name, COUNT( * )
FROM employees.employees
WHERE last_name LIKE 'S%' -- begins with 'S'
GROUP BY last_name;
WHERE column_name BETWEEN value1 AND value2;
WHERE column_name IN (value1, value2, ...);
WHERE condition1 AND condition2 AND condition3 ...;
WHERE condition1 OR condition2 OR condition3 ...;
All people named Mary or Elvis:
SELECT * FROM employees.employees
WHERE first_name IN ('Mary', 'Elvis');
SELECT * FROM employees.employees
WHERE first_name = 'Mary' OR first_name = 'Elvis';
All of the engineers before 2000:
SELECT * FROM employees.titles
WHERE title LIKE '%Engineer%' AND from_date < '2000-01-01';
One table is great, but the power of SQL comes from being able to join related tables to get information.
What's a database? What's SQL?
Tables are joined on special fields called keys
emp_no
is the column that's the primary key for all three tables that allows us to join them
We join primary keys to foreign keys!
Often when we join tables, we make them easier to reference later on by aliasing them, but at this point it's a style choice.
Find out salary history:
SELECT first_name, last_name, hire_date,salary, from_date, to_date
FROM employees.employees a
JOIN employees.salaries b ON a.emp_no = b.emp_no
| first_name | last_name | hire_date | salary | from_date | to_date |
|---|---|---|---|---|---|
| Georgi | Facello | 6/26/86 | 60117 | 6/26/86 | 6/26/87 |
| Georgi | Facello | 6/26/86 | 62102 | 6/26/87 | 6/25/88 |
| Georgi | Facello | 6/26/86 | 66074 | 6/25/88 | 6/25/89 |
When you have two columns from different tables with the same name, you have to reference them specifically with the alias.
SELECT a.first_name, a.last_name, a.hire_date, b.salary, b.from_date, b.to_date, c.title, c.from_date, c.to_date
FROM employees.employees a
JOIN employees.salaries b
ON a.emp_no = b.emp_no
JOIN employees.titles c
ON a.emp_no = c.emp_no
Left join: All the fields in the first table, plus the ones that match in the second table
SELECT first_name, last_name, hire_date,title, c.from_date, c.to_date
FROM employees.employees a
LEFT JOIN employees.titles c ON a.emp_no = c.emp_no;
What if you'd done a right join instead?
What is this query telling us?
SELECT first_name, last_name, a.emp_no, hire_date,
COUNT(DISTINCT title), COUNT(DISTINCT salary)
FROM employees.employees a
JOIN employees.salaries b ON a.emp_no = b.emp_no
JOIN employees.titles c ON a.emp_no = c.emp_no
where first_name like 'A%'
GROUP BY first_name, last_name, hire_date, a.emp_no;
What is this query bring back?
SELECT first_name, last_name, hire_date, a.emp_no, salary, from_date as
salary_start_date, to_date AS salary_end_date
FROM employees.employees a
JOIN employees.salaries b ON a.emp_no = b.emp_no
WHERE salary > 60000
AND from_date > '2000-01-01'
ORDER BY last_name
Using nested logic datasets to query other data sets
A subquery (or inner query or nested query) is a query within a query. Most of the time, a subquery is used when you know how to search
for a value using a SELECT statement, but not the exact value
Exercises:
SELECT COUNT(DISTINCT emp_no)
FROM employees.employees;
SELECT * from (
SELECT emp_no, COUNT(*) AS number_of_salaries
FROM employees.salaries
WHERE from_date BETWEEN '1996-01-01' AND '1997-01-01'
GROUP BY emp_no) a
WHERE number_of_salaries > 1
SELECT title, COUNT(DISTINCT a.emp_no)
FROM employees.titles a
JOIN employees.employees b
ON a.emp_no = b.emp_no
GROUP BY title
Exercises:
What did we do so far?
Now that you see how powerful SQL is, let's make some tables of our own. What if we have tons of data we want to query?
You have the ability to create tables, but also to delete them by accident, to create duplicate data, or to confuse people with data.
You have great power. Use it wisely :)
CREATE DATABASE annye
Name it with your first name or something easy you can remember. You'll have to keep typing it, so under 10 characters is optimal.
By going to STRUCTURE
Run in the same place you did your select statements:
CREATE TABLE employees (
emp_no INT NOT NULL,
first_name VARCHAR(14) NOT NULL,
last_name VARCHAR(16) NOT NULL,
gender ENUM ('M','F') NOT NULL,
hire_date DATE NOT NULL,
PRIMARY KEY (emp_no);
Which field is the primary key?
Which fields are numbers?
What's an enum*?
What's meant by "NOT NULL"?
SELECT * FROM annye.moviesample;
SELECT first_name FROM annye.moviesample;
SELECT COUNT(*) FROM annye.moviesample;
What do we get?
Nothing! because our table has no data...yet
Now that we have the table set up, we can insert the values. Let's load a row of data.
INSERT INTO
yourname.tablename (first_name, favorite_movie, times_watched) -- column names
VALUES ('Jasmine', 'Aladdin', '456'); -- column values
INSERT INTO annye.moviesample(first_name, favorite_movie, times_watched)
VALUES ('Alice','Alice in Wonderland', 5);
INSERT INTO annye.moviesample
(first_name, favorite_movie,times_watched)
VALUES ('Annye', 'Return of the King', '20');
INSERT INTO annye.moviesample
(first_name, favorite_movie,times_watched)
VALUES ('Jasmine', 'Aladdin','456');
What kind of issues do you see arising from wrong data entry?
Let's answer some exercises with SQL:
What's the most popular movie?SELECT favorite_movie,
COUNT(DISTINCT first_name)
FROM yourname.moviesample
GROUP BY favorite_movie
ORDER BY COUNT(DISTINCT first_name) DESC;
We want to see which decade was most popular among GDI members. This one will have the data for the movie name and the year it was made.
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
SELECT * FROM annye.moviesample a
JOIN annye.movie_year b
ON b.movie_title = a.favorite_movie
What kind of issues do you see arising from wrong data entry?
This is the part where you have to be really careful. Most users won't have access to delete tables.
Easy way in UI: The delete button. Be careful!
SQL can be much more accurate:
DELETE FROM annye.moviesample WHERE first_name = 'Shrek';
DELETE FROM moviesample
WHERE first_name like '%S';
DELETE FROM moviesample
WHERE times_watched >= '500';
SELECT
is to look at data
CREATE
is to create a table
DELETE
is to erase data or a table
UPDATE
is to change specific data entries
UPDATE annye.moviesample
SET first_name = 'Chihiro', times_watched = 3
WHERE movie = 'Spirited Away';
Try it now
SELECT
is to look at data
CREATE
is to create a table
DELETE
is to erase data or a table
ALTER
is to fundamentally change a table:
ALTER TABLE icecream DROP COLUMN flavor;
ALTER TABLE icecream ADD UNIQUE (quantity);
ALTER TABLE icecream MODIFY flavor VARCHAR(35);
Try it now:
ALTER TABLE annye.moviesample ADD COLUMN release_yr
VARCHAR(4) AFTER times_watched;
Here's what we've learned:
Practice, practice, practice! Upload your Excel spreadsheets.
Annye Driscoll | annye.driscoll@gmail.com


--- layout: post title: Namespace Bootstrap Classes ---
I have recently completed some work where I needed to namespace the Bootstrap classes to prevent interference with an existing skin on a site. The process for compiling LESS and SASS classes is essentially the same:
.twb {
@import
"bootstrap files";
}
After some trial and error, I found it is advantageous to leave certain files out of the namespaced import. Several files, like the javascript components place their markup directly in the "body" tag, so unless you are applying your custom class to the page body, your styles will not be applied.
Here is the combination that worked for me in a DNN module:
@import
// Some compass goodness
"compass",
"bootstrap/normalize",
// Variables - override any bootstrap variables in here
"variables",
// Core variables and mixins
"bootstrap-compass",
"bootstrap/variables",
"bootstrap/mixins",
// Components w/ JavaScript
"bootstrap/modals",
"bootstrap/tooltip",
"bootstrap/popovers",
"bootstrap/carousel",
"bootstrap/close";
.twb {
@import
// Place mixins. Override Bootstrap mixins you may wish
"mixins",
"sass_helpers/mixins",
// Reset and dependencies
"bootstrap/print",
"bootstrap/glyphicons",
// Core CSS
"bootstrap/scaffolding",
"bootstrap/type",
"bootstrap/code",
"bootstrap/grid",
"bootstrap/tables",
"bootstrap/forms",
"bootstrap/buttons",
// Components
"bootstrap/component-animations",
"bootstrap/dropdowns",
"bootstrap/button-groups",
"bootstrap/input-groups",
"bootstrap/navs",
"bootstrap/navbar",
"bootstrap/breadcrumbs",
"bootstrap/pagination",
"bootstrap/pager",
"bootstrap/labels",
"bootstrap/badges",
"bootstrap/jumbotron",
"bootstrap/thumbnails",
"bootstrap/alerts",
"bootstrap/progress-bars",
"bootstrap/media",
"bootstrap/list-group",
"bootstrap/panels",
"bootstrap/responsive-embed",
"bootstrap/wells",
// Utility classes
"bootstrap/utilities",
"bootstrap/responsive-utilities";
}


There's two ways to change your oil: the Quick Cheat and the Full-Scale Comprehensive
Exam.
The quick cheat will take you maybe 5 minutes but is as it says: a quick fix.
The comprehensive exam will take you closer to 1-2 hours depending on your car, but
is necessary at least once a year to keep your car from breaking from oil clogs.
Before we get into how to change your oil, let's talk about why you have to. Fresh motor
oil, when you put it into the car, should be a golden color and have a pretty smooth flow.
As it circulates through the engine of the car, it picks up dust and dirt, turning it black.
Since you don't want these contaminants getting into the engine, you need the change the oil
out from time to time. Another reason to change your oil is because it quite literally burns away.
The temperatures in the engine (where it operates) are incredibly high, and while oil can handle
most temperatures, it also has a limit. So as time goes on, the oil burns away, leaving less and less
oil to circulate the engine, which can cause problems including the engine seizing and mechanisms
refusing to operate.
But how am I supposed to know WHEN to change my oil??
That brings us to our first topic: checking your oil level. As a rule, you should usually check
your oil once a month, and depending on the level, you'll know if you need to change your oil or
not. Also, make sure your car is as cold as possible (cold meaning here undriven). To ensure this,
the best time to check your oil is in the morning, before you drive it for the day. If you can't
change it in the morning (earliness, laziness, etc.), if you wait about 1 hour, the oil should
reach about the temperature of an undriven car.
Checking Your Oil
Things to Gather Beforehand
- A paper towel
- Your eyes
- This guide
STEP ONE: Open the Hood
To check your oil, you going to need to open the hood. This step you're going to have to figure out yourself, as each car is different
in terms of how the hood opens, what lever to pull to release it, if it has an extra lock on the
hood, etc. But the very first step is to open your hood.
STEP TWO: Locate the Dipstick
The dipstick is a long strip of metal that is inserted into the oil resevoir, and is used to check the oil level. It usually has an orange
or yellow top, and is about as long as your arm.
A generic dipstick
When you open the hood, the only part of the dipstick that should be showing is the orange/yellow top. It should be located in or
around the engine.
Three positions your dipstick could be in (dipstick circled in red).
STEP THREE: Remove the Dipstick
To remove the dipstick, pull straight up until the full dipstick is removed. To get an accurate reading, we'll remove the dipstick
once, put it back in, then remove it again. In order to gain stability and reduce the random flinging of oil, take the paper towel
and wrap it around the dipstick after it's been pulled up about 3 inches. We're doing this to clean the stick and provide ourselves
stability when removing it. The first time we remove the stick, keep the paper towel on the entire time you remove it, cleaning it from
top to bottom. After you've cleaned the whole stick, put it back in the car, then remove it again. This time, instead of cleaning the whole
stick, stop the paper towel about 3 inches above the bottom.
STEP FOUR: Read the Dipstick
At the bottom of your dipstick, there will be some sort of measurement, either with three levels or two levels.
End of a generic dipstick
The top line will indicate that the oil is full. If the oil is a yellow color and is between the full line and half-way down, your oil
should be fine, and you wouldn't really need to change your oil. If the oil is less than half-way down, no matter the color, you will need
to change your oil. Make sure your oil doesn't go below the bottom line, which indicates the oil is low and needs to be changed immediatly
if you want to avoid engine damage.

That's pretty much it for checking your oil. If you want a visual about this, the last half of a video I referenced for the Comprehensive
Exam way goes over it here.
Well, that's fine and dandy, but how do I change my oil?
Again, there are two ways to change your oil. The first is the Quick Cheat, and the second is the Comprehensive Exam.
The Quick Cheat
This way is quick and easy, but again, is only a band-aid, and cannot fully replace a comprehensive oil change
Things to Gather Beforehand
- Paper Towel
- Motor Oil
- Oil Funnel
STEP ONE: Choosing the Right Motor Oil
This is something you'll have to do for yourself again, as it is highly dependent on what car you drive. A few company-specific websites to help you
figure it out are Mobil's product selector,
Pennzoil's product selector,
and Castrol's product selector.
If you don't want to use any of these websites, I would go bback to your dealer or mechanic and ask what type of oil you should use.
STEP TWO: Remove the Oil Cap
Locate where you need to pour the oil into and remove the cap. Place the funnel into the hole.
STEP THREE: Pour the Oil
Like I said, this is a quick fix, so all we're essentially doing is topping off the oil. As you're not starting with 0 oil, you'll have to be a little
more careful with pouring the right amount of oil. It's better to do this slowly, pouring a little at a time, then checking the oil level to see how much more
you need. But once you hit the Max/Full line on the dipstick, you're done!
The Comprehensive Exam
This way is longer and harder, but definitely needs to be done at least once a year. It's recommended to be done every 3000 miles, but if you're reading
this, you probably don't know what your mileage is, or at least when your oil was changed last, so let's stick with once a year.
Things to Gather Beforehand
- Paper Towels (many)
- Actual Towel
- One Glove
- Drain Pan
- Oil Filter Wrench (optional)
- Oil Filter
- Crush Washer
- Oil Funnel
- Motor Oil
- Ratchet Wrench + Socket
- Torque Wrench (optional)
- Car Jack
STEP ONE: Raise Your Glass Car
Unfortunately, we're not P!nk, so we're raising our car with a jack, not our Jack in a car.
On a serious note, please don't drink and fix. This is heavy equipment and especially for
the Comprehensive Exam, you will be under your car, and missing a step or not being fully there for this can be incredibly dangerous.
Your car will probably
have a jack that comes with it, and I would suggest using that jack, as there will be a pre-marked area on your car where you should be putting that jack.
You should follow the instructions
on the jack, but keep these things in mind: Place your jack on as flat of ground that you can and Check your car's stability before you get under it.
STEP TWO: Drain Old Oil
To drain the old oil, we'll need the Actual Towel, the Drain Pan, and the Ratchet Wrench + Socket. Once you have those in reach, shimmy under the car until you find the bolt
holding the oil in. It can look like the following:
You're going to want to put on the glove and tie the Actual Towel around the hand that will be unscrewing the oil plug now, and place the pan underneath and a little back from the oil plug so that it will catch
the old oil. Then, take the Ratchet Wrench + Socket and fit the socket over the bolt, turning left to loosen it until it can be untightened by hand. Then, untighten it by hand using
the hand with a glove and the towel, trying to keep a grip on the bolt and making the least amount of mess possible. Leave the drain pan under the stream until the tank is empty
(~20 minutes). Complete Step 3 while you wait.
STEP THREE: Replace Washer and Check Bolt Plug
After removing the bolt plug, replace the washer with the Crush washer and inspect the bolt plug to make sure nothing is broken or cracked. Often times, the screw
threads can become stripped. In this case, you will have to replace the plug as well.
STEP FOUR: Put the Plug Back
For this step, you will need the bolt + replaced washer and the Torque wrench if need be.  Once
there is no more oil dripping from the tank, reach up and hand tighten the bolt + washer until it's as tight as you can make it. At this point, take the torque wrench
and tighten it even further. This plug N E E D S to be as tight as possible so no oil leaks when the car is running.
STEP FIVE: Replace Oil Filter
To replace the oil filter, you will need the oil filter wrench, the oil filter, and the crush washer. First, put the drain pan underneath the oil filter. Then, grab the oil filter wrench and firmly grasp the oil filter, turning left
until it can be loosened by hand. Once you start loosening it by hand, be fast, as it will leak oil until you fully remove it. Now, take the new oil filter and get it ready
to put back into the car. To do so, swipe your finger in the old oil and run it around the top to lubricate the rubber seal. This will help it seal better and condition the
rubber. Then, hand-tighten it back into place.
STEP SIX: Lower Your Car
Carefully lower the jack, lowering your car to the ground.
STEP SEVEN: Refill the Oil Tank
To do this, simply follow Steps 1-3 for the Quick Cheat
And that's it! You've changed your oil, all by yourself! Congrats! If words aren't for you and you like visuals better, here is an
excellent video that says mostly the same stuff as this, but with visuals. Good luck and happy oiling!


Last updated: 2019-07-30
Checks: 7 0
Knit directory: scRNA-seq-workshop-Fall-2019/
This reproducible R Markdown analysis was created with workflowr (version 1.4.0). The Checks tab describes the reproducibility checks that were applied when the results were created. The Past versions tab lists the development history.
Great! Since the R Markdown file has been committed to the Git repository, you know the exact version of the code that produced these results.
Great job! The global environment was empty. Objects defined in the global environment can affect the analysis in your R Markdown file in unknown ways. For reproduciblity it’s best to always run the code in an empty environment.
The command set.seed(20190718)
was run prior to running the code in the R Markdown file. Setting a seed ensures that any results that rely on randomness, e.g. subsampling or permutations, are reproducible.
Great job! Recording the operating system, R version, and package versions is critical for reproducibility.
Nice! There were no cached chunks for this analysis, so you can be confident that you successfully produced the results during this run.
Great job! Using relative paths to the files within your workflowr project makes it easier to run your code on other machines.
Great! You are using Git for version control. Tracking code development and connecting the code version to the results is critical for reproducibility. The version displayed above was the version of the Git repository at the time these results were generated.
Note that you need to be careful to ensure that all relevant files for the analysis have been committed to Git prior to generating the results (you can use wflow_publish
or wflow_git_commit
). workflowr only checks the R Markdown file, but you know if there are other scripts or data files that it depends on. Below is the status of the Git repository when the results were generated:
Ignored files:
Ignored: .DS_Store
Ignored: .Rhistory
Ignored: .Rproj.user/
Untracked files:
Untracked: data/pbmc10k/
Untracked: data/pbmc5k/
Note that any generated files, e.g. HTML, png, CSS, etc., are not included in this status report because it is ok for generated content to have uncommitted changes.
These are the previous versions of the R Markdown and HTML files. If you’ve configured a remote Git repository (see ?wflow_git_remote
), click on the hyperlinks in the table below to view them.
| File | Version | Author | Date | Message |
|---|---|---|---|---|
| html | ac73193 | Ming Tang | 2019-07-30 | Build site. |
| html | 2388094 | Ming Tang | 2019-07-30 | Build site. |
| html | 89422b2 | Ming Tang | 2019-07-25 | Build site. |
| Rmd | bb12433 | Ming Tang | 2019-07-25 | wflow_publish(c(“analysis/index.Rmd”, “analysis/scRNAseq_workshop_1.Rmd”, |
| html | 8f4aa25 | Ming Tang | 2019-07-23 | Build site. |
| html | 4737524 | Ming Tang | 2019-07-23 | Build site. |
| html | d80baba | Ming Tang | 2019-07-23 | Build site. |
| html | 7bf52d9 | Ming Tang | 2019-07-23 | Build site. |
| Rmd | 2095d3e | Ming Tang | 2019-07-23 | Publish the initial files for myproject |
We have gone through a basic Seurat workflow in the last section using 5k PBMC as an example. We have identified some marker genes for each cluster, and how do we assign each cluster a cell type? Usually, cell type assignment requires a lot of expert opinions based on the known biology of the cells being studied. Large single-cell consortiums such as The Human Cell Atalas (HCA) has produced a lot of data sets with a lot of cells for each tissue/organ and has annotated each cell type. A practical problem is that we have our own single-cell experiemnt done and want to know what are the cell types in our own data set when comparing to a reference data set e.g. in HCA?
Seurat V3 provide convinient functions to do that. For more details, read the paper: Comprehensive Integration of Single-Cell Data and tutorial
Their method aims to first identify ‘anchors’ between pairs of datasets. These represent pairwise correspondences between individual cells (one in each dataset), that we hypothesize originate from the same biological state. These ‘anchors’ are then used to harmonize the datasets, or transfer information from one dataset to another.
For this example, we have a 10k PBMC data set (reference data set) which was annotated by the Seurat developing group. Let’s annotate our 5k PMBC data with the reference.
Transfer of cell type labels from a reference dataset onto a new query dataset
go to the Terminal
tab in your Rstudio:
cd data
mkdir pbmc10k
cd pbmc10k
curl -Lo pbmc_10k_v3.rds https://www.dropbox.com/s/3f3p5nxrn5b3y4y/pbmc_10k_v3.rds?dl=1
# the size of the data
ls -sh
library(Seurat)
Warning: package 'Seurat' was built under R version 3.5.2
library(tidyverse)
── Attaching packages ────────────────────────────────────────────────────────────── tidyverse 1.2.1 ──
✔ ggplot2 3.1.0 ✔ purrr 0.2.5
✔ tibble 2.0.1 ✔ dplyr <IP_ADDRESS>
✔ tidyr 0.8.2 ✔ stringr 1.3.1
✔ readr 1.3.1 ✔ forcats 0.3.0
Warning: package 'tibble' was built under R version 3.5.2
Warning: package 'dplyr' was built under R version 3.5.2
── Conflicts ───────────────────────────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag() masks stats::lag()
# this returns a seurat object
pbmc.10k<- readRDS("data/pbmc10k/pbmc_10k_v3.rds")
pbmc.10k
An object of class Seurat
19089 features across 9432 samples within 1 assay
Active assay: RNA (19089 features)
3 dimensional reductions calculated: pca, tsne, umap
<EMAIL_ADDRESS>%>% head()
orig.ident nCount_RNA nFeature_RNA observed
rna_AAACCCAAGCGCCCAT-1 10x_RNA 2204 1087 0.035812672
rna_AAACCCACAGAGTTGG-1 10x_RNA 5884 1836 0.019227034
rna_AAACCCACAGGTATGG-1 10x_RNA 5530 2216 0.005447865
rna_AAACCCACATAGTCAC-1 10x_RNA 5106 1615 0.014276003
rna_AAACCCACATCCAATG-1 10x_RNA 4572 1800 0.053857351
rna_AAACCCAGTGGCTACC-1 10x_RNA 6702 1965 0.056603774
simulated percent.mito RNA_snn_res.0.4
rna_AAACCCAAGCGCCCAT-1 0.4382022 0.02359347 1
rna_AAACCCACAGAGTTGG-1 0.1017964 0.10757988 0
rna_AAACCCACAGGTATGG-1 0.1392801 0.07848101 5
rna_AAACCCACATAGTCAC-1 0.4949495 0.10830396 3
rna_AAACCCACATCCAATG-1 0.1392801 0.08989501 5
rna_AAACCCAGTGGCTACC-1 0.3554328 0.06326470 1
celltype
rna_AAACCCAAGCGCCCAT-1 CD4 Memory
rna_AAACCCACAGAGTTGG-1 CD14+ Monocytes
rna_AAACCCACAGGTATGG-1 NK dim
rna_AAACCCACATAGTCAC-1 pre-B cell
rna_AAACCCACATCCAATG-1 NK bright
rna_AAACCCAGTGGCTACC-1 CD4 Memory
## how many cells for each cell type? 14 cell types
<EMAIL_ADDRESS>B cell progenitor CD14+ Monocytes CD16+ Monocytes
460 2992 328
CD4 Memory CD4 Naive CD8 effector
1596 1047 383
CD8 Naive Dendritic cell Double negative T cell
337 74 592
Megakaryocytes NK bright NK dim
52 109 435
pDC pre-B cell
68 959
# 10k cells
length(colnames(pbmc.10k))
[1] 9432
p1<- DimPlot(pbmc.10k, group.by = "celltype", label = TRUE, repel = TRUE) + NoLegend() + ggtitle("10k pbmc")
pbmc<- readRDS("data/pbmc5k/pbmc_5k_v3.rds")
p2<- DimPlot(pbmc, group.by = "seurat_clusters", label = TRUE, repel = TRUE) + NoLegend() + ggtitle("5k pbmc")
CombinePlots(plots = list(p1, p2))
| Version | Author | Date |
|---|---|---|
| 7bf52d9 | Ming Tang | 2019-07-23 |
Now, we can identify anchors between the two dataset and use these anchors to transfer the celltype labels we learned from the 10K scRNA-seq data to the 5k pmbc cells.
transfer.anchors <- FindTransferAnchors(reference = pbmc.10k, query = pbmc, features = VariableFeatures(object = pbmc.10k),
reference.assay = "RNA", query.assay = "RNA", reduction = "pcaproject")
Performing PCA on the provided reference using 3000 features as input.
Projecting PCA
Finding neighborhoods
Finding anchors
Found 7790 anchors
Filtering anchors
Retained 5062 anchors
Extracting within-dataset neighbors
Note if transferring scRNAseq label to scATACseq data, set reduction = “cca” is recommended
To transfer the cluster ids, we provide a vector of previously annotated cell type labels for the RNA to the refdata parameter. The output will contain a matrix with predictions and confidence scores for each 5k pbmc cell.
celltype.predictions <- TransferData(anchorset = transfer.anchors, refdata = pbmc.10k$celltype,
dims = 1:30)
Finding integration vectors
Finding integration vector weights
Predicting cell labels
head(celltype.predictions)
predicted.id prediction.score.CD4.Memory
AAACCCAAGCGTATGG CD14+ Monocytes 0.0000000
AAACCCAGTCCTACAA CD14+ Monocytes 0.0000000
AAACGCTAGGGCATGT B cell progenitor 0.0000000
AAACGCTGTAGGTACG CD4 Naive 0.1296114
AAACGCTGTGTCCGGT CD14+ Monocytes 0.0000000
AAACGCTGTGTGATGG NK dim 0.0000000
prediction.score.CD14..Monocytes prediction.score.NK.dim
AAACCCAAGCGTATGG 1 0
AAACCCAGTCCTACAA 1 0
AAACGCTAGGGCATGT 0 0
AAACGCTGTAGGTACG 0 0
AAACGCTGTGTCCGGT 1 0
AAACGCTGTGTGATGG 0 1
prediction.score.pre.B.cell prediction.score.NK.bright
AAACCCAAGCGTATGG 0 0
AAACCCAGTCCTACAA 0 0
AAACGCTAGGGCATGT 0 0
AAACGCTGTAGGTACG 0 0
AAACGCTGTGTCCGGT 0 0
AAACGCTGTGTGATGG 0 0
prediction.score.CD4.Naive prediction.score.CD8.Naive
AAACCCAAGCGTATGG 0.0000000 0.0000000
AAACCCAGTCCTACAA 0.0000000 0.0000000
AAACGCTAGGGCATGT 0.0000000 0.0000000
AAACGCTGTAGGTACG 0.7578112 0.1125774
AAACGCTGTGTCCGGT 0.0000000 0.0000000
AAACGCTGTGTGATGG 0.0000000 0.0000000
prediction.score.pDC
AAACCCAAGCGTATGG 0
AAACCCAGTCCTACAA 0
AAACGCTAGGGCATGT 0
AAACGCTGTAGGTACG 0
AAACGCTGTGTCCGGT 0
AAACGCTGTGTGATGG 0
prediction.score.Double.negative.T.cell
AAACCCAAGCGTATGG 0
AAACCCAGTCCTACAA 0
AAACGCTAGGGCATGT 0
AAACGCTGTAGGTACG 0
AAACGCTGTGTCCGGT 0
AAACGCTGTGTGATGG 0
prediction.score.CD16..Monocytes
AAACCCAAGCGTATGG 0
AAACCCAGTCCTACAA 0
AAACGCTAGGGCATGT 0
AAACGCTGTAGGTACG 0
AAACGCTGTGTCCGGT 0
AAACGCTGTGTGATGG 0
prediction.score.Megakaryocytes
AAACCCAAGCGTATGG 0
AAACCCAGTCCTACAA 0
AAACGCTAGGGCATGT 0
AAACGCTGTAGGTACG 0
AAACGCTGTGTCCGGT 0
AAACGCTGTGTGATGG 0
prediction.score.CD8.effector
AAACCCAAGCGTATGG 0
AAACCCAGTCCTACAA 0
AAACGCTAGGGCATGT 0
AAACGCTGTAGGTACG 0
AAACGCTGTGTCCGGT 0
AAACGCTGTGTGATGG 0
prediction.score.B.cell.progenitor
AAACCCAAGCGTATGG 0
AAACCCAGTCCTACAA 0
AAACGCTAGGGCATGT 1
AAACGCTGTAGGTACG 0
AAACGCTGTGTCCGGT 0
AAACGCTGTGTGATGG 0
prediction.score.Dendritic.cell prediction.score.max
AAACCCAAGCGTATGG 0 1.0000000
AAACCCAGTCCTACAA 0 1.0000000
AAACGCTAGGGCATGT 0 1.0000000
AAACGCTGTAGGTACG 0 0.7578112
AAACGCTGTGTCCGGT 0 1.0000000
AAACGCTGTGTGATGG 0 1.0000000
pbmc<- AddMetaData(pbmc, metadata = celltype.predictions)
<EMAIL_ADDRESS>%>% head()
orig.ident nCount_RNA nFeature_RNA percent.mt
AAACCCAAGCGTATGG pbmc5k 13536 3502 10.675236
AAACCCAGTCCTACAA pbmc5k 12667 3380 5.620905
AAACGCTAGGGCATGT pbmc5k 5788 1799 10.608155
AAACGCTGTAGGTACG pbmc5k 13185 2886 7.819492
AAACGCTGTGTCCGGT pbmc5k 15495 3801 7.460471
AAACGCTGTGTGATGG pbmc5k 6148 2347 9.954457
RNA_snn_res.0.5 seurat_clusters predicted.id
AAACCCAAGCGTATGG 1 1 CD14+ Monocytes
AAACCCAGTCCTACAA 1 1 CD14+ Monocytes
AAACGCTAGGGCATGT 5 5 B cell progenitor
AAACGCTGTAGGTACG 0 0 CD4 Naive
AAACGCTGTGTCCGGT 1 1 CD14+ Monocytes
AAACGCTGTGTGATGG 4 4 NK dim
prediction.score.CD4.Memory
AAACCCAAGCGTATGG 0.0000000
AAACCCAGTCCTACAA 0.0000000
AAACGCTAGGGCATGT 0.0000000
AAACGCTGTAGGTACG 0.1296114
AAACGCTGTGTCCGGT 0.0000000
AAACGCTGTGTGATGG 0.0000000
prediction.score.CD14..Monocytes prediction.score.NK.dim
AAACCCAAGCGTATGG 1 0
AAACCCAGTCCTACAA 1 0
AAACGCTAGGGCATGT 0 0
AAACGCTGTAGGTACG 0 0
AAACGCTGTGTCCGGT 1 0
AAACGCTGTGTGATGG 0 1
prediction.score.pre.B.cell prediction.score.NK.bright
AAACCCAAGCGTATGG 0 0
AAACCCAGTCCTACAA 0 0
AAACGCTAGGGCATGT 0 0
AAACGCTGTAGGTACG 0 0
AAACGCTGTGTCCGGT 0 0
AAACGCTGTGTGATGG 0 0
prediction.score.CD4.Naive prediction.score.CD8.Naive
AAACCCAAGCGTATGG 0.0000000 0.0000000
AAACCCAGTCCTACAA 0.0000000 0.0000000
AAACGCTAGGGCATGT 0.0000000 0.0000000
AAACGCTGTAGGTACG 0.7578112 0.1125774
AAACGCTGTGTCCGGT 0.0000000 0.0000000
AAACGCTGTGTGATGG 0.0000000 0.0000000
prediction.score.pDC
AAACCCAAGCGTATGG 0
AAACCCAGTCCTACAA 0
AAACGCTAGGGCATGT 0
AAACGCTGTAGGTACG 0
AAACGCTGTGTCCGGT 0
AAACGCTGTGTGATGG 0
prediction.score.Double.negative.T.cell
AAACCCAAGCGTATGG 0
AAACCCAGTCCTACAA 0
AAACGCTAGGGCATGT 0
AAACGCTGTAGGTACG 0
AAACGCTGTGTCCGGT 0
AAACGCTGTGTGATGG 0
prediction.score.CD16..Monocytes
AAACCCAAGCGTATGG 0
AAACCCAGTCCTACAA 0
AAACGCTAGGGCATGT 0
AAACGCTGTAGGTACG 0
AAACGCTGTGTCCGGT 0
AAACGCTGTGTGATGG 0
prediction.score.Megakaryocytes
AAACCCAAGCGTATGG 0
AAACCCAGTCCTACAA 0
AAACGCTAGGGCATGT 0
AAACGCTGTAGGTACG 0
AAACGCTGTGTCCGGT 0
AAACGCTGTGTGATGG 0
prediction.score.CD8.effector
AAACCCAAGCGTATGG 0
AAACCCAGTCCTACAA 0
AAACGCTAGGGCATGT 0
AAACGCTGTAGGTACG 0
AAACGCTGTGTCCGGT 0
AAACGCTGTGTGATGG 0
prediction.score.B.cell.progenitor
AAACCCAAGCGTATGG 0
AAACCCAGTCCTACAA 0
AAACGCTAGGGCATGT 1
AAACGCTGTAGGTACG 0
AAACGCTGTGTCCGGT 0
AAACGCTGTGTGATGG 0
prediction.score.Dendritic.cell prediction.score.max
AAACCCAAGCGTATGG 0 1.0000000
AAACCCAGTCCTACAA 0 1.0000000
AAACGCTAGGGCATGT 0 1.0000000
AAACGCTGTAGGTACG 0 0.7578112
AAACGCTGTGTCCGGT 0 1.0000000
AAACGCTGTGTGATGG 0 1.0000000
DimPlot(pbmc, group.by = "predicted.id", label = TRUE, repel = TRUE) + NoLegend() + ggtitle("5k pbmc")
| Version | Author | Date |
|---|---|---|
| 7bf52d9 | Ming Tang | 2019-07-23 |
<EMAIL_ADDRESS>%>%
tibble::enframe() %>%
ggplot(aes(x=value)) +
geom_histogram(color = "white", bins = 50) +
geom_vline(xintercept = 0.9, linetype = 2, color = "red") +
theme_classic(base_size = 14) +
ggtitle("distribution of max prediciton score")
| Version | Author | Date |
|---|---|---|
| 89422b2 | Ming Tang | 2019-07-25 |
Most of the cells receive a high prediction score (> 0.9).
There are times we want to merge multiple data sets to produce a master reference data. To do this, we can identify anchors using the FindIntegrationAnchors
function, which takes a list of Seurat objects as input. Here, We can combine the 5k and 10k data set into a 15k data set.
Use IntegrateData
when the data sets may have batch effect. (e.g. sequenced in different platforms, on different days).
Let’s first check if those two data sets have batch effect or not.
pbmc.merge<- merge(pbmc, pbmc.10k)
<EMAIL_ADDRESS>10x_RNA pbmc5k
9432 4595
Investigate in a PCA plot
## using default for all steps
pbmc.merge<- pbmc.merge %>%
FindVariableFeatures() %>%
NormalizeData() %>%
ScaleData() %>%
RunPCA(verbose = FALSE)
Centering and scaling data matrix
DimPlot(pbmc.merge, group.by = "orig.ident")
| Version | Author | Date |
|---|---|---|
| 89422b2 | Ming Tang | 2019-07-25 |
The points are overlapping each other and make it difficult to read. use split.by
argument
p1<- DimPlot(pbmc.merge, group.by = "orig.ident", split.by = "orig.ident")
p1
| Version | Author | Date |
|---|---|---|
| 89422b2 | Ming Tang | 2019-07-25 |
We see the cells in these two data sets mixed well in the PCA space and no batch effect was observed.
If we do see the cells are seprated by batch. we can do
pbmc.anchors <- FindIntegrationAnchors(object.list = list(pbmc.10k, pbmc), dims = 1:30)
Computing 2000 integration features
Scaling features for provided objects
Finding all pairwise anchors
Running CCA
Merging objects
Finding neighborhoods
Finding anchors
Found 13975 anchors
Filtering anchors
Retained 8586 anchors
Extracting within-dataset neighbors
pbmc.integrated <- IntegrateData(anchorset = pbmc.anchors, dims = 1:30)
Merging dataset 2 into 1
Extracting anchors for merged samples
Finding integration vectors
Finding integration vector weights
Integrating data
DefaultAssay(pbmc.integrated) <- "integrated"
# Run the standard workflow for visualization and clustering
pbmc.integrated <- pbmc.integrated %>%
ScaleData() %>%
RunPCA(verbose = FALSE) %>%
RunUMAP(reduction = "pca", dims = 1:30)
Centering and scaling data matrix
DimPlot(pbmc.integrated, reduction = "umap", group.by = "orig.ident", split.by = "orig.ident")
| Version | Author | Date |
|---|---|---|
| 89422b2 | Ming Tang | 2019-07-25 |
Let’s compare the PCA with the merged but not “integrated” data
p2<- DimPlot(pbmc.integrated, reduction = "pca", group.by = "orig.ident", split.by = "orig.ident")
CombinePlots(plots = list(p1,p2), ncol = 1)
| Version | Author | Date |
|---|---|---|
| 89422b2 | Ming Tang | 2019-07-25 |
You may observe the subtle differences :)
sessionInfo()
R version 3.5.1 (2018-07-02)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS High Sierra 10.13.6
Matrix products: default
BLAS: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRblas.0.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] forcats_0.3.0 stringr_1.3.1 dplyr_<IP_ADDRESS> purrr_0.2.5
[5] readr_1.3.1 tidyr_0.8.2 tibble_2.0.1 ggplot2_3.1.0
[9] tidyverse_1.2.1 Seurat_3.0.2
loaded via a namespace (and not attached):
[1] tsne_0.1-3 nlme_3.1-137 bitops_1.0-6
[4] fs_1.2.6 lubridate_1.7.4 RColorBrewer_1.1-2
[7] httr_1.4.0 rprojroot_1.3-2 sctransform_0.2.0
[10] tools_3.5.1 backports_1.1.3 R6_2.3.0
[13] irlba_2.3.2 KernSmooth_2.23-15 lazyeval_0.2.1
[16] colorspace_1.4-1 withr_2.1.2 npsurv_0.4-0
[19] gridExtra_2.3 tidyselect_0.2.5 compiler_3.5.1
[22] git2r_0.23.0 cli_1.0.1 rvest_0.3.2
[25] xml2_1.2.0 plotly_4.8.0 labeling_0.3
[28] caTools_<IP_ADDRESS> scales_1.0.0 lmtest_0.9-36
[31] ggridges_0.5.1 pbapply_1.3-4 digest_0.6.18
[34] rmarkdown_1.11 R.utils_2.7.0 pkgconfig_2.0.2
[37] htmltools_0.3.6 bibtex_0.4.2 readxl_1.2.0
[40] htmlwidgets_1.3 rlang_0.3.1 rstudioapi_0.8
[43] generics_0.0.2 zoo_1.8-4 jsonlite_1.6
[46] ica_1.0-2 gtools_3.8.1 R.oo_1.22.0
[49] magrittr_1.5 Matrix_1.2-15 Rcpp_1.0.0
[52] munsell_0.5.0 ape_5.2 reticulate_1.10
[55] R.methodsS3_1.7.1 stringi_1.2.4 whisker_0.3-2
[58] yaml_2.2.0 gbRd_0.4-11 MASS_7.3-51.1
[61] gplots_3.0.1 Rtsne_0.15 plyr_1.8.4
[64] grid_3.5.1 parallel_3.5.1 gdata_2.18.0
[67] listenv_0.7.0 ggrepel_0.8.0 crayon_1.3.4
[70] lattice_0.20-38 haven_2.0.0 cowplot_0.9.3
[73] splines_3.5.1 hms_0.4.2 SDMTools_1.1-221
[76] knitr_1.21 pillar_1.3.1 igraph_1.2.2
[79] reshape2_1.4.3 future.apply_1.0.1 codetools_0.2-16
[82] glue_1.3.0 evaluate_0.12 lsei_1.2-0
[85] metap_1.0 modelr_0.1.2 data.table_1.11.8
[88] png_0.1-7 Rdpack_0.10-1 cellranger_1.1.0
[91] gtable_0.2.0 RANN_2.6 future_1.10.0
[94] assertthat_0.2.0 xfun_0.4 rsvd_1.0.0
[97] broom_0.5.1 survival_2.43-3 viridisLite_0.3.0
[100] workflowr_1.4.0 cluster_2.0.7-1 globals_0.12.4
[103] fitdistrplus_1.0-11 ROCR_1.0-7


11) Containers, Can you explain spring..
The Spring framework is the leading full-stack Java/J2EE application framework. Unlike other frameworks, Spring
does not impose itself on the design of a project due to its modular nature and,
it has been divided logically into independent packages, which can function independently.
It provides a light weight container and a non-invasive programming model enabled by the use of
dependency injection (aka IoC),
AOP (Aspect Oriented Programming), and
integrations with other framworks using portable service abstractions
(HibernateTemplate, JdbcTemplate, JmsTemplate etc).
Types of dependancy injections: Constructor, Setter, Interface (Not in Spring).
// Calls "new CarBO(carDao)"
// Calls setDao
Constructor vs Setter injection: Constructor permits immutability.
Setter gives more meaningful names like setFirstName, setLastName etc.
IoC: Loose Coupling, lazy loading, Easy to test.
Hibernate: Model inheritance, association and composition class relationships.
Less verbose Transperant/transitive persistence, OOQL
Portable: Across vendors with multi-dilect support.

Properties: hibernate.cfg.xml
Mapping: *.hbm.xml
SessionFactory: Threadsafe datastore for caching mappings.
Session: Non-threadsafe object for persistence.
Transient Persistent Detached
car1 = new Car1() session.save(car1) session.evict() or clear() or close()
Transient vs Detached: Transient has no id key.
createCriteria: Type-safe query-by-criteria.
Legacy apps: Wrapper classes. e.g. null in a boolean field.
HBM file attributes
cascade (parent-child deletion)
inverse: e.g. car-part. Create car before creating parts, to get car-id.
lazy, batch-size, unsaved-value
session.get vs session.load: load throws exception if object does not exists.
POJO: Should have getters / setters.
Should implement equals / hashCode methods without using id, as it is generated only while saving.
Implement Seriazable (for multi-processor cluster)
Should not be final for lazy loading proxy.
Aggregation / Association:
Direction: Uni / Bi
Cardinality: one-to-one, one-to-many, many-to-one and many-to-many
Hibernate managed entity objects can be mapped for both cardinality and direction.
Hibernate Tx: beginTransaction and commit.
Also, @Transactional & AOP.
Hibernate cache: first level (session), second level (session factory).
Second level: CacheProvider: ConcurrentHashMap (testing), EHCache, Infinispan.
Shared Cache Mode: none, all, selective.
Cache Concurrency: read, read-write, nonstrict-read-write, transactional.
Cache Mode: normal (read-write), get (read), put (write), refresh.
Query Cache: Cache query results.
ESB: JMS, HTTP, SOAP, XSL, XPath, DBMS, FTP, Ant.
Spring: JDBC, ORM, OXM, JMS, MVC, AOP
Spring Data, RestTemplate, HibernateTemplate, JdbcTemplate, JmsTemplate
Spring MVC DispatcherServlet
Spring LocalSessionFactoryBean (for hibernate)
Spring-Hibernate using JpaTransactionManager
@Transactional
@PersistenceContext
EntityManager
createQuery
createNamedQuery
persist = create
merge = update
remove = delete object
executeUpdate = any sql
createNativeQuery = procedure
find
getReference
flush
Query
setParameter = Input
getResultList (List) = Output
getSingleResult = Output
Spring JDBC:
DataSource interface (DriverManagerDataSource)
dataSource.getConnection();
DAO pattern can be used.
Spring JDBC Template: Avoids boilerplate code (open/close conn, stmt, resultset.)
JdbcTemplate class methods: update, query, queryFor[Object|List]
Query params are passed as object-array.
e.g. template.query( GET_EOD_XML, new Object[] { eodDate, grandParentId } , eod );
Needs DataSource object in spring config.
c3p0 simplifies pooled datasource.
BlazeDS
The Spring integration with BlazeDS allows you to configure Spring beans as BlazeDS destinations for use as remote objects in Flex.
Spring-BlazeDS using RemotingDestination
@Service
@RemotingDestination
@RemotingInclude
Parseley
[Inject]
[Bindable]
public var smurf:Smurf; //shared object managed by Parsley


Square after milk chocolate square, shiny and oozy from a day's basking in the kitchen, the room with one wall almost all window.
(Breath mint. Grab your purse and leave, even as the horn pip-pips its summons.)


Provides a list of all downstream builds for the provided build. If no build is provided, then current build is used.
Note: If the downstream cache recently has been cleaned, or Jenkins recently has been restarted, then this method might give incomplete results! This behaviour might change in the future, without prior notice.


{{thirdETFCheck ? 'Yes, every ETF has a special focus, for example German big companies (Blue Chip)' : ''}}
{{thirdETFCheck ? 'No, every ETF has a special focus, for example German big companies (Blue Chip)' : ''}}
What is the advantage of an ETF?
{{thirdETFCheck ? 'No, an ETF does not mean that the owner directly invests in companies.' : ''}}
{{thirdETFCheck ? 'Yes, with an ETF you can invest over broad market sector with one investment.' : ''}}
{{thirdETFCheck ? 'No, with an ETF you can invest over broad market sector with one investment.' : ''}}


Configuration file as singleton. Use this to setup different build configurations i.e. for CI.
More...
Configuration file as singleton. Use this to setup different build configurations i.e. for CI.
◆ LoadDefaultConfiguration()
| static void Configuration.LoadDefaultConfiguration |
( |
| ) |
|
|
inlinestaticprivate |
◆ FILENAME_DEFAULT_CONFIG
| const string Configuration.FILENAME_DEFAULT_CONFIG = "DefaultConfiguration" |
|
staticprivate |
◆ m_angleThreshold
| float Configuration.m_angleThreshold = 20f |
|
private |
◆ m_arrowLayer
| LayerMask Configuration.m_arrowLayer |
|
private |
◆ m_defaultConfiguration
◆ m_distanceThreshold
| float Configuration.m_distanceThreshold = 0.05f |
|
private |
◆ m_loadItemList
| GameObject Configuration.m_loadItemList |
|
private |
◆ m_planeLayer
| LayerMask Configuration.m_planeLayer |
|
private |
◆ m_shapeDatas
◆ m_showNormals
| bool Configuration.m_showNormals |
|
private |
◆ m_showTangents
| bool Configuration.m_showTangents |
|
private |
◆ m_streetMaterials
| Material [] Configuration.m_streetMaterials |
|
private |
◆ m_trackLayer
| LayerMask Configuration.m_trackLayer |
|
private |
◆ m_trackParts
| List<GameObject> Configuration.m_trackParts |
|
private |
◆ m_vehicles
| GameObject [] Configuration.m_vehicles |
|
private |
◆ m_waypointStepSize
| int Configuration.m_waypointStepSize = 8 |
|
private |
◆ AngleThreshold
| float Configuration.AngleThreshold |
|
staticget |
◆ DefaultConfig
◆ DistanceThreshold
| float Configuration.DistanceThreshold |
|
staticget |
◆ ShapeDatas
◆ ShowNormals
| bool Configuration.ShowNormals |
|
staticget |
◆ ShowTangents
| bool Configuration.ShowTangents |
|
staticget |
◆ StreetMaterials
| Material [] Configuration.StreetMaterials |
|
staticget |
◆ Vehicles
| GameObject [] Configuration.Vehicles |
|
staticget |
◆ WaypointStepSize
| int Configuration.WaypointStepSize |
|
staticget |
The documentation for this class was generated from the following file:


SUN MON TUE WED THU FRI SAT
Welcome, command please. --SELECT COMMAND-- Time Alarm Set Alarm Alarm Sound Sleep Sound Play Sleep Sound Today's Date Temperature Night Light
Today's fake date is 5/17/15
SUNMONTUEWEDTHUFRISAT
Alarm 1 Alarm 2 Alarm 3
Sound 1 Sound 2 Sound 3


{{item.name}}
{{item.slug}} age {{item.age}} ${{item.price}}We offer services for {{item.age}} years and younger. We are operating at {{item.timezone}} timezone. We are open 8 hours a day, weekdays closed. We are active in {{item.provinceCode}} and we are {{item.distance}} miles far from you.
We offer services for {{item.gender === 'MF' ? 'Both (M/F)' : ((item.gender === 'M' ? 'Male' : 'Female') + ' only')}}.


A Beautiful Mind
A Beautiful Mind is a movie starring Russell Crowe, Ed Harris, and Jennifer Connelly. After John Nash, a brilliant but asocial mathematician, accepts secret work in cryptography, his life takes a turn for the nightmarish.


{% load static %} {% include 'core/includes/fonts.html' %} {% include 'core/includes/css.html' %} {% include 'core/includes/css_style.html' %}
{% include 'core/includes/nav.html' %} {% block content %}{% endblock %} {% include 'core/includes/footer.html' %} {% include 'core/includes/js.html' %} {% include 'core/includes/js_my.html' %}


|
cds
2.3.1
|
User-space general-purpose RCU with deferred (buffered) reclamation. More...
#include <cds/urcu/general_buffered.h>
Public Types | |
| typedef general_buffered_tag | rcu_tag |
| RCU tag. | |
| typedef Buffer | buffer_type |
| Buffer type. | |
| typedef Lock | lock_type |
| Lock type. | |
| typedef Backoff | back_off |
| Back-off type. | |
| typedef base_class::thread_gc | thread_gc |
| Thread-side RCU part. | |
| typedef thread_gc::scoped_lock | scoped_lock |
| Access lock class. | |
Public Member Functions | |
| virtual void | retire_ptr (retired_ptr &p) override |
Retire p pointer. More... | |
| template<typename ForwardIterator > | |
| void | batch_retire (ForwardIterator itFirst, ForwardIterator itLast) |
Retires the pointer chain [itFirst , itLast ) | |
| template<typename Func > | |
| void | batch_retire (Func e) |
Retires the pointer chain until Func returns nullptr retired pointer. | |
| void | synchronize () |
| Wait to finish a grace period and then clear the buffer. | |
| size_t | capacity () const |
| Returns internal buffer capacity. | |
Static Public Member Functions | |
| static general_buffered * | instance () |
| Returns singleton instance. | |
| static bool | isUsed () |
| Checks if the singleton is created and ready to use. | |
| static void | Construct (size_t nBufferCapacity=256) |
| Creates singleton object. More... | |
| static void | Destruct (bool bDetachAll=false) |
| Destroys singleton object. | |
User-space general-purpose RCU with deferred (buffered) reclamation.
This URCU implementation contains an internal buffer where retired objects are accumulated. When the buffer becomes full, the RCU synchronize
function is called that waits until all reader/updater threads end up their read-side critical sections, i.e. until the RCU quiescent state will come. After that the buffer and all retired objects are freed. This synchronization cycle may be called in any thread that calls retire_ptr
function.
The Buffer
contains items of epoch_retired_ptr type and it should support a queue interface with three function:
bool push( retired_ptr& p )
- places the retired pointer p
into queue. If the function returns false
it means that the buffer is full and RCU synchronization cycle must be processed.bool pop( retired_ptr& p )
- pops queue's head item into p
parameter; if the queue is empty this function must return false
size_t size()
- returns queue's item count.The buffer is considered as full if push()
returns false
or the buffer size reaches the RCU threshold.
There is a wrapper gc<general_buffered> for general_buffered
class that provides unified RCU interface. You should use this wrapper class instead general_buffered
Template arguments:
Buffer
- buffer type. Default is cds::container::VyukovMPMCCycleQueue
Lock
- mutex type, default is std::mutex
Backoff
- back-off schema, default is cds::backoff::Default
|
inlinestatic |
Creates singleton object.
The nBufferCapacity
parameter defines RCU threshold.
|
inlineoverridevirtual |
Retire p
pointer.
The method pushes p
pointer to internal buffer. When the buffer becomes full synchronize function is called to wait for the end of grace period and then to free all pointers from the buffer.


Source Volume is required.
Destination Server is required.
Only coma separated numbers between 0, 23 are allowed. Each number should occure only once
Please enter coma separated string of numbers between 0 to 23. Each number should occure only once
Minimum value is 0.
Maximum value is 59.
Please enter valid number.
Please enter valid integer.


- Company: {{customer.company}}
- Email: {{customer.email}}
- Phone: {{customer.phone}}
- Street Address: {{customer.address.street}}
- City: {{customer.address.city}}
- State: {{customer.address.state}}
- Zip: {{customer.address.zip}}
Customer Invoices
| # |
Service |
Price |
Status |
| {{invoice._id}} |
{{invoice._service}} |
{{invoice.price}} |
{{invoice.status}} |
DetailsEdit |


Status
The MindRetrieve engine has been running stably for a while. It hardly
ever crashes (thanks Python). It has been exposed to fairly wide variety
of web sites and good number of HTTP features. Right now my main job is
to tweak the HTML processing and the searching criteria and to build new
features.
Architecture
MindRetrieve is an application implemented in Python with Lucene as the
underlying index and search engine.
Roadmap
0.3 initial release (2004-12)
- A robust personal web search engine
- Windows installer
0.4 release (2005-01)
- MindSearch is now renamed MindRetrieve. Is is now hosted by berlios!
- Unicode repository, CJK support
- Linux release
- Text highlighting
- Proxy chaining
0.5 release (2005 Spring)
- Library feature
- Review and improve search algorithm and ranking
- Improved CJK searching.
0.6 and future releases
- Remote bookmark synchronization
- Search the search
- exclude and purging
- Search javadoc, HTML help
- etc
Credit
The MindRetrieve project is made possible by the contribution of a number
of open source projects. Thank you for your effort and for inspiring
innovations.
- Lucene by the Lucene team
- PyLucene by Andi Vajda, OSAF
- HTMLTemplate by HAS
- 'Tiny HTTP Proxy' by SUZUKI Hisao
- py2exe by Thomas Heller and Mark Hammond
- Innosetup by Jordan Russell
- Python by the Python team
Bug list
Some notable bugs are listed below:
- Only ASCII character set is properly supported. Should use unicode in next release.
- Javascript filtering need to be improved.
- Due to the implementation of PyLucene and the Python GIL, the entire
Python process blocks when it is executing Lucene API. This period is
usually very brief however.
Last updated: 2004-12-28


Lord,
I give you myself, and ask that You would give me the words to speak to my wife, that I would not tear her down, but that we would be able to walk through this issue together. Give me the gentleness of lips, enabling me to express what is going on in my heart, so that I can sense that she knows me, and that You know me. I want to be able to glorify You, Father, and at the end of this conversation to be able to say, “I praise You, Lord, for You have heard my voice.” So, I receive now the tongue of the learned to speak the words that we need to talk about right now.
Amen


Blacksmith Brunon:
Why have you come back? You got the Gem Box. What else do you need from me? Hurry up and give the diamond back to the owner.


Assignment 1
Q)For given scenario:Draw E-R diagram and convert entities and relationships to table.
This assignments are Handwritten downloaded as pdf
Download


Welcome! {{ g.user.name }}
we have few things for you to look at.
{% if running | length %}
Elections in progress
{% for e in running %}
{{ e['organization']}} |
Running from {{ e['start_datetime'] }} to {{ e['end_datetime'] }}.
{% endfor %}
{% endif %}
{% if g.past_elections | length %}
Previously Voted
{% for e in g.past_elections %}
{{ e['organization']}} |
Voting ended on {{ e['end_datetime'] }}.
{% if e['status'] == 'completed' and e['results'] %} | Results {% endif %}
{% endfor %}
{% endif %}
{% if g.past_elections | length == 0 and running | length == 0 %}
Sit back and Relax, there is not to do yet.
{% endif %}
{% endblock %}


|
No Events are found in your state.
0">
Here are some of the events in your state :
No Events are found in other states.
0">
Here are some of the events in other states :
|
|


{% extends "home_base.html" %}
{% load i18n static %}
{% block title %}
Versatum - {% trans 'Support us' %}
{% endblock %}
{% block outdoor %}
{% block page-description %}
{% blocktrans %} We are a non-profit organization with the goal of creating new technologies to solve human problems {% endblocktrans %}
{% endblock page-description %}
{% trans "Support us" %}
The resources and effort only it's not enough to change reality
We work to undestand the humam issues and how to contribute to change it. The role of tecnology it's to hold up this transformation. We belive that engaged people with our colaborative culture, it's the drive to promote this change. {% endblocktrans %}
{% blocktrans %} There are meny ways to help our couse. You can help with tecnology projects{% endblocktrans %} ( {% trans 'click here' %} ){% blocktrans %}, coding, managent issues or colaborating promote our couse. {% endblocktrans %}
{% blocktrans %} {% endblocktrans %} {% endblock %}


Not all elements are instantly clickable, particularly when animations etc. are in use.
Try to click the elements below.


---
layout: post
title: More readable for ActiveRecord statements using Placeholder Conditions
date: '2015-09-08T13:58:00.000-07:00'
author: Mark J. Lehman
tags:
- ruby
- activerecord
modified_time: '2015-09-22T13:58:28.501-07:00'
blogger_id: tag:blogger.com,1999:blog-4459370175540830177.post-7260790083642455433
blogger_orig_url: http://spaghettirefactory.blogspot.com/2015/09/more-readable-for-activerecord.html
---
Here’s another readability hack for Ruby ActiveRecord code. It’s called “Placeholder Conditions.”
This:
where("start_time < :time", time: Time.now)
where("start_time < ?", Time.now)


Big O notation is used to describe how a chunk of code, or algorithm scales with the growth of its inputs. Usually it's talking about how long the code takes to execute, but you can also use it to talk about how the memory usage scales with input. For instance, if you said your function was O(n) that means that it scales linearly with input. For example:
def function1(array)
array.each do |element|
puts element
end
end
Function1 is O(n) because its doing something for every element in the input array. If you double the size of the array, you double how many puts statements the function is doing, so you double the amount of time it takes to execute.
def function2(array)
array.each do |x|
array.each do |y|
puts x + y
end
end
end
Function2 is O(n2) because we have a nested loop. Say we have n elements in the input array, for each element the function is calling puts n times. n elements each doing n things, so overall there are n2 calls to puts.
When you use O notation its assumed that you're dealing with very large inputs, which means you can knock off the lower order terms. For instance, if you had a function that called both function1 and function2 above one after the other it would scale like n+n^2. At very large inputs the n term isn't going to contribute very much to the overall time for our composite function to run when compared to the n^2 term, so we would just say that its O(n^2).
Earlier I said you could use O notation to describe how the memory usage of code scales with input as well as speed.
def function3(array)
my_array = array.dup
end
function3 doesn't really do anything, it just creates a local array variable and makes it a duplicate of the input. my_array takes up O(n) memory, just for a second. The bigger array, the bigger my_array has to be.
Keeping track of how code is going to scale with input is pretty important when refactoring your code if its going to come into contact with large inputs. Refactoring a function or class into something more readable but O(n2) when it was O(n) before is going to have a large impact on the performance of your code. At the same time it can inform you where your speed bottlenecks are, and where you should be trying to optimize if your code isn't scaling the way you want it too.


L-systems procedural plant generation
Toggle menu
Presets
Iterations
Animation
Animation speed
Leaves
Length
Alpha
Width
Branches
Length
Width
Angle
Falloff
Apply


This page illustrates use of Markdown. I don’t recommend using Markdown any longer because:
it is somewhat indeterminate in its behavior
it is no longer actively supported
it has many quirks that need to be worked around
I now use kramdown instead; look at the third page for an example. Oooh, did you notice how easy it was for me to make a link?
I can also make a cross-reference. For example, here’s a cross-reference to the About This Page section of a different page. Cool, eh?
This page also illustrates use of a named template. You can tell because the template colors the background sort of bluish.
Plus, it illustrates use of CSS. You can tell because the stylesheet colors the text green.
Prev: My First Web Page | Next: My Third and Greatest Web Page


software engineer, passionate maker
Since when I was a child, I love to solve problems.
I'm very curious to understand how things work
I really like to experiment new things and implement do-it-yourself projects
I like to learn new things and improve my skills
I am focused on software development, and I'm very keen on Software Engineering. I always strive to improve the quality of the products I develop as well as the overall development process.
I have no favorite language, because I strongly believe that each language has its own domain. I mostly develop my software systems in C#, C, C++, Java and Python. I have also employed Javascript, Go, Visual Basic 6.0 and ASP for a few academical projects and PHP, HTML, CSS, Javascript, Jekyll and Bootsrap when I created the websites of some private companies or associations, and of course my own website and blog.
Currently, for my Master Thesis, I have been working on both the front-end and back-end in ASP.Net Core MVC & Web API, Entity Framework Core and Bootstrap+React/Knockout.js
Over the last years I have been an enthusiastic maker: I really love to make lots of projects with my 4 Raspberry Pi boards using Debian’s based Raspbian distribution.
I also employ an Arduino Uno, a Sparkfun ESP8266 and a UDOO quad board.
I found in electronics a new, enjoyable hobby, and I strongly believe that the Internet of Things is a market having great potential looking at the future.
An open-source shield based on Atmel AVR microcontroller
A low cost, credit-card sized computer, supporting Linux-based distributions
A microcontroller with an integrated WiFi module
A single board computer with Wi-fi and Quad-core CPU for Android and Linux, fully compatible with Arduino
I’m very happy to collaborate with awesome people at DICAM department (Department of Civil, Chemical, Environmental, and Materials Engineering) building software to create a network of remote GPS sensors -made by a Raspberry Pi, a 3G dongle and a differential GPS antenna- to remotely monitor critical areas. I also work on a software to simulate GPS constellations so as to compute the quality of satellite visibility in urban environments.
Since when I was 18, I have worked on the realization of audio and video services for concerts and public festivals, including the production of video footages on national live television for basketball matches.
An aspect which particularly satisfies me is to teach and give maths and informatics private lessons to younger students. I also took part in some public initiatives for approaching teenagers to computing.


ExamZee
Dashboard
Exams
Log out
Exam File Maker
Exam Name
Subject
Status
Active
Disabled
Total Item
Cancel
Save changes


How does the Hankel norm relate to the H-infinity norm of an LTI system? This post explores the connection for discrete time systems. $ \newcommand{\abs}[1]{| #1 |} \newcommand{\ind}{\mathbf{1}} \newcommand{\norm}[1]{\lVert #1 \rVert} \newcommand{\ip}[2]{\langle #1, #2 \rangle} \newcommand{\R}{\mathbb{R}} \newcommand{\C}{\mathbb{C}} \newcommand{\Z}{\mathbb{Z}} \newcommand{\T}{\mathbb{T}} \newcommand{\Proj}{\mathcal{P}} \newcommand{\Tr}{\mathrm{Tr}} \newcommand{\A}{\mathcal{A}} \newcommand{\Hinf}{\mathcal{H}_{\infty}} $
Bounded Toeplitz operators on $\ell_2$
We first establish some properties of bounded Toeplitz operators on $\ell_2(\Z_+)$, where $\Z_+ = \{0, 1, 2, ... \}$. This presentation is taken from Chapter 1 of Toeplitz Matrices, Asymptotic Linear Algebra, and Functional Analysis.
To be clear, we will use the convention that the $L^2(\T)$ norm is defined as $$ \norm{f}_2^2 = \frac{1}{2\pi} \int_\T \abs{f(\lambda)}^2 \; d\lambda \:. $$ Let $a \in L^2(\T)$, and let $\{a_n\}$ denote its Fourier coefficients, i.e. $$ a_n = \frac{1}{2\pi} \int_{0}^{2\pi} a(e^{j\omega}) e^{-j n \omega} \; d\omega \:. $$ Let $T(a)$ denote the infinite Toeplitz matrix associated with $a$, defined as $$ T(a) = \left[ \begin{array}{ccc|cccc} \ddots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ \cdots & a_0 & a_{-1} & a_{-2} & a_{-3} & a_{-4} & \cdots \\ \cdots & a_1 & a_0 & a_{-1} & a_{-2} & a_{-3} & \cdots \\ \hline \cdots & a_2 & a_1 & a_0 & a_{-1} & a_{-2} & \cdots \\ \cdots & a_3 & a_2 & a_1 & a_0 & a_{-1} & \cdots \\ \cdots & a_4 & a_3 & a_2 & a_1 & a_0 & \cdots \\ \cdots & \vdots & \vdots & \vdots & \vdots & \vdots & \ddots \end{array} \right] \:. $$ This is a linear operator on $\ell_2(\Z)$, where the partitioning above marks the occurence of zero in the sequence. Now define the lower right sub-matrix of $T(a)$ as $A$, i.e. $$ A = \begin{bmatrix} a_0 & a_{-1} & a_{-2} & \cdots \\ a_1 & a_0 & a_{-1} & \cdots \\ a_2 & a_1 & a_0 & \cdots \\ \vdots & \vdots & \vdots & \ddots \end{bmatrix} \:. $$ The matrix $A$ can be viewed as a linear operator on $\ell_2(\Z_+)$. The following result, attributed to Toeplitz, states that $A$ is bounded iff $a$ is uniformly bounded. For what follows, we identify the torus $\T = \R / 2\pi \Z$ with the unit circle.
Theorem: $A$ is a bounded linear operator on $\ell_2(\Z_+)$ iff $a \in L^\infty(\T)$.
Proof: Define the linear operator $M_a$ by $M_a(f) = af$. Clearly, if $a \in L^\infty(\T)$, then $af \in L^2(\T)$, and hence $M_a$ is a bounded linear operator from $L^2(\T) \longrightarrow L^2(\T)$ and furthermore $\norm{M_a} = \norm{a}_\infty$. Conversely, suppose that $M_a$ is bounded but $a \not\in L^\infty(\T)$. For any $\delta > 0$, define the set $$ A_\delta = \{ x : \abs{a(x)} > \delta \} \:. $$ Since $a \not\in L^\infty(\T)$, $\mu(A_\delta) > 0$ for all $\delta > 0$, where $\mu(\cdot)$ denotes Lebesgue measure. The function $u(x) = \sqrt{\frac{2\pi}{\mu(A_\delta)}} \ind_{A_\delta}(x)$ satisfies $\norm{u}_2 = 1$ by construction. On the other hand, $$ \begin{align*} \norm{M_a(u)}_2^2 &= \frac{1}{2\pi} \int_{\T} \abs{a(x) u(x)}^2 \; dx = \frac{1}{\mu(A_\delta)} \int_{A_\delta} \abs{a(x)}^2 \; dx > \frac{\delta}{\mu(A_\delta)} \int_{A_\delta} 1 \; dx = \delta \:. \end{align*} $$ Hence, taking $\delta$ to infinity shows that $M_a$ is not bounded. We have thus shown that $$ M_a \text{ bounded } \Longleftrightarrow a \in L^\infty(\T) \:, $$ and furthermore $\norm{M_a} = \norm{a}_\infty$ when $M_a$ is bounded.
Next, we let $\{\phi_n\}$ denote an orthonormal basis of $L^2(\T)$, where $\phi_n(\lambda) = \lambda^n$ for $\lambda \in \T$. One can check that the matrix $T(a)$ is the matrix representation of the operator $M_a$. To see this, recall that $$ a = \sum_{k \in \Z} \ip{a}{\phi_k}_{L^2(\T)} \phi_k = \sum_{k \in \Z} a_k \phi_k \:. $$ Hence, $$ M_a(\phi_n) = a \phi_n = \sum_{k \in \Z} a_k \phi_{n+k} = \sum_{k \in \Z} a_{k - n} \phi_k \:, $$ and so the vector representation of $M_a(\phi_n)$ w.r.t. this basis shifts accordingly, yielding the Toeplitz structure of $T(a)$. Hence, we have that $T(a)$ is bounded iff $a \in L^\infty(\T)$, and $\norm{T(a)} = \norm{a}_\infty$.
To finish the proof, it suffices to show that $T(a)$ is bounded iff $A$ is bounded, and that $\norm{T(a)} = \norm{A}$. We will prove this in the case when $a_{m} = 0$ for all $m < 0$, which admits a more intuitive proof. Observe that in this case, $T(a)$ is a lower-triangular matrix. For the general case, see the book. For any non-negative integer $n$, let $S_n \subset \ell_2(\Z)$ denote the subspace $$ S_n = \{ x \in \ell_2(\Z) : x_{-m} = 0 \text{ for all } m > n \} \:. $$ We can then partition $T(a) u$ accordingly, $$ T(a) u = T(a) \begin{bmatrix} u_- \\ u_+ \end{bmatrix} = \begin{bmatrix} T(a)_{11} & 0 \\ T(a)_{21} & T(a)_{22} \end{bmatrix}\begin{bmatrix} u_- \\ u_+ \end{bmatrix} = \begin{bmatrix} T(a)_{11} \\ T(a)_{21} \end{bmatrix} u_- + \begin{bmatrix} 0 \\ T(a)_{22} \end{bmatrix} u_+ \:, $$ where $u_-$ denotes the partition of $u$ in $S_n^\perp$ and $u_+$ denotes the partition of $u$ in $S_n$. Now fix any $\varepsilon \in (0, 1)$, and let $u$ satisfy $\norm{u}_2 = 1$. Choose $n$ large enough so that $\norm{u_-}_2 \leq \varepsilon$. Using the decomposition above, $$ \begin{align*} \norm{T(a)u}_2 &\leq \left\| \begin{bmatrix} T(a)_{11} \\ T(a)_{21} \end{bmatrix} u_- \right\|_2 + \left\| \begin{bmatrix} 0 \\ T(a)_{22} \end{bmatrix} u_+ \right\|_2 \\ &\leq \norm{T(a)} \varepsilon + \norm{A} \:. \end{align*} $$ The second inequality follows from the observation that the lower right corner of the partition of $T(a)_{22}$ has the same operator norm as $A$ itself. Sending $\varepsilon$ to zero, we have that $\norm{T(a)} \leq \norm{A}$. However, since $\norm{T(a)} \geq \norm{A}$, we have the equality $\norm{T(a)} = \norm{A}$. $\square$
The Hankel operator
We now discuss the Hankel operator in discrete time. Let $G : \ell_2(\Z) \longrightarrow \ell_2(\Z)$ denote a linear operator. Consider two subspaces $$ S_+ = \{ x \in \ell_2(\Z) : x_m = 0 \text{ for all } m < 0 \} \:, \:\: S_- = S_+^\perp \:, $$ and let $P_+, P_-$ denote the projector operators onto $S_+, S_-$, respectively. The Hankel operator of $G$ is defined as $$ \Gamma_G = P_+ G P_- \:. $$ So far our discussion has been for general operators. Let us now specialize to the case when $G$ is a LTI system. The Hankel operator is essentially operating on inputs defined only when $t < 0$, and returning the output signal only when $t \geq 0$. The Hankel norm is defined as $\norm{\Gamma_G}$. See these notes for more details on Hankel operators.
Discrete time LTI systems
We now connect discrete time LTI systems with the operator-theoretic formalisms discussed. Consider the following SISO system $Q$ $$ \begin{align*} x_{k+1} &= A x_k + b u_k \\ y_k &= c^\mathsf{T} x_k + d u_k \:. \end{align*} $$ Above, $A \in \R^{n \times n}$, $b, c \in \R^{n}$, and $d \in \R$. Suppose that $A$ is a stable matrix (all eigenvalues are contained within the open unit disc). Notice that this system corresponds to a linear operator on $\ell_2(\Z_+)$; for any input $u = (u_0, u_1, ...)$, the output is $y = (y_0, y_1, ...)$, where $y_k$ is given by running the system forward with input $u$ and starting state $x_0 = 0$. Furthermore, if we write out the matrix representation of the operator, we see that a lower-triangular Toeplitz matrix arises $$ y = Q u \:, \:\: \begin{bmatrix} y_0 \\ y_1 \\ y_2 \\ y_3 \\ \vdots \end{bmatrix} = \begin{bmatrix} d & 0 & 0 & 0 & \cdots \\ c^\mathsf{T} b & d & 0 & 0 & \cdots \\ c^\mathsf{T} A b & c^\mathsf{T} b & d & 0 & \cdots \\ c^\mathsf{T} A^2 b & c^\mathsf{T} A b & c^\mathsf{T} b & d & \cdots \\ \vdots & \vdots & \vdots & \vdots & \ddots \end{bmatrix} \begin{bmatrix} u_0 \\ u_1 \\ u_2 \\ u_3 \\ \vdots \end{bmatrix} \:. $$ Thus, we can apply the Toeplitz operator theory just developed, by setting $a_{-m} = 0$ for all $m \geq 1$, $a_0 = d$, $a_1 = c^\mathsf{T} b$, $a_2 = c^\mathsf{T} A b$, and so on. These parameters are often called the Markov parameters of a system. The corresponding infinite matrix $T(a)$, which can be thought of as a representation of the system $Q$ as an operator on $\ell_2(\Z)$, is $$ T(a) = \left[ \begin{array}{c|c} T_1 & 0 \\ \hline H & Q \end{array} \right] = \left[ \begin{array}{ccc|cccc} \ddots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ \cdots & d & 0 & 0 & 0 & 0 & \cdots \\ \cdots & c^\mathsf{T}b & d & 0 & 0 & 0 & \cdots \\ \hline \cdots & c^\mathsf{T} A b & c^\mathsf{T}b & d & 0 & 0 & \cdots \\ \cdots & c^\mathsf{T} A^2 b & c^\mathsf{T} A b & c^\mathsf{T}b & d & 0 & \cdots \\ \cdots & c^\mathsf{T} A^3 b & c^\mathsf{T} A^2 b & c^\mathsf{T} A b & c^\mathsf{T}b & d & \cdots \\ \cdots & \vdots & \vdots & \vdots & \vdots & \vdots & \ddots \end{array} \right] \:. $$ The matrix $H$ is recognized as (an upside down) Hankel matrix. Furthermore, the Hankel operator $\Gamma_Q = P_+ Q P_-$ has matrix representation $$ \Gamma_Q = \begin{bmatrix} 0 & 0 \\ H & 0 \end{bmatrix} \:. $$ Hence, we have the relations $$ \norm{\Gamma_Q} = \norm{H} \leq \norm{T(a)} = \norm{Q} \:. $$ In words, this states that the Hankel norm of the system $Q$ is bounded above by the H-infinity norm of the system $Q$, and both arise by looking at different sections of the infinite operator $T(a)$.
Outstanding questions
There are a few points of confusion I still have. First, notice that the $d$ value of $Q$ does not enter into the Hankel norm, but certainly enters into the H-infinity norm. Why is this?
Next, is that the Fourier series corresponding to $\{a_n\}$ with $a_n$ denoting the Markov parameters of $Q$ does not correspond to the transfer function of $Q$ when restricted to the unit circle, as I would expect. That is, the Laplace transform of $Q$ is $$ G(z) = c^\mathsf{T} (zI - A)^{-1} b + d = d + \sum_{k=1}^{\infty} c^\mathsf{T} A^{k-1} b z^{-k} \:. $$ On the other hand, the Fourier series of $\{a_n\}$ is $$ a(z) = \sum_{k \in \Z} a_n z^n = d + \sum_{k=1}^{\infty} c^\mathsf{T} A^{k-1} b z^{k} \:. $$ That is, for any $z = e^{j\omega}$, we have that $G(z) = a(\overline{z})$. In other words, $G$ seems to correspond to an upper-triangular $T(G)$. This does not change any of our conclusions, but this does strike me as odd.