Getting started with Progressive Web Apps (part 2)

Getting started with Progressive Web Apps (part 2)

In part 2 of learning how to create Progressive Web Apps, we'll take a look at the new app manifest that you can use to tell the browser the name of your app, where to find the app icons and install your app to the home screen (on both desktop and mobile).

Getting started with Progressive Web Apps (part 1)

Getting started with Progressive Web Apps (part 1)

An evolution has taken place in browsers. It has happened without fanfare, but silent and gradually by the continual development of new browser technologies, culminating in an umbrella term called Progressive Web Apps. In this article series, you'll learn everything you need to know to create modern, offline-ready apps.

Innføring i CORS

Innføring i CORS

I denne artikkelen får du et overblikk i problematikken rundt Cross-Origin Resource-Sharing (CORS), hvordan du konfigurerer node.js-servere til å støtte CORS og hvordan du får programmatisk tilgang til API-er som ikke støtter CORS.

Et dypdykk i JavaScript generators

Et dypdykk i JavaScript generators

Generators er en ny primitiv som ble introdusert med ECMAScript 2015. Disse er kan hende ikke blitt adoptert i like stor grad som andre nyskapninger i språket, men denne bloggartikkelen skal forsøke å gi innblikk i hvordan bruk av generators kan forenkle koden din og gjøre det enklere å skrive asynkron kode.

Det myldrer i underskogen

Det myldrer i underskogen

React og Angular er fortsatt de dominerende front-end-rammeverkene, men dersom du tror det nå har stabilisert seg må du nok ta en ny runde i tenkeboksen. I front-end-verdenen vokser det frem en underskog av rammeverk, og det er gode sjanser for at en eller flere av dem vil vokse raskt i popularitet. Det et er slett ikke sikkert at ditt neste prosjekt faller inn under en av de to store rammeverkene. Les videre og få en oversikt over de mest fremtredende av de kommende rammeverkene, og et komplett kode-eksempel for et av de.

Microservices in action: Deploying Java Adapter Framework’s containers using Vagrant and Docker

Microservices in action: Deploying Java Adapter Framework’s containers using Vagrant and Docker

After establishing working elements of Java Adapter Framework around Data Lake we obliged to deploy them in isolated autonomous containers as it’s a mandatory prerequisite of Microservice implementation. This article will demonstrate how to wrap previously assembled Java modules into portable Docker containers using Vagrant framework. This is complete working example in two parts which you can use in your projects, from samples of Java  code down to the deployment and maintenance scripts.

Validating data with SHACL

Validating data with SHACL

SHACL is a new approach for validating RDF data, and is at this moment a working draft at the World Wide Web Consortium (W3C). At the eInnsyn project, a collaborative project between Agency for Public Management and eGovernment (Difi) and the Oslo municipality (Oslo kommune), we have now successfully implemented a SHACL engine and are using SHACL for data validation. This gives us SPARQL free data validation, which limits the time cost and are much easier to read and use. In this blog post, I will describe the main features of SHACL and how we are converting existing XSDs to SHACL constraints.

Et dypdykk i JavaScript promises

Et dypdykk i JavaScript promises

Med ECMAScript 2015 ble promises endelig en del av JavaScript-kjernen. I denne bloggartikkelen skal vi utforske hvordan promises fungerer og se hvordan du kan bruke de til å skrive bedre asynkron kode.

Microservices in action: Building reliable Adapter Framework (Part 2)

Microservices in action: Building reliable Adapter Framework (Part 2)

This is the second post on the subject of building Adapter Framework using Microservice Architecture (MCSA AF). AF (ABCS in Oracle terms) as a technical layer for MCSA implementation has been chosen because various data sources is a crucial element of any modern infrastructure [11], especially in Analytics solutions.

Microservices in action: Building reliable Adapter Framework (Part 1)

Microservices in action: Building reliable Adapter Framework (Part 1)

Some might say that Microservice Architecture (MCSA) is a "new SOA" and therefore very popular, as the old one is dead. In fact, it is not (I will examine the actual statistic a bit further), but as it usually goes, only 20 % of people make 80 % the noise, so in next three parts I would like to present lessons learned from the practical implementation, involving Java-based MCSA and containers in the following order:

