About Me

Scroll speed

My name is Bjorn Macintosh, I'm a Software Engineer.

The following slides can tell you a bit about me.

I've been coding since I was 13, and started coding professionally at 18 (before it was cool).

I learned PHP when I was 20, and built my first CMS which was used by Technology Online Ltd for the next several years.

I started coding when Macromedia flash and JavaScript were still at war.

I didn't like either of them since they were both slow, so I focused on server side development for a few years.

For the last 5~ish years I've been coding in JavaScript, PHP, MySQL. So I've been a "Full Stack" developer for a while.

At the moment I develop in several languages and use a lot of different tech.
I've been using MongoDB, NodeJS, ReactNative and React. TypeScript (which I think is pretty awesome), Sencha's Ext JS (I've even developed automated testing for ExtJS V4~V6. Not using Sencha's Test) and a scattering of other tech as and when I need to.

In my current position (Software Engineer, Buddi Ltd), I work closely with SysAdmins, Firmware Engineers, Manufacturing teams, Customer Services and Organisation Management. I like working as part of the team, and have a good standing in the office. I spend time on stackExchanges "Workplace" (currently top 12% percentile) to help me and others mesh well within the workplace.

I've mentored interns, worked in teams and lead teams of developers. The last intern I was assigned gave me an excellent reference

"Hey,
"Just wanted to say thanks for all of your help/support over my time at Buddi. I couldn’t have asked for a better mentor/person in charge of me.
...
Bjorn has been a fantastic mentor over the last 8 months. He quickly and clearly demonstrated any skills he felt I would need, and was always totally happy to help me and answer any of my questions. Despite him being busy with other work he always made time for me, and I feel he was instrumental to me becoming a useful part of the company."
Tom Batchelor

I find working in a team very rewarding, being able to share new tricks, learn new tricks and turn to someone for help when you're stuck on a problem is fantastic. As you can read on the previous slide, I also really enjoy mentoring, and helping my colleagues when they get stuck on a problem.

Here's some of the other stuff I'm interested in:

I love working with big data, I joke that I can make data dance. It's beautiful to see data bloom into insight.

I tinker with CNC machines, something I've had a passion for since I was 12. In my latest tinkering, I attached a 3.5W 440nm laser to my 3D print, and turned it into a laser cutter
(See what I made on thingiverse)

The loop's going to start again. If you're interested, and know code, you can view the source for this section, the "BlockQuoteManager" class I created in javscript is managing these slides, it's a short but reasonable example of code I can write.

Thank you

Bjorn Macintosh

Projects I've worked on, listed from most recent to least

Buddi Health

I've been asked to contribute to products used through Buddi Ltd, one of these is the buddi health system.
Using similar technology to that that is used on the security side, the health solution allows family and friends to monitor a vulnerable person such as a grandparent, or family member with health needs.

My personal favourite story of the work that we did, was for a person who was entering university. Because of epilepsy the family was concerned for their safety should they suffer an attack while living away from home. This was a real concern, but with one of the buddi clips (a fall monitor that allows a GPS location and connection to the buddi call center or emergency services if needed) they were able to attend university away from her hometown, keeping themselves safe, enabling them to live a more normal life, while also easing the worry for their family.

Again unfortunately I can't go into great detail about the technology or work that was done for the health team. We used similar technology to the security team, allowing family to set alerts should their loved one deviate from their normal behaviour (such as leaving the house unexpectedly, a risk for the elderly), as well as detecting falls or other situations that could be a cause for concern. To read some more about the health solutions I helped work on, here's a link to their publicly available information

Buddi Web Shop

Another area of responsibility while I worked at buddi was the development of an online shop to sell one of the newer products (Self monitoring wearables for vulnerable persons).

Overall this was an entire site overhaul, including integration with a payment gateway, inhouse stock management and invoicing systems.
I was given lead on this project (client side lead). With that freedom I setup a basic framework of bootstrap, jQuery and CodeIgniter. There was no need for a database as server side interaction was with one of the other inhouse platforms (via API) which was managed by another team. Between myself and an intern developer I had previously been asked to mentor, we developed the entire site, implemented a testing framework to confirm that it all works as expected, and that as development progressed any changes made would not cause issues on other areas of the site that we had already worked.

So far the new site and payment gateway have been running for about six months, it's used by multiple customers a day to order a buddi wearable. It's been a successful new site and new development is planned to make the site even better.

Buddi Security

