Blog

Reflections of a 30+ “Youth”

As I’m nearing my mid 30s, I’m forced to consider that I am perhaps not as young as I would like to think. Sure, I know I’m not old, but I am no longer the inexperienced, green, young upstart trying to figure out my way around life. I’ve read a lot of articles with titles like “Things you should accomplish by 30” etc, and honestly I feel that it’s worth having my own personal reflections on what it means to be in my 30s.

Generation Gap

For the first time in my career, I’m actually feeling a generation gap. I’ve always thought of myself as a newcomer to the working world, but having fresh graduates in the team and trying to relate to them has proven a bit of a challenge. I’m painfully aware of how I am in a different phase of my career and life, and they are all new and a little wet behind the ears when it comes to the working world. It actually caused me to pause and reflect as I was probably just as positive and hopeful once, and I need to occasionally curb my cynical side a little more. Naturally, I tell myself that I’m being “realistic”, but it is also possible that I am just being pessimistic about things.

Expecting a certain level or professionalism may seem like a high expectation, but I have discovered that smart, young talents are usually hungry to learn and grow, if they are given a certain amount of guidance. Most of them seem to appreciate what we are trying to accomplish, but it is also true that many of them have been fed the myth of “landing that dream job”, but don’t seem to have any idea what it is they actually enjoy or what that “dream job” looks like. In these instances, it can be an exercise in futility to motivate them, even if it is just to stay and finish the project so they can discover for themselves whether this is truly what they like or not like.

As much as I hate labels, I must admit that many of them are a little on the soft side, and calling them the strawberry generation is quite apt in my opinion. Undoubtedly, this does not apply to all of them, but when you see so many of them give up the moment things get a little bit challenging, you start to wonder how things would be so much better if they had cultivated just a little bit of grit. It might not be a fair comparison since circumstances were different back when we graduated, but if things are as challenging as claimed in this generation, with most not able to enjoy the same privileges as their parents, then they shouldn’t give up so easily. I’d like to think a lot of things can be considered learning experiences, but this is not a generation of people who will hunker down and push through. Some might, if a lot of time and effort is invested into them first, and it might be a symptom of the lack of trust they have with current establishments.

Inert Stability

Aiming to transition from “young upstart” to “mid career” has been a great motivator because it allows me to have an ever curious, ongoing desire to learn. I do not ever feel that I have arrived, and this has helped me to grow so much over the years. However, I’ve recently realized I have had to, with increasing frequency, remind myself that I have a lot of experience under my belt and to tap into that when necessary. This is especially true as I am building my team, and while there is still a lot to learn, I need to have a stronger mindset of confidence and self assurance in the work that I have done over the past 10 years.

On hindsight, I realized that my initial few years of working was a time when things were quite uncertain, and despite that, I was quite bullish on taking on new challenges as long as I had the appropriate support. This has always scared me a little because I had no experience to rely on, and pushed through with just a hunch and willpower most of the time. Now however, things are different because problems are solved strategically, based on sound advice and experience. Although there are always new challenges, the approach to tackle them seem to stem more from building on past experiences rather than pure speculation and guts.

I have yet to determine whether this is necessarily a good or bad thing, and I think the truth is that being open to both the risky, YOLO-style approach as well as the calm, collected and conservative approach gives me a depth and flexibility in facing and solving new challenges that I never had before.

Overall, it is very rewarding to mentor someone and watch them grow, and the experience, knowledge and expertise gained has been invaluable in helping groom someone else. Replicating yourself has its perks and I can see why many successful people feel the need to coach and mentor others. I’ve had the privilege to be mentored by others as well, and I can truly say it is one of the key things to help a person grow in his/her career.

Humility

I think I’m quite self effacing, but I also know that with a lot of experience comes a certain amount of pride. In the right doses, pride can be a good thing as confidence and knowing who you are and what you can accomplish builds you to face more and future challenges. However, it is also easy to fall too far, thinking that we have done so much, that we sometimes forget that humility is where we learnt and gained those that makes us so proud of. I’m happy to say that I have not done everything myself, but by standing on the shoulders of those who are older, more experienced than I.

