Biologically Plausible Programming / Recent content on Biologically Plausible Programming Hugo -- gohugo.io en-us © 2022. All rights reserved. Sun, 08 Jan 2023 00:00:00 +0000 Noise: A flaw in Human Judgement reviewed /08/01/2023/noise-a-review/ Sun, 08 Jan 2023 00:00:00 +0000 /08/01/2023/noise-a-review/ Introduction I am seated at Prague Castle on a slightly cold Saturday afternoon when a young man approaches me and starts a conversation. Person: Hi, what book are you reading?! Me: Noise, uhh..Noise, a flaw in human judgement. We both laugh Person: You’re reading noise? more laughter. Me: Yes, it is a strange title I must agree. Person: What is it about? What follows is an attempt at describing what noise, the book is and a description of a few lessons/concepts I have learnt from reading the book, but first… Kotlin Classes for the Python Developer /07/07/2022/simple-look-at-kotlin-classes/ Thu, 07 Jul 2022 00:00:00 +0000 /07/07/2022/simple-look-at-kotlin-classes/ Introduction For anyone who has followed the tech scene and/or Android Development for some time, Kotlin, a language developed at JetBrains is likely familiar. The language has also received a lot of media attention as the future of Android development, receiving backing from tech giant, Google. To understand why this is the case, I have recently started learning Kotlin mainly for fun and to see how well the language lives up to its hype (praise). Sequel to Pandas /05/03/2022/sql-to-python-pandas/ Sat, 05 Mar 2022 00:00:00 +0000 /05/03/2022/sql-to-python-pandas/ One of the most important parts of the data analysis pipeline is the ability to collate data obtained from different sources. While the CSV file format remains the most popular form of data input, a lot of times production level data analysis requires that one fetch data from an internet source which in the simplest form may involve downloading a CSV file from a remote source. Often, however, the data fetch process requires interaction with a database which therefore necessitates that one have an understanding of relational databases and how to interact with them. Shiny Modals, Performance, Reactivity, and Observers. /12/12/2021/shiny-reactivity/ Sun, 12 Dec 2021 00:00:00 +0000 /12/12/2021/shiny-reactivity/ Since my last post almost five months ago, a lot has changed both in my personal and professional life. On a personal note, I finally moved to the beautiful and magical city of Prague, walked the famous Charles Bridge, enjoyed the clock show at the lovely Old Town Square, tried Czech dumplings, and enjoyed Kofola. Professionally, I have worked more with R’s shiny system as part of my job, learning a lot in the process. Projects /projects/ Mon, 06 Sep 2021 00:00:00 +0000 /projects/ Throughout his studies, Nelson has dedicated most of his free time to building software that can simplify life for students, researchers, and anyone interested in software. Listed below is a selection of projects he has worked on. Python cytounet The goal of cytounet is to provide an easy-to-use Keras based deep learning pipeline for image segmentation with particular focus on biological data. Nelson was inspired by and built upon ZhiXuHao’s unet implementation. Building User Interfaces with R's Shiny /19/07/2021/shiny-lessons/ Mon, 19 Jul 2021 00:00:00 +0000 /19/07/2021/shiny-lessons/ Update 22nd September 2021 The dashboard/app referred to in this blog post can now be tested and used in a browser by visiting https://nelson-gon.shinyapps.io/shinymde. Introduction Admittedly, it has been a long time since my last blog entry. Between that time, I have been working on a number of projects that I maintain over at my GitHub and more importantly, I was working on my final year thesis and finalizing my undergraduate studies. Growing big by building small. /17/03/2021/small-projects-not-so-small-lessons/ Wed, 17 Mar 2021 00:00:00 +0000 /17/03/2021/small-projects-not-so-small-lessons/ Why build when you can simply read? The importance of learning as one builds has been echoed so many times in the open-source development world that another article on the same might seem not worth the time. However, our experiences are unique and offer a unique perspective even on topics that may have been read and written about countless times. When a problem sparks an idea A month or so ago, I was ready to submit updates to the R packages manymodelr and mde and thought the process would go just as smooth as it always does, if you ignore the usual issues with fixing tests and unidentified bugs that is. PyTorch Dataset Class: Simply Elegant /22/02/2021/pytorch-dataset-class-simply-elegant/ Mon, 22 Feb 2021 00:00:00 +0000 /22/02/2021/pytorch-dataset-class-simply-elegant/ Introduction Over the past few weeks, I have been experimenting with and learning more about the popular PyTorch (torch) package that like Keras and Tensorflow, provides an easy way to implement deep learning algorithms. In this post, I show why I think torch’s Dataset class is an elegant and beginner-friendly way to handle the process of data processing. As I have written previously, it’s more important to ensure you have the correct data than actually implementing a target model. Hugo, Blogdown, and Github: What could go wrong? /25/12/2020/hugo-blogdown-pitfalls-to-avoid/ Fri, 25 Dec 2020 00:00:00 +0000 /25/12/2020/hugo-blogdown-pitfalls-to-avoid/ One of the most beautiful things about open source development is the idea that one picks up crucial skills like versioning be it via git* or any version control system of their choosing. For non developers, such versioning can be accomplished via syncing files to the cloud or manually uploading files each time. Alternatively, and in the most extreme scenario, one could simply version their files by simple file number incrementation: file_1_edit, file_1_edit_final, file_1_edit_final_final_finally. Open Source Software: The Case for Student Involvement /06/10/2020/open-source-student-involvement/ Tue, 06 Oct 2020 00:00:00 +0000 /06/10/2020/open-source-student-involvement/ Introduction For over two years now, I have devoted most of my time to either building open source software or alerting developers of issues with “their” software. I use their in quotes because open source software really is community software and most developers have the community’s needs first. During this time, I have grown a lot as a developer and believe that most of this growth has come from my involvement with developer communities be it over at StackOverflow or GitHub. Minimizing Loss: Lessons From a Summer of Deep Learning /14/09/2020/minimizing-loss-lessons-from-a-summer-of-deep-learning/ Mon, 14 Sep 2020 00:00:00 +0000 /14/09/2020/minimizing-loss-lessons-from-a-summer-of-deep-learning/ Introduction While there is debate on how much similar deep learning(DL) operations are to the corresponding brain computations, these operations have been applied to several problems often generating excitement and sometimes unwarranted hype. Of all the DL applications, image processing has considerably matured and provided better results compared to traditional processes that relied on simple(r) kernel convolutions. For the biomedical community, the UNet algorithm proposed by Ronneberger et al.(2015) has successfully been applied to several problems ranging from basic segmentation tasks to more complex tasks like cell tracking and cell cycle progress monitoring. R Loops for the Python Programmer /21/07/2020/r-loops-for-the-python-programmer/ Tue, 21 Jul 2020 23:35:25 +0800 /21/07/2020/r-loops-for-the-python-programmer/ TLDR: Whenever possible use vectorised alternatives instead of loops, seq_along and 1:length will be handy when looping through data. The R vs Python debate is one that has stood the test of time. Thousands of articles and tweets have been made that aim to argue for the use of one language over another. Fortunately for the reader, this post is not aimed at justifying the use of one language. On the contrary, as someone who is fairly proficient in both languages, I thought it would be nice to write about key differences between loops in R and python. Creating a Hexagon sticker with R in Minutes /12/06/2020/hex-sticker-creation-r/ Fri, 12 Jun 2020 00:00:00 +0000 /12/06/2020/hex-sticker-creation-r/ I have recently released new versions of manymodelr and mde, R packages you may or may not have heard of. One common feature of many R packages is a hexagon shaped sticker that often summarises the goals of the package and/or gives an idea of the developer’s philosophy. I am, as those who know me well might tell you, not the best of artists. I however, have always marveled at these beautiful stickers in others’ packages and wished to create one myself. Semi Automated Edge Detection with pyautocv /27/05/2020/semi-automated-edge-detection-with-pyautocv/ Wed, 27 May 2020 00:00:00 +0000 /27/05/2020/semi-automated-edge-detection-with-pyautocv/ In this short post, we take a look at how we can use pyautocv for edge detection. At the time of writing, pyautocv was at version 0.2.1 that was unreleased. For installation details, please see the documentation of the project. Pre-requisites Python >=3.6 pyautocv >=0.2.1 An image directory for which detection is required. To begin, we import pyautocv’s Segmentation class. from pyautocv.segmentation import * Next, we change directory to the target directory that holds our images. Contact the Author /contact/ Mon, 18 May 2020 00:00:00 +0000 /contact/ Send Email | Nelson-Gon on GitHub | NelsonGon on Kaggle | LinkedIn Contact the Author /social/ Mon, 18 May 2020 00:00:00 +0000 /social/ Send Email | Nelson-Gon on GitHub | NelsonGon on Kaggle | LinkedIn How to add a custom Kaggle Favicon to Hugo's Blackburn Theme /07/05/2020/how-to-add-a-custom-kaggle-favicon-to-hugo-s-blackburn-theme/ Thu, 07 May 2020 00:00:00 +0000 /07/05/2020/how-to-add-a-custom-kaggle-favicon-to-hugo-s-blackburn-theme/ In this short article, I show how I added a Kaggle favicon to the site. Prerequisites: R packages magrittr magick Why did I need to create a custom favicon? I admittedly do not use Kaggle as much as I used to a year or so ago, mainly because I’ve found the site to be less enjoyable but that’s a post for another day. The real reason for the need to create a custom icon was the desire to include Kaggle under the side bar. About the Author /about/ Mon, 01 Jan 0001 00:00:00 +0000 /about/ Nelson Gonzabato (NelsonGon) holds a BSc (Hons) Integrative Biomedical Sciences from The University of Edinburgh and BSc Biomedical Sciences from Zhejiang University. He has built several open-source computational tools including cytounet, urlfix,pycite, mde, and manymodelr. A full list of these tools can be found at https://nelson-gon.github.io/projects and source code browsed at https://github.com/Nelson-Gon/. Over the years, Nelson has also been an active member of the open source community, frequently contributing to the R tag on StackOverflow.