<p style="text-align:center;"><img src="https://raw.githubusercontent.com/danhey/danhey.github.io/master/images/front_image.png" width="100px"></p>
The office is a neat little space, open and airy despite the stuffed filing cabinets and stale coffee on the desk. Sitting behind the desk is a… bird? Horse? Seahorse. Person. A person who is smiling rather brightly.
Before you can say anything, there's an explosion of @@.pyro;//confetti//@@.
"Welcome to my website!"
[[Ask who he is|about]]
[[Ask about his projects|projects]]
[[Ask about his publications|publications]]
[[Ask how to get in contact|contact]]
[[Ask for a copy of his CV|https://raw.githubusercontent.com/danhey/danhey.github.io/bfefc8d2d2d8ad3ae531bf2975db7e6dc3c22130/images/cv.pdf]]
Check [[inventory]]
[[How do I reach you quickly?|contactreal]]"I’m Dan Hey, a postdoctoral researcher at the University of Hawai'i working on asteroseismology – the study of stellar pulsations", he gesticulates wildly. "Using the //Kepler//, //TESS//, and //Gaia// space satellites, I investigate the abundance and population statistics of pulsating A/F type stars, including the δ Scuti and roAp stars."
He fumbles around for a stack of notes before completely upending the pile. Nevertheless, he continues: "I'm interested in using pulsations as a clock to observe orbital companions, as well as using eclipsing binaries to obtain precise fundamental parameters!".
<<if not $player.has('photo of Dan')>>
"You can see a picture of me here", he hands you a <<click "photo he picked up">><<replace "#map">>[img[https://raw.githubusercontent.com/danhey/danhey.github.io/master/images/profile.jpg]]
Dan looks over your shoulder, "Nasty piece of work". You add the photo to your inventory..
<</replace>><</click>>.
<div id="map"></div>
<<pickup '$player' 'photo of Dan'>>
<</if>>
[[Why did you make your site like this?]]
[[Do you have more photos?]]
[[Lapse into awkward silence|main]]"Oh! Well of course! Just one moment please!" Visibly excited, Dan ducks under their desk and starts doing... something that involves a lot of loud clanking. Your surroundings begin to vibrate.
Dan's desk slides aside to reveal a trap door, from which a large glass tube slowly rises. When it stops, the tube is slightly taller than you are. The front slides open with a faint pneumatic hiss.
"Just right through here please!"
[[Get in!]]
[[Express concern]]
[[Maybe later|main]]Dan pulls out a sheet of paper from seemingly nowhere. "Here's a list of some of my favourite works", he says, passing the sheet to you. "For a complete list, check out my ADS library!"
[[Examine the paper]]
[[Ask about NASA ADS]]Dan hands you a rather crumpled up piece of paper. It looks like a slip of paper from a fortune cookie. Dan looks abashed, "I ran out of paper and CSS experience".
<<nobr>>
<<if not $player.has('email')>>
<<linkreplace 'Pick up the slightly crumpled paper.'>>
You uncrumple the paper.
[img[https://raw.githubusercontent.com/danhey/danhey.github.io/master/images/email.png]]
You add the slightly crumpled paper to your inventory.
<<pickup '$player' 'email'>>
<</linkreplace>>
<<else>>
[img[https://raw.githubusercontent.com/danhey/danhey.github.io/master/images/email.png]]
<</if>>
<</nobr>>
"Alternatively, you can also leave a message for me!", Dan points to the textbox.
<<typesim "Dan is such a cool guy! Wow, thanks for making this website!">>\
<<fadein 1s 1s>>
Dan looks over your shoulder at the text, "Thanks! That's such a nice thing to say."\
<</fadein>>
<</typesim>>\
[[Return|main]]You check your pockets. You currently have a;
<<listInventory 'player'>>
[[Return|main]]The tube closes up behind you with a click, and everything goes quiet. Or not quite. There is a low hum in the air, so faint you could almost think it's your imagination. You spot Dan waving at you through the glass. He makes an exaggerated gesture, tucking his elbows against his sides. When you do the same, the humming intensifies. Slowly, your vision goes white…
[[Skip theatrics|Projects]]"Oh, there's absolutely no need to worry! The transportation system is rigorously tested and 100% safe!"
Dan smacks the side of the tube for emphasis. It lets out another burst of air, this one suspiciously like someone coughing.
"But if you're still really worried... This is just between you and me okay?" Dan leans in, eyes darting around before they whisper in your ear. "It's really just a hyperlink to the projects page with a little flavor text. Very standard stuff. The webmaster just wanted to throw in some theatrics." When Dan pulls away, he has a bright smile on his face. "And doesn't it look fun?"
[[Get in the tube|Get in!]]
[[Insist on a regular hyperlink->hyperlink]]
[[Come back later->main]]<<nobr>>
<<if previous() isnot "hyperlink">>You step out of the tube and find yourself in an unfamiliar environment.
<<else>>
The hyperlink takes you to an unfamiliar environment.
<</if>>
<</nobr>>
Dan is nowhere to be seen, but you can faintly detect the smell of stale coffee permeating the room. He must be nearby.
In front of you, a computer scrolls over a list of projects. It seems like you can interact with each project.
<div id="crt">
<div class="terminal">
\> Software:
\> [[Balmung|https://github.com/danhey/balmung]] - Blazin' fast iterative prewhitening of time-series data.
\> [[Echelle|https://danhey.github.io/echelle/]] - Echelle diagrams! Who doesn't love them.
\> [[Maelstrom|https://danhey.github.io/maelstrom/]] - Foward modelling of orbits using pulsation timing.
\> [[Bunyip|https://github.com/danhey/bunyip]] - Some useful tools for fitting eclipsing binaries.
\> Visualisations:
\> [[Eddy|https://danhey.github.io/Eddy/]] - A JavaScript applet to visualise time delay orbits!
\> [[TESSeb|https://danhey.github.io/tessEB/]] - An interactive period-magnitude diagram of the TESS eclipsing binaries.
\> [[CMDTess|https://danhey.github.io/CMDTess/]] - An interactive color-magnitude diagram of the entire TESS southern hemisphere.
\> END OF FILE
\> <span class="blinking-cursor">|</span>
</div>
</div>
<<nobr>>
<<if not $player.has('projects')>>
Somehow, you can take the terminal screen with you. Wow, how convenient! You add the list of projects to your inventory.
<<pickup '$player' 'projects'>>
<</if>>
<</nobr>>
[[Find your way back out|main]]<<nobr>>
<<if not $player.has('slightly crumpled business card')>>
<<linkreplace 'Take the slightly crumpled business card.'>>
You add the slightly crumpled business card to your inventory..
<<pickup '$player' 'slightly crumpled business card'>>
<</linkreplace>>
<<else>>
You already have my business card!
<</if>>
<</nobr>>
[[Ask something else|main]]<<newinventory '$player' 'phone'>>You scroll mindlessly through your phone. You notice that you have 504 unread emails. You ignore them in favour of your favourite phone game, snake!
[[Play snake|Snake]]
[[Return|inventory]]"Well...", Dan pauses, a thoughtful yet somehow vacant expression crossing his face. "Because I can!"
[[How did you do it?]]
[[Lapse into awkward silence|about]]<<if $player.has('jacket1')>>
<<goto [[Ask for another photo]]>>
<<elseif $player.has('jacket1', 'jacket2')>>
<<goto [[Ask for even more!]]>>
<<else>>
"Photos of me are in limited supply these days, I'm afraid", Dan says, "but I'm happy to share some other photos".
[[Gratefully accept|more photos]]
[[Gracefully reject|main]]
<</if>>You glance down at the paper and read the SELECTED publications.
<div class="paper">
<div id="publication_title">Daniel's Publications</div>
D.R. Hey et al., (2021), A search for transits among the delta Scuti variables in Kepler, ApJ, <<linkreplace 'Abstract.'>>
<div class="abstract">We search for transits around all known pulsating δ Sct variables (6500 K < Teff < 10 000 K) in the long-cadence Kepler data after subtracting the pulsation signal through an automated routine. To achieve this, we devise a simple and computationally inexpensive method for distinguishing between low-frequency pulsations and transits in light curves. We find 3 new candidate transit events that were previously hidden behind the pulsations, but caution that they are likely to be false positive events. We also examined the Kepler Objects of Interest catalog and identify 13 additional host stars which show δ Sct pulsations. For each star in our sample, we use the non-detection of pulsation timing variations for a planet that is known to be transiting a δ Sct variable to obtain both an upper limit on the mass of the planet and the expected radial velocity semi-amplitude of the host star. Simple injection tests of our pipeline imply 100% recovery for planets of 0.5 RJup or greater. Extrapolating our number of Kepler δ Sct stars, we expect 12 detectable planets above 0.5 RJup in TESS. Our sample contains some of the hottest known transiting planets around evolved stars, and is the first complete sample of transits around δ Sct variables. We make available our code and pulsation-subtracted light curves to facilitate further analysis. </div>
<</linkreplace>>
D.R. Hey et al., (2020), Forward Modeling the Orbits of Companions to Pulsating Stars from Their Light Travel Time Variations, ApJ, <<linkreplace 'Abstract.'>>
<div class="abstract">Mutual gravitation between a pulsating star and an orbital companion leads to a time-dependent variation in path length for starlight traveling to Earth. These variations can be used for coherently pulsating stars, such as the δ Scuti variables, to constrain the masses and orbits of their companions. Observing these variations for δ Scuti stars has previously relied on subdividing the light curve and measuring the average pulsation phase in equally sized subdivisions, which leads to undersampling near periapsis. We introduce a new approach that simultaneously forward models each sample in the light curve and show that this method improves upon current sensitivity limits -- especially in the case of highly eccentric and short-period binaries. We find that this approach is sensitive enough to observe Jupiter mass planets around δ Scuti stars under ideal conditions, and use gravity-mode pulsations in the subdwarf B star KIC 7668647 to detect its companion without radial velocity data. We further provide robust detection limits as a function of the signal-to-noise ratio of the pulsation mode and determine that the minimum detectable light travel time amplitude for a typical Kepler δ Scuti is around 2 s. This new method significantly enhances the application of light travel time variations to detecting short-period binaries with pulsating components, and pulsating A-type exoplanet host stars, especially as a tool for eliminating false positives.
</div>
<</linkreplace>>
D.R. Hey et al., (2019), Six new rapidly oscillating Ap stars in the Kepler long-cadence data using super-Nyquist asteroseismology, MNRAS,
<<linkreplace 'Abstract.'>>
<div class="abstract">We perform a search for rapidly oscillating Ap stars in the Kepler long-cadence data, where true oscillations above the Nyquist limit of 283.21 μHz can be reliably distinguished from aliases as a consequence of the barycentric time corrections applied to the Kepler data. We find evidence for rapid oscillations in six stars: KIC 6631188, KIC 7018170, KIC 10685175, KIC 11031749, KIC 11296437, and KIC 11409673, and identify each star as chemically peculiar through either pre-existing classifications or spectroscopic measurements. For each star, we identify the principal pulsation mode, and are able to observe several additional pulsation modes in KIC 7018170. We find that KIC 7018170 and KIC 11409673 both oscillate above their theoretical acoustic cut-off frequency, whilst KIC 11031749 oscillates at the cut-off frequency within uncertainty. All but KIC 11031749 exhibit strong amplitude modulation consistent with the oblique pulsator model, confirming their mode geometry and periods of rotation.
</div>
<</linkreplace>>
</div>
<<nobr>>
<<if not $player.has('publications')>>
You add the list of publications to your inventory.
<<pickup '$player' 'publications'>>
<</if>>
<</nobr>>
[[Ask about NASA ADS]]
[[Ask something else|main]]"I'm glad you asked!", Dan says. "This website was built using the [[Twine software|https://twinery.org/]], with SugarCube macros from [[ChapelR|https://github.com/ChapelR/custom-macros-for-sugarcube-2]]".
[[Nod in silent understanding|main]]<div id="map">[img[https://raw.githubusercontent.com/danhey/danhey.github.io/master/images/profile.jpg]]</div>
[[Return|inventory]]"Here you go", Dan passes you another photo. "This is Jacket".
<div id="map">[img[https://raw.githubusercontent.com/danhey/danhey.github.io/master/images/cat1.jpg]]</div>
<<nobr>>
<<if not $player.has('jacket1')>>
You add the photo of Jacket to your inventory.
<<pickup '$player' 'jacket1'>>
<</if>>
<</nobr>>
[[Ask for another photo]]
[[Ask something else|main]]"What, more?! Well, okay, I suppose."
<div id="map">[img[https://raw.githubusercontent.com/danhey/danhey.github.io/master/images/cat2.jpg]]</div>
<<nobr>>
<<if not $player.has('jacket2')>>
You add another photo of Jacket to your inventory.
<<pickup '$player' 'jacket2'>>
<</if>>
<</nobr>>
[[Ask for even more!]]
[[That's enough for now|main]]"Here's me looking pro at the ice rink", Dan points, "I'm about to do a flawless triple axel"
<div id="map">
[img[https://raw.githubusercontent.com/danhey/danhey.github.io/master/images/ice_skate.jpg]]</div>
<<nobr>>
<<if not $player.has('dan2')>>
You add the photo of Dan looking cool to your inventory.
<<pickup '$player' 'dan2'>>
<</if>>
<</nobr>>
[[I NEED MORE]]
[[That's enough..|main]]<div id="map">[img[https://raw.githubusercontent.com/danhey/danhey.github.io/master/images/cat1.jpg]]</div>
[[Return|inventory]]<div id="map">[img[https://raw.githubusercontent.com/danhey/danhey.github.io/master/images/cat2.jpg]]</div>
[[Return|inventory]]<div class="paper">
<div id="publication_title">Daniel's Publications</div>
D.R. Hey et al., (2021), A search for transits among the delta Scuti variables in Kepler, ApJ, <<linkreplace 'Abstract.'>>
<div class="abstract">We search for transits around all known pulsating δ Sct variables (6500 K < Teff < 10 000 K) in the long-cadence Kepler data after subtracting the pulsation signal through an automated routine. To achieve this, we devise a simple and computationally inexpensive method for distinguishing between low-frequency pulsations and transits in light curves. We find 3 new candidate transit events that were previously hidden behind the pulsations, but caution that they are likely to be false positive events. We also examined the Kepler Objects of Interest catalog and identify 13 additional host stars which show δ Sct pulsations. For each star in our sample, we use the non-detection of pulsation timing variations for a planet that is known to be transiting a δ Sct variable to obtain both an upper limit on the mass of the planet and the expected radial velocity semi-amplitude of the host star. Simple injection tests of our pipeline imply 100% recovery for planets of 0.5 RJup or greater. Extrapolating our number of Kepler δ Sct stars, we expect 12 detectable planets above 0.5 RJup in TESS. Our sample contains some of the hottest known transiting planets around evolved stars, and is the first complete sample of transits around δ Sct variables. We make available our code and pulsation-subtracted light curves to facilitate further analysis. </div>
<</linkreplace>>
D.R. Hey et al., (2020), Forward Modeling the Orbits of Companions to Pulsating Stars from Their Light Travel Time Variations, ApJ, <<linkreplace 'Abstract.'>>
<div class="abstract">Mutual gravitation between a pulsating star and an orbital companion leads to a time-dependent variation in path length for starlight traveling to Earth. These variations can be used for coherently pulsating stars, such as the δ Scuti variables, to constrain the masses and orbits of their companions. Observing these variations for δ Scuti stars has previously relied on subdividing the light curve and measuring the average pulsation phase in equally sized subdivisions, which leads to undersampling near periapsis. We introduce a new approach that simultaneously forward models each sample in the light curve and show that this method improves upon current sensitivity limits -- especially in the case of highly eccentric and short-period binaries. We find that this approach is sensitive enough to observe Jupiter mass planets around δ Scuti stars under ideal conditions, and use gravity-mode pulsations in the subdwarf B star KIC 7668647 to detect its companion without radial velocity data. We further provide robust detection limits as a function of the signal-to-noise ratio of the pulsation mode and determine that the minimum detectable light travel time amplitude for a typical Kepler δ Scuti is around 2 s. This new method significantly enhances the application of light travel time variations to detecting short-period binaries with pulsating components, and pulsating A-type exoplanet host stars, especially as a tool for eliminating false positives.
</div>
<</linkreplace>>
D.R. Hey et al., (2019), Six new rapidly oscillating Ap stars in the Kepler long-cadence data using super-Nyquist asteroseismology, MNRAS,
<<linkreplace 'Abstract.'>>
<div class="abstract">We perform a search for rapidly oscillating Ap stars in the Kepler long-cadence data, where true oscillations above the Nyquist limit of 283.21 μHz can be reliably distinguished from aliases as a consequence of the barycentric time corrections applied to the Kepler data. We find evidence for rapid oscillations in six stars: KIC 6631188, KIC 7018170, KIC 10685175, KIC 11031749, KIC 11296437, and KIC 11409673, and identify each star as chemically peculiar through either pre-existing classifications or spectroscopic measurements. For each star, we identify the principal pulsation mode, and are able to observe several additional pulsation modes in KIC 7018170. We find that KIC 7018170 and KIC 11409673 both oscillate above their theoretical acoustic cut-off frequency, whilst KIC 11031749 oscillates at the cut-off frequency within uncertainty. All but KIC 11031749 exhibit strong amplitude modulation consistent with the oblique pulsator model, confirming their mode geometry and periods of rotation.
</div>
<</linkreplace>>
</div>
[[Return|inventory]][img[https://raw.githubusercontent.com/danhey/danhey.github.io/master/images/email.png]]
[[Return|inventory]]<<goto "Projects">><div id="crt">
<div class="terminal">
\> Software:
\> [[Balmung|https://github.com/danhey/balmung]] - Blazin' fast iterative prewhitening of time-series data.
\> [[Echelle|https://danhey.github.io/echelle/]] - Echelle diagrams! Who doesn't love them.
\> [[Maelstrom|https://danhey.github.io/maelstrom/]] - Foward modelling of orbits using pulsation timing.
\> [[Bunyip|https://github.com/danhey/bunyip]] - Some useful tools for fitting eclipsing binaries.
\> Visualisations:
\> [[Eddy|https://danhey.github.io/Eddy/]] - A JavaScript applet to visualise time delay orbits!
\> [[TESSeb|https://danhey.github.io/tessEB/]] - An interactive period-magnitude diagram of the TESS eclipsing binaries.
\> [[CMDTess|https://danhey.github.io/CMDTess/]] - An interactive color-magnitude diagram of the entire TESS southern hemisphere.
\> END OF FILE
\> <span class="blinking-cursor">|</span>
</div>
</div>
[[Return|inventory]]"You know, I'm not made of photos". Dan looks grumpy now. Maybe you should ask again later...
[[That's enough..|main]]<div id="map">
[img[https://raw.githubusercontent.com/danhey/danhey.github.io/master/images/ice_skate.jpg]]</div>
[[Return|inventory]]
<canvas width="400" height="400" id="game"></canvas>
<script>
var canvas = document.getElementById('game');
var context = canvas.getContext('2d');
var grid = 16;
var count = 0;
var snake = {
x: 160,
y: 160,
// snake velocity. moves one grid length every frame in either the x or y direction
dx: grid,
dy: 0,
// keep track of all grids the snake body occupies
cells: [],
// length of the snake. grows when eating an apple
maxCells: 4
};
var apple = {
x: 320,
y: 320
};
// get random whole numbers in a specific range
// @see https://stackoverflow.com/a/1527820/2124254
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min)) + min;
}
// game loop
function loop() {
requestAnimationFrame(loop);
// slow game loop to 15 fps instead of 60 (60/15 = 4)
if (++count < 4) {
return;
}
count = 0;
context.clearRect(0,0,canvas.width,canvas.height);
// move snake by it's velocity
snake.x += snake.dx;
snake.y += snake.dy;
// wrap snake position horizontally on edge of screen
if (snake.x < 0) {
snake.x = canvas.width - grid;
}
else if (snake.x >= canvas.width) {
snake.x = 0;
}
// wrap snake position vertically on edge of screen
if (snake.y < 0) {
snake.y = canvas.height - grid;
}
else if (snake.y >= canvas.height) {
snake.y = 0;
}
// keep track of where snake has been. front of the array is always the head
snake.cells.unshift({x: snake.x, y: snake.y});
// remove cells as we move away from them
if (snake.cells.length > snake.maxCells) {
snake.cells.pop();
}
// draw apple
context.fillStyle = 'red';
context.fillRect(apple.x, apple.y, grid-1, grid-1);
// draw snake one cell at a time
context.fillStyle = 'green';
snake.cells.forEach(function(cell, index) {
// drawing 1 px smaller than the grid creates a grid effect in the snake body so you can see how long it is
context.fillRect(cell.x, cell.y, grid-1, grid-1);
// snake ate apple
if (cell.x === apple.x && cell.y === apple.y) {
snake.maxCells++;
// canvas is 400x400 which is 25x25 grids
apple.x = getRandomInt(0, 25) * grid;
apple.y = getRandomInt(0, 25) * grid;
}
// check collision with all cells after this one (modified bubble sort)
for (var i = index + 1; i < snake.cells.length; i++) {
// snake occupies same space as a body part. reset game
if (cell.x === snake.cells[i].x && cell.y === snake.cells[i].y) {
snake.x = 160;
snake.y = 160;
snake.cells = [];
snake.maxCells = 4;
snake.dx = grid;
snake.dy = 0;
apple.x = getRandomInt(0, 25) * grid;
apple.y = getRandomInt(0, 25) * grid;
}
}
});
}
// listen to keyboard events to move the snake
document.addEventListener('keydown', function(e) {
// prevent snake from backtracking on itself by checking that it's
// not already moving on the same axis (pressing left while moving
// left won't do anything, and pressing right while moving left
// shouldn't let you collide with your own body)
// left arrow key
if (e.which === 37 && snake.dx === 0) {
snake.dx = -grid;
snake.dy = 0;
}
// up arrow key
else if (e.which === 38 && snake.dy === 0) {
snake.dy = -grid;
snake.dx = 0;
}
// right arrow key
else if (e.which === 39 && snake.dx === 0) {
snake.dx = grid;
snake.dy = 0;
}
// down arrow key
else if (e.which === 40 && snake.dy === 0) {
snake.dy = grid;
snake.dx = 0;
}
});
// start the game
requestAnimationFrame(loop);
</script>
[[Return|inventory]]OK! That's fine.
I am Daniel Hey, a postdoctoral research at the University of Hawaii. My research interests are asteroseismology and galactic archaeology.
You can contact me at danielhey@outlook.com
[[Return|main]]Dan gives the monitor on his desk a sturdy smack. On closer inspection, it seems to be a a [[hastily repurposed link that now points to his NASA ADS library|https://ui.adsabs.harvard.edu/public-libraries/WyAyuLOPRNSSCAoYZhYIpQ]].
"This is just between you and me", Dan leans in close, his eyes darting to the door to make sure no one else is listening, "I never really got the hang of Google Scholar".
[[Ask something else|main]]