What it’s like to go on study exchange to Taiwan from Norway

I remember that before I went I was very insecure and not sure what to expect. There were some videos on YouTube that I watched to try to get an idea of what it was like in Taiwan, but there weren't really that many, and in my experience you never know what it'll be like before you actually go there. After my visit the University of Oslo and National Taiwan University both asked me to write a thing that they could post on their website, and although I did write it at the time, it never got published on either site because (1) UiO couldn't figure out their own computer systems to let me log in and it all got lost in administrative staff redirecting the problem until it was given up on, and (2) I'm not sure why the NTU staff never published it.

So in the end I'm just publishing it here, 5 years after I actually went there, but the text that follows was written just a few weeks after the semester ended. Very glad it was still in my Dropbox when I remembered it and thought of actually posting it.

Like I said, it's scary when going to somewhere very foreign and you don't know what to expect, and I do believe that you won't know for sure if you'll have a good time or not until you go, but perhaps this piece of scribblery may give you a little bit of an idea what it's like. Also check out 13mordeth on youtube where he rides his motorcycle around the Formosa Island talking to his go pro camera. It was weirdly insightful for me.

Please enjoy, and thanks for reading.

First days
I arrived in Taipei after staying a while in Vietnam meeting the welcoming commitee on at the airport, along with some other new arrivals. These people turned out to be my good friends later on. Shortly after I went to the NTU prince house dormitory in Shui Yuan, which is about a five minutes walk from the university. I quickly checked in, and a group of very friendly swedish people, and some people of other nationalities, helped me find a place where I could buy a taiwanese style mattress (a very thin mattress with a bamboo lining on top). Afterwards we bought a beer at the closest 7/11 and drank it underneath a very nicely lit bridge next to the river closeby, a location I would visit many a more times later for bbqs and for jogging.
The next day I went to an orientation at the university where we were shown around the campus in groups, and I got to know many more people from different countries like USA, Germany, France, Holland, Sweden, Denmark, China, Czech Republic, Korea – but not Norway. There were very few fellow Norwegians, and I only got to meet one until about two months into my stay.
After that class started and the days flew by as I got to know more and more people, and made better and better friends.

Chinese Class
We could choose between morning classes with classes from 8am – 10am every Monday, Wednesday and Friday, or night classes from 6.30pm – 9.30pm every Monday and Wednesday. I chose night classes so that I could have Fridays off.
The chinese classes were fine, although I wish we had focused more on practical everyday speaking and conversation skills, rather than the very formal approach that was the case in our classes. We also focused a lot on reading and writing – which I think was not very beneficial for me, since I would only stay for one semester, and probably won’t continue studying chinese for a while. I did however learn enough to get around.
You should by the way note that they use the traditional chinese characters in Taiwan, rather than the simplified, and that they do have a noticable Taiwanese accent. I don’t think you should worry about having problems with going to China later though.
 
Other classes
As I had to take graduate classes in Computer Science it was a little hard to find classes that fit my specialization, which was also taught in English. I did find some classes that were fine, but I wish there were more options. Also, I went in the spring semester, which is the semester where there are usually less exchange students. This resulted in there being less courses taught in english.
 
Trips around Taiwan
The second or third weekend after arriving, I went with a group of about 10 people to the southern part of Taiwan to a place called Kenting to go surfing and generally chill on the beach. The ride was quite long but when we arrived we were met with clear blue skies and beautiful beaches. We were blown away by how beautiful this place was, and how easy it was to get there from Taipei. As it was still around early March, the northern Taiwan was still quite cold, but in the coming months we could also go surfing or just to the beach up north. Places like Daxi and Fulong are great and the beach in Daxi is not very crowded so surfing here is magnificent.
Other than surfing in Kenting, we also rented 125cc scooters which is the main mode for transportation for most Taiwanese. Neither one of us had licenses, but we had a chinese guy with us who talked to the old man renting out the scooters, and it all went fine. I think we got about 7 scooters and went either two on one, or just alone. It’s beautiful to ride around Taiwan on a scooter, and another place I can recommend is the Taroko Gorge close to Hualien where you can easily spend a day or two riding scooters around the mountaneous area and take stops for hiking.
There are many other locations you can check out in Taiwan, and you will find out if you do a bit of research online.
 