Seeing many who are young, energetic, hungry and hopeful, helps me realize that I cannot rest on my laurels and become a cynical old man (as many “more experienced colleagues” I’ve had are wont to be). I was once like them, and while I might not be in the same position as them now, I remind myself to always retain that drive and persistence. I have never looked down on those who are young, but I do pity those who seem to waste those youthful times. It is a time of opportunities and unlimited potential, and what I wouldn’t give to retain what I know now, turn back time, and do it all over again.

So I have to stay humble, as it is with having these young ones around that I can learn those lessons again, be reminded again, and keep that youthful enthusiasm going. The moment I find myself looking down at a whole generation for being young is when I know I have lost my own edge.

Conclusion

I know I’m not as young anymore, but that is just relative. I am naturally still much younger than many others, with a long journey still ahead of me in my career and in life. Growing and maturing is one of my key tenets in life, and I never want to stop doing that. It’s definitely the easiest to keep it up by framing your thoughts and identity as being “young”, because then you will never feel the need to stop learning.

In the meantime, I’ll just enjoy the fact that I’m doing decently in my career, while still young enough to be gaming, and thoroughly loving it.

Now, if only my wife could see it the same way…

Black Desert Online – SEA

If you’ve never heard of Black Desert Online (henceforth referred to as simply BDO), now is the perfect time to try it since it has released here. Originally launched in Korea, the game features some of the nicest graphics for MMORPGs these days. Take a look:

The game itself is matured, given that it has been around for quite a few years. They have a few versions for each region, and SEA is the newest addition, having been released only in January this year. It is managed directly here by the game developers themselves, Pearl Abyss, unlike NA / EU region which has a publisher, Kakao, managing the last mile between players and developers (servers etc). The server is located in Singapore, which means the lag in the game is less of an issue. They also release updates very regularly, some would even say much too quickly. That’s because each new feature or update has already developed for other regions, and is only waiting to be rolled out. So the game is constantly fresh, at least until they hit parity with other regions.

BDO has multiple facets to it, which provides a surprising amount of breadth in a single game. There’s the usual leveling and killing mobs for experience and skill points, and the economic side of things including gathering, crafting and a marketplace / auction house. Each of these areas have their own unique take compared to other games of a similar nature, but it’s not too foreign for experienced players.

The graphics and animation are really good, where character movements are realistic, and even the water elements such as rain and camera angles when swimming looks exceptionally stunning. If fact, the game comes with a character editor that is so amazing, it has been used to replicate real life people and celebrities on a number of occasions. The exercise of creating your character is already a “game” in itself, with many creative players vying for the chance to showcase their creative skills by using the character editor and uploading their creations to the beauty album.

The gameplay is what drew me in the most, with extremely fluid battle movements including the execution of combos, dodges, blocks and grapples. It takes some learning if you are used to the common formula of target and button press to use each spell, as each skill has a specific button combination in order to execute. A sequence of combinations chained with the right timings is what makes the game feel so good to play. They also did a good job of making key skills not only execute more powerfully in game, but it also feels weightier and more satisfying. You actually feel powerful, which is rare and more immersive.

The only gripe I have about this aspect of the game, and it’s a pretty big one, is that there is very limited end game content for PVE. There are next to no raids for progression and gear, with the closest being scroll bosses for both individuals, parties and guilds. Even then, it’s reduced to a few boss fights that everyone has to progress through.

Do note that the game is very good at monetizing, and they do it in every way possible for a game. It is buy to play (B2P) here like a regular game, it also has a soft subscription (in the form of 30 day Value Packs) just like most MMORPGs, and it has a cash shop that does give some advantage (although not outright) in terms of convenience and time saving. Because of the really beautiful graphics, it is seriously tempting to spend on a lot of things like costumes on top of the convenience items, but it looks really good! Just bear this in mind it you are thinking of playing.

