2013-07-15

Stay a while and listen

I was born in 1987 and I’m fairly certain that there’s something genetically programmed in my DNA that says whenever there’s something that is powered by electricity I need to play with it and understand it. I can somewhat recall my siblings playing with an old Commodore 64 but as my parents noticed that I had a huge love for everything involving technology even before I could walk; when I was about three years old they gave me a Sega Mega drive. My father and I played a lot of Sonic which I will forever remember and hold dear.

Let me fast forward a couple of years until somewhere around 1994, this is the year when Peter Forsberg made his forever remembered penalty shot in the world championship of Ice Hockey. I was visiting a friend from school, I wasn’t much older than 7 years old and I can recall it like if it was yesterday when my friend connected to the internet using his dial up modem. Or rather, it was his mothers’ – although he sure made me feel like it was his! I didn’t reflect much upon it back then or really what the power of it was, he simply showed me some things you could do on the net. All we had at home was an old 386 with Windows 3.11.

What’s this thing called QBasic?

Some years later we had moved to a different place in the same town and I had gathered some new friends one of which had a mother that was working with computers. When I was around 10 years old and my Sega had been replaced by a Sony Playstation I remember so clearly when my at that time best friend introduced me to programming. In school at this time we had old computers running Windows 95 which had some educational programs on them. There was one computer though, in the teachers’ room that had a connection to the Internet. On some rare occasions we were allowed to surf the web to find some images or text for school work; by this time I was truly amazed of what a computer could let us do.

After school when the other kids were out playing with sticks – or whatever you do when you are 10 years old – me and my friend went back to his place to play around with computers. I could sit for hours just watching my friend “hacking” away showing me how to write simple HTML and later on even some QBasic. By my 11th birthday my father gave me my first own computer. It was a computer with a Pentium 2 350MHz processor and less RAM than I have in my mobile phone. As this was in 1999 the operating system was Windows 98, or even Windows 98 SE. Now that I had my own computer I really wanted to learn even more about the fun stuff you can do with computers, even if gaming sure was my number one priority. All those hours next to my friend were about to pay off, I wanted to tell my computer to ask me questions which I could then answer; I asked my friend to introduce me to QBasic.

Remember that I was just 11 years old so the programs that I created wasn’t really that sophisticated, they mostly asked me what color I liked the most and some naughty questions. My mind was blown by this and just some time after this we even got a 56K modem to our home which blew my mind even more. When I dialed up time just froze, I could spend so much time on the net and just look at things people had put up there; when the phone bill arrived it wasn’t really as much fun but that’s another story.

When I grew up I loved to talk and ask a lot of questions and something that has been hanging over my head is something that a teacher once told my mother when I was between the age 10 and 12, this is something he said to her in a parent meeting:

Filip needs to calm down, he’s never going to be anything in his life if he doesn’t stop talking so much and being in the center all the time.

Teachers that don’t enforce young people to ask questions, talk and try to achieve a lot really shouldn’t be teachers.

I recall it like yesterday when the Playstation 2 was released and my mother did everything in her power to get me one. I had pre-booked it long before it was even announced but that didn’t guarantee that we had the money to get one. However we did and I remember the demo cd that came with the Playstation 2, it had an interesting “mode” on it where you could run some QBasic code! Once again programming showed up in my life. Even though at this time the code shown in their examples was a lot more advance than the small snippets that I had previously written.

Computers became a part of me

Due to some unfortunate events I couldn’t spend any more time with my best friend and things like that can happen in life. I am truly grateful for being introduced to computer programming. Some years passed and when I were 14 years old I was introduced to IRC, which opened up some interesting possibilities. Another thing I was introduced to at the same time was Linux, Red Hat to be specific. It was the schools computer guy that ranted on and on about how much Windows sucks and how Linux will take over the world. I asked him to give me a copy of Red Hat, as at that time it was free. He did but also threw something else in my face: RTFM. He was very clear that he was not a computer support and wouldn’t help me at all with neither the installation nor the computer management. As I was only 14 and my father depended on the computer to work, I decided not to go fourth with the installation of this.

I used my computer every day, but it wasn’t for programming at this time this had been put aside or somewhat forgotten. I was much more into playing games and attending LAN parties. Still, computers and Internet was a part of my daily ritual and I simply couldn’t stop loving technology.