Icon fonts pitfalls

Icon fonts pitfalls

Icon fonts have been around for a while and were embraced by many front-end developers for their usage simplicity. I have used them myself both custom made and from the libraries out on the web. 

Slik kan du «scrobble» fra NRKs nett-TV

Slik kan du «scrobble» fra NRKs nett-TV

Dersom du er glad i å loggføre hva slags filmer og TV-serier du ser på, er trolig trakt.tv en nettjeneste for deg. Kanskje ønsker du bare historikken, eller kanskje du trenger litt hjelp til å huske hvilken episode som var den neste du skulle se. Selv om det går helt fint å manuelt «sjekke inn» når du titter på noe, er jeg enda mer fan av at ting går automatisk. Endel mediesentre har innebygget støtte for å automatisk «scrobble» det du ser på, men når det kommer til strømmetjenester glimrer denne funksjonen med sitt fravær.

Visual buttons in web applications and how to tag them

Visual buttons in web applications and how to tag them

When working on a modern web application, a developer has an array of choices for visual buttons. The choices you make may work fine for some users, but lead to trouble when it comes to accessibility and semantically correct HTML.

What is the smart choice then?

Categorisation of Machine Learning algorithms for business applications

Categorisation of Machine Learning algorithms for business applications

Practicing the scientific approach to the data exploration one should know at what extent certain method can be applied. Neural Nets are futile for the stock market’s predictions. Monte-Carlo algorithms couldn’t offer much help either, and poorly implemented Random Forest algorithm can literally ruin your vacation in South-East Asia, especially if it was implemented by NSA. In this article we will briefly introduce machine learning methods classification and see how they are relevant to the different lines of business.

Ontologier og OWL

Ontologier og OWL

OWL er en samling representasjonsspråk for å skape ontologier. I dette innlegget skal vi se på de forskjellige syntaksene, samt skape en enkel ontologi med redigeringsverktøyet Protégé.

Objektorientert RDF med RDFS

Objektorientert RDF med RDFS

Resource Description Framework Schema (RDFS) er det mest brukte skjemaspråket i den semantiske stakken. RDFS er som en slags universell oversetter, det lar oss knytte data fra forskjellige kilder og data med forskjellige bruksområder. 

Pattern based development Defining SOA Frameworks

Pattern based development Defining SOA Frameworks

Recapitulation of adapter based solution: In the previous part we managed to deliver a working solution, based on extensive adapter usage at quite high cost. Reliability is questionable and Reusability is not at its best, even with adapter-based entity service WSDL exposed for external calls.

Spørremagi med SPARQL

Spørremagi med SPARQL

SPARQL Protocol And RDF Query Language (SPARQL) et et spørrespråk (eng: query language) som man benytter til å gjøre spørringer i RDF-strukturert data. Språket bruker nøkkelord som ligner på bedre kjente SQL, men har likevel vesentlige forskjeller. I dette innlegget får du en grunnleggende innføring i SPARQL og noen eksempler på konstruering av spørringer.

Semantiske teknologier

Semantiske teknologier

Tenkt deg en web hvor all data er noder som er fritt tilgjengelig for brukerne, og hvor all informasjon kan knyttes sammen ved hjelp av enkle teknologier. Dette er det den semantiske webben prøver å oppfylle. Acando vil i vinter publisere en bloggserie på fire innlegg som omhandler de semantiske teknologiene RDF, SPARQL, RDFS og OWL. 

Service Delivery Platform on Oracle SOA Suite

Service Delivery Platform on Oracle SOA Suite

It’s been quite a while since the first article, Oracle SOA Suite 12c Sandbox, [4] where we discussed creation of the VM Box for SOA development on Oracle platform. It was promised that this development will be pattern-based and, therefore, separated into distinctive technology-related and problem-solving segments, specific for each type of typical tasks. 

Chrome-utvidelser, et kraftig supplement i utviklingsprosessen

Chrome-utvidelser, et kraftig supplement i utviklingsprosessen