When I joined Buddi, I was hired as a Software Engineer working on the Security side of the business.
The Buddi security solution for Offender Management is developed in collaboration with Police, Probation and Government authorities, to help rehabilitate offenders and protect local communities.
The solution was evaluated in the UK by NESTA (the National Endowment for Science, Technology and Arts) and has been shown to reduce crime and re-offending.

The security solution provides active management and tracking of criminals world wide, allowing governments and their representatives to manage their offender population in a proactive and diligent manner.

Ludum Dare

Ludum Dare is a 48 hour game programming competition run every 4 months, having just completed it's 42nd cycle, with over 5000 contributors and around 3000 games submitted. It's split into two groups, those who work on their own, and want to be part of the compo (competition) and those who want to work as a team, or want a little extra time, and commit their game to the Jam.

Personally I have been participating since I discovered LDJam in 2016, and have taken part in both Compo and Jam. At my best I have submitted a game that made it into the top 150 games, and my worst I wrote a game that wouldn't deploy, and therefore could not be ranked.

Ludum Dare is about giving your all for a weekend to start a project, refine an idea into a game, build that game and ship it out. It's a challenge both in scope, and in implementation. I love taking part because it helps me to keep my skills sharp and gives me the chance to develop skills that I want to grow (such as my last game being built for smartphone only). Game development also required fast, reliable and high quality (reusable) code, and this helps me to push my development skills to the edge every time I participate, and helping me to refine the MVP concept, so I can deploy fast and agile applications in the wild.

Want to see some of the work that I've done? Here's a link to my Ludum Dare games page.

JobSkimmer.com

Job Skimmer was an offshoot project by Technology Online Ltd, the goal of the project was to develop a job hunting gateway that could be used to sift out duplicate job listings from the major job listing websites. The interface was straight forward, a JavaScript frontend using DataTables and AJAX to fetch data on demand from the server. Backend there was a number of CRON jobs running that would scrape data from the main job listing websites.

I learned quite a lot working on this project, the greatest take-away was learning REGEXP, and although HTML is not explicitly processable with REGEXP, it helped a lot to enable me to scrape information from web pages quickly and effectively, as well as searching for key information that showed one job listing was functionally identical to another. I continued to use REGEXP for a number of years, and still use it when the opportunity arises today.

I also discovered I enjoyed working with Big Data queries at this time, since we were scraping a lot of information from a lot of websites, I found I could get insights into a business by looking at it's hiring history. The best example of this was looking for repeat listings for high level positions, and finding that certain businesses would re-advertise a high level position every six to nine months. Obviously this was a bit of a red flag about those businesses. Similarly I could find very quickly and easily the most prolific recruitment agents by looking at their companies adverts, and seeing how many listings they were generating in comparison to their competition. This lead to even greater insight by cross referencing the repeat listings with the prolific recruiters, and enabled me to single out recruiters that were both prolific and did not repost the same job every six to nine months. The value of that is a debatable point, I personally took it as showing the recruiters who were most effective, because they found matches for an applicant to a vacancy and a business that would last more than a couple of months.

Unfortunately JobSkimmer.com didn't make it to market due to heavy competition, and the project was shut down. The project ran for about two years in total, 6 months of development, and the rest of the time it collected data.

IOS

IOS was the inhouse platform developed at Technology Online Ltd in New Zealand. I worked for TechOnline for several years, and this is where I got most of my foundational training and experience. IOS started development in early 2007, and was used to create a paperless office environment. This CRM housed all the invoices, contact information and internal KB articles that enabled staff to work from anywhere at any time.

The companies primary focus was on hardware repair, going to customers premises, maintaining, repairing or replacing equipment as required. The CRM was a major part of that as it enabled staff to access the information about a system on demand, resolve what hardware or software requirements existed.

The CRM also allowed direct invoicing of clients, tech's would simply record the work that they had done, and when the billing period rolled around,t he invoices would be generated and sent to the accounts department for comfirmation and mailing out.

Unfortunately Technology Online Ltd is no longer in business, it shut down a couple of years after I moved to England.

Windows 95 Starfield

Not everything that I've worked on has been for work or competition, I've also enjoyed just coding something because it's fun. In this instance I coded up the old Windows 95 "starfield" screensaver to run in a browser. It's well worth checking out if you're a kid of the 90's. This screensaver gave me some real nostalgia, and I really enjoyed coding it just as a way experimenting and growing my skills while having fun.

Check it out for a bit