Fast, simple and reliable: Jekyll

When we decided we needed to redo the itnig website from scratch we managed to synthesize our needs in three words.

Fast, simple and reliable.

Is there anything faster, simpler and more reliable than static html? Writing a static html page in the dynamic world we live in was out of the question but we needed something that would allow us to do so in an easy way. That’s when we found Jekyll.

Jekyll lets you generate a static html site from dynamic components such as templates, partials, liquid code, markdown, etc.

Data structure

Data classes are structured in Collections, each collection being a folder where each instance is represented by a file. Each one of these files starts with what they call Front Matter a header where all the instance attributes are defined. This Front Matter is what allows relationships between classes, filtering, querying, etc.

Classes that don’t need an html page representation are stored using Data Files (a typical CSV file) instead of being represented by a file in a collection. In our case, we use them to store people working at our startups.

Data Sourcing

We could manually create a file in the _jobs collection every time we have a new job offer, or a new file in the _events collection every time we have a new event, but we love optimising our time, and we already update our job offers on Workable and our events on Meetup, so why not using their APIs? Well that’s exactly what we do. We periodically run a script that retrieves all jobs from Workable creating a file for each one that is then stored in the _jobs collection. We do the same for the upcoming events and we also use the Google Drive API to retrieve the latest version of the people CSV file.

Design

Once the structure is defined and some data is created you can start working on the design. You can define some properties and attributes on any file using the Front Matter, and obtain and play with your previously created data using Liquid (a templating engine created by Shopify), to finally show it using HTML.

Conclusions

After working on and maintaining a Jekyll site for a couple months I can say it meets our expectations, but there are a couple drawbacks you should take into account before jumping into adopting it.

The first one is precisely what makes it fast an reliable, that is, the lack of a backend. Before choosing Jekyll you’ll have to ask yourself if your project is simple enough to avoid user registration and complex class and DB modelling. If it is, go ahead.

The second one is the lack of a “backoffice” for non-tech people. Whenever we manually update the content of a file (adding for example the video url of an event once it is online) it needs to be synced with the repository using git, and deployed to the server where the site is hosted. This might look simple and clean from the developer’s perspective, but when the content has to be updated by non technical users, this can be a problem. You’ll have to make sure your content manager knows or is willing to learn git.

Hacker Bootcamps VS. Universities: What to choose and what's in it for the future?

Hacker schools or bootcamps are getting more and more popular. You’ll learn a programming language in 2–3 months, and you’re more or less guarantied a full-time well paying job.

If you compare this to signing up to a four-year degree at a University and getting tons of study loan, the short-cut through a hacker school is obviously tempting.

But what are the incentives to attend university, and does a “degree” from a hacker school limit you in any way?

We asked the experts.

“If you want to work go to a hacker school, if you want to work at Google, go to University”

The big pro about hacker schools is obviously that the distance from the school to work is a lot shorter, but is a person well prepared to work in a startup after graduating from a 2–3 months program?

“You can not become a CTO with just a bootcamp experience!” (Marc Alier, UPC)

CEO and co-founder at Codeworks a Barcelona bootcamp, Alessandro Zanardi, acknowledge that universities are vital for training specialists in more complex computer science areas:

We need engineers that have stronger theoretical experience. If you’re dealing with big data or artificial intelligence you need developers that have a university degree. If you want to work at Google with AI, get a Ph.D.

The university problem

Marc Collado is director at Iron Hack Barcelona, a bootcamp that also have campuses in Miami and Madrid. Even though Collado now represents a bootcamp, he himself went through a five-year University program at IQS:

The universities are too embedded in society. At Iron Hack we analyze the job market, and work towards creating a program that actually helps businesses hire a much needed workforce, and gets people into jobs.

Ludo (Marc Alier) hopes universities change the way they treat their professors and teachers, and agrees with the bootcamp hackers that there is a lot to be improved with the institution stretching thousands of years back:

The problem with University is that the professors are incentivized to be researchers, not to be good teachers. You get promoted if you’re good researcher, not if you have experience from tech companies or do a great job as a teacher.

