Shurn the Awesomer
My Wedding of a Lifetime

My Wedding of a Lifetime

Written on Thu, 23 November 2017

So you are going to tie your knot with your soulmate. Before you go running to get your wedding planner, would you like to consider planning on your own like I did?

The advantages of a DIY wedding are obvious:
  1. Your costs is significantly lowered. My entire pre-wedding + wedding + honeymoon costs less than S$9000.
  2. You dictate every step of the wedding. I held a Minions theme wedding. I picked my location. I picked my style.
The disadvantages of a DIY wedding are also obvious:
  1. You pretty much do everything on your own. If you mess up, you're on your own.
  2. It can be stressful, given the sheer amount of work required. Give consideration to your wife before making this step.
  3. You might need to pick up some skills to get things done.

Disclaimer


There are many considerations for my wedding that may not apply to you.

  1. Traditions that no longer hold meaning is not followed. For me, a lavish 9-course dinner is meaningless other than to please my invitees. This is my wedding, not a dinner treat.
  2. Gifts are not required. Particularly in Singapore culture, where gifts are an unspoken expectation, I made it clear in writing that gifts are not required. You're here to witness me and my spouse's bond together, not to be my sponsor for my wedding+honeymoon. This is not a fund-raising event. Therefore, my heartiest thank you all who gave. Those who didn't, your witness is the most important thing I asked and hoped for.
  3. My in-laws were from overseas, thus, I could do much savings from staying over at my in-laws' place during honeymoon.
  4. My company provided much benefits, thus, I was able to reduce some costs from certain activities.
  5. My solemnisation date and wedding date are on different dates.
  6. I'm a web developer. I could do certain things differently to achieve the same goal.
  7. My wife is good with sewing.
  8. A lot of my friends helped.

Pre-wedding Preparations


Since I do away with a wedding planner, I totally did not spend ~S$2300 just to engage a planner. The good thing about a wedding planner is that they come with a wealth of experience. Knowing potential pitfalls and obstacles can truly be a event-saver. They will take the load of stress from the couple, so that the couple can just focus on getting happily married, with emphasis on happy. The one single thing that annoyed me most was that a wedding planner advising my invitees based on the projected gift values they bring, which goes against my deep-seated belief that my wedding is not a fund-raising event.

The first item in my list of preparation was to choose a restuarant that gave the most value-for-money. I'm not looking for a cheap place to hold my wedding, but instead, I'm interested in making sure my money is well spent. So I chose EatPlayLove cafe. This place provides a full wedding package at a very reasonable price. The package includes a wedding cake, decorations, and backdrop.

Looking for clothes was not so straight forward. We wanted to look our best. Shopping around sure took much effort. In the end, my wife's talent came to great use. She bought very simple clothes and little accessories to sew them on. On top of the savings, we were able to customise the decorations on our clothes. When we did a comparison of equivalent clothes along Bugis, we managed a savings of 30% average. The biggest savings was from Minions Theme clothes. A piece of Minion theme shirt costs about ~S$80, but buying off a simple shirt and Minion artwork costs a mere ~S$20.

What is a wedding without photos to keep as memory. In this category, we made great savings too. There were many photography packages, but most of them start from ~S$1000. But I'm a web developer, and I can design my own photo album. My good friend, Louis, offered to be my photographer for free. We spent an entire Saturday going to Henderson Wave, Resort World Sentosa, and Palawan Beach taking lots of photos with our own basic camera. Other than the mistake of a dirty lens and having inadequate lighting at night, the most of the photos turn out great! Now, even though Louis offered to do this work completely free, I gave a small gift of appreciation and every meal on the day a treat as a thank you. Never take unfair advantage of friendships. After having it specially designed by me into a unique photo album, I got it printed for S$40. I also specially printed specific photos for distribution for ~S$10. I merely spent a bit more than S$100 on this section.

As tradition, every wedding must have a ring. My wife and I agree together that a ring is more symbolic than the weight in resale value. Diamond and Gold have nothing to do with love. Diamond dug out of Earth is dirty, and, in come cases, bloody. Diamond can be made in a lab. So after much consideration, we settle for 2 Swarovski crystal on a silver plated ring, at an affordable of S$168.

Giving my guest for coming to my wedding as a memory is something my wife and I wanted. We wanted something memorable, usable, affordable, and Minion theme. After looking around suppliers and types of items, we find that a luggage tag has the right balance among all the criterias we set out. A gift costs S$225.70 for 70 pieces.