In the end, the game itself is beautiful, and the gameplay reminds me a lot of Ragnarok Online, with its grindy Korean themes and guild wars, but with much better graphics. The price to get started is not high, but it will cost a bit to be able to be decently competitive, assuming that you want to be. The good thing is that while it is an MMORPG, it can easily be played as a single player, with the amount of things to do in game. Just life skilling on its own is a huge in terms of content. The key is to play at your own pace, and enjoy the journey.

I can’t recommend it enough.

Gearing up for Black Friday

Black Friday is only a few days away. The Wife already went on her spree on Singles Day (11.11), but I much prefer Black Friday sales as the things sold on Black Friday is more aligned to what I shop for as opposed to 11.11. The former is more “Western”, and platforms that I enjoy shopping at like Amazon and Steam will inevitably be inundated with all sorts of sales.

I think the difference between my Wife and I is that she likes to go for clothing such, whereas I prefer shopping for electronics. Also, the AliExpress/Taobao platform gives the best deals for clothing, but Amazon and Steam has been proven the best for electronics / digital games.

Despite Amazon Prime dropping in Singapore, the catalogue is a lot smaller than Amazon USA, and in case you didn’t know, if you spend more than $125, delivery to Singapore is free for anything shipped and sold by Amazon (not a third party seller). Just be mindful to keep each transaction under $400 or you may end up getting taxed. This is particularly so when getting things like PC Components.

Don’t forget that in the end it’s best to be prudent and it does not mean that just because something is on sale it is a “must” to buy. Assess your financial situation and really think if you want/need it.

Now, here are a few things I’ve done to prepare myself for the coming weekend:

Fill up your wishlists

Most shopping platforms (Amazon and Steam included) have the wish list functionality. Use it. Categorise the things you are looking at and sort them if you like.

On Amazon, I created a category for “PC build” as I was looking at getting individual components. Come Black Friday / Cyber Monday, I can see which components that I wanted will be on sale. Amazon also does a neat job of informing you if the price drops, and by what percentage from the time you added the item to your wish list. This ensures you are really getting the best deal.

On Steam, they do the same thing except they do not allow you to have different lists. I think having the notifications for items which you are not sure you want to buy unless it is really discounted helps you make the best out of the deals.

Do your research

It is best that you do your research on any item you might consider getting. The last thing you want is an impulse buy which you regret later even if it is heavily discounted.

One thing I do is research an item (read reviews, check detailed specifications etc) and then sort them into categories. For example, I might be very sure I want that SSD, but not so sure about the CPU. I put the SSD in the “very sure” list, and the CPU in the “maybe” list. This allows me to easily say I should only get items in the “maybe” list if it is very heavily discounted, and avoid it if it is just a token amount. It also helps if you check some sites that show historical trends and prices for each item (use camelcamelcamel for Amazon and SteamDB for Steam) to make sure you are really getting a good deal.

Manage your expectations

The last thing I need to prepare is myself. The thing about Black Friday sales is that it used to have such amazing deals that I am now hard pressed to think what I see is a “good deal”. Sometimes, despite the discounts, I cannot bring myself to pay that kind of moolah. 10% or 15% don’t seem to do it for me unless it falls into single digit range for something that is usually double digit.

I think the biggest rush is when you find something at a steal, and it’s something you can enjoy and would have gotten anyway. Sadly, ideal situations like that don’t happen all the time. However, I think by preparing for Black Friday, the chances of getting that rush is certainly a lot higher.

Now, I wonder if my Wife would let me buy all these…

Challenges and benefits of setting up your home network

In an effort to make my home a more comfortable and enjoyable place, I’ve endeavoured to make the best of technology. I’ve previously posted about setting up my home network, and the experience was enlightening, but at the same time disappointing, as I realized that the current home solutions don’t quite work as well together as I would have liked.

LAN issues

Firstly, despite trying my best to plan out the entire network, it is not possible to plan for every contingency. Unfortunately, one of my LAN connections had issues which can only be attributed to a problem during the cabling. Now that everything is nicely hidden, it is simply not possible to replace / repair it without major hacking and rework… all for just one piece of wire.

