An in-depth look at the PHP JSON Parser, from the perspective of it's author and ongoing developer, Jakub Zelenka.
Last week, several members of the Maple Syrup team took part in the Symfony London meetup near Bank, which focused on the very hot topic of microservices. Overall, we found it was an educational and thoroughly enjoyable experience. Informative, well-delivered talks as well as collaborative discussions with members of the thriving London tech community are their own reward.
Recently came across some strange behaviour on a couple of OSX macbooks. Both laptops could access some websites but not all and both Safari and Chrome were affected.
After a while of digging around I realised it was sites on port 80 that I had problem with (so SSL sites were not affected). The problem was present regardless of wifi or wired network I was on. The browser would request the page and eventually it would time out and some times the laptop would become unresponsive (especially using chrome which refreshes in the background).
The laptop were new and running ESET mac internet security. Having looked at the ESET logs I realised that the eset proxy process was crashing on requests on port 80 and getting restarted stopping my browser from working until eventually my laptop would become slower and slower or crash. The error logs showed ESET Daemon Child process proxy did not handle signal restarting as per screenshot below.
To make things more frustrating switching off web access protection from Eset antivirus UI didn't fix the problem and to fix it, I had to switch of web access protection
I also had to go to web access protection->setup and select a port not used by the browser (I setup port 79, make sure you select a port not used) as per below screenshot.
I waited a few minutes for the eset proxy processes to die and browsers started working fine and not had any issues with browser or slowness anywhere.
OS@north presentation on PHP7
An interesting presentation on how a 100% AngularJS site was built from ground up to move away from existing codebase.
A great presentation on how Elastic Stack can be used to monitor your environment.
The slides below cover the introduction and building a distributed team presentations from the open source conference.
I would like to thank everyone that attended. The team of OS@north enjoyed going through the presentations and answering questions from the audience. Some great ideas on how we can develop a strong tech community from the participants and individuals keen to get involved in the effort.
The team is already busy planning our next even which will focus on training. Elastic search, Angular, Docker and Kubernetes will be on the agenda but please get involved and let us know of your thoughts.
Some snaps below of the great team that put a huge effort to stage the event! Well done everyone!
We will be publishing shortly the slides and resources of all presentations.
App crashes are a mobile developer's worst nightmare, especially repeated crashes which will drive your users to uninstall your app and run away.
In the web world, norm uptime is 99.9%. For mobile apps, though, it’s 99% (i.e a crash rate of less than 1%).
Apart from testing for every possible scenario, which is nigh on impossible, one way to ensure your app’s stability and measure critical user flows is to use a cloud-based crash reporting solution, such as Crashlytics (now Fabric), Critterism (now Apteligent), or HockeyApp. At Quidco we opted to use Crashlytics for our iOS version 2.0 app which we released back in 2013, and continued to use it for Android. Crashlytics is a great tool. It's powerful, free and provides a nice looking and comprehensive dashboard for non-technical users. It has helped us track down and solve minor, major and critical issues on both platforms.
However, when it comes to monitoring capabilities, Crashlytics cannot compete with Application Performance Monitoring tools such as New Relic, one of the top of the line APM tools currently available on the market (Appdynamics, Dynatrace). That is why for our most recent apps at Quidco (iTunes, Google Play), we decided to replace Crashlytics with the New Relic Mobile SDK (we already used New Relic at Quidco to monitor our back-end and front-end web apps). In doing so, we got:
- More mobile device details,
- Mobile user interaction traces,
- End-to-end monitoring (Network map, Http Requests, Http Errors, etc.),
- Custom dashboard with almost real-time analytics platform (New Relic Insights),
- Alerts for critical performance issues.
Last but not least, with New Relic Insights and NRQL — an SQL-flavored query language — you can create real-time dashboards to show data about end-user experiences, mobile activity, and server transactions. Insights is an awesome tool and there is good documentation for writing basic queries but you have to dig into the New Relic forum if you need to present more complex data.
You can even link dashboards and create Data apps to explore your business data… but that’s for another time!
We would like to thank Softcat for supporting our open source conference in Sheffield. Softcat has kindly donated some nice kit which we will be handing out as prizes to some lucky attendees.
See you all next week at OS@north
The good people at Resume Library are supporting our efforts to spread the word about OS@north, helping us build an open source community in the north of England
Here is a few words about Resume Library
Resume Library is one of the fastest growing PHP development projects in the UK. Based in Fleet, Hampshire we are continually recruiting across all grades to help in the development of exciting new products for the global recruitment market. PHP is our primary development language and used alongside modern leading edge technologies such as SOLR, Cassandra, Docker and Redis amongst others. If you are a PHP developer and interested in joining a leading, award-winning organisation to further your skills and experience then we would love to hear from you!
Last night was the Derivco Dev Night in Durban, South Africa, which consisted of 3 presentations on various development or technical topics.
While its always good to drink beer and eat burgers with other like minded developers I must say the highlight of the evening for me was the talk by Daniel De Abreu on the Zettabyte File System.
Daniel is clearly passionate about open source technologies and his passion spills over in the form of the occasional expletive which he tried hard to avoid as he got more carried away with explaining how amazing ZFS is.
His talk briefly touched on some 41 years of development going back to the origins of the Unix/Linux software and the impact of the pipe function pioneered by Douglas Mcllroy at Bell Labs - represented as | in shell commands.
For those Linux nerds who want to know more about the pipe command you can just type
For those Linux newbies, you can learn more about the man function by typing
- Christos I know you tried this :-)
No reference to the Unix and Bell Labs would have been complete without showing a retro video of some of the Bell engineers like Ken Thompson and Dennis Ritchie (creator of the C programming language and where would PHP be without C). Engineering fashion has come a long way since then, although it seems the excessive facial hair is a trend thats stands the test of time.
So the obvious question is “How big is a Zettabyte?”. With 128-bit addressing ZFS can store up to 275 billion TB per storage pool - called a zpool. The zpool basically takes all available storage drives and makes them available as a single resource. So this is really big but not necessarily revolutionary - and we all know size is not everything.
The real magic that ZFS brings is a whole range of file system optimisations and features, some of which make your life as a developer better. Working in a virtualised development/test environment can be made much simpler with efficient snapshot management. The snapshot provides a read-only, point-in-time copy of the dataset.
ZFS uses copy-on-write technology which means your data never gets overwritten. The new data is written to different data blocks and the pointers to the previous blocks updated. This makes working with snapshots very simple. You can snapshot a dataset which allows you to restore your system to a repeatable pre-test state, without having to create a clone of your entire virtual environment and then restore it to re-run the tests. The copy-on-write technology allows snapshots to be created and restored quickly by preserving the older version of the data on the disk. In addition creating a snapshot does not initially use additional disk space. It is also possible to view a comparison between two snapshots.
Sharing snapshots with other developers is very straight forward using zfs-send and zfs-receive, which can be piped through ssh between virtual environments ( remember McIlroy and |). Daniel talked us through a real world scenario where he sent a a copy of a file system using rsync versus using ZFS snapshots. The results showed a significant performance improvement using the ZFS snapshot. When you have development teams in different offices around the world these optimisations are very useful.
A combination of beers, burgers and ZFS made for a good Dervico Dev Night. Clearly Dan is the Man or in Unix terms
dan | man.
Our plan for the day...
- 8:30 to 9:15, registration, coffee and breakfast
- 9:15 to 10:00, Building distributed systems with distributed teams. Mav Peri, Group CTO and Sean Harrison, Project Manager
- 10:00 to 10:45, Moving to Kubernetes, our experience so far. Konstantinos Konstantinidis, Application Architecture
- 10:45 to 11:00, coffee break
- 11:00 to 11:45, Our AngularJS rewrite, saying goodbye to tech debt. Brian Gouws, Front End Manager
- 11:45 - 12:30, PHP7 and Laravel, Kimon Moustakis, Senior PHP Developer
- 12:30 - 13:30, Lunch
- 13:30 to 14:15, Building a better search experience with Elastic Search, Matthew Wards, PHP development manager
- 14:15 to 15:00, Service Oriented Architecture with Laravel, Flaviu Grosan, Development Manager
- 15:00 to 15:15, coffee break
- 15:15 to 16:00, Monitoring systems with the elastic stack, Richard Pogson Head of Infrastructure
- 16:00 to 16:45, Discussion: building tech hubs in the North.
Our platinum sponsors:
Our gold sponsors
Electric Works, 3 Concourse Way, Sheffield, S1 2BJ
Register for OS@North
Sean Harrison, Senior Project Manager at Quidco
Sean is an experienced Agile IT Project Manager with a unique background in service management. Certified in Scrum and ITIL, experienced in delivering global multi-million pound highly technical and business focused projects. Sean has experience in managing large scale Ecommerce, retail and multichannel projects
Flaviu Grosan, Development Team Lead at Quidco
Flaviu is an Open Source artisan, SOA practitioner, IoT enthusiast, Agile evangelist. Flaviu will talk about a standard approach to SOA, components, benefits and about Enterprise Service Bus. He will also cover SOA with micro services, stateless RESTFul APIs and will explain how Quidco does SOA including adoption of an API Gateway (HTTP routing, statistics collection and basic authentication) over an ESB and and testing.
Matthew Wards, Team lead Quidco
Matt has worked in software for 11 years, working mainly with the PHP and Java languages and associated frameworks and technologies, but has been lucky enough to play with a wide variety of other great technologies. Matt is a particular fan developing microservices with SOLID OOP in Symfony or Spring but his silent passion for DevOps has recently lead him to writing ANT and Jenkins plugins and streamlining build/release processes. In 2015, Matt co-authored an open-source plugin for event-driven document/asset indexing in ElasticSearch for the Pimcore CMS framework. Matt will be talking about how Quidco uses ElasticSearch in a microservice architecture, optimisation concerns and the decision to use ES and the technology stack that facilitates logging and monitoring.
Richard Pogson, Head of Infrastructure at Quidco
Richard is a Technical and DevOps Manager. He enjoys, learning constantly and attempting to pass on what sticks. Richard is an advocate for data privacy and design from the ground up.
Kimon Moutsakis, PHP Developer at Quidco
Kimon has been a web developer for the last five years building web applications and web services primarily using PHP and Laravel with MySQL as well as other technologies such as NodeJS, RabbitMQ, Redis, AWS and others.
Brian Gouws, Front End Team Lead at Quidco
Brian is a lover of web development and using JS to solve problems. When faced with the decision on what technology to use when rewriting a website from scratch Brian choses Angular!
Konstantinos Konstantinidis, Application architecture manager
A long time ago he discovered BSD and the internet and things escalated quickly. Since then he helped build and scale systems from private client-server setups on traditional data centres to public facing web scale distributed systems on the cloud.
We have been busy expanding our engineering team in Durban, South Africa.
If you would like to work with the latest and greatest open source stack (Laravel, Angular, Docker, Elastic Search and others) and are passionate about delivering excellent code and working in a fast paced environment, we would like to hear from you.
We manage the software platforms some of the biggest brands in our industry and our engineering teams are based in London, Sheffield, Berlin and Durban, South Africa.
Get in touch if you want to speak us about the best PHP jobs in Durban, South Africa.
Here are some pictures from our new offices
Did you know it's possible to play all your favourite mobile games, on your PC. So long as your favourite mobile is Android. (Let the Apple vs Android fanboy wars commence!)
Joking aside, it's possible to set up a Android emulator on your PC, to play err, mobile games on your PC, because err, you might want to? Joking aside. Paymon has managed to do just that! He spent the better part of a few hours this weekend setting up his PC to emulate Android so he can... wait for it... play Marvel Puzzle Quest on his PC (I know, I know, he has a serious problem) Still it is kind of cool that you can emulate Android on the PC. You can find the guide and everything you need to do so at www.andyroid.net/
Get it? Because Edge is there new browser! And it's market share is low! Get it? No? Ahem, anyway..
Incase you haven't heard. Microsoft Edge is Microsofts flagship new browser. It's only available on Windows 10. According to Stat counter, Microsoft Edge peaked at around 20% market share of windows 10 users, which has since dropped down to around 14% Ouch. I haven't personally gotten round to upgrading to windows 10 yet, so unfortunately I can't give my feedback. But fear not! As we people in tech who have tried it! Here's what they have to say.
Nik Spijkerman - I tried it for about 5 minutes. The internet without plugins like adblocker is not an enjoyable place.
That does sound pretty damning, but it'll be interesting to see if the market share picks up once more and more third party plugins become compatible, or is it a case of too little too soon?
wonder if the lack of 3rd party plugins available, such as the like of an ad-blocker has anything todo with this?
Stat Counter, a site that tracks which browsers people use across the web, shows that Edge peaked at approximately 20% usage among Windows 10 users at the end of July, before dropping down to 14% by the end of August
Read more: http://uk.businessinsider.com/microsoft-edge-marketshare-2015-9#ixzz3l47qOT5a
Do you like to waste away your life -Ahem, I mean enjoy spending your time playing video games? (who'd have thought it, gamers in tech! Inconceivable!)
Well, as it would turn out... You're not alone! In fact quite a few people at Quidco are known to partake in the enjoyable task of playing a game or two. Me myself I am a big gamer! My first system was the Super Nintendo Entertainment System or SNES for short. I have fond memories of coming home from school, booting up the SNES, plugging in my controller and loading up Super Mario World 2 with my brother
My love of video games only grew from there. Years later sony released the Playstation entertainment system, this only served to fuel my addictio- err, my passion (yes let's go with that!) for video games even further! I remember such classics as Rayman, Metal gear solid and Final Fantasy VII, Today I mostly play PC video games, I'm currently playing Diablo 3. Nathan plays Heroes of the Storm and Paymon is looking forward to the release of Metal Gear Solid V. Actually on that note, I am too!
What about you? Are you a gamer and if so, what games do you play? Let me know via the comment section down below!
Oh! Also if you want to find play me at some games online, then you can via
- Steam: christos_z
- battle.net: christos#2310
The journey began in summer of 2011. Quidco was to venture into the world of mobile with our very own mobile app. Huzzah! The plan was simple. To focus on in store offers using location based results to show customers cashback available to them inside selected stores.
We started with offering our customers check-ins, with the premise that we would offer customers a cash incentive to "check in" to a store, no purchase necessary. We's simply use GPS location services to determine the customers location, and if they were inside a store, we'd allow the customer to receive a "check in" amount to their account!
As well as offering in store check ins, we also offered in store vouchers/coupons as per the mobile app.
The mobile app was met with huge success, reaching number 7 in all free apps and number 1 in lifestyle!
However, there was a problem! People inside stores couldn’t check in. People could check-in just walking past the store. GPS technology wasn’t reliable. And it was hard to prove a user actually spent time in the store. We were overwhelmed by fraud. The app needed to move direction. Fast forward to 2015..
The app now balanced between in-store and online deals. Check-ins have been replaced with Activations.
But we are not done yet! We have many innovative ideas and are continuing to evolve and refine the app. But we need your help! If this is something you want to be apart of please apply!
Table tennis. What a a lovely calm relaxing game, two friends gather together, to revel in a few minutes of past time enjoyment, sharing a hearty laugh with each swing of the bat..
This is no time for fun! This is war! This is where we separate THE MEN FROM THE BOYS (or the ladies for the girls!)
Here at Quidco table tennis is no joke! (Unless you're as bad as I am..) In fact it's not uncommon for us to hold table tennis tournaments. Entry is free and you have nothing to lose, except your pride, dignity, self respect, self worth, so on and so forth. So if this is something you think you'd enjoy, why not apply today? Just don't say I didn't warn you...
Maple Nerds is hiring! But why should you work for us?
Well for starters we have great benefits! Such as:
- Free eye test
- Cycle to ride
- Season ticket loan
- Childcare voucher scheme
- Company pension scheme
- 25 days holiday per annum
- Table Tennis table (with the occasional table tennis tournament!)