Infinifish @ Fishackathon – ID via Spectroscopy

Fishackathon Logo

Bringing the world together to protect life in our waters, make fisheries and aquaculture more sustainable and equitable, and preserve our planet’s future.

The only thing better than eating fish is hacking them.

In the proverbial sense of course.

On the second week of February, I lead team ‘Finna hit a Fin’ at Hackernest’s annual Fishackathon held at Toronto city hall. Through a rigorous 28 hour non-stop development cycle, we managed to create and present a functional prototype of our solution; Infinifish.

Infinifish is a hand-held device that simplifies fish identification, meant to capture data from the fin, compare it against a known datasource, and provide an accurate identification of its species. For our prototype, we harnessed spectroscopy (color-sensing), as well as translucency data to identify a fish fin, and therefore, the fish.

The following is the real prototype presented at Fishackathon Toronto. Contained within would be a TCS ran by an ESP NodeMCU board.


Similar to a human fingerprint, fish fins are perhaps the most unique aspect of a fish. Our team wanted to take this idea further and create a simple, cheap ‘fingerprint’ scanner for fish.

Presented amongst the app-heavy crowd at Fishackathon Toronto, we discussed the modern relevancy of spectroscopy in light of all the AI and photo recognition technology. Quite simply; image/pattern recognition has its difficulties. These difficulties are being migitated via AI application to tech such as facial recognition, but until then, color pattern mapping via spectroscopy remains the affordable and simple solution.


Infinifish was a hit among the crowd with a demonstration involving live fin data, finishing the day at 2nd place, and was eventually presented to the faculty of applied science and technology (FAST) at Sheridan College.

Our solution is targeted primarily towards research and marine biology in hopes of automating currently manual identification methodologies, as well as recreational.

Infinifish is currently in development with effort being placed into enhancing accuracy via pattern matching, and will (hopefully!) be presented at the next Fishackathon in 2019.

Northern Wind Club

Progress lies not in enhancing what [already] is, but in advancing toward what [could] be.
~ Khalil Gibran

The Northern Wind Club is a small social club that takes up projects in and around the Sheridan community, and through efforts between our club and clients, strive towards their successful completion.

We operate on a request and case basis; analogous to a service club.

These projects can be anything, and are decided upon by various factors including interest, resources, time, as well as the spirit of the request.

Do you dislike large, unorganized groups? Hate it when things never get done? Have a niche skill set that you’re dying to exercise? Or perhaps you’re a fanatic of progression and helping others.
In that case, the Northern Wind Club may be the place for you.

For more information, check us out at

Sudoku Engine

It’s been a few months since its completion, but I finally got around to making this post. Here’s to the release of Sudoku!

Sudoku Engine

Java Sudoku Engine is a project built using FXML for PROG24178 at Sheridan College. It’s a neat little desktop application that generates Sudoku puzzles and contains a few nifty features that I’m sure Sudoku fanatics will love.

Check it out at Github, where you can also download it.



Sudoku is an old number-placement puzzle, originating with recordable evidence during the 1800’s from an experiment with magic squares. The objective of Sudoku is to fill a grid with digits between 1-9 – the catch being that no two are to be repeated in a row, column, and individual 3×3 square. The end result can be compared to that of a Latin Square, a collection of elements with a nearly indistinguishable pattern.

Why vSphere Web Client runs on port 9443

Admittedly, I’ve been on this issue far too long. And by issue, I should say issues, all of which may/not resemble the following:

  • Administrator@vsphere.local lacks basic permissions.
  • vCenter Server doesn’t appear in inventory, or is invisible.
  • ERROR: Failed to connect to host _______ in the bottom-right corner (notification)
  • Failed to verify the SSL certificate for one or more vCenter Server Systems: https://vCenterServerFQDN:443/sdk
  • [00404 error 'Default'] Failed to intialize VMware VirtualCenter. Shutting down... from vpxd logs.



