:::: MENU ::::
Browsing posts in: Development

Enterprise Angular Apps – Simplifying Complexity

If there is one thing I have learnt about Angular and the programming paradigm it dictates, it is that you either hate it or love it. Developers seems to be very much one way or the other. And ex-boss of mine has even told me that “I am making a mistake by not doing everything Angular”. I don’t agree. I have always been about “the right tool for the right job”. Which is why I am very happy that my mate Duncan Hunter can guide me through the jungle of Angular and associated libraries. A little while back we released a Pluralsight Play by Play on using the ngrx library with Angular, and it has been extremely popular.

And now we are back! Duncan put it to me that enterprises are struggling to use Angular in any meaningful way, as their code base is often complex and has a ton of inter-dependencies. And of course he didn’t bring a problem without a solution. In this brand new course we go through the steps of building enterprise grade applications with the Nx library for Angular. We look at managing multiple repositories, creating a new Nx workspace, creating new apps and libraries, and how we can use it with ngrx as well.

The course is available right now on Pluralsight.


Using Modern Web Security Patterns

This notion of “being secure on the web” is a statement that has many nuances and flavours. When a client of mine or learner through Pluralsight asks about web security and what they should do, it is never a black and white answer. It is always “it depends”, because it really does. Finding a way to implement the security measures that make sense for a particular product or project is never that simple.

However, there are a bunch of things you can do to move your website towards that “more secure” end of the security spectrum. These modern patterns include

  • Subresource integrity (SRI) checking
  • Content security policies (CSP) and exceptions
  • CSP reporting
  • Cross site scripting auditing (XSS)
  • Certificate authority authentication (CAA)
  • Http Strict Transport Security (HSTS)

That is a lot of acronyms in an industry that don’t need any more (really, we don’t). These tools and techniques are crucial in being on top of your web security, which is why my good mate Troy Hunt and myself sat down in February 2018 and recorded a new Pluralsight course.

This course is exceptionally relevant if you are developing any kind of web project, whether fresh or legacy. Most of the elements in this course can be used on any web project and retrofitted with little investment and great benefit. And it is only 1.5 hours, so perfect for your commute.

The course is live now.


Introduction to Quantum Computing with Q#

In the last 3 months I have been studying more and more about quantum computing, spoken to members of the Q# team at Microsoft, recorded a new Pluralsight Play by Play course and recorded a new episode of The Future of Tech. I find the area both incredible mystifying and very rewarding every time I understand a new concept. The below article is a quick intro to starting with Q# and Visual Studio and was first published on gooroo.io

For the past 47 years since Intel released the 4004 in 1971, computing has been following very much the same path. Microprocessors based on transistors and bits switching between 0 and 1 have been the cornerstone of every single consumer and commercial computing experience since then. While we rely on computers for increasingly more tasks, there are calculations that just aren’t feasible with traditional computing, and this is where quantum computing can prove both superior and immensely powerful.

Quantum computing and quantum mechanics has been topics of research for over 100 years, since Max Planck release his Quantum Hypothesis in 1900. Albert Einstein has used quantum theory to explain several hypothesis and many more scientists since expanded and corroborated the theories. Today we have quantum computing which promises dramatic improvements for certain types of problems.

Continue Reading


How to Deal With Constantly Changing Technology?

It’s a new year and for some reason this spurs a lot of people to create new goals and new “resolutions”. I have always believed that if you aren’t ready to make the change yourself, imposing a goal isn’t going to work. And you shouldn’t have to wait for a date to make change in yourself. When you are ready, then just go for it. Nonetheless, I thought I’d give some pointers on how to deal with the constantly changing world of technology. First published on gooroo.io.

It is one of those questions you constantly struggle with throughout any technical career: Should I learn this latest and greatest technology that is out? Do I need to learn it, do I want to learn it, do I get left behind if I don’t? The truth is that you can’t learn everything so how do you know what to focus on?

The sections below are not mutually exclusive, nor do you have to fulfill all of them. If you can say “yes” to one of them, then you are probably okay to invest time in the technology in question.

Continue Reading


Creating HSTS and Pre-load with Cloudflare

The adoption rate of HTTPS for websites is increasing exponentially and part of the reason is how easy it is to set up. Gone are the days of expert knowledge of root certificates, server versions, IIS mastery and other black magic. Today there are services that let you set it all up in as little as 4 minutes and 38 seconds (I timed it). This article outlines the basic steps I used and was first published on gooroo.io

Most people are familiar with HTTPS and the concept of secure websites. Securing websites become more and more common, which is a really good thing. Not only do we know that the data sent and received from the website is secure, but we also get a sense of knowing we will be alright. We expect that we get confidentiality, authenticity and integrity from modern websites. After all, we see sites every day with this:

HTTPS in three standard browsers.

Continue Reading


Reuse Code Between Angular and Ionic – New Pluralsight Course

I have been building software projects for almost 20 years. Initially I was writing specs for the systems to be build and then testing that “I got what I ordered”. I then moved on to building my own websites (in PHP!), before tackling very large systems both in infrastructure and servicing 1000s of requests per second. One of the main focuses in all of these projects, once you got beyond the early prototypes, were reuse. Reuse of code, reuse of modules, reuse of services.

The premise was that by reusing parts of your project in multiple places you would eliminate bugs, reduce maintenance, improve efficiency and reduce overall development time. While all this in theory is true, the real world is always a different beast. In my experience though, the requirements were often slightly different, the features needed weren’t exactly the same, the input data varied or something else just didn’t align. It was never as simple as write once, reuse to infinity. A lot of the time we either ended up with bloated modules that catered to everything or we came up with a too complex architecture, only for the sake of reuse.