Prices
Taiwan is a very cheap country compared to Norway. Our dorms did not have kitchens so mostly all meals were had in various restaurants and eating places. A normal rice, meat and vegetables dish will set you back around 20 kr. You can of course find more expensive places, and western food is generally a bit more expensive.
I had a private room on the 14소 floor in the dorm, equipped with a bed, desk, chair, closet, bookshelf, and a bathroom with a shower and toilet, and with a view of the Taipei 101. This cost about 7100 taiwanese dollars, which I think is around 1600 kr.
 
Getting around
The public transportation in Taiwan is very good. There are generally trains and buses going to most locations in the country, and Taipei has a wonderful metro system called the MRT. The student card you get at the university also works as a metro pass, and you get a student discount. You just easily tap on and off and your fare is calculated automatically. This card also works on various buses around the city.
 
Free time and partying
Beer is generally quite cheap in Taiwan and we had many fun nights where we either just went to a park or to a pub, or went to one of Taipei’s many night clubs. The beer does not taste a whole lot, but it’s fine once you get used to it. There are also a variety of different fruity drinks for those who like that, which you can get for around 10 kr at one of the many 7/11s around. Wine is generally expensive as it is mostly imported.

Night markets
Taipei and Taiwan in general is packed full of night markets where you can find anything from weird foods to clothing and even electronics. You can easily spend hours just walking around trying different dishes or just looking at weird stuff.

Taiwanese friends
Most of my close friends were other exchange students, but I did meet many taiwanese people too. Due to their english not being that great, and my chinese being shitty at best it was a little hard to become good friends though.
It might be hard to come into contact with taiwanese people at the university as they are usually studying very hard. The National Taiwan University is said to be the best university in the country, and only the best and the brightest make it there. Being an exchange student is different, as the requirements for getting in a much lower.
What I did to get into contact with some taiwanese people was to join one of the many clubs at NTU. Since I enjoy playing a bit of music, I joined the NTU Rock Music club. I thought a club for rock music sounded a bit lame, but bear in mind that the culture is very different. It turned out to be a good choice to join, and I made some friends. There were weekly jam sessions, and I was even invited to go with some of them and stay at their house when they played a show in Hualien. They said his uncle was a local gangster, but I did not notice anything else than that we got a discount when we rode a cab to the house.
 
Final Remarks
If you’re thinking about going to Taiwan on exchange, I hope reading this has made the decision easier for you, and of course I recommend you go. The culture is different at least for where I'm from, but it is definitely a developed country and you will get by fine if you just keep an open mind. The people there love foreigners, and are very friendly and will help you get around if you get lost and can’t read chinese characters. I made many good friends from around the world, and it was hard to say goodbye – but it was still absolutely a good choice to go there. One semester flies by so fast and I’m sure you will want to go back after you leave. I was looking at going to other countries like China, Korea, Japan or Singapore but I am very glad I ended up choosing Taiwan as my destination. At the moment of writing I am in Seoul, Korea and I’m visiting some friends I met back in Taipei. After going on exchange you will have so many friends around the globe that you will have the chance to meet again back in their home countries.

Final final remarks
As you might have read in the introduction, I didn't post this until five years after writing it, but now that I am in the future I can tell you that I'm still friends with a lot of those people, and they have both come to visit me here in Oslo, and I have gone to visit them in their countries. Stay curious and become a globetrotter like me, you won't regret it. Peace!

YouTube videos
Also, I made a couple of videos tryna make travel videos kinda like Eddie Huang and David Choe (and the late Anthony Bourdain RIP), and most of them take place pretty close to NTU, so if you're interested check them out. Here's a link to the first one: https://www.youtube.com/watch?v=TRxpzdVaTfA