Bootcamps do not build CTO’s

Professor Alier is grateful that bootcamps fill a whole and a demand in the market, but he wants to make one thing very clear:

I have seen examples where people have finished bootcamps, and they’re told that they can start a company. I’ll tell you this, they always screw up, always!

He continues:

You can not become a CTO with just a bootcamp experience!

Zanardi at Codeworks does not like the negativity towards the concept of screwing up:

This is a classic example of the difference between bootcamp mentality and university mentality. The best people from all sectors and industries are people that know what it’s like to fail hard.

Also Iron Hack’s Collado weighs in on the CTO statement:

A CTO needs more soft skills than hard skills, it’s about experience, recruiting, mentoring, but yes of course the guy needs to be technical, that’s for sure.

……….

The post/video/podcast was produced by Sindre Hopland & Masumi Mutsuda, the itnig media team.

https://goo.gl/forms/gBIKRZP0fnqmaFda2

5 (good) reasons why you should get your hands on Virtual Reality in 2015

Andreessen Horowitz, the $4 billion venture capital firm (yes, the one that invested in companies such as Foursquare, Twitter, Facebook and Airbnb, among many others), published last January their top 16 tech trends here, and guess what? Virtual Reality is #1.

Many of us lived the Virtual Reality (VR) hype through the 90’s and the following disenchantment. Simply put, neither the technology nor the market was ready

But Palmer Luckey, a (then) 19 year old ‘kid’ from Long Beach, California, after having spent his teenage years tinkering with up to 50 head-mounted displays and building more than five cost-effective virtual reality displays, finally put the first version of what he called the “Rift” as a DIY-kit on Kickstarter on June 2012. In just 36 hours the campaign surpassed $1 million in funding, eventually ending with $2,437,429. Almost two years after, on March 25, 2014, Luckey’s company, Oculus VR, was acquired by Facebook for US$2 billion.

Picture: http://www.tweaktown.com/news/37828/oculus-vr-founder-palmer-luckey-makes-the-cover-of-wired-magazine/index.html

Since then, it seems that every big media or tech company (Sony, Pixar, Disney, Facebook, Google, Samsung and Microsoft among others) is interested on VR technology. But why this sudden crazy interest in VR technology? In short: the first time you experience VR through a headset like the Oculus Rift, you understand why (read: you’ll be mind blown). Just in case you haven’t (please, try!), I’ve compiled five reasons why I think this technology will be highly disruptive (in the “Peter Thiel’s sense”) in 2015:

#1. Presence has finally arrived

In the early days of VR (pioneered by Jaron Lanier), two main issues plagued VR developments: “motion sickness” and lack of “presence”. You get motion sickness when wearing a VR head-mounted display if you move your head and the scenery do not change fast enough. You can get symptoms like dizziness, nausea or even vomiting. On the other hand, “presence” is the feeling you get when you wear a head-mounted display, and aside from the realistic 3D rendering, you feel as if ‘you are there’. I’ve personally witnessed more than fifty people trying the Rift for the first time, and almost half of them try to ‘touch’ the ‘things’ they see with their hands (you can also watch ‘first-timers’ reactions here). Yes sir, that’s what can be called presence.

The Rift achieve presence and lack of motion sickness through a wide field of vision (more than 100 degrees) and a really well engineered (fast plus accurate) head rotation tracking. If you are curious about the details, I recommend this book from Manning Publications.

Picture: http://static.oculus.com/connect/slides/OculusConnect_Epic_UE4_Integration_and_Demos.pdf

#2. VR is a new medium and a new interface

VR is both a new medium and a new interface.

As a new medium, it’s characterized as a post-symbolic medium, meaning that you do not need a ‘language’ to communicate in that medium, the user just ‘experience things’ there. Some people have even called VR ‘the empathy machine’ after projects like this one, funded by United Nations, in which you experience (via immersive video) the day-to-day reality of a Syrian refugee. VR as a medium is storytelling on steroids.

The music industry is also getting up to speed with the technology, with artists such as Paul McCartney, Jack White, Beck, U2 and Coldplay experimenting with VR.