Reuse is still a challenge, but if you can get the right balance between common and unique code, it can really be worth it. When my good mate Duncan suggested we do a course on how to share code between Angular and Ionic, I was on board! In case you aren’t familiar with Ionic, it is a framework to create native mobile applications with JavaScript, HTML and CSS, in an architecture pattern familiar to Angular developers.

And here it finally is. We recorded the course back in August while at NDC Sydney, and it is full of great tips, architecture hints and guidance on getting your web code onto your native apps. We build a complete app both for web and mobile, and explain along the way what you should and shouldn’t share between the two platforms, how to share code using an npm package, how to deploy it and much more.

Go watch the trailer right now, and enjoy the full course at your leisure.


Using Swift Programming Server-side – New Pluralsight Course

Yep, I know. The courses on Pluralsight are coming fast and often at the moment. However, this one is on a topic I wasn’t even aware of, until Steve introduced it in this course. Did you know that the Swift programming language known for being the new iOS language for iPhone and iPad, is used server side? Yes, the language is growing up, and with the help of Apple open sourcing it and IBM contributing it is now a fully fledged option for your backend systems.

Steve the hair model

Swift in itself is a very expressive and fully featured language that has a large following of developers. While there is a lot of focus and attention on the consumer side of the language, the tools and services for the server side have steadily evolved. You can get complete docker images, pre-built middleware, templates and much more. It really is ready for prime time production usage.

In this course Steve teaches me all about the various options, as well as gives a brief introduction to the Swift language itself. It is a really nice introduction to a piece of technology with great potential that few are aware of.

Check out the free trailer and start learning about Swift on the server today.


Asking Great Questions and Diagnostics – New Pluralsight Course with Jon Skeet

In a traditional software development education process you’ll learn about PC architecture, algorithm design, language constructs, mathematics and more programming specific skills. What you don’t learn, is how to ask great questions and creating a resource for future developers. Being able to articulate and explain a problem in its simplest form is a crucial skill in not only getting a resolution to your problem, but also assisting the current community to be even better.

I will be the first to admit that I am not a “forum guy”. I don’t trawl user forums and developer community sites to see where my expertise can be used to solve someones query. I choose to spend my time in other places, such as online courses, user groups, presentations, webinars and many other things. However, like almost any other developer I use the knowledge of Stack Overflow all the time. I am very appreciative of that resource and the system it provides to filter out the best (and worst) questions and answers. And when it comes to Stack Overflow royalty it doesn’t get much higher than Jon skeet. Jon has the highest ranked profile on the site BY A MILE! So it made complete sense to me to team up with Jon to create a course with Pluralsight on how to ask questions in a developer world.

This is an unusual course that focuses on a very technical issue in a very non-technical context. I get to pick Jon’s brain on how to create a great question, right from the worst incarnation of one. We go through the process of doing as much as possible to find the best way to ask a question, including how to word it, how to do your own diagnostics and different ways to ask the same question depending on context. Jon’s enthusiasm and passion for this topic comes through as a flood of positive energy.

This course is a must watch for all software developers. If we could all aim to be at Jon’s level when it comes to creating and answering great questions for the greater good of the community, we would all win.

Check out the Play by Play: Problem Solving in a Developer World today.


ngrx Handles Managed State in Angular – New Pluralsight Course

Way back in June I had the privilege of sitting down with Duncan Hunter in Oslo and talk about ngrx for Angular. At the time I had very little knowledge of the topic, but Duncan assured me it was the latest little black dress for Angular. While at NDC Oslo we recorded a Play by Play course for Pluralsight on just this topic.

In short, ngrx is state management for you Angular application, something that is very difficult to handle on the web, which is by definition stateless. However, ngrx is merely a library for Angular so you aren’t learning a whole new framework or setting up projects you aren’t familiar with. The ngrx library gives you a managed store, which is handled by using reducers and effects. The following diagram gives you an idea of the new flow you get with ngrx.

We are immensely proud of this course and in the first week it has gone to number 22 of all courses on Pluralsight in terms of viewers, so we must have done something right! If you want to learn more about ngrx, please do watch this course. It is currently the only one on the topic in the Pluralsight library.


What are Digital Realities? – New Pluralsight Course

Just yesterday I did another interview about HoloLens, what it is and how it fits into the world of virtual and augmented reality. It is a question I get a lot at conferences, user groups, client meetings and of course on social media. Had you asked me two years ago it was a reasonably straight forward answer, with three distinct categories of digital realities.

However, as the technologies evolve, and especially with the introduction of Apple’s AR Kit and Google’s AR Core, the lines are blurring. The once firm definitions are becoming more gray so much so that fellow HoloDeveloper Rene Schulte the other day did a 12min video to explain where mixed reality belong. It will likely end up being all the same definition, whether it is virtual, augmented, mixed or something else entirely. It is both exciting and frustrating at the same time.

Back in June 2017 I was presenting at NDC Oslo and while there I recorded a number of play by play courses for Pluralsight. One of those was with my good mate Stephen Haunts (who has glorious hair) on exactly this topic: digital realities. If you don’t know what a play by play is, go read Steve’s post about it in detail.

Pluralsight Play by Play Recordings at NDC Oslo

The course is now live and is a great insight into how you can get started building apps for mixed reality and HoloLens. Go watch the trailer now!


Pages:1234