The sad part is that this end point was exactly where my desktop is located, and so the most important piece of hardware that requires a LAN connection ended up without, which was truly frustrating for me.

Thankfully, my multiple wireless access points approach worked well, and I simply connected my desktop to my 5G network by getting a USB Wireless Access dongle (because desktops don’t come with that built in usually). I ended up with at least a solid Wireless AC connection for my desktop. Since my UniFi Wireless Access Point sat just outside the door, the results were more than satisfactory.

Having too many devices

I started adding more and more devices to my network, starting with my new Samsung Smart TV. Smart TVs are advanced enough now that they have built in software that covers Netflix, DLNA playback and even a web browser. However, after using it for a while, I discovered that the built in options were less than ideal as I had problem streaming some videos that don’t support mobile browsers. The thing that did work well was Plex streaming, but that required me to keep the Plex server running (and in my case it was my desktop which is not exactly power efficient).

I also had my Mio TV Set Top Box courtesy of Singtel, and it had to be connected directly to me router as there were special settings for IPTV to work. Thankfully, my router came with those settings built in, and I had to use up one of the LAN ports for my router.

I also added a few CCTV cameras, but because I wanted to record what was captured, had to get a device to store what was streamed.

I still have a PS3 in my TV console.

To make it easier to stream stuff, I decided I needed a laptop as a central hub connected via HDMI to my TV.

