Brunei Telco Wars 2022

September 1st brought a UNN upgrade and now our telcos DST, Imagine and Progresif have updated their home broadband plans. Below is a summary of the changes for each telco and the latest plans

Pick My Provider updated to help pick which provider could suit your needs (view old plans here)



  • Straightforward upgrade: same price but with either more data (100GB) or faster speed
  • Good
    • Webpage seems to have all necessary information
    • Simple 5 price points and decide if you want more data / more speed
  • Bad
    • 2 year contract
    • No Nationwide WiFi
  • Ugly
    • No real “Unlimited” plan as all plans are throttled after a certain data usage
    • Extra data only being 100GB feels small and doesn’t feel like it differentiates enough between
    • Message is confusing
      • saying all plans have 100Mbps but there are plans with less than that
      • most plan details show a breakdown based on 100Mbps then “Other plans” then “Unlimited” instead of showing the 5 price points


  • Upgrades in general get extra data and extra speed benefits
  • Good
    • Actual unlimited plans
    • Nationwide WiFi and explicitly mentioning multiple device support
  • Bad
    • 1 or 2 year contract
    • Unclear throttling info for data based plans (should be same as previous of limited to 1Mbps)
  • Ugly
    • Dowgranding plans once contract runs out and not directly mentioned on main page
    • Online chat system is not great and got no response (previous chat system was better)


  • Consolidated plans typically with more data / speed at same price
  • Good
    • No contract needed
    • Actual unlimited plans
    • Nationwide WiFi access
    • Has 100GB for $10 data add-on with long 60 days validity
  • Bad
    • Some lower plans now pay more
    • Unclear throttling behaviour for data based plans (had to ask them as not on website)
      • no Internet for “Entry-Level” plans
      • limited to 512kbps/1Mbps for the rest (was told 2 different values from 2 different sources)
    • $10 line fee now for all plans
    • Online chat system is not great and got no response from multiple messages sent
  • Ugly
    • Now with excluding $10 line fee
      • Feels like they are the same as competition and lost an edge
      • Adds confusion for previous customers where it was previously included in the plan
      • So it is less “Simple keeping”(one of their advertised phrases in the past)



  • Comparing to previous plans
    • In general same price but with either more data (100GB) or faster speed (so you only get 1 benefit)
    • Exception: Infinity 38 will get faster speeds when choosing more data (previously 20Mbps now 50Mbps)
  • 5 price points and each has an option for supersize (more data) / superspeed (faster)
    • I did not understand this until I saw the following sign at a store


  • Comparing to existing plans
    • Upgrade gives 100GB more with faster speeds at same price
    • Exception: 1.6TB data plans quota has no data change but $4/month cheaper
  • When plans are out of contract you get less data / slower speed
    • Based on their Instagram post as could not find an info on their website
      • 800GB quota and lower: less data
      • 1.6TB data: less speed (100Mbps -> 50Mbps, 200Mbps -> 100Mbps) and $4/month extra
      • Unlimited data: plans less speed (100Mbps -> 50Mbps, 200Mbps -> 100Mbps)
      • To keep 200Mbps extra $200/month
    • There is mention of less data in Broadband FAQ but no details
      > You will automatically be moved to a no contract plan, but with less data. There will be no changes to your monthly rental. To continue enjoying more data, simply renew your contract to 12 or 24 months.
      > You can stay for as long as you wish. However, you will enjoy more benefits i.e. more data or savings when you renew your contract.
  • Nationwide WiFi available
  • Has real unlimited connection
  • Data based plans should throttle on exceeding data
    • No mention in website, had to ask in person and they did not know the speed
    • Likely 1Mbps as was previously
  • 1 or 2 year contract
  • Online communications not so great
    • Thier ima chat system has had a downgrade since the last time I used it
      • Says “Type a message” but you have to click buttons as they have disabled actual chat?
      • Personal identifiable information is sent in the clear in the address bar
      • Never got a response
    • Instagram direct message reply took 23 hours


  • Consolidating multiple plans to single new plan
  • Comparing to previous plans
    • In general twice speed and slightly cheaper
    • Lower tier previous plans now pay more
      • Previously: One Home 50GB @ 20Mbps for $30 / One Home 250GB @ 20Mbps for $38
      • Now: Fibre 125GB @ 50Mbps for $35 / Fibre 250GB @ 50Mbps for $45 (Data add on 100GB for $10 valid for 60 days)
  • Now all prices **exclude** $10 line cost
  • No contract required
  • Nationwide WiFi available
    • Was told in store that it is only for a single device and multiple devices can be registered but needs to be done in store
  • Online communications not so great
    • Thier “Ask Tia” chat system has never given me a response
    • Prior to this recent upgrade it just said “Message sent” so I presumed it was an email and I would get a reply. Never received one
    • This time around it loads a chat interface but still I never got a respons
    • Instagram direct message reply took 31 hours