My goal was to migrate my vCenter Server 5.5U2 environment to Windows Server 2012.

Instead, I ended up setting up a new vCenter Server instance with all 4 services installed on the same host. The host is a fresh VM hosted upon ESXi 5.5, and connected to a respected domain & DNS server.

The issues begin rolling in when attempting to use the vSphere Web Interface to add my ESXi host to the data center.

However, I found myself unable to do anything but login into the web client (cannot change roles/permissions, create data centers, create VMs, add hosts, look at logs, and more).



vSphere’s Web Client runs on port 9443, which is a bit of a pain to see and enter as a URL. As such, I decided to change it to port 443, commonly used by HTTPS and recognized by browsers, eliminating the need to enter a port after my web client’s address. This was done by editing vCenter’s Tomcat Server config (seen more below).

However, vSphere’s decision to use 9443 was not out of spite. Port 443 was used for:several other services, including:

  • WS-Management (also requires port 80 to be open)
  • vSphere Client access to vSphere Update Manager
  • Third-party network management Client connections to vCenter Server
  • Third-party network management Clients access to hosts
  • Monitor data transfer from SDK clients.

All of which are present and accounted in Required ports for VMware vCenter Server 5.5 (2051575).



Revert the port-change in the Tomcat Server’s config back to 9443.

  1. Launch services.msc [START>RUN>services.msc].
  2. Stop the service VMware VirtualCenter Server service.
  3. Navigate to C:\Program Files\VMware\Infrastructure\vSphereWebClient\server\configuration\
  4. Copy the file tomcat-server.xml to a readable/writable location (e.g. Documents or Desktop.
  5. Open the copied tomcat-server.xml with a text editor, such as Notepad, Notepad++, or Sublime.
  6. Within the <Service name="Canalina"> container, look for the following line (for me, it was the second line): <Connector port="####" protocol="HTTP/1.1" SSLEnabled="true" ...>
  7. Change the port listed (####) back to 9443.
  8. Rename C:\Program Files\VMware\Infrastructure\vSphereWebClient\server\configuration\tomcat-server.xml to tomcat-server_BACKUP.xml
  9. Copy the copied tomcat-server.xml file to C:\Program Files\VMware\Infrastructure\vSphereWebClient\server\configuration\
  10. Restart the vCenter Server.

I’m sure that there’s a way to safely change this port (maybe by NOT doing the ‘simple’ installation!), but for now, I’ll settle with entering 5 characters after my vCenter server address. I’ll continue to toy around with this, and see if I could figure it out.

I’m also quite sure that this process varies for the vCenter Server APPLIANCE. As such, please don’t follow this with intentions to fix a similar issue on said appliance.

And please, don’t be frustrated if this isn’t the solution you’re looking for, or if it breaks something (that’s what tomcat-server_BACKUP.xml is for). I’d suggest reading further at KB2050273 or KB1010837.


Anyways, good luck with setting up your vCenter Server environment!

Can YOU Follow Instructions?

Whether you’re making touchdowns, placing bricks, or behind the steering wheel, INSTRUCTIONS are critical in ensuring optimal performance and success. Without instructions written by experienced individuals, many tasks would seem unnecessarily more difficult, such as baking caramel shortbread, or near impossible with the case of IKEA furniture.

I would like to introduce a new app, an assessment that tests ones’ ability to follow instructions.

You can find it HERE.

The following is a javascript web application running completely client-side. Nothing is stored, or cached, or ever delivered elsewhere.

Can YOU follow instructions?
Good luck, and have a great day!


Garden Images

Hey there!

For all Grade 12 students at FMSS, today is a special day; the final day of school.

Final exams were concluded for all courses today, with report cards being distributed Thursday.

Although disheartening, this is a milestone that will lead to many new, crazy, and awesome adventures in the future. I wish all graduates an extraordinary summer, and the best of luck in their future!

To celebrate such an occasion, here’s something pleasing to look at; rays of sunshine illuminating a small garden box plant.