I et nylig utviklingsprosjekt hadde jeg bruk for informasjon i en cookie fra ett annet domene for å kunne simulere en single-sign-on situasjon. Nå er det ikke mulig for en web-side å hente ut informasjon i en cookie fra et annet domene, men ettersom cookien ligger på din maskin så er det fullt mulig å se denne informasjonen i nettleseren.

Lag et API på 1-2-3 med Node og Express

Lag et API på 1-2-3 med Node og Express

På samme måte som det er lurt å ikke legge alle eggene i samme kurv, er det lurt å fordele ansvar i applikasjonen din. Dette er fordi modulær kode som regel er enklere å utvikle, debugge, teste og vedlikeholde. Brukergrensesnittet bør ikke ha ansvar for å hente eller bearbeide eksterne data. Det er oppgaven til et tjenestelag, mellomvare eller et API. Dette lager du lett med Node og Express!

Smashing Conference 2015 Barcelona

Smashing Conference 2015 Barcelona

Smashing Conference gikk av stabelen 20. og 21. oktober i Barcelona. Vi, Lena Bjørkli og Markus Voss, dro av gårde for å få et enda større innblikk i hvordan vi som designere og utviklere kan håndtere hverdgslige designproblemer på en intelligent måte ved bruk av smarte teknikker, gode strategier og nyttige verktøy.

Google Go

Google Go

Google Go, også kjent som golang, ble utviklet av Google tilbake i 2007. Det er et statisk typet språk som fokuserer på stabilitet, ytelse og enkelhet. Syntaksen er løst derivert fra C og legger til garbage collection, typesikkerhet, dynamisk typing, key-value maps, i tillegg til et rikt standardbibliotek.

Framoverlent front-end - del 2

Framoverlent front-end - del 2

Web-utvikling har kommet langt siden starten for over 20 år siden. I denne artikkelserien skal vi vise deg hvor lett du kan komme i gang med moderne front-end!

Del 2 - I første del av denne artikkelserien satte vi opp et enkelt prosjekt med webpack og en enkel JavaScript-funksjon som printet en setning på skjermen. Nå skal vi ta skrittet videre, lage ordentlig markup med CSS og bilder og ta i bruk webpacks utviklingsserver. Og for å krydre det hele litt skal vi bruke Facebooks React for å rendre mark-up.

How to install and configure Oracle Golden Gate – Initial Setup

How to install and configure Oracle Golden Gate – Initial Setup

A while ago I was presented with the challenge of synchronizing several databases in order to move data from a source database to a stage database and finally to a target database.  Although there are several ways to achive this, it was decided to use Oracle Golden Gate to migrate the data, in real time, to a stage server and then to a target server.

Framoverlent front-end - del 1

Framoverlent front-end - del 1

Web-utvikling har kommet langt siden starten for over 20 år siden. I denne artikkelserien skal vi vise deg hvor lett du kan komme i gang med moderne front-end!

Del 1 - Basisoppsett med npm og webpack.

LaTeX - typografisk perfeksjon

LaTeX - typografisk perfeksjon

Tirsdag 25. oktober holdt Veronika Heimsbakk et foredrag om «Introduksjon til LaTeX» på Institutt for informatikk, Universitetet i Oslo for skaperverkstedet Åpen sone for eksperimentell informatikk.

Mobile-First: fremtidens tenkemåte i praksis

Mobile-First: fremtidens tenkemåte i praksis

Våren 2014 viste statistikken at antallet mobilbrukere hadde oversteget antallet desktopbrukere. Dette har forandret vår tilnærming til web-grensesnittet grunnleggende. I den amerikanske giganten Ciscos Visual Networking Index finnes det prognosetall som støtter vårt syn på at mobiltilpassete webløsninger har blitt et krav og at mobilebrukerens tilfredshet nå har første prioritet i grensesnittutvikling.

Oracle SOA Suite 12c Sandbox

Oracle SOA Suite 12c Sandbox

Everyone who survived the complete renovation at home would agree that the second main success factor (after accepting everything what wife suggests) is the right set of tools. Moreover, tools shall be assembled into right bindle, properly adjusted, fairly reachable, and easily transportable.

jQuery best practices, part II

jQuery best practices, part II

