The offline developer

I’m planning to spend a few days without internet but I plan to continue working with web development.

Thankfully I found out that you can download every single google fonts which enables you to create many different types of websites without forcing the website to go online to fetch the fonts.

Another way I stay productive while offline is working on developing apps for iOS.

Do you have any tips of your own on how to deal with programming offline?

Here is the link to the google fonts.

Solve your problems through software, not code

I’ve noticed a problem that only seems to get worse with improved programming skills.

Solving all your problems through code.

I remember the day I suddenly got really productive with my software projects. It was the day that I realised that I should solve my problems through software, not code.

You should focus on solving problems any way you can and you should use any tools you find to solve your problem.

I’m not even sure the best programmers make the best startup founders. A friend of mine was amazed when I showed him how to view source code on a website. His startup just raised a million dollars.

There is nothing wrong with paying for software or using a plugin instead of building things yourself.

If you have a company and you are a programmer you can solve a lot of your problems on your own instead of throwing money at them. This doesn’t mean that you should.

The difference between being a good developer and a good entrepreneur

I love building things and I have a lot of side projects. This makes me improve as a developer. But it doesn’t make me any money.

What might make you a better developer in the long run might not be what your project needs in the short run. Your project needs to give information to your users. This is not as fun as writing code. But it probably is what you should be doing.

WordPress is a perfect example of this

I’ve met many developers who think that using WordPress is worse then building your own CMS. Because they think that purity of code is more important then getting information to users.

If you are building a website that will host content on the internet, WordPress is probably what you need.

People don’t care how the information got there. They care if they are reading something that is helpful to them.

IT stands for information technology and your goal is to give your users a ton of information. The more information you can give them the better.

Facebook and Instagram are hugely successful because they use IT to give their users an unlimited amount of information. They need to have complex IT because giving unlimited information to billions of users is hard.

You probably don’t. You need to give excellent information to thousands of users and the tools for that already exist. So focus on creating useful content instead of building new platforms.

How to fix any error in PHP

The most frustrating part of web development is getting stuck. Research also shows that when we get stuck we get angry because we are basically cavemen.

This is the famous white screen of death that you often find in PHP
This is a great way to get unstuck if you are working in PHP.

When a PHP file is broken your server will send you to a completely blank page. This might be very frustrating if you don’t know what to do with it. If you see the blank page, your PHP code is giving you an error. If you solve the error you website will work again.

So here is what you should do.

1. Remember that every time your PHP file is not working there is an error log and that you should search it. If you can’t fix it straight away, just go check out the error logs.

2 . Check out your apache error logs by typing this into your ubuntu server. This will print the errors to your screen.

  1. cat /var/log/apache2/error.log

3.  Your latest errors will be displayed last. Screenshot 2016-01-30 17.50.34

4. Googling your error message will help you find a solution.

Remember. Every time you see a blank PHP page. Search for the error logs using cat /var/log/apache2/error.log
(for ubuntu server). This will give you a nice error message to google.

Good luck!

Hacking wireless networks in Thailand

The first world problem to rule them all, slow wifi

In terms of i-landsproblem (Swedish for first world problems) having slow internet might be a strong contender for the first world problemest of them all.

But having slow internet when you actually have to get work done is tiring. Yesterday I waited 6 hours while uploading a backup using SFTP. Sure in the meantime I created this blog but still.

Coming from a place with awesome internet I sometimes feels that all the beautiful sunsets in the world can’t make up for sucky internet.

Tonights sunset. Absolute rubbish.

Sometimes you should just accept defeat and watch the sunset but if you plan on staying longer in the same place you should do your best to get the most out of your wireless network.

The thai simcard paradox

I already have an unlocked phone with a thai simcard and a data plan. The problem is that ridiculously gorgeous places have rubbish wifi and 3g.

Koh Tao. Ridiculously awesome island. Less then mediocre internet speed.

So what is a boy to do?

The easiest thing to do would be to compromise and stay in a slightly boring town with great wifi (Chiang Mai). But if I wanted compromise I should just have stayed in Stockholm with stellar internet and terrible weather.

Stockholm. Pretty. Great internet. Freezing.

Instead of compromising on my standards for internet speed we could try to compromise some wireless networks.

A brief history of networks

In the good old days we all used cables to connect our computer to our local area network. Now we are way more civilised and use Wireless Local Area Networks.

The first password is free

The trouble is that with wifi every person with a passcode gets one step closer to gaining access to your router settings and since we are all staying in cafés and hotels we always have the initial passcode to get us access to the network.

Accessing your router as admin

The step from gaining access to a network (logging in with a password) to having complete control of it is actually tiny.

All you have to do is type in in your computers browser. Most of the time this will land you directly in the control panel for your browser. But to get to another page you need to figure out the username and password for the router.

The tale of the default passwords

Being a designer of router has to be a terrible job. 99.99% of your customer only care about your router once when they set it up and never want to be bothered with your product ever again.

They also might want to be able to adjust some settings without completely resetting the router. And for that they need a password.

But since almost nobody cares about their routers most people just keep their default passwords which is *drumroll*

username: admin
password: admin

Typing in this username and password will get you access to lots and lots of routers.

With our new found access we can do a lot of things.

  • We could potentially give my computer the highest priority on the network and increase its share of network traffic (faster internet hurray!)
  • We could also kick devices of the network. I could try this out by kicking my girlfriends iPhone from the network.
  • But we aren’t gonna do any of those things since accessing other peoples routers might be illegal. Instead I’m just gonna relax and watch another sunset.


The nomad lifestyle


After spending more then 50 days travelling I’m starting to get comfortable with the digital nomad lifestyle.

I realised that this is something that I’ve been doing for years and that I’ve actually spent most of my trips this way.

I always spent time coding whether I hung out with friends in the US or  spent time surfing in Indonesia or when visiting my dad in New Zealand.

The perks of doing this as a digital nomad is that supposedly you get people to pay you for your work.

Right now I’m enjoying spending my time learning new things. I’ve coded a bunch of iOS applications and I’m working on finding the perfect setup for my own Ubuntu servers. I would also like to spend some time giving back to the community and teach others how to get started with coding and being a digital nomad.

But if you know someone who would need help with web development or iOS applications I would be glad to help them out.