The Big Day


As formalities, I had to ensure my in-laws are in Singapore during the celebrations. The 2-way flight tickets for 2 person was S$505.70, from Jetstar. For accommodation, practicality, affordability, and prestige has to have some balance. My wife and I are also staying there, thus, budget is a little tighter. After a good look around, we find Aliwal Park Hotel to have the right balance. 150 metres from wedding venue, reasonably comfortable stay, convenient travel to bugis for shopping, and an affordable pricing of S$664 for 5 nights.

Being a great host to my in-laws was important. My wife and I brought them to River Safari. The entry was completely free as it was part of my working company benefits. We also visited Madame Tussad's Musuem and Trick-Eye museum. The tickets were purchased online and as a bundle, total costing us S$128.

Bringing 2 families together was an important part of our marriage. I organised a 6 pax international buffet for us. As I hold SPH Rewards Card, I was given a 1-for-1 treat at The Seasonal Taste @ The Westin. It was such a worth it deal, costing only S$310 instead of S$620. The food is simply delicious, although a bit too salty for myself.

We got a friend to be my wife's make up artist. Since we needed the artist for both the Solemnising and the Wedding, it was charged at $180 each. It included an additional accessory of S$10 which my wife gets to own it. I would consider the rate to be at the lower end of the standard. So it's actually very affordable when I compared it to others that went as high as $300 per event and accessories are only for rental.

Of course, the highlight is the wedding itself at EatPlayLove. Every one present for my event was my photographer. I specially set up our website @ thazin.shurn.me for uploading photos. In preparation for big amounts of upload, I signed up Filestack's Starter Plan, which costs about ~S$70 after currency conversion.

Our Honeymoon


A 2-way flight ticket for me and my wife to Myanmar costs S$390. I had the privilege of staying with my in-laws, thus I saved on that, for 4 nights. I got to thank my in-laws for preparing our bed and mosquito nets.

I clearly remember visiting Shwedagon Pagoda. Being a foreigner, I had to pay a small token fee to enter the premise.

I also managed to visit Thabarwa Centre. Seeing the poor and the needy moved my heart to give a small donation to the place.

Overall, I spent S$1000 + my flight tickets over at Myanmar. Most of the items are far more affordable than in Singapore. 4G internet connection is reasonably priced.

Other Expenses


Logistics was certainly a big part of our journey going from place to place. Most of my trips were taken care through Grab. The overall costs of logistics was about ~S$100.

Food for those involved in preparing for our big day was how we express appreciation. This costs about ~S$400.

A token of appreciation goes to our solemniser, Dr Eileen Aw, Justice of the Peace. For her effort to do us such a service, we gave her S$68 as gift of appreciation.

Thank You


Thank you for your presences, gifts, and help, everyone. You have made our important day most memorable. Your help has made everything possible.

Our wedding has been made most meaningful. Our family and friends effort shows that relationship is the most important part of life. No amount of wealth could have bought us something so priceless and precious.

Those who could not have made it, your well wishes are no less equal.

Expense Breakdown


I expect you are waiting for this. Some of the figures are deliberately inaccurate as a range to give respects to the recepient.

  • Solemnizer: $50 - $100
  • Solemnisation Dinner: ~$200
  • Apparels: ~$300
  • Photography DIY: $110
  • Ring: $168
  • Venue + Food:$2500
  • Wedding Cake: $480
  • Door Gift: $225.70
  • Hotel Stay: $664
  • Makeup Artist: $370
  • Family Dinner: $310
  • Madame Tussad: $128
  • Logistics: ~$200
  • Food (Others): ~$400
  • Flight Tickets: $905.56
  • Honeymoon: $1000
  • Total: ~$8000

Favicon Online

Written on Tue, 5 July 2016

There we go. Favicon is now online. It's my logo. Maybe I might change it a bit, but for now, that's my logo.

Adsense just rejected my site again. I don't understand. Why are they so picky? Fine! If they don't like my site, I don't need them to like my site. I'll just like them myself!

Strange memory hog in Ubuntu 16.04

Strange memory hog in Ubuntu 16.04

Written on Sun, 3 July 2016

