Past Entries...

101 posts since April, 2016!
posted this in: Servers, Technology
187 Words

So, my friends are big proponents of using https://ossrs.io (Open Source Simple Realtime Server) – which (in the way I’m intending to use it) will ingest RTMP streams from various OBS clients (my friends) and save their footage in a folder, which I can then use to edit various highlight reels from our gaming nights together.

The benefits are:

  • Storage – it’s saved on my end, so friends don’t need to worry about storage
  • Speed – the footage is broadcast directly to me and saved, they don’t need to send me files after the fact
  • Simplicity – they don’t need to worry about anything – most of them have OBS configured for streaming already

It works something like:

Pretty straightforward, pretty easy.

By default I’ve configured everything to save in 1800-second long .flv files (30 minutes) – this could mkv or otherwise, but the quality is fine enough for my non-cinema-quality productions.

It’s a convenient little service I’ve set up now for any future gaming nights as well. It’ll be great to get footage as needed and stored.

Now to find some sort of Media Asset Management system…

posted this in: Events, Food, Personal
305 Words

Tim‘s birthday is on the 13th; however, we were all mostly free this Thursday evening to join him for a nice meal at Outback Steakhouse (North Strathfield) – we were there for company over the food, but it was hearty food, full of grease, and plenty of banter to be had!

The gang! Post-dinner 🙂

Outback Steakhouse has been in my life for quite a while, actually. Despite it’s reputation, it served more as a common meeting point for various crowds of people that walked in and out of my life. When I got my first real job in the Tech Industry (working in marketing!) I planned many a LAN party event here with one of my best mates, Ben (missingo) at this restaurant over many many nights.

Anyway, retrospectives aside; the food hasn’t changed much at all (the prices have though, oof!)

500g Prime Rib, Cheesy Chips, and Veggies, set me back a pricey 60-odd dollars (AUD)

They left too much of the fat cap at the end on, one end of the steak was charred way more than the other end (the fatty end was undercooked) – making the fat render and drench everything in grease, but not in a nice hot way. The steak was left to rest too long so it was almost cold; and the chips had coagulated with their cheese to form a solid brick (you can see in the photo, this is about 60 seconds after the plate was put down in front of me).

Still, I had a really enjoyable night (definitely more the company than the food, as it always has been) and everyone else that attended had a blast too!

Let the eating begin!

It was good to see Marshy, Brad, Brad, Tanj, Amy, Sean, Jimmy, Bec, Mat, Gaetano, and the birthday boy, Tim. Happy Birthday mate.

posted this in: Personal, Software, Technology
293 Words

I work on a lot of different coding projects from a personal perspective. Usually depending on mood, or other factors, I will jump from project to project, working on them whenever time permits. My most recent role in my career left me a little bit short of coding and development time; focusing instead more on project delivery, and team management to get a big product across the line at a FinTech startup.

So, to get my coding juices flowing once more, I thought I’d whip up some self-hosted work:

  • Deploy and install GitLab to manage my code
  • Build a site to track my activity to get back in the swing of things

Cue, https://jtiong.dev

What’s the purpose of this?

It is a simple quick overview of my activity on the code repositories that I’d ported over to my localized GitLab installation. It will let me see what I’ve been working on recently, and keep me motivated, on continuing to polish my skillsets.

What this project demonstrates

Well, this demonstrates several things I thought might be handy going forward:

  • Deploying an NGINX Proxy (on an external machine), via Docker Compose to manage the incoming connections to jtiong.dev and other various websites
  • Deploying GitLab Community Edition onto a different physical server for my personal use and code management
  • Creating a Docker Compose deployment based off the php7.4-apache image for the site
  • Using my own framework Spark – to create this site
    • Using a self written URL Router
    • Using PSR-4 to autoload classes
    • Interacting with the GitLab REST API
    • Using Bootstrap 4.x for a very simple frontend

Source code to the site can be provided as needed to, although I really need to clean it up.

It’s been good getting back in the saddle for some basic web development again! 🙂

posted this in: General, Servers, Software, Technology
455 Words

I’ve got several servers which I work on, and quite often, this involves running regular cron’d tasks that perform various backups and configuration updates for me at odd schedules (as an example, my Rust server wipes fortnightly, and needs a config update to change the server name to reflect the last date wiped).

To do things like this, I’ve usually just written a script in PHP and run that at a given interval (daily or otherwise). There’s no real reason I chose PHP to write these scripts aside from familiarity with the language, and no doubt the rest could be easily achieved be it through Python, Shell Script or any other language out there.

For now though, PHP serves my needs just fine.

The problem is, I don’t actually keep these scripts backed up anywhere, or organised in any sort of manner!

The age of GitLab

Over the last couple days, I’ve implemented GitLab into my homelab stack (JT-LAB), and will be using it to store most of my code as a “source of truth” and subsequently sync things to GitHub afterwards (depending on the projects of course).

To the Game Servers, Four Branches…

Based off the various server types; specific branches would be used. For now, these would be:

  • Rust
  • Minecraft
  • Factorio
  • Satisfactory

Each game would be represented in its own branch, and based off that branch, would deploy a specific set of commands as needed. For the most part, only Minecraft retains itself in persistence, and the rest rely either on a voted wipe, or scheduled wipe paradigm.