Despite having 8 LAN ports on my router, I was already maxed out. I had:

  1. One used to connect to my second Wireless Access Point
  2. One reserved for my phone (router settings – can’t be changed if I have #3)
  3. One connecting to Mio TV in the living room
  4. One connecting directly to my living room TV
  5. One connecting to my master bedroom TV
  6. One for my CCTV recording device
  7. One for my PS3
  8. One for my Laptop hidden in the TV console

I had to get a network switch to alleviate the issue of too many cables running from my TV console to router, and free up a few of the LAN ports at my router to make room for future expansions. I haven’t even factored in the LAN points around the house, and some are currently not connected to the router, which is fine for now since it’s not used. I managed to find a TP Link 8-port switch for $35 from Amazon Prime Now, which I think is a pretty good deal, but they, sadly, no longer sell them.

One System to Rule Them All

In my setup, I was trying to make the living room TV the focal point. Whether it was games, watching a show, accessing CCTV footage, all of them required a system to manage, and so the best way to do everything was to have an actual computer connected directly to the TV. Thankfully my company gave me an old laptop, so I set it up as the system in the TV console that could do everything, from streaming dramas and movies to gaming.

Of course, the system was not really powerful and was more so not built for gaming, but thanks to Steam Home Streaming, I could run games from my desktop to the TV, allowing me access to my entire catalogue of Steam games at my TV. Suddenly, I could enjoy many of the X-box to PC releases, and Steam even allowed me to connect a PS4 controller directly, making it a perfect setup! Games like Final Fantasy 7/8, Tomb Raider, Broken Age, Lego Marvel Super Heroes, and the Bioshock series, all played on my couch!

What’s Next

I really wanted my place to have an awesome system to enjoy both solo and with others, and as a gamer, it is obviously exciting for me to be able to build it!

Building a small form factor PC is what I’m looking forward to next to enhance my current setup. Replacing the laptop with a powerful system that runs a GeForce 1080 TI would make the setup VR ready! Plus, 4K resolutions for games and movies are would be no problem!

And then there’s the NAS drive to keep data available on the network. It would lessen the need for my wife to worry about space for her photos and videos.

But until then, at least I know that the time and resources invested into setting up my current network and systems have been worth it. If nothing else, I’m enjoying this aspect of making my house a better home.

(Re) Learning how to code in Python with Django – Part 2

Django Apps

A Django project is typically formed from several Apps, each pertaining to a certain function within a website. Usually, I would expect to create one App for say, site updates and announcements, another App for commercial transactions with a shopping cart and checkout functions, yet another App for a forum etc.

Django comes with a built in Admin Site App, allowing trusted site administrators to quickly create, edit, delete and otherwise manage content. This is considered a common function that is required for just about ANY website, and covers things like management and authentication of users, display and management of forms, input validation, and translating all that into SQL statements for updates into the database. Having this by default really saves a lot of hassle when building a website and is a key feature available in the Django Framework.

Overall, since Apps can be made up of other Apps, it is easy to take a top down approach in designing the overall website functions, as breaking them down into Apps (or smaller Apps within an App) would make it much easier to architect the entire system. The team can then focus on individual Apps which will generate the functionalities required.

Key things for Apps:

  1. Use “python manage.py startapp name_of_app”
  2. Edit “settings.py” at the INSTALLED_APPS line with name_of_app.apps.Name_of_appConfig

Every App typically embodies the MVC structure which is what makes Apps so powerful because it is “self-sufficient” and can thus be replicated and utilized in different projects, with some minor tweaks done to the settings.

The MVC Structure

One of the coolest things about frameworks, is the ability to manage data separately from the logical layer, as well as the presentation layer. The MVC structure really makes things easier as you can split the management of all three layers making it cleaner and faster to make changes.

Models

Models are the foundation for data that drives your website. Every piece of dynamic data has to be defined in a model and stored in the database. Being able to manage how data is structured is quite typical in a framework, and Django does this very well by providing migration functions. Changes to the database level structure can be affected by using the “check”, “makemigrations” and “migrate” commands. This ensures consistency while developing where you can choose to update a column of a table for example by simply running these commands.

Of course, Django’s models can also have additional attributes which is on top of the database layer, making them extremely flexible.

Recap

So just a few key things for me:

  1. In models.py of an app, use following syntax
    class Name(models.Model):
     field = models.TypeField()
  2. Add this to Model Class to display human readable objects in models
    def __str__(self):
     return self.field
  3. To add a model to Django Admin, in admin.py, use following syntax
    from .models import Modelname
    admin.site.register(Modelname)
  4. For date, time and numbers data types (non-string), to allow blank fields, use
    field = models.TypeField(blank=True, null=True)

Having a growth mindset

I've been thinking recently about how I haven't been progressing as much as I would have liked to these past few years. Part of it could simply be attributed to the fact that I've had a pretty eventful few years getting hitched, getting my own place etc. However, a conversation today triggered my memory of how I told myself I would keep growing and keep improving, and I need to make sure I get all the help I can get to do that.

One of the key factors for growth (and I mean the kind of growth that includes the expansion and maturity of your mind and soul) to me, is actually what you constantly feed your mind with. This is one of the reasons I love reading. It expands your thinking and mind, and encourages new ideas, new perspectives. I love it so much, that I quite often hear complaints from the wife that I'm too engrossed in reading, and "neglecting" her (and I assure you I have absolutely no intention of doing so).

The challenge with reading, though, is that once you reach the end of the article / book / text, you are usually stuck with the "what now?" question. For example, block chain is the newest topic that's hot everywhere, and reading up about it is really interesting and insightful, but after you have read and understood it (at least a bit more than before you read it), what do you do now?

To me, I always reflect on how this can impact me. In the case of block chain, the obvious answer to "what now", is "so should I start investing in Bitcoin / Etherium?" Coming to this point is something that I can definitely do fairly consistently, but it's the next step that stumps me quite often.

You see, I have done a lot of introspection, and knowing myself, I always need to talk to someone about these new ideas, and gain further perspective on how / why we can consider pursuing them further. The problem, however, is that you can only have those levels of sharing with someone who has the same level of interests or thinking as you do, and that requires you to have a group of forward thinking, worldview challenging, and matured people around you, consistently interacting and influencing you. It's very true that you should choose who you hang out with because they will either challenge you to grow, or cause you to stagnate in your thinking.

In a way, I seek assurance in any new venture by bouncing my ideas off of others, and it is therefore crucial and essential for me, as a person, to always have people to talk to who can elevate my thinking and perspectives. I need mentors in my life to be able to help me grow in many areas. It is this understanding of myself that leads me to feel fairly frustrated at this point because I feel I don't really have many people like that in my life now, and it is not for the lack of trying.

Just to clarify, I'm not talking about getting someone to tell me step by step what to do, but in any kind of mentoring or discipleship, a lot is imparted simply in the constant interaction because the reinforcement of new ideas happens then. For me personally, I need a certain level of reinforcement to induce an action on my part – again because I understand myself not to be someone who can throw myself into something just like that. A lot of thought needs to go into it first.

So now comes the most difficult part: Actually finding the right people with the mindset and thinking who can, and more importantly, are willing, to build that relationship and connection. It might sound a little selfish, but I'd really like to be able to find someone to encourage me and help me grow. All I can say is that on my part, I think I can also help others grow and sharpen their minds and thinking as well, assuming we can find that common ground.

It would be an investment of time and effort from both sides, but I do believe it is well worth it, if growth is a priority.

(Re)Learning how to code in Python with Django – Part 1

So I've decided to try (again) to learn how to code a full Web Application in Python using Django as the framework.

The number of false starts in my endeavour is enough to make me discouraged, but I just can't totally let it go and I seem to keep coming back to it. Somehow, the desire to actually build something is still there, and I'm just hoping that this time I get somewhere. I'm blogging this experience in part to keep myself in check, and to also document some of my learnings so that I can always come back to it.

I would've loved to be coding on a MacBook, but I don't have one and until I reach a stage where it would be more productive for me to get one, it would make more sense for me to continue using the existing Windows based laptops I have.

First, a few things I've (re)learned:

  1. Use pip to install virtualenv in Windows Subsystem for Linux (WSL or Windows Bash). Using Virtual Environment to manage Python Environments and versions are essential to making sure your development environment is consistent. It should essentially be part of your workflow.
  2. Context syntax for multiple variables is as follows: { 'var_name': 'value', 'var_name2': var}
  3. Context syntax for dictionary is as follows: {'dictionary_name': {'var_name': 'value'}}
  4. Use "django.shortcuts import render" and then "return render(request, 'template.html', {'context': bar})"

Ok that's about as far as I got. Considering it's only a few hours in, with so much more to go, I really needed to put this down so I can make sure I keep going. At least it's a start.

Next step is Apps and Migrations within a Project.

Setting up my home network

One of the cool things about doing up your new place, is the opportunity to plan out how you would like your home to be. This applies to the look and feel, but I think also the functionality that you can get out of it. When we purchased our place, I wanted to also try and fix some of the prevailing problems I’ve had ever since I started renting my first room – namely how to minimize running wires around the place. I decided to seriously explore how to go about setting up a home network.

The first thing I did was to think about what I actually needed. I definitely wanted to wire up my desktop directly to my router to minimize latency. I also wanted to make sure I could access the internet anywhere around the house as it was a persistent problem at my previous place. To address these main points, and future proof the house, I decided to try and setup structured cabling at my new place.

Image from Singtel Website
Image from: http://info.singtel.com/personal/internet/broadband-at-home/fibre-broadband-installation/

When I was planning all these out, I tried to find some references or research others with similar experience in Singapore. Most resources online seem to cater more for large houses, or for locals, BTO units which come with structured cabling already more or less setup. I struggled to find points of references for my HDB resale flat. Here are a few things I learned from my experience which will hopefully help others exploring the same path.

The hub

The first thing was deciding on where to place the “hub” or heart of the network. This will be the place where the main router would be setup in the home, and would be where most of the network points end up. A good setup would be something similar to an office network.

I decided on placing my hub near my TV console, keeping the main router exposed for WIFI coverage, but hiding most of the other devices (ONT, switches, power sockets etc) in the built in cabinet. Once this was decided, I had basically decided the “end” point of all my cables to be laid.

Cabling

Image from: http://premiumwires.blogspot.sg/2016/07/cat5e-vs-cat6-vs-cat6e-vs-cat6a-vs-cat7.html
Image from: http://premiumwires.blogspot.sg/2016/07/cat5e-vs-cat6-vs-cat6e-vs-cat6a-vs-cat7.html

Next is the simple part which you can work with your contractors on: cabling. Most contractors at the bare minimum have Cat6 cables, and although there are even Cat7 cables now, it is not worth the price as the additional isolation for a Cat7 cable isn’t really relevant for home use.

Most contractors charge cables by the number of termination points, rather than by foot run, and as mentioned, the cool thing about doing up your house is you can choose how to conceal and run the cables. In my case, everything is largely nice and hidden, so I only see the RJ45 sockets on my wall.

Termination points

Choosing where and how many points to get depends largely on your needs. You have to look at your layout and determine where the points will be in each room depending on your needs. It is best to have as many points as you can afford, but in my case, I opted for just one point in each room.

There are two end points for each cable, and you will plan for the end points from each room, but the other end should be right at the hub. My contractor initially had RJ45 female points for each of the rooms, and gave me male points at the other end, which I was not too happy about.

While it is definitely “easier” to just plug all the male points into the router / switch, the fact remains that I have that moving cable running through the house concealed, and if that moving part were to spoil (unlikely I know but I didn’t want to take the chance) I could not re-run the wire unless I was to hack the concealed ceiling and replace it.

I made some noise and they eventually replaced the male points with a wall mounted RJ45 female plate which housed 4 points each. This was fixed to the wall, making the chance of each point failing due to cable movements much lower. I just needed to get a regular Cat6 patch cable to connect each of the points to my router, and I was set!

WIFI considerations

Another key thing to think about your setup is the kind of devices you will be using in your home. If you have more devices that will be connected by WIFI, and they are spread out in the house, then you will need to cater for them.

In a city like Singapore, it is unfortunate that your WIFI signal will get constant interference from other WIFI devices. Due to how saturated the WIFI signals are, it seems that there will always be “dead spots” in the house with a standard WIFI router. Of course, you could opt for a wireless mesh network solution like EeroOrbi or if you can get a parallel import, Google Wifi, but that doesn’t help to reduce the traffic.

Instead, I would highly recommend you get an additional access point (unless you are staying in a studio sized unit). Every WIFI device will then connect to your network via the access point(s), preserving the bandwidth of communicating between your main router and the access point. I did this by running an additional data point to the ceiling where I wanted to place my other access point.

Router selection

The new routers from most service providers are pretty good, although they lack the flexibility and configuration options that some power users might need. Still, as long as you are just intending to have a decent connection and are not looking to setup a VPN, remote file server etc just stick with the router provided. I use Singtel and the new wireless AC router works just fine.

A key thing note is the number of ports you might need for your cables. Most routers come with up to 4 ports, and if one of them is used for your secondary Wireless Access Point (WAP), then you are left with only 3 which you could use to connect to the other rooms in your unit. If you also want to connect your TV / Game Console / NAS / HTPC via cables, then you would likely need to invest in a switch. This is the main reason you would want to plan out the kind of devices you would like to use.

ASUS routers can be quite expensive, and there is one model that has up to 8 ports (RT-AC88U). Asus routers in general are not too difficult to maintain and there is a lot of support available, but I would say most users would not need to go there unless you have a specific need for your network.

You can also explore Ubiquiti products, which is very powerful, scalable and provides the most options, but it is pricey and typically meant for business / commercial use, so it may not be worth it for home use. That said, they do have a powerful WAP that is affordable and can save you the hassle of an additional power socket, because they make use of Power Over Ethernet (POE) which allows your data cable to also power the WAP. I personally went for the Unifi AP AC Lite which came with POE adapter which makes the WAP positioning much cleaner.

Summary

Overall, while I am not the most network savvy person, I am quite happy with how my network is now setup and can kiss goodbye to cables running across my house. Having most devices hooked up by cables ensures that I do not get as much signal interference, and gives you more options to expand your network usage. As we are moving towards the age of the Internet of Things, having a better connection at home would be very helpful as more and more smart devices can be effortlessly connected to your network.

If you ever want to make your home somewhat smarter, and you have the opportunity to do up your place, then consider the points that I listed above. Or, drop a comment below with your questions and I will see if I can help.

Gadgets and gizmos

It’s been a while since my last post. Life has certainly kept me busy enough. Getting married, starting my new job, finding a home and settling in are but a few items in my list of recent accomplishments. Now that the dust has settled, I can finally find a few short minutes to just put down some of the things that have got me thinking.

Ironically, it’s not the marriage, job, or house that is spurring me to write this, but a combination of discovering Carousell, my trip to Guangzhou (now not so recent but really spiked my interest on cool gadgets), my daily dose of Lifehacker, and recent Facebook posts that got me interested in some really cool pieces of technology that has me drooling. I’m so interested to get my hands on these, to tinker with if nothing else.

  1. Raspberry Pi
  2. Oculus Rift / HTC Vive
  3. Myo

This is by no means exhaustive, and there are many other interesting products out there. A quick glance through Kickstarter or Indiegogo should give some indicator of the crazy stuff people come up with, and a lot of them are awesome!

1) Raspberry Pi

I remember my first foray into electronics back when I was about 9. I didn’t know too much about it at the time, but I found it really cool to be able to build stuff using LEDs, transistors, resistors, and capacitors. I also learned that there was so much you could do with breadboards and soldering iron, and I begged my parents to get me a kit (which they eventually did) so I could try my hand at it. Of course, I didn’t learn how to build a full computer, but I think the foundation for electronics was something I picked up and enjoyed learning. I also did take a course on computer architecture in my university days, so I at least understood the theory behind it, but there was never an affordable way to actually practice any of what I learnt since it was in the realm of research, and there was never a space for hobbyist’s to play in.

Then came the Raspberry Pi. The Raspberry Pi is a shrunken down minimalist computer. It has the basic things you can find to connect a storage device (memory card), USB ports for expansion, display output, power and can run more or less a full operating system. This makes it perfect for projects like intelligent home appliances, home theatre PCs (HTPC), hand held devices (think old school game boy via emulation), robots, and more. It’s small, and light, and cheap, making it a hobbyist’s dream.

The Raspberry Pi was originally a tool for learning, and there are many schools using it to teach children how to be creative and exposing them to engineering and programming from an early age. A lot of the projects are really cool too (imagine creating your own mini robot or device that can turn on or off the lights at home by talking). This is something I wished I had the opportunity to do when I was younger and while I did get some exposure thanks to supportive parents, the current landscape is such that there really shouldn’t be any excuse not to encourage everyone to try making something. It’s rewarding to be a producer!