How to use PyMOL free libre, or | How to compile PyMOL from source on Ubuntu 18.04

This will allow you to run PyMOL without an aqcuired license which you certainly would need if you were to use the compiled binaries provided from the PyMOL website. This is just a very simple guide providing a list of the packages you need to install, and showing how to run the scripts you need to download the source code and compile the program.
The version of the program will be a little stripped of menus and such, so you will need to rely more on command line interface arguments to use it.

From what I can gather the program used to be totally free, but the original developer passed away unexpectedly in 2009, after which it was acquired by Schrödinger, Inc. While the company does keep some of their updates closed source, requiring users to pay for a license, most of the functionality is still there in the Open Source version. There are also some rumors of provided binaries out there, but if you compile it yourself like this here, you will be sure to have the latest updates (last update 21 days ago at the time of writing), and you don't have to trust a third party not to put a virus in the program they give you for free for no reason.

If you're interested to see when the project was last updated, or just inspect the code, visit the project on github:
https://github.com/schrodinger/pymol-open-source

Now, just run these commands in your terminal and you should end up with a pymol executable on your computer in just a few minutes!

Install the required dependencies for compiling:

sudo apt-get install freeglut3-dev libglew-dev mesa-utils mesa-common-dev binutils libxml2-dev libmsgpack-dev python3-pip libglm-dev libpng-dev libfreetype6-dev git

Install the python Qt5 library, which is a python library, so it has to be installed with the python package manager pip that you just installed:

pip3 install PyQt5

Download the source code (i.e. clone the git repository)

git clone https://github.com/schrodinger/pymol-open-source.git

Enter the pymol source code directory that was just downloaded by git:

cd pymol-open-source

Run the install script, placing the compiled binaries in $HOME/programs/PyMOL or wherever you like

python setup.py install --prefix=~/programs/PyMOL/ --use-msgpackc=no

(Optional) Add the location of the compiled executable to your PATH, so you can run the program from anywhere in the terminal:

put the following in ~/.bashrc

export PYMOL_HOME=$HOME/programs/PyMOL
export PATH=$PATH:$PYMOL_HOME/bin

Now close your terminal and open a new one to reload the PATH variables.

And finally run

pymol

Or, if you didn't do the optional PATH step, cd into the directory you specified when running the script, and run ./pymol

You can also make a menu short cut entry by copying one of the .desktop files in /usr/share/applications/ and changing it to point to the location of your pymol executable.

How Bioinformatics is supporting medicine and drug development

This post is more of an article type which is supposed to distill and simplify, and present some basic information on how the field of bioinformatics supports medicinal drug development and other biological research. For me it is a very interesting field as I am formally educated in both Computer Science and Molecular Biology and Biochemistry. Having deep fundamental understandings of both fields (although of course I could understand it even better) really makes it practical when you for instance need to compile or modify the source code of a program, when all you really wanna do is play around with a 3D model of a protein.

I noticed this first hand today while I was writing this article and I wanted to include some graphics made in PyMOL, and I realized that since I'm not a student anymore, I can't use the educational license given to me by the University for the binaries that the PyMOL guys provide, however, if you compile the PyMOL open source project from source yourself, you don't need a license! So great. I mean, compiling anything from source at all isn't really that difficult if all the dependencies are in a readily available repository, but I think most people wouldn't even think to look in their respective readily available repositories because sometimes you need to understand something quite well before you understand how simple it really is.

Anyways, I wrote it in Latex and compiled it into a nice little PDF so please follow the link below, it wouldn't look as nice in blog format.

https://www.simernes.com/docs/basics-of-bioinformatics-in-medicine.pdf

Information about Open Source Software in layman’s terms (Norwegian)

I recently did a write up trying to explain the concepts and incentives for writing and using Free & Open Source Software (FOSS). It's in Norwegian as the original thought was to shed light on what FOSS is for government officials and other decision makers that represent and affect me, so that they can have an easily digestible resource for understanding what it is. Feel free to comment and if you like the document or disagree or want to make an addition or amendment please follow the contribution instructions.

