Posts

Showing posts from December, 2024

Changing a web page's style based on the time of the year

Image
A fun gimmick that I decided to look into is changing a web page's style based on the current date of the year. Making a page look more frosty when its winter would make for a fun interactive feature that I think would appeal to most. The solution to this simple gimmick was to use  CSS custom properties / variables , which allows for different values to be stored and used throughout the CSS file. For a basic web page, variables for the background colour, text colour and a filter for the background image were created (since the filter property will affect all children elements, the background image has been put into a separate div under the 'body' tag with a special 'bg' ID). These variables can be referenced using ' var() '. Then for each unique page style I wanted, I created a new class that modifies the CSS custom properties. CSS classes for the default (root) style and page styles. Now all that's left is to implement some JavaScript that will determin...

Level select movement inspired by 'Super Mario Bros.' - In Roblox

Image
Game development has been one of my big interests while learning programming. Roblox, a massive online game platform, provides an environment for developing games easily called ' Roblox Studio '. It has its own game engine and uses the programming language ' Luau ', Roblox's version of Lua that implements extra features for better integration with the game engine and to allow creators on the platform to have more control over their creations. A small system that I decided to try and create is the movement for a level select inspired by the 'Super Mario Bros.' series.  Level select movement example from 'New Super Mario Bros. Wii' To be able to create such a system, I first needed to figure out how I would be able to distinguish levels from each other. The simple solution was to assign 'Level IDs' to the parts that would act as the gateway to each level. When you select an object in Roblox Studio, you get access to all of its properties and yo...

Developing an 'Access Point Tracker' using Omada Open API

Image
Access points (APs) are used everywhere at my workplace, and they are all configured by an application called 'Omada'. It's powerful in what it does, letting us tamper with each AP and make necessary changes to how they work as well as how they allow other devices to connect to them. Although Omada does show us if any APs are down, we don't have a clear view of where they are down. To solve this, I developed a solution that would show every AP, represented by circles, in their respective tags that are assigned to them, represented by a container outlining all the APs and showing the tag name and the number of APs inside those tags. Firstly, I need to be able to retrieve all the information on the devices enlisted on Omada and then separate them to only get the APs on the network. I chose to use the Python programming language for this task and created two separate Python files; one for creating the HTML code to show the information I will be grabbing, and another for ma...

'Bean & Brew' Website Design

For me to complete my college course for 'Digital Design and Development', skills in web design and development were needed for the final exam. For this I chose to work on designing a website for a coffee shop called 'Bean & Brew'. The features I managed to implement into this basic design includes: A header and footer than update globally As long as the script exists on a page, a header and footer will exist Can be edited and updates to all pages automatically A home page JavaScript is used to create a functioning carousel of offers, however it only works by the user manually progressing through it with the buttons provided. A menu of items JavaScript is used to display different categories in this menu. An ordering page No functionality, just to show how it could look when working. An offers page A locations page Uses a Google Maps embed to show a marked location. A jobs page A search bar Does not work, scales with the width of the window. Sign in and sign up page...

Developing a 'Printer Toner Tracker' from PaperCut Data

Image
At my workplace, we use 'PaperCut' for our print management system. It's an amazing tool that lets us track all the print jobs taking place on our system, the users that are printing, how much they are spending on print jobs, and allows us to integrate a card system for easy access to user accounts on each printer. On top of this, it also allows us to look into each printer and see how much toner ink is left in them. My team wants to be able to see all of the printers' toner levels on one display, but after some long research and experimentation, there is no easy tool or API access that tends to our needs. Instead, I had come up with a solution that will meet our needs of being able to track every printer and their individual toner ink levels. On PaperCut, there is a button that allows you to download a Comma-separated Values (CSV) file, which takes all the information that would find by going into each printer's interface on the PaperCut website and formats them in...