João Henriques@jfhenriques

  • 0 Followers
  • 0 Following
  • 1 Projects
  • 40 Points

Skills

  • No skills.

Biography

Hey, my name is João Henriques and I'm 30 years old and I studied Informatics and Computing Engineering at FEUP. Currently I'm a developer at a company in Porto, dedicated exclusively to Oracle technologies.

For who might be interested, the following is a little backstory about my early life:

When I was around my 12 years old (or even sooner, I really cannot give an exact age), I started using the internet and became very fascinated on how web pages were made. Around the year 2000, I discovered Microsoft Front Page, and lucky me, it was the most simple and noobish way to create a webpage at the time. I soon began playing with it, and as my teachers in school valued the use of new technologies rather than delivering paper works, I started asking them if I could deliver those assignments in webpage form. It was a real challenge at the time, so I started searching the internet and began to learn how other websites worked and were done. This all was the beginning of where I am today. Very shortly I started compiling some of those school related works, and released my first webpage, which unfortunately is still on-line, but very well hidden.

A little bit later, I heard about the IRC (internet relay chat) and started using it to meet people. At the time, there was some really amazing mIRC scripts, with all those fancy extras suck auto-away features with cool messages, shortcuts to do every kind of stuff, awesome menus with doomsday buttons, etc. Some things on those scripts made me really curious, and so I tried to learn how they were made. MIRC script are built on top of the vanilla version of mIRC, and are save in plain text. The documentation being stupidly simple and very easy to learn helped a lot too. I started developing some simple bot scripts to help manage and control IRC channels, and kept adding more and more features. I developed later a mIRC script with all features I felt I needed at the time. I don't really know if many people used it but this was my very first try in computer "programming", so, at least it had count for something.

At that time I didn't knew how to use html forms and I always wanted to use them. I could drag-and-drop text fields, radio boxes and form buttons with Front Page (and later with Dreamweaver) but when I clicked them, … Nothing happened. I needed to know what was happening in the background of the other webpages right before someone clicked on a button. I learned about the existence of "cgi-scripts" but thought at the time it was too hard to learn, so I discovered that most of the webpages had a server processing that form data. That's when I learned about the existence of PHP, and once again its documentation was very simple to read and enriched with tons of usage examples. I started learning how to use PHP and mysql. I was very happy that I finally discovered how to use and process html form data, it was a very important milestone in my life.

As the years passed, I started learning more and more about PHP and how to use it even better. I realized that I wanted to evolve my knowledge in advanced areas of computer science and wanted to study about them. Around year 2008, I entered university and started learning new programming languages, such as JAVA C/C++, C#, and evolved the knowledge I had in SQL, HTML/CSS, javascript, etc..

In the end of 2008, I was searching for a media player to watch movies in my television. I found the WDTV from Western Digital, and a forum about a community that was trying to acquire the open source firmware for this device. After I bought it, Western Digital released the sources and a (MIPS based) toolchain to build software for it. Some people managed to enable the USB ports so they could connect an USB to ethernet port adapter and permitting it to be connected through ssh/telnet. This made possible to mount network shares and stream videos from a computer. As I had some knowledge in Linux and already had compiled many software before, I thought it was a cool idea to have the WDTV running a webserver with php. I was very happy when I managed to cross-compile lighttpd and PHP among all their dependencies and released it with a simple web interface so others could configure their network shares without knowing how to use SSH/telnet. As far as I know lots of people used it, and some started new "applications" for the device based in my original work. I released it named "wdtv webserver app bin" or "disco's webserver app bin", and a few google search results still come up about it ( http://www.google.pt/search?q=wdtv%20webserver%20app%20bin ).

As Android was gaining some market and taking out Symbian, I wanted a smartphone running Android. I bought my first Android device around year 2009, an Acer Liquid A1. When this phone was released it had version 1.6 of Android and was lacking multi-touch. I learned that there was a small hack that some application could take advantage and emulate multi-touch, the down side was that the kernel needed to be compiled using this hack. I already had played with custom roms at the time and knew how to upload the kernel to the device in a way it could be accepted by the bootloader. As I previously had followed the guide from LFS (Linux From Scratch) I knew how to compiled the Linux kernel, and having the kernel sources for the device released by Acer in the internet, I managed to have a running and usable kernel for the Acer Liquid, which I released in MoDaCo forum ( http://www.modaco.com/topic/302370-disco-custom-kernel-vb01/ and http://forum.xda-developers.com/showthread.php?t=631861 ). A little more difficult was to enable over-clocking of the device as I needed to read dozens of source files so I could discover where the limitation was being made. Acer released a few months later version 2.1 of Android including multi-touch, and my modified version of the kernel was no longer needed, but once again it was a really nice challenge, and another big milestone in my life.

As the years passed, I tried new technologies, being one of my favorites Node.JS, new NoSQL engines like mongodb, redis, etc..

I too always loved "playing" with servers, installing and configuring headless linux servers from scratch. As this passion continued to grow, for some time I wanted to work as a sys admin on some big datacenter, or at least on a big company. In university I worked as SysADMIN of JuniFEUP (http://www.junifeup.pt), a Junior enterprise, and NIAEFEUP (http://ni.fe.up.pt), a department of AEFEUP.

Security is a subject that I’ve always been very much interested, and I'm usually that boring guy on a project that is always pointing to all the security flaws and trying to improve everything related to it. I still have many things to learn about security and I'm always open to ear new ideas and other's opinions as this is a very complicated and competitive area.

At my current job, I develop JAVA, Oracle SOA and BPM applications, work with Oracle SQL, among many other things.

Linked In: http://linkedin.com/in/jfhenriquesTwitter: https://twitter.com/jfmhenriquesgithub: https://github.com/jfhenriques

Projects

Hackathons

Work Experience

  • This user doesn't have any experience 😱

Education

  • This user don't have any academic experience 🎓