The document is available at www.simernes.com/open-source

Flashing Stock or Custom Firmware with Heimdall (on linux)

I had a bit of a learning curve when learning how to use Heimdall to flash images onto my phone (i9506, aka ks01lte) so hopefully this can help others with what I learned.

First of all, Heimdall is a flashing software for putting firmware into the different partitions of Samsung Android phones. It's cross platform, and supposedly equivalent in functionality to that of Odin, although I've never tried Odin. Heimdall is also cross platform so you can follow this guide if you're on mac or windows I think.

Heimdall basics
There are two executable programs:
1. heimdall
2. heimdall-frontend

I recommend using heimdall-frontend, but you need both because heimdall-frontend depends on heimdall.

Heimdall version
At the time of this post, the newest version was 1.4.2. I had to compile that myself from source though, but it was relatively easy if you just follow the build instructions inside the readme. I had to use 1.4.2 to get it to work with my phone so if you have issues you should try getting the newest one. There were binaries of 1.4.0 on the official website, and 1.4.1 in the ubuntu repo.

Installing Heimdall
At the time, I could also install heimdall from ubuntu repos with apt-get install, however the packages were called heimdall-flash and heimdall-flash-frontend. Idk why, but they're the same. Also they were 1.4.1 so they unfortunately didn't work for me, so I had to install them myself after compiling.

So briefly how to install it, although I'm not gonna give the whole command specific walk through as it is in the readme:
It's located at the github page:
https://github.com/Benjamin-Dobell/Heimdall

clone the directory:
git clone https://github.com/Benjamin-Dobell/Heimdall.git

Enter the directory and follow the build instructions as detailed (the last time I checked) at the very bottom of the readme file, specific for Linux, so it was inside the Linux folder.

Now after building you'll have two executable files:
heimdall
heimdall-frontend

