Category Archives: Research

Research

Mastering Android’s Find My Device Network

Google’s Find My Device Network: A Game-Changer for Android Users

In the ever-evolving world of technology, it’s no secret that Apple’s AirTags have been a game-changer for iPhone users. But what about Android users? Well, worry not, as Google has just launched its own Find My Device network, which is set to revolutionize the way we locate our lost smartphones and tablets.

The feature, which is available now in the US and Canada, uses Bluetooth proximity to locate devices, much like Apple’s AirTags. This means that other gadgets in your home network can help relay the location of your lost device. The best part? You don’t have to wait for a specific version of Android to hit the market to get access to this feature.

But that’s not all. Google has also announced that the Find My Device network will soon support smart tags from Pebblebee, Chipolo, Eufy, and JioTag. These tags can be attached to your keys, wallet, or any other item you want to keep track of. And with the Find My Device app for Android, you’ll be able to locate these items with ease.

But what about security concerns? Google has addressed these worries by ensuring that the Find My Device network is end-to-end encrypted. This means that no one, not even Google, can identify the owners of the nearby Android devices that provide location data. Additionally, the app doesn’t collect data on surrounding Android devices, providing an extra layer of privacy protection.

So how does it work? Well, when you open the Find My Device mobile app, you’ll see a pinpointed location for your lost device, comprised of aggregated location information from the device itself and other detectable gadgets in the area. This means that you can use devices in your home network to help locate items like keys buried under a pillow on the couch.

One of the standout features of the Find My Device network is its ability to provide proximity information for lost devices. Using Bluetooth, the app can show the proximity of your lost device to the nearest Nest device in your smart home, providing a reference point for locating the item.

The Find My Device network is compatible with any device running Android 9 and above. To get started, simply download the app from the Play Store and activate it. Once enabled, the network will turn on by default. You can also check on devices through the Find My Device browser app.

While the Find My Device network is a game-changer for Android users, there are a few limitations to note. Currently, only a few trackers, including Chipolo and Pebblebee, work with the FMD network. Eufy and JioTag’s respective offerings will be available later this year. Unfortunately, Samsung’s Galaxy Tags do not work with the Find My Device network.

In conclusion, Google’s Find My Device network is a much-needed feature for Android users. With its ability to locate lost devices and smart tags using Bluetooth proximity, this feature is set to revolutionize the way we keep track of our belongings. And with its end-to-end encryption and privacy safeguards, you can rest assured that your location data is protected. So why wait? Download the Find My Device app for Android today and start locating your lost items with ease!

Upgrade Your Home’s Safety

Replacing a Faulty Deta 1121 Carbon Monoxide Alarm with a New Deta 1169

As I sat in my kitchen, enjoying a warm cup of coffee on a chilly morning, my Deta 1121 Carbon Monoxide alarm suddenly let out a loud beep, indicating an end-of-life failure. My initial thought was to simply replace the alarm with a new one of the same model. However, I quickly realized that the Deta 1121 has been discontinued and replaced by the newer Deta 1169 model. This left me with a dilemma – how could I replace my faulty alarm with a more modern and reliable one?

After conducting several internet searches, I discovered that many people have faced the same issue, but there is limited useful information available online. Therefore, I decided to share my experience of replacing my Deta 1121 with a new Deta 1169 Carbon Monoxide alarm, in the hope that it will help others who may be facing similar challenges.

Sourcing the New Alarm

The first step was to find a reseller for the Deta 1169 Carbon Monoxide alarm. Since Deta does not supply directly to consumers, I had to look for a reliable online retailer. After comparing prices and reviews, I found tradesparky.com to be the best option, with a price of £57.00 including postage and packing (link here).

Installation Tips

Before starting the installation, it is essential to turn off the fuse at the fuse box that supplies power to the existing Deta 1121. This will prevent any electrical shock or damage to the new alarm. In my case, the separate labelled fuse made it easy to identify and switch off the power supply. However, if you are unsure, look for the lights to be turned off when the power is disconnected.

Once the old base is removed, simply present the new base to the ceiling and fit it. I used one of the existing screw holes but needed to drill a new one for the other. In order to fit the wiring and mount over the previous base, I had to drill a new hole for the wires as there was no easy knockout on the back. This may or may not affect you, depending on your specific installation.

Interconnection to Smoke Alarms

The new Deta 1169 Carbon Monoxide alarm is only compatible with the 116 smoke alarms. Since my existing smoke alarms are model 115, I had to disconnect them for now and sleeve the wire. As shown in the image, the 115 says it needs to be replaced in March 2026. Therefore, I may well upgrade them to 116 smoke alarms once they start to fail.

Conclusion

Replacing a faulty Deta 1121 Carbon Monoxide alarm with a new Deta 1169 is not a straightforward process, but it can be done with some careful planning and installation. By following the tips outlined above, you should be able to replace your old alarm with a more modern and reliable one. Remember to turn off the power supply before starting the installation, and be comfortable working with electricity.

Useful links:

* <https://www.tradesparky.com/fire-and-security/fire-alarm-and-detection-systems/carbon-monoxide-systems/deta-1169-carbon-monoxide-alarm-230v-whi>

* <https://www.deta.co.uk/news/news-archive/carbon-monoxide-co-alarm>

* <https://www.deta.co.uk/products/safety-alarms/carbon-monoxide-alarm-240v-with-9v-replaceable-battery-back-up-1169>

Thank you for reading, and I hope this blog post has been useful in helping you replace your faulty Deta 1121 Carbon Monoxide alarm with a new Deta 1169. Good luck!

Unlocking the Power of Word Embeddings in AI

Hey there! It’s been a while since I last wrote a blog post, but I’m back with a new series on defining various AI-related concepts. Today, we’re going to talk about word embeddings.

Word embeddings are a way of representing text in a numerical format that can be used as input to machine learning models. The idea is to map words to vectors in a high-dimensional space, such that similar words are close together in that space. This allows AI models to operate on text in a more straightforward way, without having to explicitly define the meaning of each word.

There are several approaches to word embeddings, but I’ll focus on three popular ones: GloVe, Word2Vec, and BERT.

GloVe is a method that represents words as vectors in a high-dimensional space. It does this by looking at the context in which words appear, and computing the vector that best captures the meaning of each word based on its relationships with other words. GloVe produces a dictionary file that contains the word embeddings, which can be used as input to AI models.

Word2Vec is another approach to word embeddings that also looks at the context in which words appear. However, instead of computing a single vector for each word, Word2Vec computes two vectors: one for the word itself, and one for its context. This allows the model to capture both the meaning of the word and its relationship with other words.

BERT (Bidirectional Encoder Representations from Transformers) is a more recent approach to word embeddings that uses a combination of GloVe and Word2Vec. BERT uses a multi-layer bidirectional transformer encoder to generate contextualized representations of words in a sentence. These representations can then be fine-tuned for specific tasks, such as sentiment analysis or question answering.

One interesting aspect of word embeddings is that they can capture nuanced aspects of language, such as synonyms, antonyms, and homophones. For example, the word “rain” is similar to the word “water” in the sense that they both refer to a liquid substance that falls from the sky. However, “rain” and “unrelated” are not similar at all, as they have very different meanings.

I hope this gives you a good introduction to word embeddings! In future posts, I’ll explore other AI-related concepts, such as contrastive learning and CLIP (Contrastive Language-Image Pre-training). If you have any questions or topics you’d like me to cover, please leave a comment below.

Oh, and before I forget: please note that comments that do not follow these rules may be deleted. Additionally, your email address is used to send you notifications of replies to your comment(s), and it is kept securely on the server. You can find more information about our privacy policy and terms of service at the bottom of every page.

NLDL-2024 Writeup

Thank you for sharing your experience at NLDL-2024! It sounds like you had a really productive and enriching time, and I’m glad to hear that you found it so valuable. Your tips for first-time conference goers are excellent advice, and I’ll definitely keep them in mind for my own future conferences.

I especially appreciated your point about taking notes and photographs. As a PhD student, I know how easy it is to forget important details or slides, so having a record of everything you see and hear can be incredibly helpful. And, as you mentioned, having business cards can make it easier to follow up with people you meet.

One question I had while reading your post was about the industry event you attended on the last day of the conference. Can you tell me a bit more about that? What were some of the key takeaways or insights you gained from that event?

Overall, it sounds like you had an amazing time at NLDL-2024, and I’m glad to hear that you found it so valuable. Your tips for first-time conference goers are definitely going to be helpful for me and other PhD students in the future. Keep up the good work!

Best regards,

Mythdael.

LaTeX Templates for Effective Writing with the University of Hull’s Referencing Style

Hello there! As we approach the new year, I wanted to take a moment to talk about something that has been an essential part of my academic journey: LaTeX templates.

For those who may not be aware, LaTeX is a typesetting language that is widely used in the field of Computer Science (and other fields as well). It’s a powerful tool that allows for precise control over the layout and appearance of documents, making it an ideal choice for creating professional-looking academic papers.

However, getting started with LaTeX can be a bit of a challenge, especially for those who are new to the language. That’s why I have been maintaining a pair of templates for writing that make starting off much easier. These templates include a .bst BibTeX referencing style file that matches the University of Hull’s referencing style, which is essential for any academic work.

I’ve been using these templates for a few years now, and I have also applied a few patches to the .bst file to handle some edge cases that it didn’t originally support. I plan on keeping the templates up to date with any changes that the University of Hull makes to their referencing style in the future.

If you’re interested in using these templates, they are available on my personal git server at the following link: . Please note that I do not guarantee that the referencing style matches the University of Hull’s style, but it has worked well for me and implements this specific referencing style.

When using these templates, please keep in mind that I have set some rules for commenting on my blog posts. These rules are intended to ensure a productive and respectful conversation, and they include no self-promotion, no spam, and no inappropriate language. Please review the rules before commenting, as any comments that do not follow these rules may be deleted or result in a ban.

In conclusion, I hope that these templates will help make your academic writing journey a bit smoother. If you have any questions or need further assistance, please don’t hesitate to contact me. Happy writing!

Unleashing the Power of Rainfall Radar

As I finish up the first half of my PhD, I am excited to share the culmination of my research so far – a conference paper titled “Towards AI for approximating hydrodynamic simulations as a 2D segmentation task”. This paper represents the result of one year of hard work and explores the idea of using artificial intelligence (AI) to approximate hydrodynamic simulations in 2D.

Traditional predictive simulations and remote sensing techniques for forecasting floods are based on fixed and spatially restricted physics-based models. These models are computationally expensive and can take many hours to run, resulting in predictions made based on outdated data. They are also spatially fixed, and unable to scale to unknown areas. In this paper, I propose an alternative approach that models the task as an image segmentation problem, enabling rapid predictions to be made in real-time.

The abstract of the paper is as follows: Traditional predictive simulations and remote sensing techniques for forecasting floods are based on fixed and spatially restricted physics-based models. These models are computationally expensive and can take many hours to run, resulting in predictions made based on outdated data. They are also spatially fixed, and unable to scale to unknown areas. By modelling the task as an image segmentation problem, an alternative approach using artificial intelligence to approximate the parameters of a physics-based model in 2D is demonstrated, enabling rapid predictions to be made in real-time.

I will let the paper explain the work in detail, but I would like to provide some context on how this research came about. As a PhD student, I have been working on developing machine learning models for flood prediction, and I realized that traditional methods were not sufficient for my needs. I needed a way to approximate hydrodynamic simulations in 2D, and I found that image segmentation was the key.

Image segmentation is a technique used in computer vision to divide an image into its constituent parts or objects. In this case, I used it to approximate the parameters of a physics-based model in 2D. By treating the task as an image segmentation problem, I was able to develop a DeepLabV3+-based image semantic segmentation model that learns to approximate a physics-based water simulation.

The development of this model was not without its challenges. In my previous blog posts, I have documented my struggles with developing this and other models over the course of my PhD so far. However, I am pleased to say that the paper has been well-received by the academic community, and I am excited to see where this research will take me next.

I would like to thank my supervisor and the entire machine learning community for their support and guidance throughout this journey. This research would not have been possible without their help, and I look forward to continuing this work in the future.

In conclusion, this paper represents a significant milestone in my PhD journey, and I am proud to have had the opportunity to contribute to the field of machine learning for flood prediction. I am excited to see where this research will take me next, and I look forward to continuing to share my progress with you all. Thank you for reading!

Exciting Adventures Ahead

Heya! It’s been a moment since my last update, but I have some exciting news to share with you all! As you might have guessed by the cool new banner, I have had a paper accepted for the Northern Lights Deep Learning Conference 2024! The conference will be held on 9th – 11th January 2024 in Tromsø, Norway, and I have every intention of attending in person to present my rainfall radar research. ️

The paper’s title is “Towards AI for approximating hydrodynamic simulations as a 2D segmentation task”, and I can’t wait to share more about it with you all soon! However, I’m not sure if I’m allowed to share the paper just yet, so please bear with me while I figure that out.

In the meantime, I do have a Cool Poster that I’ll be sharing here after the event, so keep an eye out for it in the new Research section of my main homepage! I’m super excited to share all my NLDL 2024 updates with you all, and I hope this cool new banner gets some use bringing you more posts about (and, hopefully, from!) NLDL 2024!

Oh, and before I forget, please note that comments that don’t follow these rules may be deleted and could result in a ban for the offending user. These rules may also be amended without notice, so please check them often. Thank you for your understanding!

That’s all for now, but I’ll be back soon with more updates and shares from NLDL 2024! Thanks for reading, and have a great day!

Share Your Content on Fediverse with Ease

Heya! Got another short port for you here. You might notice that on all posts now there’s a new share button (those buttons that take you to difference places with a link to this site to share it elsewhere) that looks like this: If you haven’t seen it before, this is the logo for the Fediverse, a decentralized network of servers and software that all interoperate (find out more here: ).

Since creating my Mastodon account, I’ve wanted some way to allow everyone here to share my posts on the Fediverse if they feel that way inclined. Unlike other centralized social media platforms like Reddit etc., the Fediverse doesn’t have a ‘central’ server that you can link to. To this end, you need a landing page to act as a middleman.

There are a few options out there already (e.g. share2fedi), but I wanted something specific and static, so I built my own solution. It looks like this: (Above: A screenshot of Share2Fediverse.) It’s basically a bit of HTML + CSS for styling, a splash of JavaScript to make the interface function, and remember the instance + software you select for next time via local storage. Check it out at this demo link: /#text=The%20fediverse%20is%20cool!%20%E2%9C%A8

Currently, it supports sharing to Mastodon, GNU Social, and Diaspora. As it turns out, finding the share URL (e.g., for Mastodon on fediscience.org, it’s ) is more difficult than it sounds, as I haven’t found it to be well advertised. I’d love to add e.g., Pixelfed, Kbin, GoToSocial, Pleroma, and more…. but I need the share URL!

If you know the share URL for any piece of Fediverse software, please do leave a comment below. If you’re interested in the source code, you can find it here: …if you’d really like to help out, you could even open a pull request! The file you want to edit is src/lib/software_db.mjs – though if you leave a comment here or open an issue, I’ll pick it up and add any requests.

See you on the Fediverse! o/

Any comments that are seen to not follow these rules will probably be deleted. It may also result in a ban for the offending user such that they are unable to view the site for an arbitrary length of time.

These rules may also be amended without notice, so please check them often.

Your email address, should you choose it, is used to send you notifications of replies to your comment(s). It is used to display your Gravatar.

Your email address will be kept securely on the server and will not be given to anyone else. You will not receive any spam either.

If you do not wish to receive emails anymore, please contact me (you can find my email address at the bottom of every page) and I will prevent emails from being sent to your email address. I will eventually write an automated system to handle this but for now, I will deal with requests manually. I should get back to you within 48 hours. Note that your (gr)avatar will also disappear and be replaced by an identicon.

Built by Starbeamrainbowlabs. Feedback can be sent to feedback at starbeamrainbowlabs dot com. Comments can be made on all blog posts. Some icons from the awesome Open Iconic icon set.

Privacy Policy | Terms of Service | Licensing Information

Blog post content available under

Design © Mythdael 2024. More information available on the licensing page.

Monkeying Around with npm Packages

As a researcher in the field of artificial intelligence, I often find myself needing to modify existing npm packages to fit my specific needs. However, monkeypatching these packages can be a delicate task, as it can easily lead to unintended consequences and make the package unusable. In this blog post, I want to share a clever hack I used to disable gamepad support in the Babylon.js library, which is a popular JavaScript framework for building 3D experiences.

Background

———-

Babylon.js is a powerful tool for building 3D experiences on the web. However, its gamepad support is horribly broken, and I needed to disable it for my demo. Unfortunately, monkeypatching the library is not straightforward, as it can easily lead to unintended consequences and make the package unusable.

The Solution

————-

To disable gamepad support in Babylon.js, I used a tool called patch-package. Patch-package is a lovely little tool that enables you to generate patch files simply by editing a given npm package in-situ. It also automatically and transparently applies the generated patch files on npm install, requiring no additional setup steps.

Here’s how I used patch-package to disable gamepad support in Babylon.js:

1. Install patch-package:

“`bash

npm install patch-package

“`

2. Edit the Babylon.js package:

First, I had to switch from the main Babylon.js package to @babylon/core, which contains the source code. Unfortunately, the official documentation for Babylon.js is rather inconsistent, which can lead to confusion using the latter. However, once I figured out how the imports worked, it all came out in the wash.

Next, I directly edited the files associated with the target package in node_modules/. To do this, you need to open the package’s directory in your code editor and edit the files directly.

3. Generate the patch file:

Once you’ve made the desired changes to the package, generate the patch file like so:

“`bash

patch-package –package-name @babylon/core –write-patches

“`

This should create a patch file in the directory patches/ alongside your package.json file.

4. Apply the patch:

To apply the patch, open up your package.json file for editing and add the following to the scripts object:

“`json

“scripts”: {

“patch”: “patch-package –package-name @babylon/core”

}

“`

This will automatically apply the generated patch file on npm install.

5. Commit the changes:

Finally, commit your changes to your Git/Mercurial/whatever repository. It’s important to keep a record of your modifications, especially if you plan to reuse this hack in future projects.

Conclusion

———-

In this blog post, I shared a clever hack for disabling gamepad support in Babylon.js using patch-package. This technique can be useful when you need to modify existing npm packages without monkeypatching them. Just keep in mind that monkeypatching can still have unintended consequences, so always make sure you understand the risks before proceeding.

Unlocking the Secrets of the Science Festival Demo

This is a blog post about a research project on social media flooding, and it provides an overview of the demo that was presented at a conference. The author discusses how they used Babylon.js to create the graphics for the demo and how they optimized the location polling using an octree. They also explain how they implemented the memory pool for the textures and how they monkeypatched the npm package to disable the inbuilt support for gamepads. The post provides a detailed explanation of the techniques used to create the demo and the challenges that were faced during its development.

The author begins by describing the research project on social media flooding and how it was visualized using Babylon.js. They then discuss how they implemented the graphics, including the use of an octree for location polling and a memory pool for textures. The author also explains how they monkeypatched the npm package to disable the inbuilt support for gamepads.

The post provides a detailed explanation of the techniques used to create the demo and the challenges faced during its development. The author emphasizes the importance of using Babylon.js for graphics and optimizing location polling using an octree, as well as the need for monkeypatching the npm package to disable inbuilt support for gamepads.

Overall, this post provides a comprehensive overview of the research project on social media flooding and how it was visualized using Babylon.js. The author’s use of technical terms and their detailed explanations of the techniques used make the post more suitable for readers with a technical background. However, the post may be too dense for casual readers, as the author assumes a certain level of prior knowledge about the topics discussed.