Pick My Provider

Ever since we got the revamp internet plans from DST, Imagine and Progresif (which I call the #BruneiTelcoWars) thanks to the work of UNN there have been several comparisons around and now is my turn with Pick My Provider


  • Find top 6 cheapest plans based on expected data usage
  • Shows top 3 cheapest per provider
  • Supports some filtering (e.g. minimum speed / contract)
  • Search Home Broadband (i.e. fibre), Mobile and Mobile Pay-As-You-Go
  • Displays information in tables for quick scanning of information
  • Plans are linked to source telco for more details
  • Copy link to current search to share with others

Most things are there and one current known issue is that Mobile Pay-As-You-Go search does not currently look at the number of days the data is valid: so a search for 1GB can show an addon that is only valid for 1 day. Hope to fix this one day down the road

Brunei Immigration Headquaters’s IC Section Queue Options

If you need to book a slot with the Immigration and National Registration Department Headquarters in Jalan Menteri Besar in relation to IC matters there are the following options

The QueUP app only has limited slots when there are actually more slots available that are not listed. So if you end up doing a walk-in they will just book you into a slot

My on-going Baiduri bank online banking problems

TLDR: Be wary of Baiduri’s new online banking platform: if you lose access to the mobile app (e.g. phone died / broke / app has issues) you’ll be locked out of your account and the only option is for them to delete your account causing you to lose saved details such as payment accounts and beneficiaries and who knows how long it will take them to get your account in order for you to start being able to make online payments again.

Also it would probably be best to email if you want to be alerted of any replies becuase their “email” in the mobile app does not allow attachments and will not send you any notifications

The Details

So as of the time of this writing I’ve not be able to make any online payments via Baiduri Bank’s online banking system for over 2 weeks

Failure #1
It started on 19th June when I opened up the mobile app to see that I was logged out. No bother: tried logging in again and it asked me to go through some extra security checks but on the final step it gives me an error saying that they are currently unable to service my request

Failure #2
Let me try logging in via a web browser and it asked me to enter a soft token from the mobile app which I can’t access because I’ve been logged out of the mobile app which generates the soft token

Failure #3
Called their help line and was told that I was still logged in on my device despite me tell them that I have been logged out and that it asked me to go through some extra checks but still failed to process my request. I believe I asked if there was any other fallback for verification like SMS and seems like there isn’t. They said they could remove my account and I would have to re-register and that would take 2 days. Not having any options, I asked them to proceed with the removal.

Failure #4
The next day I decided to try login again and it seemed that my account was no longer recognized so thought they managed to remove my account early. Managed to re-register and login and have access to my account. Found that my previous payment account details were no longer there. Guess it was tied to the account which they removed and deleted. Tried to make a payment and get an error of having no checking account.

Failure #5
Called into the helpline again and they told me to send an email via the app. The “email” interface is shown below with no ability to send screenshots of the errors or other details. I sent an “email” via the app and waited.

Failure #6
On 28th June after about a week of not hearing anything I tried again and still got errors. This is when I saw that they did actually reply to me 4 days after I wrote in but the only way for me to know about the message is to log into the mobile app to manually check for any new message. I got no emails sent to my email address registered with them: no notifications that they replied. So seems their concept of “email” is a message in the mobile app that you have to manually check every so often in order to see if they actually responded.

Failure #7
So their message suggested that I deregister my device and sign in again. Tried that and I tried to do another payment/transfer and this time I got a different error: “Transaction Initiated” blank screen

Failure #8
Getting really annoyed at this, I decided to write a long message detailing all these issued I’ve had and the inefficiencies of having to manually check messages and after clicking send, it tells me that my session has expired and I’ve lost the entire long message

Failure #9
Got a reply to one of my messages and they were asking me to send an email to for further investigation. Why couldn’ they do this in the first place so I could provide all my screenshots in the first place? Why did I have to jump through all these hoops just to get to this email

Failure #10
Got a call from Baiduri asking me try the payment again but told them that I already paid in person due to the failure of their system. Tried to add a beneficiary to aid future fund transfers and yet again another error message

Failure #11
2 days ago I tried to log in again and couldn’t login in on the mobile app or even access the website via a browser


Failure #12
With a VPN I managed to access the website and when trying to get my Soft Token to login, I see a blank section showing me no Soft Token

Failure #13
Tried to make another payment and still getting errors and I haven’t heard back from them with their last words being “We have raised to our IT department for further investigation and we will update you once we receive feedback from them.” at 3:11pm on the 2nd of July.


So it has been 2+ weeks without being able to make an online transfer/payment. My confidence levels in this bank has dwindled and wondering if all banks have these sorts of problems. Either way guess it is time to go around bank shopping and would be curious to hear of any similar stories with other banks

Brunei Geek Meet : APIs

Continuing on from webhooks of the last meetup we covered APIs in this December’s meetup before breaking into chatting about setting up a developer environment after trying to go through setting up GRPC on a XAMPP VM (unsuccessfully 😢)

Slides at

Presentation notes

  • APIs
  • Authorization / Authentication via
    • Simple API keys / Access Tokens
    • More complicated but more flexible Oauth
Oauth flow via

Hour of Code, APIs and Hack Night

Friday, Dec 14, 2018, 6:30 PM

Block B28, Simpang 32-37, Kampung Anggerek Desa, Jalan Berakas Bandar Seri Begawan, BN

7 Geeks Went

It’s the final month of the year and let’s have a night of chatter and code! Last week was the Hour of Code so anybody wanting to learn to code is more than welcome to come and ask questions or if you want to go through any Hour of Code exercises we’ll be available to help guide you through and help you learn! If you’re wanti…

Check out this Meetup →

#fixBruneiWebsites : Telbru’s horizontally scrolling website

As part of the #fixBruneiWebsites movement, we took a look at the Telbru website which had some weird horizontal scrolling as I found out and mentioned in this tweet

The Problem

  • Continuing to scroll down when at the bottom of the page seems to do a horizontal scroll
  • In fact, it is even possible to scroll horizontally even if there is no actual real content visible

The Solution

  • Adding the following CSS definition
.owl-wrapper { 
  max-width: 100%;

The Investigation

Note: I’m using Chrome dev tools as I typically use Chrome but other browser should have similar functionality

  • Open up the Chrome dev tools and head over to the “Elements” section to view the rendered HTML code on the page
  • Start deleting elements in the BODY until the problem stops happening
  • We found that the testimonial-container seems to be the cause of the problem
  • Expanding the elements the elements we see that a owl-wrapper div has a width of 3300pxwhich seems suspicious 
  • Setting a max-width: 100% seems to fix the problem 
  • So adding a custom style of max-width: 100% on the .owl-wrapper looks to be the solution we want!

I believe that should fix the problem! 🚀

Moving on from here, perhaps we could looking a bit more into what is creating this owl-wrapper in the first place: e.g. is it a library that just needs proper configuration or is there an actual bug in the library. But that would possibly be something for another day!

Brunei Geek Meet : Webhooking around

This month we held the meetup at iCentre thanks to the folks at DARe!

Topic of the month was webhooks with and some interesting links for the night

For the #fixBruneiWebsites session, I took a look at the Telbru website that I mentioned in this tweet having weird horizontal scroll behaviour

That seemed to be fixed with a max-width: 100% definition. Full write up of investigation and ways to check and fix it to come soon!

We saw a couple of new facings and a couple old ones but it was a great time! On to next month as we finish end off the year! 🚀

Webhooking around

Friday, Nov 23, 2018, 6:15 PM

Block B28, Simpang 32-37, Kampung Anggerek Desa, Jalan Berakas Bandar Seri Begawan, BN

13 Geeks Went

Happy November everybody! A night of talks and webhooks. We have a spot over at iCentre and if you haven’t checked out their recent renovation works it is now quite a cosy area! Agenda ———– [6:15] Mingle or get some food from Kontena Park [6:30] Intro [6:35] Webhooks: automate your life and work (and possibly even build a business from them?…

Check out this Meetup →

Intro slides for the night which include upcoming tech related events happening in Brunei!

Brunei Car Prices and #fixBruneiWebsites


  • You can currently find the latest of Brunei Price Controlled Car Prices at
  • #fixBruneiWebsites
    • Let us the community highlight Brunei website issues and tag them on your social media platform of choice
      • Suggest a solution if possible
      • If not, people curious to learn / offer a solution can reply to the post with an answer 🙂
    • Let’s use this as an opportunity to learn and give back to the companies that do have an online presence and let’s make the Brunei web great 🚀


The story

Did a Google search for “brunei car prices” which brought up a couple interesting results of actual approved prices for cars

Google search for "brunei car prices".png


It showed that the most recent one was June 2018 but curious as what is the latest version if any. As the results are coming from, did a search for “brunei car prices depd” and found the Motor Vehicles pagedepd old page.png

Which doesn’t seem updated since 2016Depd old motor vechicles page.png

Dead ends

As the PDFs show that there were more recent ones they had to be somewhere, so digging we go

Home was not useful.png

Sitemap does not help.png


More digging around and found the Competition and Consumer Affairs Department page that has the latest list on the right along with other price controlled items such as Cooking Oil and Formulated Powered Milk

Found on Competition and Consumer Affairs Department page.png

There is also the Price Control Goods page which has links to Clay Bricks and OthersPrice Controlled Goods page.png

And as it turns out it was under “Consumer Affairs” on the Department of Economic Planning and Development home page. In hind site, it makes some sense but isn’t too obvious

Consumer Affairs link on home page.png


What can we learn?

So from this I wondered what we could do to learn from this but instead of just complaining, what are the steps we can do to improve this. I have seen a couple websites and in Brunei that don’t seem to emphasise their web presence or just have things set up weirdly and thought it would be great to use these as learning opportunities for the local tech community in general so I’m going try a #fixBruneiWebsites journey

  • Let us the people of Brunei highlight website issues and tag them on your social media platform
    • If you can, try to offer possible solutions
    • If you can’t that is ok too 🙂
  • Then anybody who’s keen or interested could look up posts with the hashtag and could offer and answer and reply back to the original post
  • Take a look at the hashtag on
  • We can have sessions at BruneiGeekMeet for any new #fixBruneiWebsite issues and discussions

Learning takeaways / solutions for Brunei Car Prices listing

  • Have a strategy that allows you to scale
    • While I don’t know the full reasoning why the old page didn’t get updated, it could be that the way it was set up didn’t allow them to make changes easily or locked them into a certain format
    • The old Motor Vehicles page had individual pricing based on car brand. Perhaps it was too much work to break things down and upload individual files
    • There is no current Motor Vehicles page but now it is just a single PDF which helps consolidation and provides simplicity of uploading a single file which is great
  • Don’t be afraid to change things up
    • If things didn’t scale well initially, I feel that modifying the old existing page could have been something they did and not just let it go untouched
  • Update old pages
    • It could be something as simple as a link to the new current page to allow people to get the latest information
    • Or they could do a permanent 301 redirect or a temporary 302 redirect on the old page so that it automatically redirects to the new one
  • If you have a Sitemap make use of it / update it
    • This would be similar to the point above but Sitemaps are even more important compared to regular pages as they are used in SEO and help your page be found by search engines. While this Sitemap was an HTML page and not a XML Sitemap: HTML Sitemaps are still useful with the added bonus that it helps visitors to your site discover more things
  • Detail features of sections on a website
    • The “Consumer Affairs” link on the homepage isn’t a super obvious choice that it would lead to prices
    • Perhaps a shot


So I hope you come and join me on this #fixBruneiWebsites journey!

Brunei Geek Meet : Hacktoberfest Open Hack Night



It is the month of October and Hacktoberfest returns yet again. If you’re not aware of what Hacktoberfest is, it is month-long celebration of open source software run by DigitalOcean in partnership with GitHub and Twilio.

  • It is open to anybody and everybody all over the world
  • It runs for the entire month of July
  • And it aims to give back to open source
  • One way they do this is to encourage people to create 5 quality pull requests to any public Github repository and this year they will be giving away free T-shirts for all those who have completed it 🎉 (This year they have 50,000 compared to 30,000 last year)

We ran a Brunei Geek Meet last night where we covered an overview of making a Github pull request and shared some tips to look for issues

I managed to continue to work on Insomnia

Dev Tools Electron.png

This being the second year of participating in Hacktoberfest, I’m going to try look at tools I use or projects/people that have added value to me in some form over the many years of the Internet. So I’ll be continuing my hunt 👀 and hope you guys have a great Hactoberfest!




BGM Hacktoberfest 2018 slides




Hacktoberfest Open Hack Night: Celebrating Open Source and Giving Back

Friday, Oct 12, 2018, 6:00 PM

D & T Building
Spg 32-27, Kb Anggerek Desa Bandar Seri Begawan, BN

7 Geeks Went

It’s Hacktoberfest 2018 so let’s get together and celebrate open source over food, drinks, learning, and great company! What’s Hacktoberfest? ——————————– Hacktoberfest — brought to you by DigitalOcean in partnership with GitHub and Twilio — is a month-long celebration of open source software. Maintainers are invited to guide wo…

Check out this Meetup →

APIs and API/REST Clients

An API is essentially a programmatic way for you to interact with a system. When online services provide an API it can allow for a huge opportunity of customisation and extendability.

  • Practically all social media tools like Buffer, Sprout Social, Hootsuite would be utilising APIs provided by Facebook, Twitter, Instagram, etc in order to build their app.
  • Features of these apps would be limited to what the API allows: this is why you probably don’t see any Google+ integration as Google hasn’t release any API that lets you post updates!

But whenever starting to play with an API you’d probably start looking at the docs to understand how to make calls or if they have any sample code/libraries to get you going. Sometimes setting up a test environment can be time consuming so this is where raw API requests that utilise cURL are great! You can run the requests straight from the command line: see an example below from Intercom’s API to list users

curl \
-H 'Authorization:Bearer <Your access token>' \
-H 'Accept: application/json'

I started off using cURL but after a while I needed something that

  • was less prone to breakage (e.g. missing out a \ or a ' causing malformed/incorrect requests)
  • was easy to switch between different requests
  • provided extra features for extensibility (e.g. if I wanted to switch access tokens to connect to a different environment, I would have to change the request to use the correct token)

Meeting Postman

That is when I met Postman. Their tagline of “Postman Makes API Development Simple.” did certainly ring true to me.

Postman annotated.png

Postman provided

  • Folders for categorisation of requests
  • Different environments and variables: so that I can quickly switch credentials between different development/test/production environments
  • Multiple tabs: enabled me to make a request in one tab and switch to the next tab to see any related changes

The came Insomnia (of the good kind)

After a while, I got a bit tiresome of seeing Postman’s loading/splash screen and it felt like it took quite long to start up. While it has so many features (such as being able to use it for testing), I didn’t really need all of them so I was on the look out for something simpler and quicker.

Then I found Insomnia with its lovely URL

Insomnia Annotated.png

It has almost all the features I need and is even open source! My two main issues are

  • No tabs: so switching between requests can be a bit tiresome but workable (I still utilise Postman when I do need to do more efficient switches)
  • It auto saves requests: I have a template request which I modify and it automatically saves it: so that means my template is gone and I could have lost documentation on how to make the request and thus relying on going back to the API docs to find the full details. Postman only saves the template request when you actually request to save it. Perhaps since Insomnia is open source I could bring this up as a feature request or even implement it myself

Postman Template.png
Postman with my request template

Insomnia Template Gone.png
Insomnia with my request template overridden by last request

Insomnia & Postman

  • Free
  • Cross platform (Windows/Mac/Linux)
  • Folders for categorisation
  • Environment variables and switching
  • Import/Export function
  • Keyboard shortcuts
  • Online account/sync option
  • Proxy Support
  • Themes


  • Pros
    • Cleaner interface
    • Quicker startup
    • Open source
  • Cons
    • No tabs
    • Requests auto save
    • Online sync requires a paid subscription


  • Pros
    • Multiple Tabs
    • Requests do not auto save
    • Free online sync
    • More features
  • Cons
    • Slower startup
    • Cluttered interface

API/REST clients such as Postman and Insomnia will definitely be something I’ll keep in my toolkit and it has helped me so many times from being able to debug Firebase Cloud Messaging, TelegramSlack and more

So the next time you find yourself looking into APIs, perhaps look for a Postman collection to see if that can help you get things started up and running quicker