jQuery is a powerful JavaScript library that simplifies manipulation of HTML documents. In part one I touched upon the topics of caching jQuery objects, optimizing selectors and append operations -- making your code more efficient and utilizing much less browser resources. Here I come with some more tricks.

Virtuelle utviklingsmiljø med Vagrant, VirtualBox og Puppet

Virtuelle utviklingsmiljø med Vagrant, VirtualBox og Puppet

Konsulenter og andre som driver med programvareutvikling vil ofte måtte bruke ulike verktøy og produkter i ulike prosjekter. Ofte må en utvikler trå til i et gammelt prosjekt for å rette feil eller gjøre endringer, og da må det installeres utviklingsmiljø med riktige versjoner av basis programvare som applikasjonstjener, database og ulike biblioteker. Samtidig vil den enkelte utvikler helst bruke egen maskin og selvvalgt operativsystem og editor eller IDE.

Feilsøking av TLS

Feilsøking av TLS

Vi har tidligere anbefalt å begrense hvilke "cipher suites" og TLS-utvidelser man bruker for å sikre at TLS brukes på en sikker måte. Imidlertid vil man kunne erfare at disse anbefalingene gjør at tjenester slutter å virke på grunn av servere som ikke er satt opp med støtte for de mest moderne variantene av TLS. 

Fremtidens teknologi er wearable

Fremtidens teknologi er wearable

Wearables er spådd å være the next big ting på teknologifronten. Alle snakker om det, men hva er det egentlig? Jeg har sett litt nærmere på hva dette er og hva slags produkter som finnes eller er under planlegging og utvikling.

Governance made easy - Oracle API Catalog 12c

Governance made easy - Oracle API Catalog 12c

Oracle recently launched a new product in their governance portfolio. As more and more applications, particularly in the mobile domain, rely on external APIs, the need for proper governance is ever growing.

Har mannen falt ned?

Har mannen falt ned?

Etter et par uker med "nå faller mannen", "mannen faller når som helst" overskrifter har selv media lagt krigstypene på hylla når de skriver om mannen og hvorvidt han faller eller ikke. Flere mediekanaler har satt opp døgndekkende webkameraer, men hvem har vel tid til å følge med på når det fremtidige fallet evt. vil skje? 

Tidshåndtering og sporing - del 2 gyldighetsperiode

Tidshåndtering og sporing - del 2 gyldighetsperiode

I offentlig forvaltning stilles det krav til sporing av data, dette for å ivareta personvernet og for å kunne etterprøve saksbehandlingen. Så hvordan håndtere flere versjoner samtidig av samme informasjonsobjekt, men med forskjellig gyldighetsperiode? 

JS Frameworks: Hvorfor og hvordan front-end overtar

JS Frameworks: Hvorfor og hvordan front-end overtar

Javascript er et programmeringsspråk som har eksistert i cirka tjue år, og dets popularitet har gått opp og ned gjennom årene. Hver enkel webutvikler har nok gjort seg både positive og negative erfaringer og har sine anekdoter å fortelle.

Tidshåndtering og sporing - del 1 bruksperiode

Tidshåndtering og sporing - del 1 bruksperiode

Tradisjonelt har man tatt vare på hvem som sist har endret dataene og når dette har skjedd. Men dette er ikke tilstrekkelig for å være etterrettelig da man ikke tar vare på tilstanden før endringen. For å få til det må man ta vare på historiske data og kunne spørre informasjonssystemene hvilken informasjon de hadde tilgjengelig på et gitt tidspunkt i tid. 

DGP tester blogginnlegg

DGP tester blogginnlegg

Practicing the scientific approach to the data exploration one should know at what extent certain method can be applied. Neural Nets are futile for the stock market’s predictions. Monte-Carlo algorithms couldn’t offer much help either, and poorly implemented Random Forest algorithm can literally ruin your vacation in South-East Asia, especially if it was implemented by NSA. In this article we will briefly introduce machine learning methods classification and see how they are relevant to the different lines of business.

Hvordan fungerer TLS

Hvordan fungerer TLS

Hvordan sette opp transport layer security på en sikker måte? Rolf Rander Næss holdt foredrag på JavaZone og presenterte anbefalninger om hvordan velge cipher suites i TLS.