Nadia Pantidi

55 papers A* 15A 7B 4C 2Misc 7Journal 9Unranked 11
YearRankTypeTitle / Venue / Authors
2026 A* conf
CHI
Kushani Tharushika Perera, Nadia Pantidi, Holger Regenbrecht
2025 A* conf
ISMAR
Kushani Tharushika Perera, Holger Regenbrecht, Nadia Pantidi, Tobias Langlotz
2025 A* conf
VR
Jacob Young, Matthew Wood, Nadia Pantidi, Dene Carroll, James Crampton, Cliff Atkins
2025 Misc ed.
OZCHI
Joel Fredericks, Soojeong Yoo, Tram Thi Minh Tran, Nadia Pantidi, Thuong Hoang, Marius Hoggenmueller, Glenda Caldwell, Benjamin Tag, Josh Andres, Hilary Davis, Marie Boden, Howe Zhu, Joel Harman, Jessica Rahman
2025 Misc conf
OZCHI
Faisal Zaman, Nadia Pantidi, Jacob Young, Rafael Kuffner dos Anjos, Tom Trengrove, James Drown, Jonathan Lee
2024 A* conf
CHI
Jacob Young, Jennifer Ferreira, Nadia Pantidi
2024 J jnl
Comput. Support. Cooperative Work.
Maria Murray, Nadia Pantidi, John McCarthy
2024 A conf
Conference on Designing Interactive Systems
Maria Murray, Nadia Pantidi, John C. McCarthy
2024 Misc conf
OZCHI
Kushani Tharushika Perera, Tobias Langlotz, Nadia Pantidi, Holger Regenbrecht
2024 B conf
VRST
Daniel Medeiros, Graham A. Wilson, Maurício Sousa, Nadia Pantidi, Mark McGill, Diego Drago, Stephen A. Brewster
2024 Misc conf
OZCHI
Jennifer Ferreira, Jacob Young, Kevin Shedlock, Ian Welch, Lisa C. Patterson, Hineani Roberts, Nadia Pantidi
2024 J jnl
Comput. Support. Cooperative Work.
Maria Murray, Geertje Slingerland, Nadia Pantidi, John McCarthy
2024 J jnl
IEEE Access
Holger Regenbrecht, Alistair Knott, Jennifer Ferreira, Nadia Pantidi
2024 Misc conf
OZCHI
Kushani Tharushika Perera, Tobias Langlotz, Nadia Pantidi, Holger Regenbrecht
2023 J jnl
IEEE Trans. Vis. Comput. Graph.
Jacob Young, Nadia Pantidi, Matthew Wood
2023 Misc ed.
OZCHI
Judy Bowen, Nadia Pantidi, Dana McKay, Jennifer Ferreira, Alessandro Soro, Rachel Blagojevic, Chris Lawrence, Nic Vanderschantz, Te Taka Keegan, Jane Turner, Hilary Davis, Mark D. Apperley, Jacob Young
2022 J jnl
IEEE Trans. Vis. Comput. Graph.
Daniel Medeiros, Mark McGill, Alexander Ng, Robert McDermid, Nadia Pantidi, Julie R. Williamson, Stephen A. Brewster
2022 A* conf
VR
Jung-Woo Noel Park, Holger Regenbrecht, Stuart Duncan, Steven Mills, Robert W. Lindeman, Nadia Pantidi, Hemi Whaanga
2022 C conf
IMX
Jacob Young, Stephen Thompson, Holly Downer, Benjamin Allen, Nadia Pantidi, Lukas Stoecklein, Taehyun Rhee
2021 A conf
Conference on Designing Interactive Systems
Roberto Cibin, Sarah Robinson, Nicola J. Bidwell, Conor Linehan, Laura Maye, Nadia Pantidi, Maurizio Teli
2021 A* conf
VR
Daniel Medeiros, Rafael Kuffner dos Anjos, Nadia Pantidi, Kun Huang, Maurício Sousa, Craig Anslow, Joaquim Jorge
2021 J jnl
ACM Trans. Comput. Hum. Interact.
Sarah Robinson, Nicola J. Bidwell, Roberto Cibin, Conor Linehan, Laura Maye, John C. McCarthy, Nadia Pantidi, Maurizio Teli
2021 conf
VR Workshops
Songhai Zhang, Chen Wang, Yizhuo Zhang, Fang-Lue Zhang, Nadia Pantidi, Shi-Min Hu
2020 A* conf
CHI
Laura Maye, Sarah Robinson, Nadia Pantidi, Liana Ganea, Oana Ganea, Conor Linehan, John C. McCarthy
2020 conf
PDC (2)
Sarah Robinson, Nicola J. Bidwell, Laura Maye, Nadia Pantidi, Conor Linehan
2020 A* conf
CHI
Sarah Foley, Nadia Pantidi, John C. McCarthy
2019 A* conf
CHI
Sarah Foley, Nadia Pantidi, John C. McCarthy
2019 conf
C&T
Maria Murray, Nadia Pantidi, Trevor Hogan
2019 A* conf
CHI
Sarah Foley, Daniel Welsh, Nadia Pantidi, Kellie Morrissey, Tom Nappey, John C. McCarthy
2019 J jnl
ACM Trans. Comput. Hum. Interact.
Sarah Foley, John C. McCarthy, Nadia Pantidi
2019 J jnl
CoRR
Leigh Clark, Nadia Pantidi, Orla Cooney, Philip R. Doyle, Diego Garaialde, Justin Edwards, Brendan Spillane, Christine Murad, Cosmin Munteanu, Vincent Wade, Benjamin R. Cowan
2019 A* conf
CHI
Leigh Clark, Nadia Pantidi, Orla Cooney, Philip R. Doyle, Diego Garaialde, Justin Edwards, Brendan Spillane, Emer Gilmartin, Christine Murad, Cosmin Munteanu, Vincent Wade, Benjamin R. Cowan
2018 conf
CHI Extended Abstracts
Reem Talhouk, Kellie Morrissey, Sarah E. Fox, Nadia Pantidi, Emma Simpson, Lydia Emma Michie, Madeline Balaam
2017 B conf
MobileHCI
Benjamin R. Cowan, Nadia Pantidi, David Coyle, Kellie Morrissey, Peter Clarke, Sara Al-Shehri, David Earley, Natasha Bandeira
2017 Misc conf
OZCHI
Nadia Pantidi, Paris Selinas, Martin Flintham, Sharon Baurley, Tom Rodden
2017 C conf
OpenSym
Debora Jeske, Mammed Bagher, Nadia Pantidi
2017 conf
BCS HCI
Debora Jeske, Mammed Bagher, Nadia Pantidi
2017 A* conf
CHI
Kellie Morrissey, John C. McCarthy, Nadia Pantidi
2016 A conf
Conference on Designing Interactive Systems
Kellie Morrissey, Gavin Wood, David Philip Green, Nadia Pantidi, John C. McCarthy
2016 A conf
Conference on Designing Interactive Systems (Companion Volume)
Khaled Bachour, Nadia Pantidi, Tom A. Rodden
2016 conf
BCS HCI
Paul Tennent, Nadia Pantidi, Steve Benford
2015 conf
C&T
Nadia Pantidi, Jennifer Ferreira, Mara Balestrini, Mark J. Perry, Paul Marshall, John C. McCarthy
2015 J jnl
Pers. Ubiquitous Comput.
Andy Crabtree, Tom Rodden, Peter Tolmie, Richard Mortier, Tom Lodge, Patrick Brundell, Nadia Pantidi
2014 conf
PerCom Workshops
Nadia Pantidi, Stuart Moran, Khaled Bachour, Tom Rodden, Davide Zilli, Geoff V. Merrett, Alex Rogers
2014 A* conf
CHI
Stuart Moran, Nadia Pantidi, Tom Rodden, Alan Chamberlain, Chloe Griffiths, Davide Zilli, Geoff V. Merrett, Alex Rogers
2014 conf
COOP
Joel E. Fischer, Wenchao Jiang, Andruid Kerne, Chris Greenhalgh, Sarvapali D. Ramchurn, Steven Reece, Nadia Pantidi, Tom Rodden
2013 A* conf
IJCAI
Tom Rodden, Joel E. Fischer, Nadia Pantidi, Khaled Bachour, Stuart Moran
2013 A* conf
CHI
Tom Rodden, Joel E. Fischer, Nadia Pantidi, Khaled Bachour, Stuart Moran
2013 A conf
IUI
Joel E. Fischer, Sarvapali D. Ramchurn, Michael A. Osborne, Oliver Parson, Trung Dong Huynh, Muddasser Alam, Nadia Pantidi, Stuart Moran, Khaled Bachour, Steven Reece, Enrico Costanza, Tom Rodden, Nicholas R. Jennings
2013 A conf
IUI
Stuart Moran, Nadia Pantidi, Khaled Bachour, Joel E. Fischer, Martin Flintham, Tom Rodden, Simon Evans, Simon Johnson
2011 A conf
CSCW
Paul Marshall, Yvonne Rogers, Nadia Pantidi
2010 B conf
ICALT
Nadia Pantidi
2009 conf
INTERACT (2)
Nadia Pantidi, Yvonne Rogers, Hugh Robinson
2009 B conf
TEI
Simon Holland, Paul Marshall, Jon Bird, Nick Sheep Dalton, Richard Morris, Nadia Pantidi, Yvonne Rogers, Andy Clark
2008 conf
BCS HCI (2)
Nadia Pantidi, Hugh Robinson, Yvonne Rogers
s3-storage/s3_test.py
← Index s3-storage/s3_test.py python
#!/usr/bin/env python3
"""
Simple script to test S3 connectivity and download.
Usage: python s3_test.py
"""