As a new interface (just as the birth of the computer mouse allowed new kind of applications and human-computer interactions) VR will unlock interaction possibilities we’re not, of course, aware as of now. As an example, Guy Godin has developed a ‘Virtual Desktop for VR’. I know, it may sound silly, but keep in mind that the natural interface for humans should be closer to immersive 3D than to a flat 2D screen.

#3. Big companies have their hands on Virtual Reality

Facebook bought Oculus VR, Samsung has partnered with Oculus VR, Sony has its own VR device in progress, Google-backed ‘Magic Leap’ is trying to make the perfect Augmented Reality Device after Google Glass fiasco, and Leap Motion has literally resurrected thanks to VR.

A month ago, it was announced that Youtube is developing 360º video streaming, VR ready.

It all sounds like the early days of the Web, in which all the money from the Valley was suddenly redirected to the new technology. And yes, it may be well that a new bubble is coming bigger as ever, but also remember that the Web survived those days by filtering out noise from value.

#4. VR development is progressing at blazing speed

I ordered Oculus DK2 on June, 2012 (it arrived on September, though). At that moment, development was kind of ‘low-level’, esoteric or expensive (licensing). In just four months, WebVR (an initiative to bring VR to the web, via javascript access to VR devices) has become really solid, Unity released their Oculus Rift integration for the free version (this is huge!), and Leap Motion+VR integration is driving really innovative applications. Youtube is full of VR videos (mostly from drones), VR (mostly three.js/WebVR based) developments are starting to grow on Github, and Oculus/Leap stores are really growing; not to mention the grassroots groups trying to make 180º videos cost-effective and VR-ready.

Picture: http://techcrunch.com/2015/01/23/un-launches-powerful-oculus-virtual-reality-film-following-syrian-refugee-girl/

#5. Real world applications are already appearing and the spectrum is huge

One of the problems with early VR is that it was successful at the industrial level, but not at the consumer level. Now, with around US$350 or even just US$20 (Google Cardboard, or a DIY version, plus a smartphone) and some knowledge of Unity (or a similar game engine) or Javascript/WebGL you can start developing your own applications.

If you follow ‘Road to VR’ or ‘Enter VR’ podcasts, you’ll quickly notice that each and every day new applications are appearing: from immersive journalism, to healing diplopia through virtual reality and everything in between: gaming (of course), adult content, movies (Story Studio and Zero Point), mental ailments healing and fitness. If you are interested in the applications of VR to Social Sciences, ‘Infinite Reality’ is a fascinating read.

As a side note, at Outliers Collective we are working to bring VR to Data Visualization (or Data Visualization to VR), developing D3.js-like capabilities into both Unity and WebVR. One of our early examples, a real-time network visualization experience can be seen here. Seems like we are not alone, you can check also ‘6000 moons’ (a data visualization/simulation of nearly 6000 objects orbiting around us in space)

***This is a guest post by Oscar Marín
Data Engineer and co-founder at Outliers Collective

What is the Catdroid Android Fundamentals Study Jam?

On Tuesday, February 10 begins the FREE Catdroid Android Study Jam at itnig. During 7 weeks, 20 developers will meet in our offices to learn together, solve questions and go through the main issues of the Udacity course “Developing Android Apps — Android Fundamentals” by Google.

Although these developers are truly beginners on Android, they should have at least 3 years of programming experience in Java or another object-oriented programming language (for example: C++, Objective C or Python).

For knowing a bit more about this supervised study group we have talked with Sergi Martínez, Senior Android Developer and tutor of this Android study jam.

Question: What is a study jam and how it works?

Answer: The Study Jams are an initiative from Google to create global groups run by local communities. This is the first one we do in Barcelona and it will be about the Udacity Android Fundamentals course. The idea is to run 7 study sessions during the course in order to review the topics of every lesson and help students build their own app during the course. So, students watch a Lesson by themselves, and then, we review it in the local session and review how to apply this knowledge into their own application.

Q: What is Catdroid?

A: Catdroid is a community of Android lovers, fans, developers, designers and users created 4 years ago with the objective of creating events, speeches, courses and all kind of activities + helping each other when having questions or issues about the Android topic. The idea is to create something from the community to the community.

Q: And what is the Catdroid Android Fundamentals course about?

A: This is the Catdroid instance of this course. The courses are normally held by the official Google Developers Groups (GDG’s). But after talking with Google people they offered us to run our own study jam in parallel with the guys from the GDG Barcelona. The idea is to open more opportunities to the people of the community, no matter who organizes the jam.

Q: Why is this course relevant nowadays?

A: Mobile development is one of the most growing industries nowadays, and it’s not a temporary thing. A lot of developers are looking for a way to recycle themselves into the mobile world. Taking a course like this is an excellent opportunity to make this move. If we only had something like this when we started, our last four years would have been much much easier.

Q: What will people learn during this course?

A: People will learn how to make a complete application from scratch. We will review the most important issues to start working on the Android development world. Besides, the course is focused not only on learning things, but also on how and where to look for information when needed.

Q: What practical skills can people expect to have upon completion of this course?

A: Starting from the most basic concepts, they will be able to create some advanced UI, use external REST services to take information, local databases to cache this information and how to sync this information to save battery and data, among many other things. And it will work in phones and tablets.

Q: Who is this course recommended for? What should be the background / relevant experience of the attendees?

A: This course is for developers who want to introduce themselves into the Android development world. Experience in object oriented development is required. If you are experienced in Java, this is the best option, but people coming from languages like C# or Objective-C shouldn’t have any problem, they only will need to review some things. The course is also perfect for professional developers who want to push their careers forward or for computer science’s students who want to start learning Android development.

Q: Main takeaways of this course:

  • Learning from the people who made Android
  • Build a full app from scratch
  • Become familiar with the Android world, being able to find information by yourself and knowing where to go to ask for help
  • Doing apps the right way, taking the user into account, avoiding battery drainings and network hogs
  • Be ready to start a career as an Android Developer

Q: Prereqs and preparation:

Basic, Intermediate or Advanced Level?

A: This is an intermediate level (not big experience is required), but students should already know what OOP is and the basic concepts.

Is prior experience required?

A: Prior experience with an OOP language is required. This is not a course to learn programming, but to learn developing Android apps.

Any specific software needed?

A: The only thing needed will be Android Studio, and this is available for free.

ABOUT THE TUTOR

Q: Sergi, why are you doing this? What is your motivation for organizing this free study jams and how long have you been organizing this kind of study jams?

A: I really love sharing knowledge with the community, anyone who has attended one of my speeches knows that I’m really passionate about that. I think this is also a perfect way to introduce new people into the Android community.

I have worked on training more than three years and I have always tried to have places to share and teach. With Catdroid and the GDG we made a lot of events with a different formats.

This is the first Study Jam at a global level (you won’t believe how many are being performed). I have never worked with this format, but everybody in the organization is very excited about it and, if the results are good (which I’m sure they’ll be), there will be more Study Jams in the future!

Q: In short, who is Sergi Martínez?

A: Sergi Martínez is a developer with more than 15 years’ software industry experience — with a strong focus on software localisation projects and tool development. He is now working on the Android platform and he helps people learn new developing skills by sharing his knowledge and passion. At the moment, Sergi is focused on the Mobility R&D sector, and is eager to push the industry forward. He has been declared by Google as a 2015 Android GDE (Google Developer Expert). Twitter > https://twitter.com/SergiAndReplace

***
Thank you Sergi!
// Mar

More info about this Android Study Jam

SCHEDULE

Session 1: Tuesday, February 10–7pm to 9pm
Session 2: Tuesday, February 17–7pm to 9pm
Session 3: Tuesday, February 24–7pm to 9pm
Session 4: Tuesday, March 10–7pm to 9pm
Session 5: Tuesday, March 17–7pm to 9pm
Session 6: Tuesday, March 24–7pm to 9pm
Session 7: Tuesday, March 31–7pm to 9pm

PRICE: for free!