Querying without OR in Firestore

Background Here at Oasis Digital we have successfully used the Firebase Realtime Database, and more recently the (beta as of July 2018) Firebase Firestore. These similarly branded offerings have important feature differences, and the latter appears likely to be the recommended choice in the future. Firestore is a globally scalable, fully managed, document oriented NoSQL […]

Writing a Generic Type-Safe ng-bootstrap NgbModal Launcher

For an Angular project for one of our clients, I’ve recently started using ng-bootstrap to implement standard modal dialogs in a ModalService. This service has methods to launch confirmation dialogs, input dialogs, message dialogs, etc; you can see a simplified version of this service on StackBlitz. An addition to the reusable standard dialogs, we also needed to […]

ng-conf 2018

ng-conf 2018, one of the two “main events” of the Angular calendar, just wrapped up. As usual Oasis Digital was a sponsor, among more and more companies each year. Perhaps the most interesting news from the conference came in the first few minutes: the main angular.io website (containing the documentation and other overall information about […]

Oasis Digital developer hiring process

Candidates keep asking: what is the process, to be hired at Oasis Digital as a software developer? I believe our process is solid, realistic, and strikes a good balance between speed and depth. Yet merely knowing what the process is, isn’t some great competitive advantage, there’s no reason to keep it secret. Good results flow from […]

Angular Boot Camp Unleashed

Oasis Digital is pleased to announce that… …we are publishing extensive example code that we use in Angular Boot Camp. This example code is available under an open source license (in case you want to grab a bit to use in a project), and is hosted on GitHub for easy browsing and instant editing on […]

Now Hiring – Angular and more

We’re looking for more great developers to join our team. All the usual information is available on our careers page. All the info is there of course, including a video explaining more about working here. But you’re already reading this blog post, so here is the essence again: Our core, in-house full-time salaried team works […]

Printable reports in a Node application

Imagine your shiny new web application, JavaScript from end to end (perhaps Node plus Angular/React/Vue/etc) offers a great set of features and a highly interactive user interface. Then a key decision-maker wanders by to praise the interactive features and ask where they click to obtain detailed printable reports like those generated by all the predecessor […]

Loopback 3, TypeScript, and Custom Connectors

Loopback is a powerful Node.js API framework built on top of Express that comes with a lot of functionality in-the-box. Recently, I gave a talk about creating APIs with Loopback in the context of building Angular web apps. In that talk I created a vanilla Loopback API using the Loopback CLI and connected the resulting […]

Software Product Quality at Oasis Digital

A long-studied topic Decades ago, business guru Philip Crosby famously defined quality as “conformance to requirements”. This definition seems useful in software development only to the extent every aspect of the software has been comprehensively understood and written down – rarely the case in real projects. Fewer decades ago, software and consulting guru Gerald Weinberg […]

CSS grid with Angular and CLI – the time is now

Today, early December 2017, is the time to begin using CSS grid for layout in Angular applications, even if they must support Internet Explorer. We can stop enduring the costs and delays of old “float” based CSS layout, and get better results with less work, using CSS Grid – even with Internet Explorer support requirements […]

Angular routing – advice for real applications

There are plenty of examples and documentation about the Angular router, but these things sometimes leave important questions unaddressed.  Documentation often intentionally demures from questions like “what is the best way to use this?”. Even my own previous post briefly reintroducing the router does the same. Here are our recommendations from extensive use (at Oasis Digital, […]

Angular routing, a basic Q&A

At Angular Boot Camp, we thoroughly introduce and teach the Angular router – over the course of 3 days, spread out into relevant bits and pieces of other learning. Outside of class though, customers ask a straightforward question: What is the Angular Router, and why should I care? To answer that, this post is a […]