import os
import time
import tempfile
from minio import Minio
from minio.error import S3Error
from dotenv import load_dotenv

# Load environment variables
load_dotenv()

def get_minio_client():
    """Create and return a Minio client using credentials from .env file"""
    endpoint = os.getenv("S3_ENDPOINT")
    access_key = os.getenv("S3_ACCESS_KEY")
    secret_key = os.getenv("S3_SECRET_KEY")
    secure = True 
    
    print(f"Connecting to S3 endpoint: {endpoint} (secure={secure})")
    
    return Minio(
        endpoint=endpoint,
        access_key=access_key,
        secret_key=secret_key,
        secure=secure
    )

def test_connection():
    """Test basic connectivity to S3"""
    try:
        client = get_minio_client()
        
        # Try to list buckets as a basic connectivity test
        buckets = client.list_buckets()
        print(f"Successfully connected to S3. Found {len(buckets)} buckets:")
        for bucket in buckets:
            print(f"  - {bucket.name}")
        
        return client
    except Exception as e:
        print(f"Failed to connect to S3: {e}")
        return None

def test_bucket_access(client, bucket_name):
    """Test access to a specific bucket"""
    try:
        exists = client.bucket_exists(bucket_name)
        if exists:
            print(f"Bucket '{bucket_name}' exists and is accessible")
            
            # List a few objects to verify access
            count = 0
            objects = []
            for obj in client.list_objects(bucket_name, recursive=True):
                print(f"  - {obj.object_name} ({obj.size} bytes)")
                objects.append(obj)
                count += 1
                if count >= 5:
                    break
            
            print(f"Found at least {len(objects)} objects in bucket")
            return objects
        else:
            print(f"Bucket '{bucket_name}' does not exist or is not accessible")
            return []
    except Exception as e:
        print(f"Error accessing bucket '{bucket_name}': {e}")
        return []

