Data Thread and CV updates

pull/1/head
Oliver Kennedy 2022-06-10 16:10:30 -04:00
parent e7521d9d93
commit be1a60ba6b
Signed by: okennedy
GPG Key ID: 3E5F9B3ABD3FDB60
32 changed files with 13930 additions and 27 deletions

View File

@ -194,7 +194,10 @@ task :documents => ["artifacts/db.json", :cv, :cnp]
directory "build/artifacts"
task :deploy => [:documents,:odin_lab,"build/artifacts"] do
system("cp -r artifacts/*.{pdf,json} build/artifacts/")
files = Dir["artifacts/*.{pdf,json}"]
unless files.empty? then
system("cp -r #{files.join(" ")} build/artifacts/")
end
end
###################### Specialized Stuff for Individual Use ######################

View File

@ -65,7 +65,7 @@
],
"employment" : [
{
"title" : "Assistant Professor",
"title" : "Associate Professor",
"employer" : "Dept. of Comp. Sci. & Eng., SUNY Buffalo",
"start" : "Sept. 2012"
},
@ -190,11 +190,27 @@
"type" : "award",
"source" : "UB",
"individual" : "YES"
},
{
"description" :
"Oliver received the CSE Departmental Senior Research Award in 2021",
"year" : 2021,
"type" : "award",
"source" : "UB",
"individual" : "YES"
},
{
"description" :
"Oliver received the School of Engineering and Applied Sciences Senior Teaching Award in 2021",
"year" : 2021,
"type" : "award",
"source" : "UB",
"individual" : "YES"
}
],
"chairs" : [
{ "venue" : "pVLDB", "position" : "Reproducibility Co-Chair", "years" : [ 2018, 2019, 2020 ] },
{ "venue" : "pVLDB", "position" : "Reproducibility Co-Chair", "years" : [ 2018, 2019, 2020, 2021, 2022 ] },
{ "venue" : "SoCC", "position" : "Scholarship Co-Chair", "years" : [ 2019 ] },
{ "venue" : "VLDB", "position" : "Technical Co-Chair", "years" : [ 2020 ] },
{ "venue" : "SIGMOD", "position" : "Treasurer", "years" : [ 2022 ] }
@ -241,14 +257,19 @@
"service" : {
"general" : [
{ "description" : "WebDB Session Chair", "years" : [ 2013 ] },
{ "description" : "NSF Panel Member", "years" : [ 2014, 2015, 2016, 2018, 2020, 2021 ] },
{ "description" : "NSF Panel Member", "years" : [ 2014, 2015, 2016, 2018, 2020, 2021, 2022 ] },
{ "description" : "SIGMOD Reproducibility Committee", "years" : [ 2015, 2016, 2017 ] }
],
"dept" : [
{ "org" : "Dept. of Comp. Sci. and Eng., University at Buffalo, SUNY",
"service" : [
{ "org" : "Graduate Admissions Committee", "start" : 2012, "end" : 2017 },
{ "org" : "Graduate Advisory Board", "start" : 2012 },
{ "org" : "Graduate Advisory Committee", "years" : [ 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2022],
"roles": [
{ "title" : "Graduate Co-Director", "years" : [2022] }
]
},
{ "org" : "Undergraduate Advisory Committee", "years" : [ 2021 ] },
{ "org" : "Distinguished Speaker Committee", "years" : [ 2017 ] },
{ "org" : "Faculty Search Committee", "years" : [ 2012, 2013, 2014 ] },
{ "org" : "Facilities Committee", "years" : [ 2016 ] },
@ -260,7 +281,12 @@
{ "org" : "Grievances Committee", "years" : [ 2015, 2016 ] },
{ "org" : "Undergraduate Curriculum Development Subcommittee", "years" : [ 2015, 2016 ] },
{ "org" : "Teaching Effectiveness Committee", "years" : [ 2019,2022 ] },
{ "org" : "Preserving Academic Integrity", "years" : [ 2021,2022 ] }
{ "org" : "Preserving Academic Integrity", "years" : [ 2021,2022 ] },
{ "org" : "Teaching Load Task Force", "years" : [ 2021,2022 ],
"roles" : [
{ "title" : "Co-Chair", "years" : [2022] }
]
}
]
}
]

View File

@ -1,10 +1,10 @@
[
{ "venue" : "Department of Computer Science and Engineering, SUNY Buffalo",
"courses" : [
{ "code" : "CSE 7xx",
{ "code" : "CSE 501",
"enrollment" : 0,
"title" : "(planned) Seminar",
"semester" : "Spring 2023" },
"title" : "(planned) Grad Studies in CS",
"semester" : "Fall 2022" },
{ "code" : "CSE 250",
"enrollment" : 0,
"title" : "(planned) Data Structures",

View File

@ -1,16 +1,39 @@
{
"advised" : [
{ "name" : "Caleb Levine",
"degree" : "BS",
"start" : "Jan. 2020" },
{ "name" : "Nicholas Brown",
"degree" : "BS",
"start" : "Jan. 2020" },
{ "name" : "William Spoth",
"degree" : "PhD",
"start" : "Sept. 2017", "end" : "May 2014" },
{ "name" : "Darshana Balakrishnan",
"degree" : "PhD",
"coadvisor" : "Lukasz Ziarek",
"start" : "Jan. 2017" },
{ "name" : "Aaron Huber",
"degree" : "PhD",
"coadvisor" : "Atri Rudra",
"start" : "Sept. 2016" },
{ "name" : "Poonam Kumari",
"degree" : "PhD",
"start" : "Sept. 2016" },
{ "name" : "Carl Nuessle",
"degree" : "PhD",
"start" : "Sept. 2015" },
{ "name" : "Gokhan Khul",
"degree" : "PhD",
"coadvisor" : "Shambhu Upadhaya",
"start" : "Jan. 2015" },
"start" : "Jan. 2015", "end" : "May 2018" },
{ "name" : "Ting Xie",
"degree" : "PhD",
"coadvisor" : "Hung Ngo",
"start" : "Jan. 2015" },
"start" : "Jan. 2015", "end" : "May 2019" },
{ "name" : "Ying Yang",
"degree" : "PhD",
"start" : "Sept. 2012" },
"start" : "Sept. 2012", "end" : "May 2016" },
{ "name" : "Daniel Bellinger",
"degree" : "BS",
"coadvisor" : "Lukasz Ziarek",

View File

@ -1,4 +1,6 @@
[
{ "talk" : "Panel: On the Multifaceted Impact of Artificial Intelligence in Healthcare: Past, Present, and Emerging Trends", "date" : "May 2022",
"venue" : "UP-STAT 2022" },
{ "talk" : "How to Start Collaborating with CSE to Solve Global Health Problems", "date" : "May 2020",
"venue" : "University at Buffalo: Center for Global Health Equity" },
{ "talk" : "Safe, Reusable Heuristic Data Transformation (through Caveats)", "date" : "Dec 2019",

View File

@ -79,6 +79,23 @@
"height" : 200
},
"ubit" : "carlnues"
},
"Nicholas Brown" : {
"status" : "BS",
"projects" : ["astral"],
"joint_advisor" : false,
"ubit" : "njbrown4"
},
"Caleb Levine" : {
"status" : "BS",
"projects" : ["vizier"],
"joint_advisor" : false,
"ubit" : "caleblev"
},
"Nachiket Deo" : {
"status" : "MS",
"projects" : ["vizier"],
"joint_advisor" : false
}
},
"temp-leave" : {

View File

@ -1,4 +1,16 @@
[
{
"title" : "Runtime Provenance Refinement for Notebooks",
"authors" : [
"Nachiket Deo",
"Boris Glavic",
"Oliver Kennedy"
],
"venue" : "TaPP",
"year" : 2022,
"projects" : ["vizier"],
"length" : 4
},
{
"title" : "TreeToaster: Towards an IVM-Optimized Compiler",
"authors" : [

View File

@ -99,6 +99,10 @@
"2016" : {
"location" : "McLean, VA, USA",
"date" : "June 6-9, 2016"
},
"2022" : {
"location" : "Philadelphia, NY",
"date": "June 18, 2022"
}
}
},

View File

@ -6,7 +6,7 @@ title: Members and Affiliates
<% $db["lab/members"].each do |member, data| %>
<div class="person" style="vertical-align: middle;">
<%=
img = "../assets/people/missing.png"
img = "assets/people/missing.png"
if data.has_key? "pic"
img = data["pic"]
img = img["file"] if img.is_a? Hash

View File

@ -1,6 +0,0 @@
{
"cells": [],
"metadata": {},
"nbformat": 4,
"nbformat_minor": 5
}

View File

@ -4,14 +4,146 @@ title: "Microkernel Notebooks"
---
<section>
<section>
<h2>μKernel Notebooks</h2>
<h2>μKernel Notebooks</h2>
<h4>Oliver Kennedy</h4>
</section>
<h4>Oliver Kennedy</h4>
<h5>University at Buffalo</h5>
</section>
<section>
</section>
<section>
<svg data-src="graphics/2022-06-20/NotebookOverview.svg" height="400px" style="margin-left: -100px"/>
</section>
<section>
<div style="display: inline-block; width: 45%;">
<img src="graphics/2022-06-20/Pimentel.png" height="400px">
<p style="font-size: 70%;"><a href="https://ieeexplore.ieee.org/document/8816763">Pimentel et al</a>: "4.03% of notebooks on github are reproducible"</p>
</div>
<div style="display: inline-block; width: 45%;" class="fragment">
<img src="graphics/2022-06-20/Grus.png">
<p style="font-size: 70%;"><a href="https://www.youtube.com/watch?v=7jiPeIFXb6U">Joel Grus</a>: "For beginners, with dozens of cells and more complex code [the ability to run code snippets out of order] is utterly confusing."</p>
</div>
</section>
<section>
<svg data-src="graphics/2022-06-20/Checkpointing.svg" width="800px"/>
</section>
<section>
<h3><a href="https://github.com/stitchfix/nodebook">Nodebook</a></h3>
<img src="graphics/2022-06-20/Nodebook.png" height="300px">
<attribution><a href="https://github.com/stitchfix/nodebook">https://github.com/stitchfix/nodebook</a></attribution>
</section>
<section>
<svg data-src="graphics/2022-06-20/MonokernelCheckpoints.svg" height="400px" />
<attribution><a href="https://openclipart.org">https://openclipart.org</a></attribution>
</section>
<section>
<img src="graphics/2022-06-20/NoCheckpointing.png" height="400px">
</section>
<section>
<p>A modest proposal...</p>
</section>
<section>
<img src="graphics/2022-06-20/MicrokernelCheckpoints.svg" height="400px">
<attribution>https://openclipart.com</attribution>
</section>
<section>
<p>So now...</p>
</section>
<section>
<img src="graphics/2022-06-20/MicrokernelPyV2Checkpoints.svg" height="400px">
</section>
<section>
<img src="graphics/2022-06-20/MicrokernelPyScalaCheckpoints.svg" height="400px">
</section>
<section>
<p>and...</p>
</section>
<section>
<svg data-src="graphics/2022-06-20/Parallelism.svg" width="800px"/>
</section>
<section>
<h3>... and more</h3>
<ul>
<li>Better error-handling</li>
<li>Easily inspect inter-cell state</li>
<li>Automatically re-run stale cells</li>
</ul>
</section>
<section>
<h3>... not all smiles and sunshine</h3>
<ul>
<li class="fragment highlight-grey" data-fragment-index="1">Dependency Analysis</li>
<li class="fragment highlight-grey" data-fragment-index="1">Scheduling Cell Execution</li>
<li class="fragment highlight-grey" data-fragment-index="1">Python Startup Costs</li>
<li>Migrating state between kernels</li>
</ul><br/>
</section>
<section>
<pre><code>
x = 3
</code></pre>
</section>
<section>
<pre><code>
from foo import x
</code></pre>
</section>
<section>
<pre><code>
x = pandas.read_csv("foo.csv")
</code></pre>
</section>
<section>
<img src="graphics/2022-06-20/arrow.png" height="300px">
</section>
<section>
<img src="graphics/2022-06-20/Vizier-System-Diag.svg" height="300px">
</section>
<section>
<img src="graphics/2022-06-20/Vizier-Polyglot.png" height="500px">
</section>
<section>
<img src="graphics/2022-06-20/Vizier-Load.png" height="500px">
</section>
<section>
<img src="graphics/2022-06-20/Vizier-Spreadsheet.png" height="500px">
</section>
<section>
<img src="graphics/2022-06-20/Vizier-New.png" height="400px">
</section>
<section>
<a href="https://vizierdb.info">
<img src="graphics/2022-06-20/vizier.svg" height="200px">
<p style="margin-top: -20px;">https://vizierdb.info</p>
</a>
<p style="font-size: 65%"><b>Mike Brachmann, Boris Glavic, Nachiket Deo</b>, Juliana Freire, Heiko Mueller, Sonia Castello, Munaf Arshad Qazi, William Spoth, Poonam Kumari, Soham Patel, and more...</p>
</section>
</section>

View File

@ -0,0 +1,379 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="146.61348mm"
height="83.557358mm"
viewBox="0 0 146.61348 83.557357"
version="1.1"
id="svg18349"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
sodipodi:docname="Checkpointing.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview18351"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="0.66368547"
inkscape:cx="307.37452"
inkscape:cy="251.62522"
inkscape:window-width="1920"
inkscape:window-height="1011"
inkscape:window-x="1080"
inkscape:window-y="347"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs18346">
<marker
style="overflow:visible"
id="Arrow2Mend"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
id="path22636" />
</marker>
<marker
style="overflow:visible"
id="Arrow1Lend"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow1Lend"
inkscape:isstock="true">
<path
transform="matrix(-0.8,0,0,-0.8,-10,0)"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
id="path22612" />
</marker>
</defs>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-23.332914,-4.4857937)">
<image
width="144.54364"
height="56.629425"
preserveAspectRatio="none"
xlink:href="data:image/png;base64,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
YII=
"
id="image18418"
x="23.332914"
y="20.339371" />
<g
id="g23340"
class="fragment">
<text
xml:space="preserve"
style="font-size:7.05556px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="29.103901"
y="86.575539"
id="text19678"><tspan
sodipodi:role="line"
id="tspan19676"
style="font-size:7.05556px;stroke-width:0.264583"
x="29.103901"
y="86.575539">The original value of 'x' is gone by here.</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
d="M 71.124341,80.497883 60.15342,63.088387"
id="path22607" />
</g>
<g
id="g23348"
transform="translate(0,-74.083337)"
class="fragment">
<text
xml:space="preserve"
style="font-size:7.05556px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="71.966438"
y="83.929703"
id="text23344"><tspan
sodipodi:role="line"
id="tspan23342"
style="font-size:7.05556px;stroke-width:0.264583"
x="71.966438"
y="83.929703">We need a way to recover </tspan><tspan
sodipodi:role="line"
style="font-size:7.05556px;stroke-width:0.264583"
x="71.966438"
y="92.749153"
id="tspan24275">the value of 'x' from here</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
d="M 71.124341,89.493722 66.254946,106.19625"
id="path23346"
sodipodi:nodetypes="cc" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 23 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 200 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 241 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 202 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 109 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 892 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@ -0,0 +1,117 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="svg2"
width="32"
height="32"
viewBox="0 0 32 32"
sodipodi:docname="vizier-blue.svg"
inkscape:version="0.92.3 (2405546, 2018-03-11)">
<metadata
id="metadata8">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs6" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="2560"
inkscape:window-height="1387"
id="namedview4"
showgrid="false"
inkscape:zoom="11.19"
inkscape:cx="16"
inkscape:cy="16"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<rect
style="fill:#214478;fill-opacity:1;stroke:none;stroke-width:6.21267748"
id="rect872"
width="32"
height="32"
x="0"
y="0" />
<rect
style="fill:#87aade;fill-opacity:1;stroke:none;stroke-width:1.14830613"
id="rect12"
width="5.8305087"
height="6"
x="2.7118638"
y="24.40678" />
<rect
y="24.40678"
x="9.9907598"
height="6"
width="5.8305087"
id="rect864"
style="fill:#afc6e9;fill-opacity:1;stroke:none;stroke-width:1.14830613" />
<rect
y="17.227753"
x="2.7118638"
height="6"
width="5.8305087"
id="rect866"
style="fill:#5f8dd3;fill-opacity:1;stroke:none;stroke-width:1.14830613" />
<rect
style="fill:#3771c8;fill-opacity:1;stroke:none;stroke-width:1.14830613"
id="rect868"
width="5.8305087"
height="6"
x="2.7118638"
y="10.048723" />
<rect
y="2.8696935"
x="2.7118638"
height="6"
width="5.8305087"
id="rect870"
style="fill:#2c5aa0;fill-opacity:1;stroke:none;stroke-width:1.14830613" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:21.33333397px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;"
x="6.1662192"
y="21.186773"
id="text876"><tspan
sodipodi:role="line"
id="tspan874"
x="6.1662192"
y="21.186773"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:24px;font-family:'Courier New';-inkscape-font-specification:'Courier New Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;">V</tspan></text>
<text
id="text1280"
y="29.765862"
x="16.621983"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.33333302px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none"
xml:space="preserve"><tspan
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:12px;font-family:'Courier New';-inkscape-font-specification:'Courier New Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff"
y="29.765862"
x="16.621983"
id="tspan1278"
sodipodi:role="line">db</tspan></text>
</svg>

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB