Geeking out with Kaggle PASSNYC data

My free time recently exploring one of the latest challenges from Kaggle: PASSNYC: Data Science for Good Challenge

I’ve been working with Python, but considering switching to R to run k-means.

My code is still a working progress so please be gentle 🙂


PASSNYC is a not-for-profit organization that facilitates a collective impact that is dedicated to broadening educational opportunities for New York City’s talented and underserved students. New York City is home to some of the most impressive educational institutions in the world, yet in recent years, the City’s specialized high schools – institutions with historically transformative impact on student outcomes – have seen a shift toward more homogeneous student body demographics.

PASSNYC uses public data to identify students within New York City’s under-performing school districts and, through consulting and collaboration with partners, aims to increase the diversity of students taking the Specialized High School Admissions Test (SHSAT). By focusing efforts in under-performing areas that are historically underrepresented in SHSAT registration, we will help pave the path to specialized high schools for a more diverse group of students.

Problem Statement

PASSNYC and its partners provide outreach services that improve the chances of students taking the SHSAT and receiving placements in these specialized high schools. The current process of identifying schools is effective, but PASSNYC could have an even greater impact with a more informed, granular approach to quantifying the potential for outreach at a given school. Proxies that have been good indicators of these types of schools include data on English Language Learners, Students with Disabilities, Students on Free/Reduced Lunch, and Students with Temporary Housing.

Part of this challenge is to assess the needs of students by using publicly available data to quantify the challenges they face in taking the SHSAT. The best solutions will enable PASSNYC to identify the schools where minority and underserved students stand to gain the most from services like after school programs, test preparation, mentoring, or resources for parents.

Submissions for the Main Prize Track will be judged based on the following general criteria:

Performance – How well does the solution match schools and the needs of students to PASSNYC services? PASSNYC will not be able to live test every submission, so a strong entry will clearly articulate why it is effective at tackling the problem.

Influential – The PASSNYC team wants to put the winning submissions to work quickly. Therefore a good entry will be easy to understand and will enable PASSNYC to convince stakeholders where services are needed the most.

Shareable – PASSNYC works with over 60 partner organizations to offer services such as test preparation, tutoring, mentoring, extracurricular programs, educational consultants, community and student groups, trade associations, and more. Winning submissions will be able to provide convincing insights to a wide subset of these organizations.

notepad plus plus for Linux and other cool stuff I’ve found this week

notepad plus plus linux

notepad plus plus for Linux

I use notepad++ at work on a windows machine, I find it great for taking notes, and editing SQL scripts on the go.

For a long time Geany has been my goto Linux file editor, but it might now get more limited use in the future now that notepad++ is available in Linux, via snap 🙂

Crazy too, that I think this is my first snap install!

This is still a Windows exe, installed via Wine, so still not a fully fledged Linux install, but it has all of the familiar features.

Simply install by typing the below into a terminal:
sudo snap install notepad-plus-plus

Which machine learning algorithm should I use?

machine learning cheat sheet
This link appeared on my Twitter feed this week; it’s a year old blog entry from SAS, but still useful.

Guide how to use it here: machine-learning-algorithm-use

How to make a bouncing ball simulator in Python

Scrolling through my Twitter posts this caught my eye, Boing Boing, a cool well presented project, and something a little different than what I use Python for.

Day Tripper tab by The Beatles

In the gym earlier in the week when this awesome promo video from The Beatles started playing on the large screen on the back wall; I’ve had this guitar riff in my head ever since 🙂


Here’s what the band said about the song

Nearly finished Horizon Zero Dawn, I just don’t want it to finish. I’ve been travelling around the map, enjoying the scenery, finding all of the collectables.

Then discovered that Call of Duty Black Ops iii was free on the PS4 this week, so my attention has been diverted… times like this I am thankful for having fibre 🙂

It’s been one of my favourite CoD multiplayer games since Modern Warfare, had heaps of fun, and am keeping a positive KDR 🙂

Thinking of making a commitment to completing Bloodborne next from my list of games to finish… but no point rushing in to anything eh?

Super Oct 17


So excited, I managed to reserve a Mini SNES, should have it tomorrow 🙂

Looking forward to introducing the boy to all of the classics I loved as a kid, and from what I’ve read ( Nintendo left it open to load ROMS onto it, as with the mini NES… so many games to play!

I’ve been having on and off issues wit h my PC… well mainly off issues when it overheats while running Déjà Dup backup.

Today I’ve refitted the heat sink, cleaned off the old thermal paste, and fitted a new fan, as the one that came with the case was poor and far too load.

Machine is now running heaps quieter and cooler + I’m now using borg backup, which doesn’t seem as resource heavy on a single core.

Picked up Horizon Zero Dawn again, turned down the difficulty and am enjoying the environment when I have the opportunity to play.

Neon Chrome, a free PS4 game, is my current quick pick up title, find it disposable and fun:

Neon Chrome is a ruthless top-down cyberpunk shooter with rogue-like elements. The game takes place inside an arcology – a massive sci-fi mega structure.

Blast your way through walls with guns and cybernetic abilities and try alternate approaches with different roles like the Assassin, Corporate Soldier or the Cyber Psycho. Upgrade your character stats, discover new cybernetic enhancements and build up strength to finally face the Overseer. Every death is a new beginning – the path to defeating the Overseer is never the same.

Neon Chrome

Professionally I’m working on a Data Science course, having fun with Python, Pandas, and Numpy. Awesome to be picking up skills and knowledge that I can apply to my daily work 🙂

Python as a platform for games


I got thinking after my last post of why I chose Unity, and could Python be an option as a language to build games?

I have much more need for Python on a daily basis… although I’m currently limited to ver 2.7 at work, I do use it for the current Feed2Twitter Raspberry Pi setup.

So for the past few days I’ve been digging around searching for material and tutorials to play with.

One impressive example comes from a post on the Ubuntu Forums from over 7 years ago:

I was experimenting with Python over the last week, and I made this example app for various 3D stuff. I titled it PolarisGP, and I was making it with lax intentions of making a flight racing game. However, in case I lose interest, I’d like to put it out there for posterity.

It includes some examples of pretty cool techniques:

  • Basic linear algebra
  • Quaternion rotation
  • Axis/magnitude angular velocity
  • Display lists
  • .obj file loading
  • Efficiently extracting “up,left,forward” vectors from a matrix
  • Using an inverse matrix (in this case, from a quaternion) to create a camera system

Thanks CurvedInfinity wherever you are now 🙂

I’ve uploaded the code to GitHub as it’s easier to share… & I wanted to get more familiar with the hosting code: