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.
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.
I have been trying to find a good navigation library for a project I have undertaken, and I have been looking into numerous frameworks the last few days. Although I have been able to find some decent frameworks, I haven’t still found the best library for navigating i inside a React Native application.
So I decided to write my own.
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.
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.
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.
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.
I am building a web service, and I chose NodeJS as a backend, due to its efficiency and simplicity. However, since nodejs is single thread – single process, other means of making the process more responsive under server high server load must be implemented.
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.
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.
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.
I hate good-byes but this one is long overdue. Yes, I have decided to let iGreekNews and iMe die, and withdraw it from the App Store. It has been a long and exciting journey, however, one must know when to say good-bye and take down one of the most successful applications released some years ago.
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.
Doing a project on Big Data. It’s the first time that I realise that data visualisation is not a gimmick but actually helps one to process data with naked eye just with a glimpse. This screenshot is taken using MATLAB. X axis shows the index of a venue that I have loaded into an array. The Y axis shows an index of a timestamp, also loaded in memory. The Z axis shows how many people have visited this place.
When something is ready, I will publish it here.
Every dream has a monster, visible or not.
I’m talking about “daydreaming”, imagining one’s self in another situation, in a happy place, position, circumstance… Every such dream starts with having lots of imagination, and sometimes, false and stupid hopes. But it’s a dream, right? Everyone has the right to dream from time to time. At least, that’s what they teach us when we are young. While growing those dreams are being replaced by ones that become more and more realistic. Dreams about flying, being a singer, living alone in a small house in the fields are being replaced by “dreams” that are seem like aspirations, things that we want to improve in our everyday life, not radically new ideas.