8 months with Texture (a.k.a. AsyncDisplayKit)

I have to admit that I love React & React Native. I began using React in 2014, and React Native in 2016. I loved RN not because of its cross-platform mechanics, but for its pragmatic approach when designing user interfaces and its ability to componentize a screen. A component can have its own state, and if the state is mutated the user interface depending on this exact state will re-render to reflect the new values.

It speeds up development and also makes the developer to avoid bugs with states not reflecting the values. The majority of my time is spent developing native apps, for which I had been trying to find an equivalent to React Native in terms of practices, to no avail. Until I stumbled upon AsyncDisplayKit (now named “Texture”).

I though I should share my experience so far.

Continue reading

Working for personal projects without burning out

There are some among us who just can’t sit tight, and feel the urge to create something on their own.

Most of the time this ‘something’ will end up never seeing the light of day. It has happened to me, I assume that this is the case for everyone else. This happens mostly because of lack of direction, lack of concentration, losing trust that you are going to finish your project.

Here are some tips that have helped me concentrating and managing my day in a way that feels more productive.

Continue reading

DevLog: How I created my first AR NodeJS-backed web service

Back when NodeJS was in the mid 10.x, a client of mine had an idea of a free application that would leverage technology in order to promote his monthly magazine. He wanted the application to leverage augmented reality features in order to play videos on top of specific images that would be featured into pages of his magazine which concerns the automotive industry.

Continue reading

On software dogmas

I love coding. I don’t care about the language I use, or the technology. I care about solving difficult problems, about creating something from nothing.

I grew up believing that software is philosophy, knowledge, way of thinking. I still do. However, I have to admit that based on the things I have seen since I started working in the industry, I believe that more often that not, we stumble across stubborn people, that get grumpy when technical decisions are not what they agree with, without having the exact technical knowledge to back their opinion.

Continue reading

A Showcase of Ambient Intelligence appliances

It’s been a while since my last blog post. Those were some very busy months. One of the highlight of those months, was work done for Atcom NEXT, a yearly event where we get to show the future of technology put some of our ideas into practice, and create high-profile proof of concepts. There were a lot of innovations that stranded out during the event, the ones I got involved in was everything regarding the mobile applications, the burger ordering system (read below) and the ‘coffee / non ordering system’.

It wasn’t easy, and it required as much critical thinking as it required development. Much work has been done for all aspects of the event, but I would like to spend of little time writing for just two of them. While reading these lines, keep in mind, that the whole event was the product of a team effort.

Continue reading

REST Client in Swift with Promises

Diving deeper into Swift, I am examining different ways of improving my architecture, and making the best decisions when creating new applications. For me, architecture and expressiveness  in the code is much more important that a complicated algorithm that boosts performance over 100%.

One thing I am called to do very often, is set up an HTTP client that will handle network operations, access tokens, and perform bandwidth throttling. So, I would like to share with you my idea of approaching the creation of an HTTP client with Swift.

Continue reading

R.I.P. iGreekNews part 2

In an unexpected turn of events, I was forced to take down iGreekNews. In short, Apple didn’t like that iGreekNews consults RSS feeds from various sources. I find it strange, considering that the purpose of RSS is to be free, and it is a means of communicating with news sources.

In any case, I cannot continue supporting it or try to mess with lawyers in order to gather any evidence that Apple may require. My full day job doesn’t leave me enough time to do that.

Continue reading

* Release * iGreekNews 2.0 for iOS

One year after I took down iGreekNews (along with iMe), I decided to re-implement iGreekNews using a new approach. It was time to put my NodeJS skills to good use, and construct an API around news feeds, and RSS, and also re-write the iOS application from the ground up using Swift. The result, after a few months of working in my free time, is iGreekNews v 2.0, which was released today as an update of the old application, in the App Store.

Continue reading

Vuforia SDK + remote video streaming on iOS

I recently have undertaken a project on iOS that requires integration with the Vuforia SDK. It’s an augmented reality proprietary framework, built for iOS and Android and has been very popular due to its innovative recognition library. One of the coolest demos that are appealing to advertisers or people looking to incorporate commercial campaigns inside their applications concerns the ability to play a video on top of a target. Vuforia even provides a sample application for that. However,  remote video streaming on texture does not work on textures.

This is a long standing issue, with people on the forums asking for a solution, some providing either free solutions which are outdated and / or non-performant, or paid solutions that are very expensive.

Continue reading

A few thoughts on Parallelism

It’s been a while. I am very sure many people experienced connectivity issues to my server. I believe these issues have been resolved. While searching in my old archives, I stumbled across an essay that I had written as a small part of a bigger exam in the university in France, a while ago. It seemed like an interesting read. It concerns parallelism, how it affects development, and also includes a few thoughts about Automatic Parallelisation.

Continue reading

AFNetworking + PromiseKit

AFNetworking is the de-facto standard for implementing a robust and scalable network infrastructure in your iOS or OS X application. I personally have used it for the implementation of many professional projects that I have been involved in. And lately I have stumbled across an delightful Framework, PromiseKit, a Promises implementation for iOS. I have then taken the liberty of incorporating Promises features into AFNetworking.

Continue reading

Country border highlighting with Leaflet.js

Not too long ago I finished a project on Big Data for the University. One part of this huge project was the implementation of a dynamics map that would be responsive to mouse hover and mouse click. When the mouse would hover over a country, the whole country borders would be highlighted in the map, and if the user clicked inside those borders, we would display tons of interesting data using D3.js.

For map displaying and operations on Google Style maps, look no further than Leaflet.js.

All examples I found on the Internet would either not provide proper callbacks, or would not provide these features for the entire world map. Providing callbacks for a world map is extremely difficult in terms of performance optimisation, for reasons that will be explained below. For now, let’s briefly explain how it works.

Continue reading