def test_download(client, bucket_name, object_name):
    """Test downloading a specific object"""
    try:
        print(f"Attempting to download: {object_name}")
        start_time = time.time()
        
        # Create a temporary file to store the downloaded object
        with tempfile.NamedTemporaryFile(delete=False) as temp_file:
            temp_path = temp_file.name
        
        # Download the object
        client.fget_object(bucket_name, object_name, temp_path)
        
        # Check if the file was downloaded successfully
        file_size = os.path.getsize(temp_path)
        elapsed_time = time.time() - start_time
        
        print(f"Download successful: {file_size} bytes in {elapsed_time:.2f} seconds")
        print(f"Average download speed: {file_size/elapsed_time/1024:.2f} KB/s")
        
        # Clean up
        os.unlink(temp_path)
        return True
    except S3Error as e:
        print(f"S3 Error during download: {e}")
        return False
    except Exception as e:
        print(f"Error downloading object: {e}")
        return False

def main():
    """Main function to run all tests"""
    print("=== S3 Connectivity Test ===")
    
    # Test basic connectivity
    client = test_connection()
    if not client:
        return
    
    # Get bucket name from environment variable
    bucket_name = "redb"
    print(f"\n=== Testing Access to Bucket: {bucket_name} ===")
    objects = test_bucket_access(client, bucket_name)
    
    if objects:
        # Test downloading the first object
        first_object = objects[0].object_name
        print(f"\n=== Testing Download of Object: {first_object} ===")
        test_download(client, bucket_name, first_object)
        
        # If the first one worked, let's try a specific file from the error log
        print(f"\n=== Testing Download of Specific Object ===")
        specific_object = "00/06/00062073114defac39cb7ab9cb99a0b77c535a09a241c60d47ddd0b6431629f1.zip"
        test_download(client, bucket_name, specific_object)

if __name__ == "__main__":
    main()