One requirement for my current Meteor project was that a user must login with their ActiveDirectory account. This means that Meteor must be able to authenticate against LDAP. In atmosphere there are already a few packages available which implement and support LDAP authentication. However, they are either outdated or difficult to configure. This is why I’ve decided to build my own custom login request handler for Meteor.
Music I enjoyed on my exchange semester in Berlin this year.
Apollo server and client support real-time subscriptions with web sockets. Compared to Meteor’s out of the box real-time communication this is a lot more difficult to set up. With this short tutorial I’ll give you an example of how you can get a simple reactive subscriptions into your Apollo/React app. The idea is that you use real-time communication for a specific case only, f.g. sending notifications. We will accomplish this in five steps.
- Install project requirements.
- Setup the server schema.
- Add server resolvers.
- Setup the client subscription.
- Modify a component to receive data from a subscription.
One of the popular features of Meteor is its accounts package. As you know, it makes it fairly easy to add a user authentication solution to your Meteor app or add support for different oAuth services. With the possibility to integrate an Apollo GraphQL API into your Meteor app this became a bit more difficult. The Apollo stack does not support an out of the box solutions to authenticate users with Meteor accounts. Jonas Helfer, one of the Apollo core devs, proposed two ways to authenticate users with your app:
During the last seven weeks I’ve spent a lot of time in California. With my study class we worked on projects with local companies in the Silicon Valley. It was a great experience. For the weekends I had decided to visit Yosemite and the beautiful lake Tahoe again. Despite the Californian drought I had some good hikes there. Before leaving for home I took a flight to Costa Rica and spent a week there. Seeing the caribbean coast not on a post card was a very nice thing. Now here are some pictures you might like:
Public transport in America is hard to endure as a swiss.
For my last project I had to build a web application to administrate a MongoDB database. Due to using Meteor quite a lot I heard about Graphql and the Apollostack. Graphql, which is a specification done by Facebook engineers, promises to be the better REST API (which I hope it is). I became curious and decided the build the server API with Apollo. First I tried to evade using the Meteor as build system as I don’t want to get too accustomed to this full-stack ecosystem. However, building a live-reload server and client build system in ES6 with Node.js, Babel and Webpack was simply too much work compared to building this simple web app. So in result this was my stack:
While working on a new chatbot I had to come up with good examples to start and led a conversation with the chatbot. For this I analyzed other bots, tracked the steps it takes to achieve a specific goal and kept notes on repeating patterns. In result me and my team came up with a few basic principles to design dialogs in conversational bots.
Mind melting music to make you feel stimulated. You are the tamagotchi.
As I’m relatively new to Node I had to wrap my head around a very basic thing. Getting external variables into my app. Loading settings for different environments from config files and via environment variables (for heroku deployment) should supposedly be an easy challenge. However, none of the solutions I’ve found were well enough for my scenario:
- Store config in json file.
- Have different configuration files (development, production, …).
- Load configs from environment variables.
- Fallback from environment to config file.
- App lives in one folder.
Yesterday late afternoon I had the great idea to update my AWS EC2 instance to Ubuntu 16.04 LTS. This website and two other sites are hosted on this machine. A Piwik installation and a mail forwarder as well. So it’s not that much, but still very essential to me. The upgrade didn’t go well, the system literally broke.