To the File Systems, Five Branches…

Then we have servers with actual file resources and assets that I’d like to keep; things like Photos, Design Assets, old code references, etc. These would be:

  • Media
  • Design
  • Research
  • Education
  • Maintenance

And nine, nine branches were gifted to the Websites

I also run a number of websites for friends and family on a pro-sumer level. I won’t really list these projects, but they do total up to 9! So it all kind of fits the whole LOTR theme I was going for with these titles.

One Repo to Rule them all…

The decision to build everything into one repository to manage all the core backup operations means I have less to track; for a personal system, I think this is fine. Monolithic design probably isn’t the way to go for a much larger operation than mine though!

Announcing…

Cronjobs

So this is the hypothesized project I’d like to build over the next few days; in combination primarily with jtiong.dev which will help track the commits and such that I do. Writing these projects up here as project whitepapers on a more formal basis might help with some resume stuff going forward for my future career 🙂

posted this in: Events, Food
182 Words

Went to a quick surprise dinner with my sister, her partner, and an old friend at a classic venue; Korean BBQ Buffet in Chatswood’s Mandarin Centre food court.

It’s a cheap and cheerful place, and actually – they have one of my favourite cuts of meat, the Pork Jowl there – it was plentiful, it was fatty, it was tasty, I loved it.

At $43 per head, all you can eat – they’ve updated the Buffet and BBQ Meat bar that you self serve at. It’s a very homely, simple place. It’s nice and quiet and a good time was had by all, honestly. We only stayed for about an hour, but we DEFINITELY ate our fill. The Hostess was lovely enough to give us a plate of Wagyu cuts which was quite nice (the pork was better!) and I think myself and all the friends from Only Snacks should definitely visit here sooner rather than later!

Of course, a quick post-dinner selfie!

Would definitely rate the place a 8/10. The food was good, it was acceptable, the company was great; a good dinner! 😂

posted this in: Servers, Software, Technology
217 Words

With the implementation of my JT-LAB homelab; it stands to reason I should probably self-host whatever I can to try and get a decent use out of the stupid amount of money I’ve poured into the project. Being able to ensure I’m only sharing the data that I want to share as well (for whatever reason) – is pretty important to me as well.

Normally, the majority of my code to-date, has been stored on Github (which is fine, it’s fantastic and it’s an amazing free resource for the world). But my workplace had an implementation of Gitlab that I thought was done pretty well.

So, I’m going to take it upon myself to implement GitLab into JT-LAB, and make sure there is a version of my work that runs from GitLab. Github will essentially become my backup for code (Github being way more reliable in uptime than anything I’d run like GitLab etc.)

Why is this so important?

GitLab is going to work as my core repository and project management system; with it, I’ll be able to store and update my code for various projects as previously mentioned

What’s the challenge?

Well, after some wrestling it’s implemented – however the one area that I’m most unsure with, is the AutoDevOps feature of GitLab.

Lots to learn!

posted this in: General, Personal, Software, Technology
400 Words

So, I’ve got a “main” website – https://jtiong.com (which is currently Error 500’ing)

Which runs on a fairly old version of Laravel. Since it’s inception; the site was used mainly as a central one-stop shop for everything about my presence on the internet. Oh how times have changed.

Nowadays, it makes more sense with a number of domains I own, to split up the content and footprint of my stuff on the internet from a singular jtiong.com website, into a number of different sites based upon what people trying to find me for, or to categorise the activities I do.

Domains I have include:

  • jtiong.blog (this site) – my personal blog, which is strictly just personal, non-professional stuff
  • jtiong.dev – where I hope to eventually host some sort of software development info about myself
  • jtiong.network – currently a serverless site experiment, however I hope to change this
  • jtiong.com – a central landing page from which people click through to the other domains

So what does this mean?

Two new projects! The .com and .dev domains which will be important as part of my “online resume” so, I really should get them done sooner rather than later…!

However, this also means I need to really look into how I implement these!

Laravel will be driving:

  • jtiong.com – a landing page/gateway system
  • jtiong.network – services and resources for friends & family

I’m looking at using the Socialite package for Laravel to integrate login via Discord, this’ll mean that certain links and features will only be visible based off friends & family that have certain roles in my Discord server; or at least, that’s been the original intent.

My Own Framework (which I call Spark) – will be driving:

  • jtiong.dev – dev blogs, resources

This dev site will be more of a technical dump to keep me consistently working on my coding skills. The setup of this site is a traditional website that’ll ride on the tails of my intended GitLab installation. The fallback of course, is to just use the GitHub API, but I’ll only start looking at that later.

The site should just start listing out my commits and on what projects they’re made on to try and keep things accountable and interesting. It’s just a cool little showcase project.

More features might be added later relevant to doing development work in the future!

posted this in: General
72 Words

Welp, so ends my adventure at the FinTech start up I was at. Things got to a point where they had to let a fairly large chunk of the workforce go with redundancy in order to ensure the business survives.

It happens, but it still sucks.

Still, time to find the next adventure, and in the meantime brush up on personal code projects and stuff that can help me on that search.