Ever since I booted up my Ubuntu 16.04 on AWS EC2 T2.nano to host this site, I often have a problem with kswapd0. It's a very strange occurance. I've been investigating this issue for many weeks. Each time, I come back to not much information to resolve this permanently.

Whenever I check my memory with this command

top


I see kswapd0 utilising almost fully all of the CPU cycle. As you know, t2.nano is given limited amount of CPU credits to use. This CPU cycle spike that doesn't resolve will consume all of it within a few minutes.

If you're experiencing this issue too, the recommended solution is of course to migrate to a better instance. But if you're like me, already bought down a reserve instance and refuse to be defeated by some strange programming logic in Linux, here's some of the things you can do.

Clear the cache every interval

*/5 * * * * echo 3 > /proc/sys/vm/drop_caches


Use this piece of code in your cronjobs. This will force the cache to clear every 5 minutes. This is the number 1 thing that you need to do. It's not 100% solution but it will almost immediate bring down the occurance of this CPU spike to once a month or so.

When the CPU cycle spikes, do the next step.

Check which application is consuming a chunk of memory

top


This command won't help to identify which application is using memory. Use this instead:

htop


You might need to install it:

apt-get install htop

In the interface, you need to sort out the application using the most memory. In my case, it was mysql that was consuming a lot of memory. What I needed to do was just restart mysql and the CPU cycle goes back to normal. In some cases, you might need to terminate the application. Do so with caution.

Update your linux installation


This isn't exactly a solution. Since I don't know the exact cause of this problem, perhaps let's keep Ubuntu and the relevant applications constantly updated with the latest bug fixes. Who knows the makers of the application spotted this problem and issued a fix.

apt-get update
apt-get dist-upgrade
apt-get autoremove


Usually I would do a reboot after this installation, just to be extra sure that the newest codes are running. Given that we have no clue why this problem occurs, being on the safe side pays.

Reboot the computer


You have been clearing the cache. You tried to identify the offending application and resolve it. kswapd0 is still eating away all your precious CPU cycle.

You are not alone. This is your last resort. Reboot the computer with:

reboot


Then you make sure all your services are back up and running.

Permanent solution needed


If there is anybody who has a clue what causes this strange CPU spike, please do share.

Navigation in blog post list

Written on Thu, 30 June 2016

I know this is nothing impressive. My list of blog posts now allow navigation to older list of posts.

Pagination, people!

Yup nothing to fascinate about. But still, I'm recording my progress as I work on my blog to improve it daily.

You guys just wait till I can figure out what impressive stuff to do with Machine Learning. Mean time, I'm aiming to make sure my site can be officially announced. By announced, I mean it will have some basic features of what every blog should have, what most website has, and it's search engine friendly.

My first digit image recognition model

My first digit image recognition model

Written on Wed, 29 June 2016

I did it! I ran my first image recognition model that can read digits in images and accurately guess the the numbers. In all honesty, it was almost a copy and paste. The tutorial was the equivalent of a Hello World in programming. So really, nothing too impress to brag about.

Here's the codes anyway.

from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)

import tensorflow as tf

x = tf.placeholder(tf.float32, [None, 784])

w = tf.Variable(tf.zeros([784, 10]))
b = tf.Variable(tf.zeros([10]))

y = tf.nn.softmax(tf.matmul(x, w) + b)

y_ = tf.placeholder(tf.float32, [None, 10])
cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y), reduction_indices=[1]))

train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)

init = tf.initialize_all_variables()

sess = tf.Session()
sess.run(init)

for i in range(1000):
batch_xs, batch_ys = mnist.train.next_batch(100)
sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})

correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
print(sess.run(accuracy, feed_dict={x: mnist.test.images, y_: mnist.test.labels}))

I have no idea half of the things I typed. But hey, it worked.

About Me

Greetings Earthlings , Shurn the Awesomer is here to give you an awesome time.

This little site is a record of my life, opinions, and views. I'm mainly writing about Technology & Gadgets, Busting Creationist Myths, and other philosophical stuff.

This site is done using CakePHP.

Uptime

With this uptime, how much more can I be proud of to showcase to the world? This uptime monitoring is brought to you by StatusCake since 13th May 2017.

Copyright

I will always check for copyright usage before using any materials on my site. Whenever due, credit shall be given.

However, if you notice that I may have infringed on any copyright material. Please do not hesitate to contact me. All works of every artist deserves to be honoured and respected.