In the center of our town we even had one of those game centers where you could go and rent a high end computer for an hour to play the latest games. I used to spend my time there and play StarCraft, until they unfortunately had to close.

When I turned 15 though I decide that it’s time to get some money so that I can buy all the tech I wanted, fortunately enough we had a new internet café that had opened pretty close to where I lived. I can’t exactly remember how I nailed this job, but I got a way in and I worked days and weekends (the nights!). This is probably one of the reasons that I don’t have many friends from high school, I worked most of my spare time. Once again I was playing with computers and making money off it; programming however was still in the forgotten space of my brain.

Taking the red or the blue pill

In upper high school, the last three years before you go off to university you get to decide if you really want to do another three years and if so you can choose a major. As my father was an electrician I wanted to follow in his footsteps so I took one of the spots in class. After a couple of weeks, maybe even days I felt that this was a terrible decision, not because I didn’t like solder things together but because I didn’t work with what I loved the most; computers. So I asked to be transferred to another school. This ended up being the best decision in my life.

I still had the job on the internet café, I even changed job to another internet café in town because of better pay; I shouldn’t have though, but I didn’t understand that money wasn’t everything.

Programming re-introduced into my life

I was transferred to the school where the program was called “IT Programming”; this felt like it suited me perfectly. I remember the first course that caught my interest in programming again, it was a course on HTML and the web. When I had understood how to serve a static website, I asked my teacher:

So, how do I generate this stuff automatically and how do I submit my forms to something interesting?

I don’t know why but someone told me that I needed to look at PHP as if ASP wasn’t even something to consider. I bought a book in Swedish about PHP Programming, I still have it somewhere at home. I remember not being able to let it out of my hands at the same time I couldn’t wait to finish it because I wanted to just know how to do all the things!

As I started to learn about how to create more dynamic websites I wanted to know how I could actually show these to my friends even when they weren’t sitting next to me in class. Funny thing with this class was that everyone that was in the class got a laptop from the school to use in the education. So I started researching how I could serve my websites to my friends and I was once again introduced to Linux as an alternative to Windows. This time though I used it as a server and not on my main computer.

I was 16 or maybe I had turned 17, this was more than 10 years ago so forgive me if some details are blurry. Anyways I started hanging out more on IRC in the programming and Linux channels to ask a lot of questions; to them this was probably the forever September. I asked a lot of noob questions about both programming and operating systems. I was truly inspired by all the great people that even back then worked with both programming and as IT pros.

At this point I ended up installing Gentoo on my old Pentium 2 350MHz, can you imagine how long it took to emerge the world? As I really wanted to do stuff by my own and not to rely on help from others all the time, I printed the entire Gentoo installation manual and filled up an entire binder; if this had been today I’d have a tablet to have the PDF on.
 
As I learned more and more about Linux, servers and when we got more computers to our home I saw an opportunity to use this as a firewall/router; so I started to route all my traffic through the Linux server. As a 17 year old that had found his calling, I wanted to return the favor and help others as they had helped me. Not many that I knew of could afford to rent a server somewhere to store their website so I created a system where you could register for an account and get some space on my server.

There was a couple of problems with this though. I was a self-taught programmer at this time, sure enough we had just started to learn Java programming in school but I was way passed understanding if and elses. As I created this system I learnt a lot about how not to do things. I set up a nice website where you could simply enter the subdomain you wanted, because I had bought a domain that pointed to my home server. The system then created an Apache vhost file, a user and a folder in the home space. This allowed the user to use an FTP program to connect to the server, I had of course turned off the SSH access for these users and then they could access their websites.

Some cleaver hacker wanted to try to take advantage of this though, because why not harm someone that is doing stuff like this for free? At the time I knew nothing about security, encryption and hacking so I just trusted my users; this was one of the biggest mistakes I ever made. The users were all in the same group and the folders had permissions 755 on them, so the cleaver hacker found some connection configurations to the MySQL database in my home folder and unfortunately I hadn’t blocked connection to the MySQL database coming over the external interface. The next unfortunate event was that I had other systems running on my server, for personal usage that was protected by logins and I had the login information stored in clear text in the database.

I’m guessing you can see where this is going. The hacker got access to usernames and passwords that they shouldn’t have had. They could also gain access to the Linux server as I was stupid enough to use the same password on multiple places. With access to my Linux server, the could check the IPTables and see that I had VNC running on a machine in my network, VNC is a program to remote control a computer. Stupid as I was, I had the same password on this machine too.

The hacker had now access to my personal computer, with my personal files and my entire life. I could never imagine that someone would ever want to hack me or harm me so why should I protect myself against it? I was just 17 years old and didn’t think about internet security at all, I was just a happy programmer living in my bubble wanting to help others.

When I woke up the next morning I found that my computer screen was all pink, someone had replaced the shell in Windows with something and I immediately understood that someone had violated my privacy. I can’t remember my exact feelings, I was 17 years old, violated and exposed; should I be angry? Should I cry?

The hackers left a notice for me to read, they explained that they had gone through all my pictures, files and my internet history and that they had a good laugh on my expense. They also formatted some of my drives and tried to cover their tracks. They didn’t cover up too well though, I found some IPs, some nicknames in the notice and some other things that I could make use of. With some social engineering and some determination I found one of the hackers; I called his mother and told her what he had done. That was the end of it, I never heard from the person again, maybe they hacked me again, maybe not. At least I learned that using the same password everywhere is a bad idea. I also learned that if you’re too kind, people will take advantage of that. Of course, I always encrypted my passwords after that as well.

Programming became everything

I told my programming teachers at my school what had happened to my server and my personal computer; I was laughed in the face. Instead of embracing my will to help and teach others I was just laughed at. I don’t know if the teacher at this time wanted me to continue with programming or not but I sure didn’t want to give up.

By this time I had stopped working at the internet café and tried some other stuff instead, I tried selling stuff over phone which I really hated; it’s not in my nature to trick people into buying things just because I want to get more RAM. I did however land a gig as a consultant doing network/computer consulting which was really educating. During this job I meet a really nice guy that knew my boss, he worked and lived in California with some really interesting programming jobs. I told him that I went to high school and that they were teaching me programming; he gave me his card and said: Call me when you’ve graduated, I’ll get you a job in USA. This was now the goal of my life.

As I almost turned 18 and wanted to get my drivers’ license, this is when you can get your license in Sweden, I started hanging out at the traffic school nearby my house. Over and over again they complained about their computers so I told them: Hey, I can help you with that. They countered with a question of how much I charged per hour so I simply asked how much they were charged at the time from their current consultant and I told them I’d take something a bit less than that.

Now I just needed to figure out how I could charge them money without being employed; I had to start my sole proprietorship. A couple of months after I turned 18 I had gotten a lot of help from my at that time girlfriends father, he inspired me to start my own business and helped me get all the papers in order. He had also given me a lot of part time work at the factory where he worked, they created door-frames and this was much different from what I’d worked with before. I didn’t really fancy working with those kinds of things but the money was good and when they figured out I was a computer geek they told me to redo their website. It was mostly static HTML and some design, but it was a good thing to have in the portfolio.

I started my own business and before I was 19 I had my first customer that regularly needed help with installing software, rebuilding computers, fixing their network and so forth. I still had my eyes on USA though so I did everything in my power to get there. At the end of the last year in high-school I contacted the guy in California and asked him about helping me to move there. By this time the rules had changed, or he had just forgotten about it the first time, but now you needed to get a bachelor degree in Computer Science or similar.

The only problem now was getting the bachelor degree but I didn’t have the background needed to be accepted because I lacked one course from my high school. I didn’t really have an interest in school besides for the tech related courses as I more or less spent my days playing Counter Strike and the nights programming. I’m not sad that I did though, spending days in and days out playing and talking English on Ventrilo has really helped me become much better at both writing and speaking English.

I understood that if I wanted my dreams to become reality I had to step up the game and take that last course, it was a course in mathematics. I didn’t know if I would finish the course or not so I had a backup plan to go to a 2 year school that was aimed at getting you a job directly after the school. It was also targeted at becoming a programmer and I did get in after the personal interview.

Still, I had hopes that I would pass the course and be accepted to the Software Engineering program.

Continue to part 2

The post This Is My Story – Part 1 appeared first on Filip Ekberg's blog.

Show more