The problem now is that you need to run these as root to connect to your phone, and heimdall-frontend uses heimdall, so you need to add them to your PATH.
However, by running sudo the PATH gets reset, so if you just export PATH=$PATH:$HOME/heimdalldirectory its not gonna find it so what I did (which you shouldn't really do because it should be reserved for system applications but whatever, it works, and you can just delete the heimdall files after you finished to keep a clean system) was to put both files in /bin/
sudo mv ./heimdall /bin/
sudo mv ./heimdall-frontend /bin/
Now you can sudo heimdall-frontend

Other problems with heimdall
If you get libusb errors when trying to export pid or anything else, try a different USB cable, and try different ports on your computer. That actually worked for me.

Flashing of firmware
First of all, your phone needs to be in Download mode, so google how you do that. For me I had to power off the phone, and then hold Power+Vol Up+Home. Or Vol Down I can't remember.

Then sudo heimdall-frontend and go to Utilities, and try to detect device. It should show a little messages saying it was detected.

Download and save .pit file
Next you'll want to Download the pit file from your device. This is also a good way to check if heimdall is working correctly, by just trying to print the pit. But you should really download the pit file and store it because you'll need it for flashing. It works as a sort of partition map (Partition Information Table).

So go ahead and download that and save it.

Now that you have that, you've done a very good job so pat yourself on the back. You're a really advanced hacker person aren't you? Wow. Good job. Now the real shit begins though so get ready. This is where you might brick your device so beware.

Really. Be careful. If you flash the wrong thing you're fucked so. Yeah.

Also, the warranty of your phone will be void after you flash anything onto it like this, so this is a kind of point of no return, although you might be able to flash it back to warranty condition if you have the stock recovery img. Not sure if phones can recognize that or not.

Flash custom recovery first
The first thing you might want to do is install a custom recovery like TWRP. TWRP lets you backup all your partitions, which can be nice in case you flash the wrong thing and want to get back to square one. You can also save your partitions with dd but I'm not gonna get into that here.
Like I said, this might void your warranty, and after doing this, I could not update through the stock phone update mechanism anymore (I mean, as a regular person going into Settings->about->Check for updates on your phone, it said something like "Your phone has been changed, no updates for you".

So to flash TWRP, open up heimdall-frontend again, go to the Flash tab, browse for your .pit file. Then Add a partition file, and select RECOVERY as the name, and find your recovery.img file: See figure 1.

Figure 1 -- heimdall-frontend with RECOVERY flashing

Now, start, and it will reboot when it finishes probably so be ready, and make it reboot straight into recovery right away. If not the custom recovery will be wiped. For me, booting into recovery was the same as to boot into download, just the opposite direction volume.

Now go into BACKUP and backup everything, and store that somewhere on your computer. In case something goes wrong. TWRP backs up to a directory on your phone located in /TWRP/Backups/.....

Flashing the rest of the firmware
Next, we'll be flashing some more interesting things. Like the full firmware, with modem and everything.

In my case I wanted to flash the newest stock rom update, because I needed the updated bootloader and modem firmware to install LineageOS 15.1 (Android 8.1), which I could later simply install from within TWRP.
So I downloaded the newest stock rom update from sammobile.
You can get the newest firmware from there for free if you sign up, but have to pay for older ones it seemed.
It might also be important that you get the right ROM for the right region or country, I don't know if that affects the ability for the phone to boot or not, but I'd try to get the right one if I were you.
For me it was a large file of about 1.5 GB. A .zip file to be exact, which upon extraction revealed two files, one of them being a .tar.md5 file.
If I just renamed the .tar.md5 file to a .tar file (removing the .md5 part of the name) I could extract it, and it revealed the files that can be flashed by heimdall.

In my case the files were:
aboot.mbn
boot.img
cache.img.ext4
hidden.img.ext4
modem.bin
NON-HLOS.bin
recovery.img
rpm.bin
sbl1.mbn
sdi.mbn
system.img.ext4
tz.mbn

Which made me very anxious and insecure, and I felt that this was perhaps a bit much, but then I figured it out.
Just like that recovery file from before, all these files correspond to a Partition name in Heimdall Frontend, from the .pit file. So what we'll actually do here with heimdall is just put the contents of these files/images into the partitions of our devices, and then they'll replace whatever was there from before. So it's all quite simple really if you think about it.
The name of the partition isn't always the same as the file, but there is a file name hint below the name so look at that. For example the APNHLOS partition name corresponds to NON-HLOS.bin. See figure 2.

Figure 2: APNHLOS file name hint

Now just keep adding all these until they're all in heimdall (figure 3). This should be a pointer also to whether or not you're using the right firmware. All files should fit into a partition. However, you might want to not flash the RECOVERY to preserve the custom recovery previously installed. You might have to boot directly into recovery again after flashing this time too to avoid reseting to the stock recovery, but I'm not sure. Just in case.

Figure 3: Heimdall Frontend with all firmware files added, except for the recovery image.

Now, if you dare, hit the Start button, and wait in excitement. Remember that your phone should be in Download mode right now. Also be sure to boot into recovery right away! And then just reboot, but your recovery might ask you if you want to remove the "Read only" permissioning, which I think you should do.

Great! That's it! Hopefully you didn't brick your phone. If you did, then hopefully you backed up with TWRP like I said before, and then you can restore it in TWRP. I think though that's just if you "soft bricked" and not "hard bricked", which is worse probably.

Good riddance! Thanks for reading. I hope it helped.

Donate bitcoin if you want:
3KEghQ3pfkRESZMki1HePNRfbxdNNpDiUT

Why this site exists

I made this site just because I wanted to have a website, so I don't really know exactly what to put here yet. I've done some app development, so I put that up and chances are that if you're visiting this site, you're either a robot or you came across one of my apps. Anyways, I'm glad you're here -- artificial or not -- so please, enjoy your stay.

Who knows, maybe when you read this the site has become copious in content.