You can check out a number of cool projects to get started here.

Oh and if you are in Singapore like me, you can pick it up fairly cheaply from Lazada.

2) Oculur Rift / HTC Vive

Virtual reality is the new cool kid of gadgets and it’s finally coming to your living room. That said, the price still seems a bit out of my range at the moment, but the concept of being able to play in such an immersive environment has me feeling super excited about the potential that the technology brings!

There are enough articles on the internet comparing the two, but if I had to choose I would be leaning more towards the Vive as it ties in with Steam, which means a large catalogue of games!

3) Myo

Imagine being able to send control signals by gestures. Sounds pretty cool right? I am keenly interested in technology that allows for augmented reality, like Sixth Sense and the Myo Gesture Control Armband seems to be one of the first commercialized solutions available. It may not be as great now with Microsoft Kinect-like technology, but I think a wearable is always more sensitive and accurate, and would love to be able to play with it.

Right now, I find the price of the Myo the main restriction. It costs US$200 and is a little pricey for a controller in my opinion. I’m hoping I can get it at a discount sometime soon.

There are plenty of cool ideas being converted into actual products now, and it is scary for me to browse through Kickstarter because it is so tempting to jump onto the bandwagon and hype of cool new ideas and products. There’s Father.io and Lily to name a few. Suffice to say, I’m excited to be living in the age of crowdfunding, where so many cool ideas can get off the ground, and we have an unprecedented ability to explore new and cool gadgets for the future.

Now if only I could get my hands on all these gadgets…