Web GDE Deck

Deck | Stream

Ire Aderinokun

How I created 488 "live images"

I've recently been going down a rabbit hole of making improvements to my CanIUse embed. To give a bit

Tue, 26 Nov 2019 10:15:20 GMT

Highlights from Chrome Dev Summit 2019

I’ve been going to Chrome Dev Summit for a couple of years now (2016 & 2018) and I always like to

Mon, 18 Nov 2019 07:13:00 GMT

How to use Puppeteer in a Netlify (AWS Lambda) function

I recently gave a talk at JAMstack_conf San Francisco about how I used headless chrome (via Puppeteer

Mon, 28 Oct 2019 07:27:00 GMT

Calling smart contract functions using web3.js - call() vs send()

I’ve recently been doing Udacity’s Blockchain Developer Nanodegree, and the gotcha that has caused me

Tue, 03 Sep 2019 06:59:18 GMT

Solidity function visibility, explained

When writing a smart contract, we can control who/what can call functions within that contract by spe

Tue, 27 Aug 2019 07:05:16 GMT

Your first performance budget with Lighthouse

I asked on Twitter the other day how many people had created and enforced a performance budget for a

Tue, 28 May 2019 07:24:03 GMT

Removing duplicate objects from an Array (is hard)

Let’s say we have an array of objects such as the following:const books = [ { name: "M

Tue, 12 Mar 2019 07:55:12 GMT

Tips for making interactive elements accessible on mobile devices

The Web Content Accessibility Guidelines (WCAG) is a set a guidelines for how to make websites access

Tue, 12 Feb 2019 07:37:32 GMT

Revisiting the abbr element

A few weeks ago, I wrote about how to make the abbr element work for touchscreen, keyboard, and mouse

Tue, 05 Feb 2019 07:04:17 GMT

What self.skipWaiting() does to the service worker lifecycle

The ServiceWorker.skipWaiting() method is a life saver. It ensures that any new versions of a service

Tue, 29 Jan 2019 08:02:00 GMT

What is tree shaking and how does it work?

When Javascript applications get to a certain size, it’s helpful to separate the code into modules. H

Tue, 22 Jan 2019 07:37:00 GMT

Use the :lang pseudo-class over the lang attribute selector for language-specific styles

The content of HTML documents can be in many different languages.To specify the primary language of a

Wed, 16 Jan 2019 07:01:00 GMT

A Siri Shortcut to Generate PWA Icons and Web App Manifest

If you've been following along with my daily blogging challenge, this is my final article! I've done

Tue, 25 Dec 2018 07:12:51 GMT

Understanding the Virtual DOM

I’ve recently been writing about what exactly the DOM and the shadow DOM are and how they differ. To

Mon, 24 Dec 2018 08:06:21 GMT

My CSS Reset/Base

Since writing about the state of CSS resets in 2018, I’ve had a few people ask what my modified CSS r

Fri, 21 Dec 2018 07:39:43 GMT

Rachel Andrew

The CSS Layout Masterclass

I’ve got an all-new workshop for 2020, and so far I have bookings for Smas

Tue, 07 Jan 2020 16:49:00 +0000


2019I’ve run the gamut, A to Z. Three cheers and dammit, C’est la vie. I g

Tue, 31 Dec 2019 16:54:00 +0000

Get Ready For CSS Grid Layout - 2nd edition

In late 2015 I wrote a “brief” for A Book Apart, entitled Get Ready For CS

Mon, 26 Aug 2019 11:52:00 +0000

Announcing Smashing Print Magazine

Life at Smashing Magazine never stops throwing new surprises and challenge

Thu, 25 Jul 2019 09:11:00 +0000

Grid, content re-ordering and accessibility

I have long been concerned about the potential accessibility problems that

Tue, 04 Jun 2019 11:11:00 +0000

CSS Grid subgrid lands in Firefox Nightly

For the CSS Grid fans who have been following along, last night the subgri

Thu, 23 May 2019 06:08:00 +0000

A design pattern solved by subgrid

I’ve been playing with this early implementation of the subgrid feature in

Tue, 07 May 2019 22:03:00 +0000

Getting involved with the web platform

I spoke at An Event Apart yesterday, you can see my slides and resources h

Tue, 07 May 2019 08:54:00 +0000

CSS Subgrid News and demos

A couple of weeks ago I spoke at Frontend NE in Newcastle, a big part of m

Tue, 16 Apr 2019 18:48:00 +0000

Are nested grids like nested tables?

A thing I keep hearing, and especially when talking about subgrid is, “nes

Fri, 12 Apr 2019 18:29:00 +0000

Rachel Nabors

Joining the React Core team in London

I’ll be joining the React team in London May 28, 2019! Writing docs, building demos, tending communit

Mon, 01 Apr 2019 00:00:00 UTC

A counterintuitive way to increase diversity in tech

Want to increase diversity in tech but frustrated at society's lack of progress? Consider a career in

Thu, 01 Mar 2018 00:00:00 UTC

2017 Reading List: sailing forward in rough waters

I read a lot of books in 2017 to help me chart a course for 2018. If you are a little like me , some

Fri, 19 Jan 2018 00:00:00 UTC

So long, farewell, Microsoft!

I've decided to move on from Microsoft's Web Platform Team. What comes next? Let's find out! But firs

Mon, 18 Dec 2017 00:00:00 UTC

Donating profits this weekend to my hometown Bookmobile

This holiday weekend all my courses are half off and the profits will bring books to people all over

Fri, 24 Nov 2017 00:00:00 UTC

Pam Selle

My anxiety toolkit

So, we’re living in some interesting times, eh? I recently discovered my new favorite group of

Thu, 19 Mar 2020 13:14:56 +0000

Live code stream for the Equinox!

Starting on March 19th, there will be a 72-hour98-hour (the event has been lengthened) livestream of

Wed, 18 Mar 2020 14:35:57 +0000

I made “Pits of Graph Theory” punk rock style patches!

When a new person recently joined my team, someone else responded to the “Hey $PERSON is now on

Fri, 06 Mar 2020 00:50:26 +0000

Oh no! Someone is incorrect on the internet!

Am I still attacking and gatekeeping and insulting others?Should I just have ignored the post and let

Sun, 23 Feb 2020 19:37:18 +0000

Impressions on working remotely

Someone recently asked me:What’s your impression of working remote in general?To which I respon

Thu, 20 Feb 2020 20:48:22 +0000

Chesterton’s Fence and Maintaining a Codebase

One of my colleagues casually referenced Chesterton’s Fence when discussing a potential change,

Fri, 07 Feb 2020 00:40:43 +0000

Refactoring legacy code with simple design (video reaction)

I’d bookmarked this video to watch when I got back from break, as it seems some more of my work

Thu, 09 Jan 2020 19:32:49 +0000

2019 in review (bullets)

It’s the end of 2019, and here’s my annual bullets.txt review.This year, I’m mostly going to wr

Mon, 30 Dec 2019 17:46:06 +0000

Things (in Go) I’ve been learning this week

Earlier this week, I was replicating an issue that involved creating 1000 Terraform workspaces in S3,

Thu, 12 Dec 2019 21:36:50 +0000

Papers We Love Conf 2019

It’s Monday after flying back from St. Louis yesterday, I had jury duty, and Strange Loop ended

Mon, 16 Sep 2019 23:58:26 +0000

Deborah Kurata

Jecelyn Yeen

Remy Sharp

The one where the country went into lock-down

Although I picked up the news when it was announced last night at 8:30pm it's just starting to sink i

Tue, 24 Mar 2020 00:00:00 +0000


WFH: Working From Home. Which I always abbreviate to "WFM" which is actually "works fo

Thu, 19 Mar 2020 00:00:00 +0000


This blog post appears under my URL, remysharp.com and my blog is my digital presence. I got some …&q

Tue, 10 Mar 2020 10:00:00 +0000

Auto-growing inputs

I was tinkering with an electron app I wanted to make for screencasting and it needed some input elem

Fri, 06 Mar 2020 10:00:00 +0000

Binary Tools

I've been tinkering on a 6502 project during the evenings spread over the last 3 months (via the exce

Mon, 02 Mar 2020 00:00:00 +0000

Words, n'stuff

My son once asked me: "who decided house was house?". Was it invented? Why start with a 'h'

Tue, 11 Feb 2020 00:00:00 +0000

How to convert xlsb to csv

Converting from Excel formats to csv is something I've had to do many times in my career - usually to

Wed, 05 Feb 2020 00:00:00 +0000

Toggle light and dark

There's odd excitement around dark themes these days, but I find that being able to switch between a

Mon, 27 Jan 2020 10:00:00 +0000

Extracting Goodreads metadata

This week I posted the list of books and the reviews for 2019, but in addition, I also published the

Mon, 06 Jan 2020 12:00:00 +0000

Books I read in 2019

Proudly I've continued to read (if you know my story, this is a big deal for me), this year having re

Thu, 02 Jan 2020 00:00:00 +0000

My 2019

Continuing a growing tradition on my blog, and apparently a growing trend on (what's left of) the web

Tue, 31 Dec 2019 00:00:00 +0000

This is the girl

This is the girl I met in college.It was only a short journey to falling in love with her when we met

Wed, 18 Dec 2019 00:00:00 +0000

Web faux pas'mas

In using the web, and listening to "12 days of Christmas" my mince pie addled brain decided

Mon, 16 Dec 2019 00:00:00 +0000

Hi-Fi curious

I love music. I need it in my life and for a number of decades, there was more music in my life than

Tue, 03 Dec 2019 00:00:00 +0000

Cyber Weekend Learnings

I'm not good a prompting my own stuff usually (I think) but I think it should make a lot of sense to

Fri, 29 Nov 2019 00:00:00 +0000

10 years ago: CSS Compression

What follows is a blog post that I had partially written over 10 years ago. In fact, I started writin

Thu, 21 Nov 2019 11:00:00 +0000


As a software developer I'm using tools day in and day out and depending on time, I'm usually interes

Mon, 18 Nov 2019 11:00:00 +0000

ffconf v11: a roundup

ffconf 2019, our eleventh version wrapped up last Friday and it's fair to say that even now as I writ

Tue, 12 Nov 2019 10:00:00 +0000

Nice imports with Next.js

During my React based development, I'll find myself importing a module from '../../../components/Widg

Mon, 04 Nov 2019 10:00:00 +0000

My #WebStory

This month in 2019, the W3C turns 25 and in their blog post they encourage others to share their own

Thu, 31 Oct 2019 22:00:00 +0000

Listing your most used commands

A fun little command line task is to retrospectively look back at all the commands you run to which y

Tue, 08 Oct 2019 09:00:00 +0000

Blog service workers and the chicken and the egg

I posted a blog the other week explaining the process I had in place for showing recently viewed post

Tue, 01 Oct 2019 09:00:00 +0000

Moving on

Today we, my family, leave the place we've called home for just shy of 10 years. We're moving house -

Thu, 19 Sep 2019 09:30:00 +0000

head is locked

Yesterday I posted a little historical insight into why the closing </p> tag is optional, but i

Fri, 13 Sep 2019 00:00:00 +0000

(Why) Some HTML is "optional"

Chris Coyier blogged recently on weird looking HTML. It's a nice short post and I'd say it's worth kn

Thu, 12 Sep 2019 10:00:00 +0000

Blocks of Tetris code

In one of my Twitch hour sessions I decided to attempt to build a Tetris clone inspired by news that

Tue, 10 Sep 2019 11:00:00 +0000

Offline listings

The other week I finally pushed full offline access to my blog. I'd taken a lot of inspiration from J

Thu, 05 Sep 2019 00:00:00 +0000

Transforming text

During the weekend I spent an hour coding a hacky bit of code and I thought it might help one or two

Mon, 02 Sep 2019 11:00:00 +0000

The ninth August

August comes around in a flash. The living of life keeps me busy throughout the year. Work during the

Sat, 24 Aug 2019 09:31:43 +0000

Build free code & testing ES module imports

A bit of a mouthful of a post title, but I can assure my future self this post will be worthy of publ

Fri, 16 Aug 2019 10:00:00 +0000

An fd trick

If you followed my CLI improved then you'll know I'm a fan of the fd command which I'm able to use fo

Tue, 13 Aug 2019 00:00:00 +0000

Redux: Lazy loading youtube embeds

There's a great pragmatic post on dev.to (that Jeremy's link feed put me on to) on how best to embed

Fri, 09 Aug 2019 12:00:00 +0000

Predictably Random

The concept of random is pretty interesting when you think about it from a computer's point of view,

Tue, 06 Aug 2019 12:00:00 +0000


This is my personal blog and sometimes I'll publish very personal things. It's cathartic for me, but

Wed, 31 Jul 2019 21:30:00 +0000

Buy the coffee

Having been asked my advice on starting a company (usually of one), my advice tends to start with: bu

Tue, 30 Jul 2019 15:00:00 +0000

User agent tunnel vision

Yesterday I published a post that I'd been writing for a while as I considered and compared three web

Thu, 25 Jul 2019 12:00:00 +0000

Progressive Enhancement

This post was originally written in 2015, but upon re-reading it today, it still (just about) holds u

Wed, 24 Jul 2019 12:00:00 +0000

Analytics, logs and metrics

Netlify just recently launched a simple analytics offering for $9 per site per month. It's a great ad

Tue, 23 Jul 2019 00:00:00 +0000

Elsewhere 2019 w28

A few interesting links I came across this week.Ethical Web PrinciplesFound on July 12, 2019 at 17:01

Sat, 13 Jul 2019 14:00:00 +0000

A thought: Privacy Pollution

This post is very much a stream of thought from a small handful of conversations and triggered by a t

Thu, 27 Jun 2019 13:00:00 +0000

Scheduled and draft 11ty posts

This post explains how you can add scheduled publishing to your 11ty blog (with a bonus for drafts).B

Wed, 26 Jun 2019 15:05:36 +0000

Send Outgoing Webmentions

In a recent Twitch session I decided to add Webmentions to my blog, specifically in the flavour of sh

Tue, 18 Jun 2019 14:00:00 +0000

Reduce spread and the path to unique

As modern JavaScript language features land more and more support I find myself using more and more o

Sat, 15 Jun 2019 00:00:00 +0000

Ejecting Disqus

Running a routing performance check on my blog I noticed that in the list of domains being accessed i

Tue, 11 Jun 2019 00:00:00 +0000

Slide Show Karaoke

During a jsconf.eu break as I attempted to lighten Katie Fenn of her npm stickers, I was unwittingly

Mon, 10 Jun 2019 00:00:00 +0000

Firebase + Lambda + Zeit now

Super niché I know. I've been playing with Zeit's v2 now platform, and in particular I wanted to acce

Wed, 05 Jun 2019 00:00:00 +0000

All I want for Christmas is…

…my two front teeth. A song, that for reasons beyond my comprehension, went around my childhood house

Tue, 21 May 2019 00:00:00 +0000

Compiling binaries for Netlify

There's the odd occasion that inside of a Netlify build (or maybe a lambda function) that I've wanted

Mon, 20 May 2019 00:00:00 +0000

How I got AWS running inside Netlify

In a recent attempt to move away from Google analytics I wanted to be able to run the AWS command lin

Sat, 18 May 2019 00:00:00 +0000

Bare Import Cost

This post is about import in JavaScript. This post, I'm afraid doesn't have any grand solutions or ev

Fri, 10 May 2019 00:00:00 +0000

Uri Shaked

Maurizio Mangione

Todd Motto

Wassim Chegham

One way you could implement this is to have an intent dedicated to receiving the French words and…

One way you could implement this is to have an intent dedicated to receiving the French words and hav

Sun, 11 Aug 2019 21:40:18 GMT

I’m afraid there is no option to wait for an infinite period.

I’m afraid there is no option to wait for an infinite period. Both Dialogflow and Assistant will time

Sun, 11 Aug 2019 21:27:51 GMT

I’m joining Microsoft

For the love of the open source communityhttps://twitter.com/jeffsand/status/913915537742233600Hello

Fri, 26 Apr 2019 14:46:23 GMT

Hi, in order to send the order via email, you will need to have a server to do it.

Hi, in order to send the order via email, you will need to have a server to do it. For that, you will

Fri, 05 Apr 2019 20:49:46 GMT

Sorry to hear that. Please read the disclaimer at the top of the article.

Sorry to hear that. Please read the disclaimer at the top of the article.

Wed, 27 Mar 2019 09:35:02 GMT

You mean the seventh!?

You mean the seventh!?PS: could you also please use our official press kit for the logo? The logo you

Sat, 09 Mar 2019 09:04:36 GMT

Awesome! Don't forget to use the discount code rffr1 when buying the desk ;)

Awesome! Don't forget to use the discount code rffr1 when buying the desk ;)Oh! And by the way, y

Wed, 30 Jan 2019 22:26:59 GMT

Jorge Cano

Abdelrahman Omran

سافر .. كمصري ممكن تسافر ٦٢ دولة بدون فيزا 🥳

#سافر كمصريين، احنا مش محتاجين فيزا (أو أونلاين فيزا) عشان نسافر لـ ٦٢ دولة، تعرف كدا؟! معندكش حجة

Tue, 04 Jun 2019 03:45:17 +0000

خدمة “فُرِجَت” من منصة “أبشِر” للإفراج عن الغارمين

من كام يوم تم إطلاق خدمة إلكترونية جديدة في السعودية في غاية الروعة والإنسانية .. ربنا يبارك للقائمين

Sat, 04 May 2019 06:11:43 +0000

Good day, good year! Write something everyday..

It’s good to review, evaluate, and plan future resolutions after every step in your life, and

Tue, 01 Jan 2019 10:00:55 +0000

ترشيحاتى لأفضل ما قرأت فى ٢٠١٧

دى بعض الكتب التى أعجبتنى وأعطيتها تقييم مرتفع .. وأنصح غيرى بقرائتها لما فيها من فائدة .. أكثرهم فائ

Wed, 20 Jun 2018 15:36:07 +0000

The Untitled Podcast – Season #1 – a bit of history

Recently, me Abdelrahman Omran and my friend Eslam Salem a security researcher and founder of Shiel

Wed, 20 Jun 2018 11:42:40 +0000

Build Actions for Your Community → October June 1st, 2018

As part of our ongoing event series “Build Actions for Your Community“, Google Cloud De

Mon, 04 Jun 2018 14:51:52 +0000

Build Actions for Your Community → Cairo May 25th, 2018

Preface Yesterday’s session (or should we say today’s session? read to know!) was different, it was

Sat, 26 May 2018 21:05:28 +0000

G Suite – Not all clouds are created equal

To answer a frequent question I get from people about the main differences between G Suite and Micr

Wed, 07 Mar 2018 18:00:01 +0000

علوم مقاصد الشريعة – الفقه، والعقيدة، والتزكية

#خريطة_ذهنية علوم مقاصد الشريعة، ثلاثة: ١- الفقه (لضبط جسد الانسان / الأفعال) .. هذا هو الإسلام &#

Sun, 18 Feb 2018 16:00:59 +0000

An open letter to the Japanese Ambassador in Egypt

Monday December 4th, 2017 To whom it may concern, dear Sir / Madame, I’m Abdelrahman Omran, s

Mon, 04 Dec 2017 13:19:24 +0000

Jonathan Belcher

What We Like in Montreal

RestaurantsChez Tousignant – Some of the best burgers I have ever had!Le Darling – a Nice

Sat, 07 Mar 2020 03:52:27 +0000

Philadelphia Visitors Guide

I wrote a guide for my coworkers when visiting Philly for work or a personal trip. Here is a modified

Tue, 18 Feb 2020 17:43:36 +0000

Google Cloud Functions and Serverless Path Parameters

I’m trying to transition an express node service to using the serverless framework and Google C

Fri, 27 Oct 2017 17:21:06 +0000

Worlds Fastest Store, well sort of

I have been working on building a PWA front end for WooCommerce.  I saw the Polymer Shop repository a

Thu, 26 Oct 2017 20:03:01 +0000

Things you should do in Barcelona

Beer:Garage Beer Company – Brew pubBierCab – Bar and beer store.  Amazing selection in bo

Mon, 24 Apr 2017 14:52:33 +0000

Coding Style Guides

If you know me you probably know that I sincerely believe that for a project to be successful you nee

Mon, 06 Feb 2017 02:08:56 +0000

Making Coffee and Web Apps

I drink a lot of coffee. I write a lot of JavaScript.  This is about my journey from drip to my perfe

Fri, 06 Jan 2017 18:55:23 +0000

Martin Splitt

2019 a retrospective

Before we review how the year actually went, let's see what I thought about it a year ago before

Reading local files with JavaScript

JavaScript does not have direct access to the local files due to security and privacy.We can offer th

A look at how I build stuff

The process is similar to how I do side projects in general.

My Google I/O 2019 wrap-up

One part of this was to give two presentations:Google Search: state of the union together with John -

SEO codelabs for developers

![Try the codelabs right from your browser!](/images/post-images/codelabs.png)We came up with two com

Google I/O - let's meet!

On Tuesday I will most likely hang around the community lounge and the web sandbox :)

2018: a retrospective

I contemplated we'd see more progress for WebXR, which is the case. The TPAC meeting had a whole

A new adventure

I started in April and had a great time during "Noogler onboarding" where I was introduced

Writing an x86 "Hello world" bootloader with assembly

After booting, the BIOS of the computer reads 512 bytes from the boot devices and, if it detects a tw

Firefox day 5: A race

I've opened a session with four tabs:FacebookTwitterA Stackoverflow threadA Github pageAn Archilo

Firefox day 4: Goin' up the country

I've found a few niceties besides the fact that apps open links with Firefox in the background an

Firefox day 3: Details

When switching browsers three days ago, I forgot to install an ad blocker.I have to say I'm surpr

Firefox day 2: First few cracks

Today I happened to visit my own website, geekonaut.de and noticed a few interesting glitches on my p

My Firefox month: Day 1

I will try Firefox 54 on my laptops and phone for a monthFirefox Sync provides me with seamless acces

How I approach side projects

Start with something you don't know. Research & write down the resultResearch just enough to

CORS - a guided tour

The browser enforces the Same-origin policy to avoid getting responses from websites that do not shar

Bits and bytes in JavaScript

when dealing with binary data or communicating with hardware, you may find yourself needing ways to m

JavaScript in parallel

JavaScript is single-threaded and long-running scripts make the page unresponsiveWeb Workers allow ru

Understanding different number systems

The fact that we use a number system with 10 symbols (0-9),aka "Base 10" or decimal is an a

2016: The year in review

This year I finally finished the draft of my book on Polymer!If things work out, it will be in print

HTML, DOM and JavaScript unraveled

The web platform has started out with HTML to allow users to share documentsand link them in a user f

The overwhelming web

Web Development can be pretty strange these days.On the one hand we tell beginners that they need ALL

Slick and slf4j MDC logging in Scala

Multi-user applications need log messages to retain context, so the situation can be examined on a tr

Five rules to stay sane and efficient when handling downtimes

Downtimes, Crashes, Incidents, System Failures - they have many names, but most people involved with

Five rules to stay levelheaded and efficient when handling downtimes

Downtimes, Crashes, Incidents, System Failures - they have many names, but most people involved with

JSON RPC 2.0 - for simple and powerful APIs

To my surprise a contender in the field of API protocols is yet unknown: JSON-RPC 2.0.A standard sinc

Maxim Salnikov

Hello! This one is working: https://https;//bit.ly/go-pwa-slack

Hello! This one is working: https://https;//bit.ly/go-pwa-slack (and seems to be a non-expiring one :

Thu, 28 Mar 2019 22:40:01 GMT

Workbox 4: Implementing refresh-to-update-version flow using the workbox-window module

The next major version of the very popular PWA helper library was just released. Workbox 4 brings man

Thu, 28 Feb 2019 01:21:48 GMT

Background Fetch API: Get Ready To Use It!

I had a section with the explainer of Background Fetch API in many of my PWA slidedecks I presented d

Fri, 30 Nov 2018 08:49:15 GMT

A new Angular Service Worker — creating automatic progressive web apps. Part 2: practice

Announcement: I present about Angular Service Worker this Tuesday, November 7 at AngularConnect confe

Sat, 04 Nov 2017 16:16:48 GMT

A new Angular Service Worker — creating automatic progressive web apps. Part 1: theory

Announcement: There is “Part 2: practice” of this article is available.As a “UIs for the future” engi

Mon, 02 Oct 2017 21:22:58 GMT

Best practices in the design of onboarding to the free wi-fi flow at the airports (and not only)

My 2017 in numbersDesign artifacts created by human beings are everywhere. They surround us all the t

Sat, 02 Sep 2017 19:38:38 GMT

Using Workbox 2 and Angular to create a Progressive Web App. Part 1: App shell

This is a set of 5 articles dedicated to creating PWAs using the newest framework and library mention

Wed, 30 Aug 2017 22:22:37 GMT

Here we go!

Here we go! jsPoland conference: my session “Mobile Web 2.0”. Thanks to one of the event attendees fo

Thu, 22 Jun 2017 21:30:52 GMT

Hi, Tomomi!

Hi, Tomomi! Thanks for this very interesting article! I’d like to reference your “Mobile Web Timeline

Sat, 17 Jun 2017 12:24:50 GMT

Friends Forever: Your Meetup And The Conferences

Partnering with relevant local and international conferences is a very good idea for your usergroup.

Fri, 31 Mar 2017 23:49:41 GMT

Loiane Groner

What is new in Java 13 (for Developers)

Java JDK 13 was released on September 2019 as part of the new release cycle (a new Java version every

Fri, 10 Jan 2020 11:35:12 +0000

What is new in Java 12 (for Developers)

Java JDK 12 was released on March 19 as part of the new release cicle (a new Java version every 6 mon

Mon, 25 Mar 2019 11:35:12 +0000

Setting up MySQL on Oracle Cloud + Connecting with MySQL Workbench

In this article we will learn step by step how to setup a MySQL instance on Oracle Cloud. MySQL is th

Mon, 18 Mar 2019 10:00:12 +0000

CRUD REST API Using Spring Boot 2, Hibernate, JPA, and MySQL

In this article we will learn how to develop a CRUD RESTFul API with Spring Boot 2 + JPA/Hibernate an

Sat, 26 Jan 2019 10:00:12 +0000

Deploying a Spring Boot REST Application to Oracle Cloud

In this article we will learn how to develop a simple Java Spring Boot 2 REST application and deploy

Mon, 05 Nov 2018 10:00:12 +0000

Upgrading to Angular v6: Step by Step

Angular v6 was released on May 3rd and now we can focus on upgrading our projects to the new version.

Fri, 11 May 2018 14:35:12 +0000

Continuous Integration with Angular CLI + Travis CI + Firebase Hosting + Greenkeeper + Github

In this article we will learn how to automatically deploy an Angular CLI project to Firebase hosting

Mon, 04 Sep 2017 09:35:12 +0000

Angular Tips: Formatting Dates with a Custom Date Pipe (dd/MM/yyyy)

In this article we will learn how to create a custom Date Pipe with Angular. Using Angular default

Wed, 30 Aug 2017 11:35:12 +0000

How to Add Bootstrap to an Angular CLI project

In this article we will learn how to setup an Angular project with Bootstrap 3 or Bootstrap 4. Update

Fri, 11 Aug 2017 11:35:12 +0000

Angular: Hide Navbar Menu from Login page

In this article we will learn two approaches to hide the Navbar Menu when displaying the Login page i

Wed, 09 Aug 2017 11:30:12 +0000

Angular Reactive Forms: trigger validation on submit

In this article we will learn different approaches of validating all form fields when user clicks on

Fri, 04 Aug 2017 10:35:12 +0000

Angular Tips: Avoiding duplication of RxJS operator imports

Updated post Update May 2018: since Angular v5, we can use RxJS Pipeable Operators, which makes easie

Tue, 01 Aug 2017 10:35:12 +0000

Getting Started with Angular Material 2

This article will show you how to setup your Angular project (v2+) using Angular Material 2. Update D

Sun, 30 Jul 2017 11:35:12 +0000

O que uso pra gravar os screencasts - 2016

Olá pessoal, De vez em quando as pessoas perguntam o que uso pra gravar as aulas que disponibilizo no

Mon, 04 Jan 2016 11:35:12 +0000

Todos os ebooks da Packt por US$ 5 - inclusive os meus!

Olá pessoal, Vim compartilhar uma super dica com vocês. Tem uns 3 anos que a Packt (editora com a qua

Fri, 18 Dec 2015 12:41:11 +0000

Meus ebooks Sencha e JavaScript com 50% de desconto!

Olá pessoal, A Packt entrou em contato e está oferecendo 50% de desconto nos meus livros no formato e

Mon, 09 Nov 2015 20:10:46 +0000

40+ resources to learn Sencha ExtJS 6

This is a list of 40+ resources to learn Sencha ExtJS 6. It contains presentations, tutorials, exampl

Sun, 02 Aug 2015 02:08:02 +0000

[Curso Java Básico - Orientação a Objetos] Correção Exercícios Aula 27: Classes e métodos

Oi pessoal, Hoje vamos conferir a correção dos exercícios de laboratório da aula 27 do Curso de Java

Thu, 11 Jun 2015 10:30:24 +0000

[Curso Java Básico - Orientação a Objetos] Aula 27: Classes e métodos com parâmetros

Olá pessoal, Vídeo/Screencast de hoje: aula 27 do curso gratuito de Java! Na aula de hoje vamos apren

Wed, 03 Jun 2015 13:56:48 +0000

Packt Free Learning: 1 ebook gratuito todos os dias (pra sempre)!

Oi pessoal, A Packt (editora pela qual publico meus livros) de vez em quando lança campanhas de 1 eb

Tue, 02 Jun 2015 19:59:15 +0000

[Curso Java Básico - Orientação a Objetos] Aula 26: Classes e métodos com retorno

Olá pessoal, Vídeo/Screencast de hoje: aula 26 do curso gratuito de Java! Na aula de hoje vamos apren

Mon, 01 Jun 2015 13:50:48 +0000

[Curso Java Básico - Orientação a Objetos] Aula 25: Classes e métodos simples

Olá pessoal, Vídeo/Screencast de hoje: aula 25 curso gratuito de Java! Na aula de hoje vamos aprender

Wed, 27 May 2015 10:30:56 +0000

[Curso Phonegap / Cordova] Aula 07: Phonegap + Android no Windows: Configurando Ambiente

Olá pessoal, Vídeo/Screencast de hoje: aula 07do curso gratuito de Phonegap e Cordova. Na aula de hoj

Mon, 25 May 2015 11:20:01 +0000

[Curso Java Básico - Orientação a Objetos] Correção Exercícios Aula 24: Classes e atributos

Oi pessoal,Hoje vamos conferir a correção dos exercícios de laboratório da aula 24 do Curso de Java g

Wed, 20 May 2015 10:30:51 +0000

[Curso Java Básico - Orientação a Objetos] Aula 24: Classes e atributos

Olá pessoal, Vídeo/Screencast de hoje: aula 24 do curso gratuito de Java! Na aula de hoje vamos apren

Mon, 18 May 2015 10:30:37 +0000

[Mobile Conf 2015] Palestra e Curso Phonegap com Ionic no Rio de Janeiro dias 28, 29 e 30 de Maio

Olá pessoal, Dias 28 e 29 de maio estarei no Rio de Janeiro para ministrar 2 workshops de Phonegap/Co

Thu, 14 May 2015 14:55:50 +0000

[Curso Java Básico] Aula 23: Como debugar no Netbeans

Olá pessoal, Vídeo/Screencast de hoje: aula 23 do curso gratuito de Java! Na aula de hoje vamos apren

Wed, 13 May 2015 10:30:36 +0000

[Curso Java Básico] Aula 22: Como debugar no Eclipse

Olá pessoal, Vídeo/Screencast de hoje: aula 22 do curso gratuito de Java! Na aula de hoje vamos apren

Mon, 11 May 2015 10:30:48 +0000

[Curso Java Básico] Aula 21: For Each (for melhorado)

Olá pessoal, Vídeo/Screencast de hoje: aula 21 do curso gratuito de Java! Na aula de hoje vamos apren

Thu, 07 May 2015 12:19:46 +0000

[Curso Java Básico] Correção Exercícios Aula 20 (Matrizes/Arrays Multidimensionais)

Oi pessoal, Hoje vamos conferir a correção dos exercícios de laboratório da aula 20 do Curso de Java

Tue, 05 May 2015 10:00:22 +0000

Phil Nash

Making a responsive Twitch Embed

I’ve been trying out streaming live code on Twitch which is a lot of fun. I wanted to share on my own

Mon, 23 Mar 2020 00:00:00 +0000

The story of a mildly popular Ruby gem

The list on GitHub of repositories that depend on your repository is scary.There’s something nice abo

Tue, 17 Mar 2020 00:00:00 +0000

Mistakes I've made treating file paths as strings

Some things you do as a developer can work for you for years, then turn around and bite you when you

Wed, 04 Mar 2020 00:00:00 +0000

How to find CFPs for developer conferences

So you’ve decided to speak at a developer conference? You have a story you want to share with your pe

Wed, 29 Jan 2020 00:00:00 +0000

Testing signed and encrypted cookies in Rails

Recently I’ve been refactoring the tests for a gem I maintain and I needed to test that it sets the r

Wed, 15 Jan 2020 00:00:00 +0000

How not to sort an array in JavaScript

Array sorting is one of those things you don’t spend too long thinking about, until it stops working

Mon, 26 Aug 2019 00:00:00 +0100

How to start a Node.js project

Sometimes I write blog posts to remind myself what I’ve learned and sometimes I write them because so

Thu, 10 Jan 2019 00:00:00 +0000

2018 in review

I’ve never been one for writing a review of my year. This year I’ve found myself not only reading, bu

Thu, 03 Jan 2019 00:00:00 +0000

Service workers: beware Safari's range request

You’ve implemented a service worker to cache some assets. Everything is working well, your service wo

Tue, 23 Oct 2018 00:00:00 +0100

Techniques for animating on the canvas in React

I recently experimented with audio visualisation in React on the Twilio blog. While I meant to teach

Thu, 27 Sep 2018 00:00:00 +0100

Gokulakrishnan Kalaikovan

Jurgen Van de Moere

Review on Angular Architecture workshop by Strongbrew

On September 7, 2019, I attended the Angular Architecture Workshop by Strongbrew in Laarne.The purpos

Sun, 29 Mar 2020 16:46:50 GMT

Review on Angular Security Workshop by Philippe De Ryck

On November 24, 2018, I attended the Angular Security Workshop by Philippe De Ryck in Holiday Inn Ghe

Sat, 28 Mar 2020 06:16:22 GMT

A 10-minute primer to Service Workers

In this article, we have a look at what service workers are, why they are used in modern web developm

Sun, 12 May 2019 21:45:28 GMT

How to update an existing project in your Nx workspace to use Jest as a test runner instead of Karma

Nx v6.3 introduced the ability to use Jest as a unit test runner. When you generate a new library or

Sun, 10 Feb 2019 19:00:00 GMT

How to use environment variables to configure your Angular application without a rebuild

In February 2016, I published an article on how to configure your AngularJS 1.x application using env

Sun, 12 Aug 2018 14:55:23 GMT

The 7-step process of Angular router navigation

There are many great articles and books available on how to use and configure Angular router. In cont

Sat, 26 Aug 2017 14:54:52 GMT

A 10 minute primer to JavaScript modules, module formats, module loaders and module bundlers

Modern JavaScript development can be overwhelming.When working on a project, you may wonder why all t

Tue, 21 Feb 2017 05:49:29 GMT

Review of Angular 2 Master Class by Thoughtram

On July 6 and July 7, 2016 I attended the Angular 2 Master Class by Thoughtram in the Showpad offices

Fri, 09 Sep 2016 05:17:47 GMT

Review of Angular 2 Workshop by Brecht Billiet

On June 29 and June 30, 2016 I attended Brecht Billiet's Angular 2 Workshop at Holiday Inn Ghent Expo

Thu, 08 Sep 2016 04:54:17 GMT

Simple metaphor to easily understand and remember how token-based authentication works

In this modern era, software is often using token-based authentication so that parts of the software

Wed, 20 Apr 2016 19:05:35 GMT

How I feel about Angular 2

A few weeks ago I was privileged to spend time with Pascal Precht while he was preparing his talk for

Tue, 29 Mar 2016 14:51:01 GMT

How to configure your AngularJS application using environment variables

Most AngularJS applications contain logic.And thus most AngularJS applications typically have a confi

Wed, 24 Feb 2016 14:21:21 GMT

How to properly integrate non-AngularJS libraries in your AngularJS application

There may be times when you need to use a non-AngularJS library such as lodash or underscore in your

Sat, 02 Jan 2016 07:47:54 GMT

How I optimized Minesweeper using Angular 2 and Immutable.js to make it insanely fast

In my previous article I showed you how to build Minesweeper using Angular 2 and Immutable.js. You ca

Fri, 27 Nov 2015 13:46:44 GMT

How to build Minesweeper using Angular 2 and Immutable.js

This is the first in a series of articles on Angular 2. If you want me to send you a quick note when

Wed, 25 Nov 2015 10:45:13 GMT

Filip Bech-Larsen

CDS takeaways… its all about performance

They dropped the birthday cake…Last week it was Chrome Dev Summit — the web-highlight of the year. It

Mon, 19 Nov 2018 12:32:51 GMT

The gotchas of caching ES-modules

Going all modern/native with an offline PWA using javascript modules, I had some problems getting the

Wed, 30 May 2018 06:52:14 GMT

The Web anno 2018 — Takeaways from Google I/O 2018

I sidste uge var jeg sammen med +7000 udviklere til Googles årlige udviklerkonference i Californien.

Fri, 18 May 2018 13:33:54 GMT

Clientside Routing in

TL:DR; demo, source - on npm as element-routerIt probably won’t come as a big surprise but I’m a big

Wed, 07 Mar 2018 19:35:48 GMT

The componentComponent — a dynamic way of inserting components in Angular

TL:DR: Find the componentComponent on GitHub here: https://github.com/filipbech/component-componentWi

Wed, 25 Oct 2017 09:42:01 GMT

Video: Using angular with your CMS

Last week in Lisbon, I spoke about how to use Angular outside the more common scenario of line of bus

Fri, 29 Sep 2017 11:27:11 GMT

Take-aways fra Google I/O 2017

I forrige uge holdt Google deres udvikler-konference i Mountain View, Californien. Jeg havde fornøjel

Wed, 31 May 2017 07:17:56 GMT

Juri Strumpflohner

Joining Nrwl 🐳 🦄

Alright, so yes, I joined Nrwl 😍!! The title should rather be: 5 weeks at Nrwl 🙂 as this week I’m

Wed, 12 Feb 2020 10:20:14 +0100

Git Rebase vs Merge

Git is an “old” technology if you want that has been around for ages now. Still, when

Wed, 18 Dec 2019 22:17:17 +0100

Talk: Lazy Loading on Steroids with Angular Elements

Last week I was invited to jsbe.io, a JS meetup in Bruxelles (Belgium) to talk about lazy loading

Tue, 17 Dec 2019 08:48:08 +0100

Talk: Enterprise Grade Angular Reactive Forms

This year I again had the pleasure to come back to ng-be as a speaker. Since I see a lot of peopl

Sat, 07 Dec 2019 08:48:08 +0100

Lazy Loading with Angular Elements and ngx-lazy-el

Modern web apps often suffer of bad startup time. This frustrates your users. Even worse (especially

Wed, 06 Nov 2019 12:00:28 +0100

Manually Lazy Load an Angular Module with ViewEngine and Ivy

I have written about lazy loading components in the past, that covers some of the topics mentione

Tue, 01 Oct 2019 00:09:59 +0200

Debugging Angular Ivy Applications from the Devtools Console

Do you remember how in AngularJS (v1.x) we could easily debug/change the state of our components

Wed, 25 Sep 2019 22:44:36 +0200

Resume your Work with Git

Git is an essential tool for every software developer and something you should know well in order

Mon, 23 Sep 2019 22:27:34 +0200

Angular Performance: Precaching with the Service Worker

This article is part of my “Angular Performance Week” series, where I publish a new v

Sat, 31 Aug 2019 12:45:59 +0200

Angular Performance: Virtual Scrolling with the CDK

This article is part of my “Angular Performance Week” series, where I publish a new v

Fri, 30 Aug 2019 12:45:59 +0200

Angular Performance: Optimize Angular Change Detection

This article is part of my “Angular Performance Week” series, where I publish a new v

Thu, 29 Aug 2019 12:45:59 +0200

Angular Performance: Performance budgets with the Angular CLI

This article is part of my “Angular Performance Week” series, where I publish a new v

Wed, 28 Aug 2019 12:45:59 +0200

Angular Performance: Preloading Lazy Routes

This article is part of my “Angular Performance Week” series, where I publish a new v

Tue, 27 Aug 2019 12:45:59 +0200

Angular Performance: Route Level Code Splitting

This article is part of my “Angular Performance Week” series, where I publish a new v

Mon, 26 Aug 2019 12:45:59 +0200

Dynamically Load CSS with the Angular CLI

I’ve written about lazy loading in the past, as well as how to handle various styling issues in A

Thu, 22 Aug 2019 12:42:15 +0200

It’s time to say thank you to the Angular CLI Team!

Nowadays, you can create, and run a new Angular project in minutes (!! 🔥). It really just depends

Tue, 13 Aug 2019 11:37:24 +0200

Publish a Docker container from Bitbucket to Google Cloud Container Registry

Automation is key, I cannot repeat that often enough. In this article we’re going to explor

Wed, 07 Aug 2019 14:55:26 +0200

Challenging the Testing Pyramid

Writing automated tests has become like a standard practice in software development and (should b

Tue, 16 Jul 2019 12:00:00 +0200

Update to Angular Version 8 now!

Let’s dive into the latest Angular version 8 that just got released. We’ll quickly ex

Mon, 03 Jun 2019 12:00:00 +0200

Create Code Snippets for Visual Studio Code with ease

When writing software, even when writing a blog post using Markdown, there are some pieces you ha

Thu, 23 May 2019 12:00:00 +0200

Angular 8 and the Future - NGConf 2019 Roundup

I’m not at NGConf 2019 (unfortunately). But I’m following along very closely with the

Wed, 01 May 2019 17:30:08 +0200

Lazy load Angular Components

Lazy loading is hot recently and for a good reason. It’s all about speed! The Chrome team at Go

Mon, 29 Apr 2019 14:00:00 +0100

Introduction to Angular Elements

You didn’t yet get into Angular Elements? Then it’s time to give it a go! In this art

Sun, 28 Apr 2019 12:00:09 +0200

Setup your Workstation for JavaScript Development

You want to learn about modern web development with JavaScript? Maybe Angular? Well, then it&rsqu

Fri, 26 Apr 2019 16:10:05 +0200

Productive Git for Developers

With this Egghead course, I aim at a different goal. You will walk through a series of scenarios

Tue, 16 Apr 2019 10:00:00 +0100

RxJS finalize operator to execute logic on Observable termination

In this article we’re going to have a look at the RxJS finalize operator. To have a practic

Mon, 04 Mar 2019 10:00:00 +0100

A step-by-step guide to integrating a third party widget with Angular

When working on a complex project you will inevitably face the situation when you have to use a 3rd p

Thu, 14 Feb 2019 21:24:36 +0100

Display Server Side Validation Errors with Angular

Input Validation is a big topic when it comes to forms. And even more in those large, enterprisey

Thu, 07 Feb 2019 20:30:31 +0100

Explore Angular Router's runGuardsAndResolvers

Learn how we can use new options introduced for the runGuardsAndResolvers setting for the Angular

Thu, 31 Jan 2019 18:39:51 +0100

Guarantee Event Order with RxJS

When you create dynamic UIs, you have to deal with async stuff a lot. Most often they are triggered

Wed, 16 Jan 2019 15:03:22 +0100

It's not just Standing Up

I’m highly convinced that the hardest part of software development is people. Here are some

Fri, 11 Jan 2019 10:53:38 +0100

Learn Angular Router for Real-World Applications

Finally, it's out!!! My Angular router course is now available on Egghead, go grab it :)

Thu, 06 Dec 2018 01:00:00 +0000

Better Redirects in Angular Route Guards

Angular version 7.1 not only comes with bugfixes but includes also a bunch of new features. In this p

Thu, 29 Nov 2018 01:00:00 +0000

Egghead Lesson: Simple caching with RxJS

This is the accompanying article for my latest Egghead video lesson on caching data in Angular by lev

Sun, 11 Nov 2018 01:00:00 +0000

Egghead Lesson: Avoid memory leaks when subscribing to RxJS Observables in Angular Components

RxJS is a first class citizen in every Angular application. It's extremely powerful, but there are al

Mon, 29 Oct 2018 01:00:00 +0000

Simple State Management with RxJS’s scan operator

State management is a big topic currently in frontend development. For a reason: frontend frameworks/

Wed, 10 Oct 2018 00:00:00 +0000

My Journey replacing Promises with RxJS

In this post I’m going to tell you, step-by-step, how I used RxJS to refactor a method that was based

Mon, 01 Oct 2018 00:00:00 +0000

[object ErrorEvent] thrown by Karma in Angular Unit Tests

I’m pretty sure when you’ve already come across this exception: `[object ErrorEvent] thrown` when you

Thu, 26 Jul 2018 00:00:00 +0000

In-depth: How do CDK Portals work?

In the last article we were exploring how to leverage the Angular Material CDK portals for placing so

Tue, 26 Jun 2018 00:00:00 +0000

Dynamic UI with CDK TemplatePortal and DomPortalHost

Ever wanted to place some piece of UI dynamically from one component to another? But the component th

Sat, 26 May 2018 00:00:00 +0000

Extend the *ngIf Syntax to Create a Custom Permission Directive

So our use case is to create a directive, which shows/hides elements on the page based on our current

Wed, 21 Feb 2018 01:00:00 +0000

Add Mocha reporter for Karma unit tests to your Angular CLI project

Every Angular CLI generated project comes already with a test setup in place using Karma. I think the

Wed, 14 Feb 2018 01:00:00 +0000

Create a CD pipeline with Angular, GitLab and Firebase

I’m a huge fan of automating all the stuff. Even if you’re a very precise and organized person, you’r

Thu, 08 Feb 2018 01:00:00 +0000

Create a ng-true-value & ng-false-value directive for Angular

If you come from AngularJS (v1.x) I'm pretty sure you remember the `ng-true-value` and `ng-false-valu

Thu, 01 Feb 2018 01:00:00 +0000

Compile-time vs. Runtime configuration of your Angular App

When you develop a bigger application, chances are quite high that you need some kind of configuratio

Mon, 22 Jan 2018 01:00:00 +0000

Looking back on 2017

2017 has been a great year, lots of changes for me and new things 😅. Time for some retrospective. (Wa

Sat, 30 Dec 2017 01:00:00 +0000

Three new Angular Courses to celebrate end of the Year 2017

2017 has been AMAAAAZING (more in a later post..maybe). So before the year ends let's celebrate it wi

Wed, 27 Dec 2017 01:00:00 +0000

Use Dynamic Components to render HTML for 3rd party libraries

Dynamic components in Angular are very powerful and help you solve the trickiest problems. In this ex

Wed, 15 Nov 2017 01:00:00 +0000

Demystifying dynamic Forms in Angular

Heared about reactive Angular forms? Maybe even about dynamic forms? Never tried because you think it

Wed, 04 Oct 2017 00:00:00 +0000

Understand How to Style Angular Components

Here it is!!! 🔥 🔥 🔥 My very first Egghead.io course 😃. Learn everything you need to know about stylin

Tue, 08 Aug 2017 00:00:00 +0000

Intercept HTTP Requests in Angular

Angular version 4.3.1 introduced one important new feature: the new HTTP client. Not only did it brin

Tue, 01 Aug 2017 00:00:00 +0000

Create a dynamic tab component with Angular

The purpose of this article is to learn about the concept of dynamic components and template referenc

Thu, 27 Jul 2017 00:00:00 +0000

Enhanced *ngIf and *ngFor in Angular version 4.0.0

Ever wanted an "else" statement in *ngIf? It's finally here, together with some other nice improvemen

Tue, 13 Jun 2017 00:00:00 +0000

Talks: Web meets Mobile powered by Angular

I had the pleasure to bring 3 amazing speakers on board for our Software Craftsmanship South Tyrol Me

Thu, 23 Mar 2017 01:00:00 +0000

Tuning Angular's Change Detection

I recently prepared some course material for a modern web development workshop, which besides the nic

Wed, 15 Mar 2017 01:00:00 +0000

Angular Modules vs ES6 Modules

I often see people being confused when it comes to understanding Angular Modules vs. ES6 Modules. Thi

Thu, 09 Mar 2017 01:00:00 +0000

Video Course: Learning Angular Components

I just released the 2nd edition of my video course for PacktPub on "Learning Angular components". Co

Mon, 23 Jan 2017 01:00:00 +0000

Talk: Testing with Angular - Some Recipes

I recently wanted to dive deeper into testing Angular applications, in specific on how to write prope

Wed, 11 Jan 2017 01:00:00 +0000

Easy SSL support for your Jekyll Blog with CloudFlare

It's 2017 and if you didn't switch to a secure SSL connection yet, it's definitely time to do so. Thi

Wed, 04 Jan 2017 01:00:00 +0000

NG-BE Conf and the Angular Community

I was lucky enough to be part of the Belgium's first Angular conference: NG-BE conf. It was by far th

Sat, 31 Dec 2016 01:00:00 +0000

Interviewing Igor Minar and Adam Bradley for AngularBeers

For the last meetup of 2016, AngularBeers organized an AMA session with Igor Minar (lead dev of Angul

Mon, 19 Dec 2016 01:00:00 +0000

Ok.. let me explain: it's going to be Angular 4.0, or simply Angular

At the 8th and 9th of December 2016 was NG-BE, Belgium’s first Angular conference. Igor Minar (Angula

Tue, 13 Dec 2016 01:00:00 +0000

Configure Ahead of Time (AoT) for your Angular app using the Angular CLI

In our previous video we learned how to use the Angular CLI to create our first Angular application.

Sat, 03 Dec 2016 01:00:00 +0000

Safe Navigation Operator, RxJS and Async Pipe tinkering

RxJS? Safe Navigation operator? Async pipes? Not sure what I'm talking about? In this article I'd lik

Wed, 16 Nov 2016 01:00:00 +0000

Custom validators in template driven Angular forms

Angular version 2+ has two different kind of Forms API, the reactive and template driven approach. In

Mon, 14 Nov 2016 01:00:00 +0000

Data bind radio button lists with Angular

Assume you have a simple list or table of elements, each row having a radio button. The user can sele

Thu, 10 Nov 2016 01:00:00 +0000

Configure a proxy for your API calls with Angular CLI

In this article (video included!) we will learn how to setup your Angular development server and how

Mon, 07 Nov 2016 01:00:00 +0000

Let's create your first Angular app

Angular got released and so it's the perfect time to try it out. I totally understand it might be dif

Wed, 05 Oct 2016 00:00:00 +0000

Angular: Using the JSONPipe for debugging

A powerful way of debugging, especially templates, in Angular 1 was the JSON pipe (or filter) which c

Wed, 21 Sep 2016 00:00:00 +0000

Angular: How do I get a reference to the window object?

Remember the $window object in Angular 1? Turned out to be quite useful from now and then. But what a

Tue, 20 Sep 2016 00:00:00 +0000

Angular: How do I register an event listener on document?

I recently got asked by an Angular community member on Twitter how one can register an event on the d

Tue, 20 Sep 2016 00:00:00 +0000

Angular version 2.0.0 released!!

It was at the ng-Europe, on the 22-23 September 2014 when the Angular team came with a huge surprise:

Thu, 15 Sep 2016 00:00:00 +0000

Angular Forms - a first look

Angular gets a brand new Forms API. It's fresh out of the compiler and since there's not much documen

Sat, 06 Aug 2016 00:00:00 +0000

RxJS first steps - Subject and ReplaySubject

I'm not sure you already heard about RxJS or Reactive Programming in general. There's currently a ver

Thu, 30 Jun 2016 00:00:00 +0000

From ng-controller to components with Angular 1.5

The web has moved forward and so should you. Learn how to upgrade your Angular 1 app from a more MV*

Mon, 27 Jun 2016 00:00:00 +0000

Angular 2+ - A Getting Started Guide for Beginners

Since about half a year, I'm organizing a local Meetup group around Software Craftsmanship. I recentl

Mon, 06 Jun 2016 00:00:00 +0000

Learning Angular 2 Directives

Finally 😆, I managed to finish and publish my very first video course: "Learning Angular 2 Directives

Wed, 27 Apr 2016 00:00:00 +0000

Fine grained change detection with Angular

Today, while working on my Angular screencast series (announcement coming soon), I discovered a stran

Thu, 07 Apr 2016 00:00:00 +0000

Debugging Angular Applications from the Console

There have been some quite useful articles for how to debug Angular 1.x applications from the browser

Wed, 10 Feb 2016 01:00:00 +0000

Learning Angular: Creating a tabs component

This is a follow-up article of thoughtram's excellent article on developing a tabs component with Ang

Tue, 02 Feb 2016 01:00:00 +0000

Learning Angular: Conditionally add styles to an element

Here we're going through a couple of ways to conditionally apply some styles to a DOM element in Angu

Mon, 25 Jan 2016 01:00:00 +0000

About Personal Productivity

Thinking aloud about productivity, what I'm currently doing about it and where I think I need to impr

Sun, 24 Jan 2016 01:00:00 +0000

Multi Content Projection aka Multiple Transclusion

(adsbygoogle = window.adsbygoogle || []).push({}); If you’re an AngularJS developer, I’m

Thu, 14 Jan 2016 01:00:00 +0000

Improve your Angular 1.x startup time

(adsbygoogle = window.adsbygoogle || []).push({}); This neat and simple trick originally appeared ab

Mon, 14 Dec 2015 01:00:00 +0000

Componentizing Workflow for Angular

(adsbygoogle = window.adsbygoogle || []).push({}); $1 Yesterday I wrote a tweet about how I usually

Thu, 10 Dec 2015 01:00:00 +0000

Follow-up: EvolvingPublication

Martin Fowler just published a "Bliki" article on his site about EvolvingPublication. This is a conce

Fri, 04 Dec 2015 01:00:00 +0000

REST Api Design - Resource Modeling

Important note: this is not something I've written up by myself, but it's rather a summary, some high

Tue, 03 Nov 2015 01:00:00 +0000

Screencast: TypeScript - Setup Your Working Environment

(adsbygoogle = window.adsbygoogle || []).push({}); First of all, this is my first screencast ever, s

Tue, 03 Nov 2015 01:00:00 +0000

Angular Connect London - Day 2

I’m lucky enough to be able to attend AngularConnect here in London. This article is my noteboo

Tue, 20 Oct 2015 00:00:00 +0000

Angular Connect London - Day 1

I’m lucky enough to be able to attend AngularConnect here in London. This article is going to b

Mon, 19 Oct 2015 00:00:00 +0000

Release your libs like a pro!

Automate, automate, automate. That's what ultimately is our job, right? We automate the tedious proce

Thu, 08 Oct 2015 00:00:00 +0000

ES2015 - Jump Start

Yes, this is another article about learning ES2015 (known as ES6). It’s my journey of learning

Wed, 26 Aug 2015 00:00:00 +0000

Preparing for Angular 2

I’m sure you heard about Angular 2 and that it will be totally different. Forget everything you

Mon, 06 Jul 2015 00:00:00 +0000

Learning Angular: Testing $q promise resolves with Sinon and Jasmine

(adsbygoogle = window.adsbygoogle || []).push({}); This article shows a brief example on how to prop

Tue, 30 Jun 2015 00:00:00 +0000

Learning Angular: Expose an API on your directives

Ever wanted to not only create a nice, visually appealing directive or web component, but to also pro

Wed, 17 Jun 2015 00:00:00 +0000

Guide as in Mountaineering

Yes, I happen to deal with architecture, software design and technology. And yes, I’m entitled

Sat, 06 Jun 2015 00:00:00 +0000

GitHub: be Social, Contribute, Learn

GitHub revolutionised the open source world by building - IMHO - the first true social coding site. I

Thu, 04 Jun 2015 00:00:00 +0000

Jersey WebResource - Header don't get appended

Yesterday I ran into a strange problem when using the Jersey WebResource class for doing HTTP calls:

Thu, 14 May 2015 00:00:00 +0000

Nepal: Help for Anil Joshi

This is not the kind of post you usually find on my site here. But it’s the story of a good fri

Fri, 08 May 2015 00:00:00 +0000

Migrate from TFS to Git

Are you using TFS and would like to switch to a distributed VCS like Git? Well then this article migh

Wed, 25 Mar 2015 01:00:00 +0000

Learning Angular: Set your language culture before any UI is displayed

In this article I briefly outline an issue I had, namely to make sure that my language’s locale

Tue, 03 Mar 2015 01:00:00 +0000

Learning Angular: Verifying whether a function has been passed to my directive's isolated scope

When you create isolated directives, you usually use the scope property to define your directive's ex

Thu, 26 Feb 2015 01:00:00 +0000

Learning Angular: Access directive scope variables from directive controllers and vice versa

Angular directives can have a separate, isolated scope, which is even the suggested approach most of

Mon, 26 Jan 2015 01:00:00 +0000

Backup your Win8 computer to your Synology NAS

I love my Macbook Pro which I’ve been using now for about 6 years. At work I’m a PC user

Sun, 18 Jan 2015 01:00:00 +0000

Notes: Microservices by Martin Fowler

I just watched Martin Fowler’s talk about Microservices at XConf. Here are some of my notes and

Sat, 03 Jan 2015 01:00:00 +0000

Happy new year 2015!

A very short post as I’m preparing to go out for celebrating New Year’s Eve. 2014 has bee

Wed, 31 Dec 2014 01:00:00 +0000

Kudos for your site - powered by Firebase

I don’t quite remember, guess it was about more than a year ago when I came across a Svbtle-hos

Mon, 29 Dec 2014 01:00:00 +0000

Learning Angular: Useful utility functions

Today a very short post. Angular has a series of utility functions which you should definitely take a

Fri, 28 Nov 2014 01:00:00 +0000

Learning Angular: Unit Testing $watch expressions

Today I wanted to write a unit test for a watch expression on my controller. What seemed quite obviou

Wed, 26 Nov 2014 01:00:00 +0000

JavaScript Promises Essentials

JavaScript is asynchronous by definition which is what makes many server-side developers struggle ini

Tue, 18 Nov 2014 01:00:00 +0000

Learning Angular: What is the scope of your directive??

This might create quite some debugging headaches, especially in a larger application. Things don&rsqu

Thu, 13 Nov 2014 01:00:00 +0000

Learning Angular: Gosh, my two-way binding doesn't seem to work properly!

Angular data-binding seems magic, but obviously isn't. You have to give it a chance to do its work. A

Fri, 07 Nov 2014 01:00:00 +0000

Sublime Tip: Enable spell checking when you write Markdown

This is a huge lifesaver and I don't know how I couldn't come up with this before. Check out this pos

Fri, 07 Nov 2014 01:00:00 +0000

Introducing the learning-ng series

With this post I’d like to introduce to you the - what I’d like to call - learning-ng ser

Thu, 06 Nov 2014 01:00:00 +0000

Avoid test code duplication in Jasmine tests

Test code has to be treated like production code. Obviously we cannot charge the customer for it, it&

Thu, 30 Oct 2014 01:00:00 +0000

Want to invite your friend to Inbox by Gmail but have no invites left?

Slightly off-topic, but that might still awake your interest if you recently followed the hype around

Tue, 28 Oct 2014 01:00:00 +0000

Static code analysis for free

Although JavaScript might be the world’s most misunderstood language, it is now among the most popula

Tue, 21 Oct 2014 00:00:00 +0000

Hack: How to mimic a disabled checkbox

The world is not always as we want it to be :). So from now and then you have to place a nice hack he

Fri, 12 Sep 2014 00:00:00 +0000

Implementing the 'Git flow'

Git can be used in a variety of ways which is cool. But still, when working within a team, it is good

Mon, 01 Sep 2014 00:00:00 +0000

Node, Grunt, Bower and Yeoman - A Modern web dev's Toolkit

This article aims at introducing you to some of the currently most popular tools when developing mode

Fri, 15 Aug 2014 00:00:00 +0000

Lazy Angular Modules

Startup time is crucial for a proper user experience and that’s where many JavaScript SPA reall

Mon, 21 Jul 2014 00:00:00 +0000

First baby steps with Angular.js

This article outlines some of my notes of a webinar about Angular.js I recently participated at. Thes

Sun, 11 May 2014 00:00:00 +0000

See, always told you: testing is just a waste of time

Automated testing has become something people don’t speak about any more. It matured to being a

Wed, 07 May 2014 00:00:00 +0000

QCon London 2014 - Embracing Change - Building Adaptable Software with Events

Building adaptable software is what we continuously aim at achieving during our day to day work. Howe

Wed, 09 Apr 2014 00:00:00 +0000

Integrating Node.js with a C# dll

Recently I had to integrate a Node.js based server application with a C# DLL. Our software (a web-app

Mon, 31 Mar 2014 00:00:00 +0000

Packt Video: JBoss EAP Configuration, Deployment and Administration

Packt Publishing recently approached me about quickly reviewing a video series on JBoss EAP and its c

Sun, 16 Mar 2014 01:00:00 +0000

Automating the build of MSI setup packages on Jenkins

A short “how-to” based on an issue one of my work mates recently faced when trying to aut

Wed, 12 Mar 2014 01:00:00 +0000

Decision making, problem solving, introducing ideas, being influencial

Usually when people think about software development, they just have the typical nerds in mind, shy b

Wed, 05 Mar 2014 01:00:00 +0000

Automate your UI testing with Nightwatch

Although I feel like I'm repeating myself, automate **everything**. We're here to automate the proces

Fri, 21 Feb 2014 01:00:00 +0000

Git flow with Jenkins and GitLab

At work I recently helped a team to transition from TFS to using Git as their source control manageme

Tue, 07 Jan 2014 01:00:00 +0000

JSConf.eu - React: Rethinking best practices

Today I saw a tweet pointing to a JSConf talk by Pete Hunt from Facebook, talking about ReactJS, Face

Fri, 20 Dec 2013 01:00:00 +0000

Boot your ajax app: Creating a splash screen with NProgress

While single-page JavaScript apps tend to be more dynamic and usually more interactive from the user

Fri, 06 Dec 2013 01:00:00 +0000

The narrow path between best practices and over-engineering

A couple of days ago I read a post by Petri Kainulainen about The Dark Side of Best Practices. He rea

Tue, 19 Nov 2013 01:00:00 +0000

JBoss Weld CDI for Java Platform

CDI stands for Context and Dependency Injection and is the standardization of the process of dependen

Tue, 29 Oct 2013 01:00:00 +0000

Developing Windows Store Apps with HTML5 and JavaScript

After JavaScriptMVC, today the second book arrived where I participated in the technical review proce

Wed, 18 Sep 2013 00:00:00 +0000

'object' does not contain a definition for 'errors'

Today I ran into an interesting issues when writing a unit test for an ExceptionFilter which involved

Fri, 30 Aug 2013 00:00:00 +0000

JSConfUS 2013 - Angelina Fabbor in JavaScript Masterclass

Continuous improvement is an important concept. Everyone wants to get better, to learn new things. Th

Tue, 06 Aug 2013 00:00:00 +0000

How to add a reading time indicator to your blog in ten minutes

Time is money, right, and given that nowadays we are continuously being flooded with an enormous amou

Tue, 23 Jul 2013 00:00:00 +0000

TypeScript: Application scale JavaScript

This article is about Hejlsberg’s talk about TypeScript at the Build 2013 conference. TypeScrip

Mon, 22 Jul 2013 00:00:00 +0000

Setting up a WPF Application With PRISM

This post mainly functions as a documentation for myself on how to setup a WPF client to use PRISM wh

Wed, 26 Jun 2013 00:00:00 +0000

Code Coverage with QUnit in JavaScriptMVC

Beside giving you an immediate feedback, unit tests are extremely useful as a regression test suite.

Tue, 25 Jun 2013 00:00:00 +0000

Learning JavaScriptMVC

About half a year ago, Packt Publishing approached me for a technical review of a new book about Java

Tue, 18 Jun 2013 00:00:00 +0000

Unit Testing Tip: Create Descriptive Tests

Your unit tests should be as descriptive as possible. The feedback they give you should be so clear y

Mon, 17 Jun 2013 00:00:00 +0000

Vae Soli

Couple of weeks ago I got my medium.com account activated. It is basically a blogging platform with s

Fri, 14 Jun 2013 00:00:00 +0000

Caching, jQuery Ajax and Other IE Fun

In the last couple of days I had quite a fun time debugging problems of our JavaScript SPAs on oldIE

Thu, 06 Jun 2013 00:00:00 +0000

Getting Started with Git and Visual Studio

A couple of weeks ago I wrote an introductory article “Git Explained for Beginners” which

Mon, 03 Jun 2013 00:00:00 +0000

Blog Like a Hacker with Jekyll and Nitrous.IO

One of the best moves I probably did about half a year ago was to move my Blog from blogger to Jekyll

Wed, 08 May 2013 00:00:00 +0000

Perfect Workflow in Sublime Text 2

I previously wrote about my Sublime Text setup. Well, Tuts+ has published a quite nice Sublime Text t

Mon, 06 May 2013 00:00:00 +0000

Git Explained: For Beginners

I’m working with Git now for about two years but only for my personal projects and those I have

Tue, 30 Apr 2013 00:00:00 +0000

My Sublime Text Setup

I absolutely love this editor. A ridiculously fast editor which has everything you’d love to ha

Wed, 10 Apr 2013 00:00:00 +0000

Modularity in JavaScript MVC Frameworks

JavaScript MVC architectures are a de-facto standard when you create complex single-page JavaScript a

Mon, 08 Apr 2013 00:00:00 +0000

Entity Framework: Intercepting SQL Queries for Contextual Logging

Proper logging is of major importance and a must have in any serious application. Writing logs is tri

Fri, 22 Mar 2013 01:00:00 +0000

Mocking Internal Interfaces with Moq

When creating some Class Library you should pay attention to the visibility of its members and have a

Thu, 07 Mar 2013 01:00:00 +0000

Interview with DZone

DZone, where I'm part as an MVB, recently contacted me for an interview for their weekly newsletter e

Wed, 06 Mar 2013 01:00:00 +0000

The Coaching Architect

In this talk, Roy Osherove speaks about how to become a better coach. A nice talk highlighting some o

Tue, 12 Feb 2013 01:00:00 +0000

DZone MVB Goodies Box

Yesterday morning I received a nice little box with a DZone label on it. Seems like they sent it to m

Sun, 10 Feb 2013 01:00:00 +0000

Test Your App Under Slow Network Speeds

I guess that I don’t have to start talking about the importance of testing in the software deve

Fri, 01 Feb 2013 01:00:00 +0000

ASP.net MVC Action Methods: Testing Against Anonymous Return Types

I don’t use dynamic types regularly, but there are always again situations when they come in qu

Fri, 18 Jan 2013 01:00:00 +0000

How to Stay Up To Date On Web Technology

The web is evolving extremely fast, especially in the recent years I have the feeling that it really

Fri, 11 Jan 2013 01:00:00 +0000

Transformer TF101 meets Jelly Bean powered by CyanogenMod

During the Christmas holidays I found a bit of time to upgrade my old (but still nicely working) Nexu

Sun, 06 Jan 2013 01:00:00 +0000

Retrospective 2012

Yes we’re still alive ;) No jokes apart, it’s time for a year retrospective.Normally, a r

Mon, 31 Dec 2012 01:00:00 +0000

Gist: My New Devbook

I always had the idea of having some kind of organized store, some kind of very simple knowledge base

Tue, 18 Dec 2012 01:00:00 +0000

Cerego - Learn Anything, Everywhere

It’s now roughly 2 years I’m out of university. While also at may day-to-day job I cannot

Mon, 17 Dec 2012 01:00:00 +0000

Programming ASP.net MVC4 by J. Chadwick, T. Snyder and H. Panda

This is one of the recent books I got from O’Reilly. It is probably the most comprehensive and

Fri, 14 Dec 2012 01:00:00 +0000

HowTo: Subscribe to Failed TFS Builds

When you use a build server it is a must to get notified in case of build failures. Microsoft’s

Fri, 23 Nov 2012 01:00:00 +0000

Visual Studio: Where Did My Shelvesets Go?

Do you use the TFS shelvesets?? I do, not regularly, but from now and then they’re quite useful

Mon, 19 Nov 2012 01:00:00 +0000

Deploying: Git vs. TFS Showdown

I think everyone agrees deployment should be as simple as possible. Seems like everyone talks about c

Fri, 16 Nov 2012 01:00:00 +0000

Don't Create Your Own Mapper, Let AutoMapper Do The Job!

Mapping is a common task when integrating different systems with each other. Although it might often

Wed, 14 Nov 2012 01:00:00 +0000

Visual Studio Tips

At work, I spend a huge amount of my time working with Microsoft Technologies. As such, I also use Vi

Wed, 31 Oct 2012 01:00:00 +0000

Output Caching in ASP.net MVC

Although nowadays most of us have broadband connections, resource caching is important as loading a r

Mon, 29 Oct 2012 01:00:00 +0000

Lessons Learned: Don't Expose EF Entities to the Client Directly

When we refactored our main application architecture, moving from an ASP.net WebForms app to a rich c

Wed, 24 Oct 2012 00:00:00 +0000

HRT - Humility, Respect and Trust

About a year ago someone told me: the hardest problems you'll face won't be of technical nature but r

Mon, 15 Oct 2012 00:00:00 +0000

2nd Dan Yoseikan Budo

This is obviously a rather non-technical post :). After officially passing the exam of the 2nd Dan in

Fri, 05 Oct 2012 00:00:00 +0000

Visual Studio Test Explorer: Automatically Execute All Unit Tests Only

In Visual Studio 2012 the team invested a lot in order to improve the testing experience. Sooner or l

Wed, 03 Oct 2012 00:00:00 +0000

Finishing my Blog Relocation

About six years ago I decided to create a Blogger account and start blogging. That worked perfectly a

Thu, 27 Sep 2012 00:00:00 +0000

Find Code Duplicates with Sublime Text

Code duplication is the worst practice ever, right? Well, actually there might be situations where du

Tue, 04 Sep 2012 00:00:00 +0000

Know Your Tools: Become a JavaScript Power-Developer

One of the issues classical web developers have when diving into the rich JavaScript apps world is th

Fri, 31 Aug 2012 00:00:00 +0000

Fluent Conference: JavaScript & Beyond Complete Video Compilation by O'Reilly Media

Missed this years Fluent Conference in San Francisco? Then this amazing video compilation is probably

Wed, 29 Aug 2012 00:00:00 +0000

Jasmine - An Introduction

This page is the result of taking notes from the session about Jasmine by Davis W. Frank at this year

Wed, 29 Aug 2012 00:00:00 +0000

It's time to learn CoffeeScript

Seing and reading all the stuff about CoffeeScript, I thought it might be useful to get into that &ld

Sun, 26 Aug 2012 00:00:00 +0000

git tf - An Early View

I really like git. I actually don't know exactly why. I guess it's mainly also because GitHub is such

Thu, 23 Aug 2012 00:00:00 +0000

Mobile JavaScript Application Development by Adrian Kosmaczewski, O'Reilly Media

If you are a JavaScript newbie eager to dive into creating rich mobile web applications, this book is

Mon, 13 Aug 2012 00:00:00 +0000

Entity Framework Schema Translations

You should have different setup environments, right. Normally something like dev, test (or staging) a

Mon, 30 Jul 2012 00:00:00 +0000

Testing and the Single Responsibility Principle

Automated testing is hard! Therefore, if you're about to learn it, just keep going. Resist the initia

Thu, 26 Jul 2012 00:00:00 +0000

UX: Why GitHub for Windows is better than VS TFS Integration

Did you already try GitHub for Windows? It's created in a modern Win8 looking style. Initially it act

Tue, 24 Jul 2012 00:00:00 +0000

An Example of Test-Driven Bugfixing

Unfortunately many people still don’t use a test-driven approach during development. That&rsquo

Thu, 19 Jul 2012 00:00:00 +0000

Why $.extend(someObj, anotherObj) might be dangerous!

You often have the need to merge two objects. A common use case is that of combining parameters for a

Wed, 18 Jul 2012 00:00:00 +0000

IE8 Trouble Continued...Hangs on Dropdown Selection

The trouble seems to continue. In one of our apps, when clicking on a dropdown list, IE8 hang up comp

Mon, 16 Jul 2012 00:00:00 +0000

Strange Error When Downloading File in IE8 from SSL Site

A couple of days ago, one of our clients called indicating that he wasn’t able to download a fi

Mon, 16 Jul 2012 00:00:00 +0000

Setting up my Developer Machine

Developers need to have fast machines! Today I just returned from a week of holidays at Kos

Thu, 05 Jul 2012 00:00:00 +0000

Choose Your Commit Messages Properly

I wrote already a couple of posts about version control stuff and best practices related with it. So

Tue, 05 Jun 2012 00:00:00 +0000

Detecting Location Redirects from JavaScript

A common scenario for using the HTTP Location response header is during an authentication process whe

Thu, 24 May 2012 00:00:00 +0000

Architecting for Failure at the Guardian

Architecting for the Failure, a presentation of this year's QCon London 2012. Michael Brunton-Spall g

Sun, 20 May 2012 00:00:00 +0000

Visual Studio: Set the Build Action for an Entire Folder

I'm sure you already encountered this problem, right? In my specific case I have a folder called "fro

Mon, 14 May 2012 00:00:00 +0000

Scaling Android Emulator Size: Without using Eclipse

As you might have read following my previous post I'm currently experimenting with mobile web so

Thu, 03 May 2012 00:00:00 +0000

HTML5 vs Android: Apps or Web for mobile development??

This is a hotly discussed topic recently. The web is now a fully-capable platform and it's getting be

Thu, 26 Apr 2012 00:00:00 +0000

Using NuGet to Distribute Our Company Internal DLLs

Releasing new software has to be simple and super fast! That was not the case for our company-interna

Thu, 19 Apr 2012 00:00:00 +0000

Respecting "the Zone"

Respect when someone is "in the zone"! Don't disturb him if it's not necessary. The "context switch p

Thu, 05 Apr 2012 00:00:00 +0000

Joining the DZone MVB Program

A couple of weeks ago I was kindly invited to join DZone as a MVB (Most Valuable Blogger). If you sho

Tue, 03 Apr 2012 00:00:00 +0000

QCon London - My Personal Recap

From the previous posts (or from those on my Tumblr stream) you might have understood my participatio

Tue, 03 Apr 2012 00:00:00 +0000

Sharpening the Tools

This is a talk from Dan North about Sharpening the Tools at QCon 2010. I had the great pleasure to li

Wed, 14 Mar 2012 01:00:00 +0000

Questions for an Enterprise Architect

Erik Dörnenburg answers: What is Enterprise and Evolutionary Architecture?, discussing 4 issues: Turn

Fri, 02 Mar 2012 01:00:00 +0000

I Want the Cursor to be placed in the 1st empty Textbox!

You develop a webapp, you have a couple of input fields and buttons on your page. Then the requiremen

Fri, 17 Feb 2012 01:00:00 +0000

Sequential Asynchronous Processing with jQuery Deferreds

Asynchronous processing is one of the most difficult things for devs to understand when switching fro

Mon, 13 Feb 2012 01:00:00 +0000

ASP.net MVC3: Doesn't Deserialize Nullable Properties from Json

A couple of days ago I noticed that the Nullable properties of a C# object were not properly deserial

Tue, 07 Feb 2012 01:00:00 +0000

Don't rant! Become Social and Contribute back!

Todays web experience has changed a lot and so has done coding as well. Everything is around being so

Wed, 01 Feb 2012 01:00:00 +0000

Eclipse: Importing existing project: "Invalid project description"

Monday morning, 07:30 AM. Me, starting the computer after the weekend, executing a git pull from my r

Mon, 23 Jan 2012 01:00:00 +0000

Don't Fall into the IEnumerable<T> Trap

Recently I upgraded some code of our company-internal class library and observed a plausible but stil

Tue, 17 Jan 2012 01:00:00 +0000

Help, Ubuntu 11.10 won't boot!!

Today I tried to start the new Ubuntu 11.10 from the live CD on the old desktop computer of my girlfr

Sun, 15 Jan 2012 01:00:00 +0000

2011 Retrospective and a New Look

I know it's a bit late for a 2011 year recap, but I didn't manage to write one earlier. Actually, I j

Thu, 05 Jan 2012 01:00:00 +0000

Writing IoC Supported Integration Tests using AutoFac

Using a dependency injection framework can greatly facilitate your code's testability in that yo

Mon, 12 Dec 2011 01:00:00 +0000

Exploring JavaScript: Scope Pollution when instantiating JavaScript Objects

John Resig has written a very interesting article (I'm not able to find just now) on how the current

Wed, 07 Dec 2011 01:00:00 +0000

Saying Goodbye to University

After my thesis presentation in march this year, my university career now ended officially with the d

Tue, 06 Dec 2011 01:00:00 +0000

Large-scale JavaScript Application Architecture

JavaScript programming has evolved a lot over the past years and has somehow revolutionized the way y

Mon, 21 Nov 2011 01:00:00 +0000

Some Usability Thoughts for the Weekend...

A couple of days ago I got the order to write a very simple program that would take a bunch of XML in

Fri, 18 Nov 2011 01:00:00 +0000

Use The "var" Keyword to Have More Maintainable Tests!?

I have to admit that initially when the "var" keyword has been introduced in C# I was quite precautio

Fri, 18 Nov 2011 01:00:00 +0000

AutoFac: ASP.net WebForms UserControl Dependencies Only Available At Page_Load Event

I'm currently adapting the architecture of one of our old but core projects, still written in ASP.net

Tue, 15 Nov 2011 01:00:00 +0000

jQuery Validation: Add a Required Field Marker

When you use jQuery for validating input fields you might want to automatically (based on the validat

Fri, 04 Nov 2011 01:00:00 +0000

Don't Underestimate the Trouble Caused by URLs in Emails

At a first glance, the title might seem strange, but wait. The company I'm working at creates e-gover

Thu, 03 Nov 2011 01:00:00 +0000

Exploring JavaScript: Iterating Over a Collection of Items

If I manage to do it, I'd like to write a series of introductory posts about programming in JavaScrip

Thu, 27 Oct 2011 00:00:00 +0000

What? Model-View-Controller in JavaScript?

At work I'm currently working on a new web architecture composed of a rich client written in JavaScri

Mon, 10 Oct 2011 00:00:00 +0000

TechVid: Become a Javascript Console Power-User

A nice 7 minute video showing some Chrome, Opera and Firefox power user commands for the JavaScript c

Sat, 08 Oct 2011 00:00:00 +0000

The Similarity of C# and JavaScript Syntax

I'm currently diving deeply into creating rich JavaScript web applications. You cannot deny that they

Mon, 03 Oct 2011 00:00:00 +0000

Testing JavaScript: Mocking jQuery Ajax Calls

When "seriously" developing JavaScript applications we obviously need to write tests. Being a fully d

Mon, 26 Sep 2011 00:00:00 +0000

JavaScript Scoping by Example

Understanding the scoping rules of JavaScript is one of the fundamental things to learn when getting

Thu, 01 Sep 2011 00:00:00 +0000

Integrating Jersey with Spring

Spring provides a lot of benefits and promotes best practices with its dependency injection mechanism

Sun, 28 Aug 2011 00:00:00 +0000

Why Did it Have to Be So Complicated Before??

I started web development using Java, basically during my studies at the university. When workin

Fri, 26 Aug 2011 00:00:00 +0000

Chrome Developer Tools: 12 Tricks to Develop Quicker

This is definitely a "must-have-seen" video for every JavaScript developer. Chrome has some really ni

Thu, 25 Aug 2011 00:00:00 +0000

Experiencing the jQuery 1.6 Breaking Changes

Unfortunately I did not actively follow the release of jQuery 1.6 as I would probably have noted that

Mon, 15 Aug 2011 00:00:00 +0000

JavaScriptSerializer: Circular Reference was Detected While Serializing an Object of Type...

Consider an ASP.net MVC web application where you use some Ajax for retrieving an object. Let's start

Fri, 12 Aug 2011 00:00:00 +0000

How often did you use the Yield keyword??

If you think about your coding...how often have you used C#'s yield keyword? To be honest I continuou

Mon, 08 Aug 2011 00:00:00 +0000

Check-in Small Pieces to your VCS!

A while ago our TFS master at work :) sent around a statistic about the "ExcutionCount" of each devel

Sat, 06 Aug 2011 00:00:00 +0000

Posting JSON Data to an ASP.net MVC 3 Web Application

The trend in today's web application development goes more and more in the direction of having rich,

Thu, 04 Aug 2011 00:00:00 +0000

Write the Minimum Necessary Code In Your Unit Test Case That Makes It Valuable

Maintainability is of major importance in software development. Usually writing tests against your co

Sun, 17 Jul 2011 00:00:00 +0000

Android Development Tools

Till recently, (IMHO) Android Developers had a very bad experience in designing graphical U

Thu, 23 Jun 2011 00:00:00 +0000

Create DOM Tree out of a Dynamic HTML String

Just a very short post before I go to bed as I'm really tired today. I just played around with some J

Tue, 21 Jun 2011 00:00:00 +0000

SmellyCode: A Classical Example of Non-Unittestable Code

I know there might be some degree of repetition in my posts when I speak about unit testing and mocki

Mon, 20 Jun 2011 00:00:00 +0000

Should Android Worry About the iOS 5 Update? Definitely Not!

With the announcement of the new iOS 5 at the WWDC, the first articles emerge already on the web rela

Tue, 07 Jun 2011 00:00:00 +0000

HowTo: Upgrade RAM of Your Macbook Pro

Here's a nice video that clearly explains how you can upgrade your Macbook RAM:

Thu, 26 May 2011 00:00:00 +0000

Visual Studio: The application cannot start

Today I started my Visual Studio 2010 instance by using the "Run as administrator" option (as I often

Wed, 25 May 2011 00:00:00 +0000

Basta-On-Tour Wrap Up Day 2: EF Best Practices, JavaScript, MVC

Day 2 at the BASTA! On Tour was dedicated to different kind of small workshops.Web 2.0 Applications w

Tue, 24 May 2011 00:00:00 +0000

Basta-On-Tour Wrap Up Day 1: Entity Framework

Well, this is a very short and brief wrap up of the 1st day here at the Basta! On Tour in Düsseldorf.

Fri, 20 May 2011 00:00:00 +0000

Document and Share Your Snippets: Presenting SnippetDoc

Increasing the productivity in the long run is most often tightly related to increasing the quality.

Fri, 06 May 2011 00:00:00 +0000

Is It More Readable??

I was just going over some code and came across some webservice methods having a lot of repetitive co

Tue, 03 May 2011 00:00:00 +0000

Trouble with the VS QualityTools.UnitTestFramework dll

I recently build a tool that automates and simplifies the unit testing of large parts of our applicat

Sat, 09 Apr 2011 00:00:00 +0000

Why Automated Tests Boost Your Development Speed

Many critics against writing automated tests directly address the additional time that is needed for

Wed, 06 Apr 2011 00:00:00 +0000

Load JavaScript Files Asynchronously

I recently worked on a component for our single-sign-on system. As part of that work I also developed

Sun, 03 Apr 2011 00:00:00 +0000

Concluding another Chapter

Yesterday I finally concluded my studies for the Master in Computer Science at the Free University of

Sat, 26 Mar 2011 01:00:00 +0000

A Test-Driven Dev's Nightmare: Meeting the HttpContext

My main task for the coming weeks at work is to extend one of our older but highly successful we

Wed, 16 Mar 2011 01:00:00 +0000

JCG - Joining the Java Code Geeks Program

A couple of days ago I was kindly invited to the Java Code Geeks program. Their goal is to build an o

Thu, 10 Mar 2011 01:00:00 +0000

Help, Gingerbread drains the Battery of my Nexus One!!

A couple of days ago I finally got the eagerly awaited system upgrade to Gingerbread on my Nexus One.

Mon, 07 Mar 2011 01:00:00 +0000

Getting Started with Android Development

Android has become very popular recently, especially among developers which would like to create some

Wed, 23 Feb 2011 01:00:00 +0000

Least Invasive Approach to Gain Root Access on the Nexus One

For my current Android research project I needed to copy an APK to the /system/app folder. Now for th

Mon, 14 Feb 2011 01:00:00 +0000

Deploy Android APK OTA Using Symbolic Links and Dropbox

Couple of time ago I wrote a blog post describinghow you can use Dropbox for deploying your Android A

Thu, 10 Feb 2011 01:00:00 +0000

Coding an Update Functionality for your Android App

(adsbygoogle = window.adsbygoogle || []).push({}); An immediate answer would be: why should I need t

Mon, 07 Feb 2011 01:00:00 +0000

FriendlyBool Extender What?

From now and then it happens that I have to databind some entities onto the UI, containing boolean da

Thu, 03 Feb 2011 01:00:00 +0000

Why Extract {Class | Interface | Method} Refactoring improves Testability and Readability

I still see many developers coding huge methods and large classes. The code looks very much procedura

Sat, 29 Jan 2011 01:00:00 +0000

Android: HowTo Detect Installed SQLite DB Version

As you might already know, Android comes with a preinstalled SQLite database. This is quite handy bec

Fri, 21 Jan 2011 01:00:00 +0000

ASP.net: Organize Your Resources the Correct Way!

ASP.net provides well-known mechanisms for localizing web applications, namely by extracting hard-cod

Tue, 18 Jan 2011 01:00:00 +0000

Tomcat: IllegalStateException: No output folder

Today, I started to create a couple of JSP pages for the server-side part of my MSc thesis project in

Sun, 26 Dec 2010 01:00:00 +0000

Win7: Windows Explorer Doesn't Refresh Elements

This was a really weird problem. Overnight Windows Explorer on my Windows 7 Enterprise installation s

Fri, 17 Dec 2010 01:00:00 +0000

Smelly Code: Direct Object Instantiation as a Testability Killer

This Smelly Code post discusses mainly a testability issue without going into further detail on other

Thu, 09 Dec 2010 01:00:00 +0000

Update SDK to Platform Gingerbread 2.3: Conversion to Dalvik Format Failed

Today I took the chance (and a bit of free time) to upgrade to the latest Android SDK release, namely

Wed, 08 Dec 2010 01:00:00 +0000

HowTo: Using VS2010 Web.config Transformations to Bypass SSL Authentication Locally

Most often when you create WCF webservices you'll want to run them in a secure channel, for instance

Mon, 06 Dec 2010 01:00:00 +0000

Juri Goes GIT - First Steps

Yes, I'm going "git" ;). An inherent part of structured, well organized working is to have your stuff

Tue, 30 Nov 2010 01:00:00 +0000

Don't Let Your Test Doubles Fool You

During unit testing it is common to substitute dependencies with a test double (see Martin Fowler's d

Thu, 25 Nov 2010 01:00:00 +0000

Testing Your SUT Against Exceptions

When you test your method for exceptions (which is good practice) the usually naive approach - which

Tue, 23 Nov 2010 01:00:00 +0000

Android: Attaching ClickListeners Declaratively

If you define a click listener for - say - a button in an android Activity, then you basically have t

Fri, 19 Nov 2010 01:00:00 +0000

More Than Just Synching - Dropbox

You know Dropbox, right (if not, head on to get it here)? I totally love that tool. I mean, you nearl

Tue, 16 Nov 2010 01:00:00 +0000

HowTo: MySQL Workbench to Remote Ubuntu Production Server Using SSH Port Forwarding

Before starting, I'm totally not the Linux command line guru, unfortunately. It feels like years of j

Mon, 15 Nov 2010 01:00:00 +0000

Intercepting WCF Operation Calls with Impersonated Identity

Take the following scenario. You have a WCF webservice with several operations. The communication run

Fri, 05 Nov 2010 01:00:00 +0000

Test-Driven Development and Automated Testing: A Metaphor

Motivation is an important factor when learning something new. It is what makes you ambitious and wha

Fri, 15 Oct 2010 00:00:00 +0000

Smelly Code: Eager Test

This post shows a common code smell in unit tests also mentioned in the xunit test patterns book, nam

Wed, 29 Sep 2010 00:00:00 +0000

Introducing #smellycode

Couple of month ago, after posting some comments about bad code on Twitter, my ex-work-mate Peter (gr

Mon, 27 Sep 2010 00:00:00 +0000

Lessons Learned: Make your ListItemCollection Linq Queryable

I love Linq! In my opinion it is one of the best features that have ever been added to C#, making dev

Mon, 20 Sep 2010 00:00:00 +0000

Retrieve Selected Items on Checkable ListView: Differences in SDK Level 7 and 8

I'm currently testing my Android app that I'm developing for my MSc thesis on different real devices.

Tue, 14 Sep 2010 00:00:00 +0000

Design Tech Talk Series Presents: OO Design for Testability

One of the main challenges in adopting TDD methodologies and automated testing with xUnit frameworks

Wed, 18 Aug 2010 00:00:00 +0000

TDD Test == Unit Test or TDD Test Unit Test?? Is it Really Important??

Recently I had an interesting buzz conversation with a former work-mate, Peter. Just like myself

Mon, 16 Aug 2010 00:00:00 +0000

HowTo: Teach Visual Studio to Remember Your TFS Password

I often now ran into the problem of continuously getting queried for the TFS credentials when connect

Wed, 11 Aug 2010 00:00:00 +0000

Do I Really Need to Test This??

Yes! Let's start straight of with an example. Consider I have my service (business) class SourceCodeI

Tue, 03 Aug 2010 00:00:00 +0000

Testing Newbies: Some Thoughts about Test First

A quick post just before diving into the weekend filled with Yoseikan training, swimming, going out w

Fri, 30 Jul 2010 00:00:00 +0000

Passing Property Names the "compiler-safe" Way

A common bad practice which I often find when browsing through code is to see people directly hard-co

Thu, 29 Jul 2010 00:00:00 +0000

HowTo: Install your Android app OTA on your device for testing

A fundamental thing when developing Android apps but also in general when developing with device emul

Thu, 15 Jul 2010 00:00:00 +0000

Practical example: Applying the Template Method design pattern

As I already mentioned in my previous post I'm currently doing domain objects to XSD generated object

Tue, 13 Jul 2010 00:00:00 +0000

Refactoring for the sake of compactness and reusability

Currently I'm doing a rather monotonic work, let's call it like this. We basically need to serialize

Fri, 09 Jul 2010 00:00:00 +0000

Let tests guide you through development

I'm currently working on my MSc thesis work which is divided into a project that has to be developed

Sat, 26 Jun 2010 00:00:00 +0000

Android Instrumentation test - AndroidTestCase: java.lang.IllegalAccessError

Today I started writing the instrumentation tests for the Android platform side of the project. For y

Sun, 06 Jun 2010 00:00:00 +0000

HowTo: Get an Android app's database from the emulator

Most apps need a database for storing their data onto the device in a structured form. Android's nati

Thu, 03 Jun 2010 00:00:00 +0000

Why factories with configuration files are better for decoupling but still a testability killer

As I already highlighted in several previous posts one of the most critical things when facing unit t

Mon, 31 May 2010 00:00:00 +0000

Boost your productivity using shortcuts in Visual Studio

A major aim of everyone is (or should be) to increase his personal productivity. Now productivity is

Wed, 26 May 2010 00:00:00 +0000

Can you trust your tests?

One important thing about unit testing but also about testing in general is that you can trust y

Fri, 14 May 2010 00:00:00 +0000

'\n' will break your JSON jQuery - WCF service call

I recently coded a WCF REST webservice that needed to be accessed from JavaScript. Basically it was a

Fri, 07 May 2010 00:00:00 +0000

Test-Driven-Design: A real world scenario of an email sending requirement

Many applications have requirements to send automatic emails to their users, especially in web enviro

Thu, 15 Apr 2010 00:00:00 +0000

HowTo: Prevent Visual Studio from auto-formatting your jQuery source

When writing JavaScript code with Visual Studio 2008 it automatically formats your source code when g

Wed, 07 Apr 2010 00:00:00 +0000

Unit testing asynchronous code

Today I wrote on a first prototype for my current thesis research. I started coding just ahead howeve

Sun, 04 Apr 2010 00:00:00 +0000

Tackle software dependencies with IoC and Dependency Injection

Coupling between objects creates "dependency", which per se is not bad at all. You will always have s

Sun, 21 Mar 2010 01:00:00 +0000

GWT Button with image AND text

GWT just provides the basic widgets like check boxes, hyperlinks, buttons etc...and leave the more co

Mon, 15 Mar 2010 01:00:00 +0000

Client-server communication peculiarities with GWT and App Engine DataNucleus

I just had to fight with a strange exception which got raised after a GWT-RPC call to the App Engine

Fri, 12 Mar 2010 01:00:00 +0000

GWT, App Engine and App Engine Data Classes

I currently have some time before starting with my Master thesis project which will bring me back to

Tue, 23 Feb 2010 01:00:00 +0000

DockLayoutPanel doesn't work correctly??

Suppose you'd like to create a layout like the following using GWT:With GWT 2.0 the documentation sug

Fri, 19 Feb 2010 01:00:00 +0000

HowTo: Launch JavaScript after async postback of UpdatePanel

Assume the scenario where you want to launch a JavaScript function after your UpdatePanel finished to

Thu, 18 Feb 2010 01:00:00 +0000

GWT DecoratorPanel style problems

I just experienced a nice side effect that happens if you use a DecoratorPanel. In my example it cont

Tue, 16 Feb 2010 01:00:00 +0000

Reloaded: Clean up your folder. For MacOS

When downloading files from the web I usually have a predefined folder where all the downloads from m

Sun, 07 Feb 2010 01:00:00 +0000

Are anonymous Lambda style event handlers a readability killer?

A standard event handling method in C# looks something like thispublic void SomeOtherMethod(){MyClass

Wed, 03 Feb 2010 01:00:00 +0000

Time Machine backups to Windows shared network drive

As some of you may have already read I acquired a MacBook Pro about half a year ago and I love it ;)

Sun, 31 Jan 2010 01:00:00 +0000

HowTo: Use your iPhone as a remote control for presentations

My latest post is already a while back but I'm currently extremely busy. More posts will come in Febr

Thu, 28 Jan 2010 01:00:00 +0000

HowTo: Use globally defined resources in your ASPX code

When creating localized web applications using ASP.net you may often come across strings which are th

Fri, 08 Jan 2010 01:00:00 +0000

Comments smell! Replace them with more expressive code.

As already pointed out in that post, here's another code example:...//300 = Italyif(aCompany.NationId

Wed, 06 Jan 2010 01:00:00 +0000

HowTo: Fade out div after some seconds using jQuery

Today I made a quick change to my blog. I don't know whether many of my readers noticed the possibili

Wed, 30 Dec 2009 01:00:00 +0000

Android SMS activity doesn't fill phone number

Today while fixing a bug for our current project we develop for the Android phone I found a strange b

Sat, 26 Dec 2009 01:00:00 +0000

Creating Test Suites with jUnit 4

A while back I've posted about how to enable the automatic (jUnit 3.8-style) creation of test suites

Fri, 25 Dec 2009 01:00:00 +0000

The power and simplicity of the Command pattern

Never thought of how to implement an "undo" function? Not that easy, huh? People in our architecture

Thu, 10 Dec 2009 01:00:00 +0000

MapView doesn't fire onLongClick event

Here's another curiosity I came across today while programming on my Android project. I was creating

Wed, 02 Dec 2009 01:00:00 +0000

HowTo: Include JavaScript file from JavaScript code

Recently a colleague asked me on how to add a JavaScript file reference to an HTML document from with

Thu, 26 Nov 2009 01:00:00 +0000

Implementing the onTouchEvent for the MapActivity

Android View classes expose an onTouchEvent(MotionEvent ev) method. As the name already suggests, by

Tue, 24 Nov 2009 01:00:00 +0000

Visual Studio intellisense not working properly

Recently a work mate pointed me out that my Visual Studio Intellisense seemed to not work correctly.

Fri, 20 Nov 2009 01:00:00 +0000

HowTo: Get the selected list index on Android Activity from context menu event

Consider the situation where you have an Activity displaying a list of items. You have a context menu

Wed, 11 Nov 2009 01:00:00 +0000

HowTo: Run IIS 7 on Vista 64bit OS in 32bit mode

A couple of days ago, I ran into a nice problem. I had to configure the setup of a new project using

Tue, 10 Nov 2009 01:00:00 +0000

ASP.net Ajax: Consuming webservice from client-side JavaScript

Yesterday I answered a question on SO related to the problem of consuming an ASP.net webservice from

Sat, 07 Nov 2009 01:00:00 +0000

Instantiating object from generic type: Java vs. .Net

Consider the following .Net code:public static class Processor{public static TItem CreateInstance<

Fri, 30 Oct 2009 01:00:00 +0000

Accessing the host machine from your Android emulator

I recently started a project where I develop an Android app (there will some posts later on ;) ) whic

Thu, 29 Oct 2009 01:00:00 +0000

Repeater looses its data collection. ViewState problem?

A while back I experienced a really strange problem in one of our ASP.net applications, namely my rep

Tue, 27 Oct 2009 01:00:00 +0000

Part 1: Writing testable code for the Android

Creating testable code is one of the major aims when designing good, maintainable applications. I act

Tue, 20 Oct 2009 00:00:00 +0000

Blog to learn...

John Skeet answered a question on SO related to how to learn good programming in terms of learning go

Sun, 11 Oct 2009 00:00:00 +0000

Annotation tools for the Mac

When you create scientific reports or you just prepare for exams you usually have to go over a whole

Tue, 06 Oct 2009 00:00:00 +0000

GWT meets Spring

GWT is quite evolving recently. There are a couple of reasons for that:Coding apps like Gmail and Goo

Tue, 29 Sep 2009 00:00:00 +0000

Are C# regions a good thing??

Well, I'd say it depends. If you use regions to logically group your code in your class, then it may

Fri, 25 Sep 2009 00:00:00 +0000

Law of Demeter: Nice metaphor

I just came across a nice metaphor for explaining the Law of Demeter. For those of you that didn't ye

Tue, 22 Sep 2009 00:00:00 +0000

Microsoft Ajax CDN

Scott Gu' just announced the launch of Microsoft Ajax Content Delivery Network. The name already expl

Wed, 16 Sep 2009 00:00:00 +0000

Add semantic through your code, not through commenting

Is it good to have a lot of code comments, explaining things s.t. your other team members know what w

Sun, 13 Sep 2009 00:00:00 +0000

Watch out when cloning objects

Cloning is never a good thing. I would say in most cases there is a better alternative for reaching y

Tue, 08 Sep 2009 00:00:00 +0000

It is not about writing tests, its about writing stories

Writing unit test and moreover having them in place when developing is a great thing. They give you s

Fri, 04 Sep 2009 00:00:00 +0000

Don't use negated method names!

What does this mean. Don't write something likepublic bool IsNotCorrect(...){...}but rather writepubl

Fri, 28 Aug 2009 00:00:00 +0000

NullsafeGet extension method? Simplicity for the cost of readability??

When programming, there is often the the situation where you have to continuously do the null-check i

Fri, 14 Aug 2009 00:00:00 +0000

HowTo: Control the rendered Html tag on your custom, composite server controls

Normally when you want to achieve that your custom server control is rendered inside a specific HTML

Tue, 11 Aug 2009 00:00:00 +0000

HowTo: Changing TFS workitem type from task to bug

Recently I found a bug while implementing another feature and in order to not forget it, I created a

Fri, 07 Aug 2009 00:00:00 +0000

Around(J2)ME listed on Softpedia

A project I developed together with my colleague Matthias Braunhofer during the course of Mobile Serv

Mon, 03 Aug 2009 00:00:00 +0000

Using code metrics as indicator for code refactoring

Developing software is not just hacking in a solution, but to develop simple, well structured and the

Sun, 02 Aug 2009 00:00:00 +0000

Server Error: Validation of viewstate MAC failed.

If you get the following error...Validation of viewstate MAC failed. If this application is hosted by

Fri, 31 Jul 2009 00:00:00 +0000

VS Designer: 'X' could not be set on property 'Y'

I'm currently developing some custom ASP.net server controls. Internally I often have lists, where th

Mon, 27 Jul 2009 00:00:00 +0000

Automatically find the Label associated to a WebControl through the AssociatedControlID

ASP.net Label controls own the property "AssociatedControlID" which points to the control to which th

Fri, 24 Jul 2009 00:00:00 +0000

HTML list item background image disappears on IE

I recently faced the problem that the background images that have been added to an HTML li tag over C

Mon, 20 Jul 2009 00:00:00 +0000

ExecutableTask pattern to tackle J2ME multithreading

Programming on the mobile device is quite different to more common environments like web or client-se

Tue, 07 Jul 2009 00:00:00 +0000

MIDlet for downloading image from the web

J2ME provides several ways for creating an Image object: Image.createImage(String) Image.createImage(

Mon, 29 Jun 2009 00:00:00 +0000

Do you know the "Joel Test"?

First of all, who is "Joel"? Joel Spolsky is a software developer in the US. I came across his intere

Fri, 19 Jun 2009 00:00:00 +0000

About Scrum - in under 10 minutes

Here’s a nice video that explains Scrum in under 10 minutes. It was quite useful when preparing

Thu, 18 Jun 2009 00:00:00 +0000

Mashup editor about to shut down

According to a note on the official Google Mashup Blog, they're about to shut down the Google Mashup

Mon, 15 Jun 2009 00:00:00 +0000

HowTo: Getting started with JUnit testing for Liferay portlets with Netbeans (for Eclipse users)

Besides at work, where I'm developing in .Net using Visual Studio, I'm a heavy Eclipse user. I use it

Wed, 10 Jun 2009 00:00:00 +0000

Page Speed: Firebug add-on for analyzing web page speed

Google just released Page Speed, a Firefox add-on for analyzing web pages in terms of speed. The tool

Mon, 08 Jun 2009 00:00:00 +0000

HowTo: Keep request parameters on validation errors with Spring's SimpleFormController

I recently had a problem when using Spring's SimpleFormController together with validation. So I post

Sun, 31 May 2009 00:00:00 +0000

HowTo: Get localized string different from the current culture

Localization is a key part of most applications. For this purpose you usually use resource files (pro

Fri, 29 May 2009 00:00:00 +0000

What happens if you think in Java and program C#

I'm quite jumping between the two languages. In the morning at the university I'm usually programming

Thu, 28 May 2009 00:00:00 +0000

Use Google Scholar and Latex for correctly citing papers

Citing papers is somewhat critical. There are predefined styles that have/should be respected. But it

Tue, 26 May 2009 00:00:00 +0000

JsTestDriver - Easy unit testing for JavaScript code

Today this video got my attention which is basically a short demo of JsTestDriver, a nice implementat

Mon, 25 May 2009 00:00:00 +0000

Help, my MSTest DeploymentItem doesn't get deployed!

MSTests allow you to define items you'd like to deploy to the deployment directory when executing the

Sat, 23 May 2009 00:00:00 +0000

String enumerations in C#

Enumerations are a very handy programming construct. Especially when you're developing in a larger te

Thu, 21 May 2009 00:00:00 +0000

Intel ProSet Wireless tool causing a lot of trouble

Years ago I installed the Intel ProSet Wireless tool for managing my wireless network connections on

Tue, 19 May 2009 00:00:00 +0000

Debugging and Testing the Web with Firebug

CommentRob Cambell, member of the Firebug working group gives a talk about Firebug, its history and a

Thu, 14 May 2009 00:00:00 +0000

HowTo: Make your custom ASP.net server control validatable

Content validation is a major issue of every application. It is an absolute "must have" to notify the

Mon, 11 May 2009 00:00:00 +0000

jQuery plugin development pattern

I'm currently diving more and more into the jQuery library. First I'm using it on a portlet I'm devel

Wed, 22 Apr 2009 00:00:00 +0000

Use Firebug everywhere!

You're a web developer and you cannot live without Firebug? Understandable. Firebug provides such gre

Fri, 17 Apr 2009 00:00:00 +0000

Best practices: The challenge of designing software for wireless devices

Designing good software for wireless devices such as mobile phones is not straightforward. Developers

Tue, 14 Apr 2009 00:00:00 +0000

HowTo: Bind an input field to a Date property using Spring's SimpleFormController

If you're using the Spring SimpleFormController for binding your Java bean object to the UI, you may

Fri, 10 Apr 2009 00:00:00 +0000

Internet Explorer 8: Compatibility

Here's an article written by Pietro Brambati on his blog about IE8 compatibility. It's quite interest

Thu, 02 Apr 2009 00:00:00 +0000

These damn spammers!!!

Once again one of my blog posts got infected by "spam" comments. But this time not the usual pharmace

Mon, 30 Mar 2009 00:00:00 +0000

Extended view reloaded

With the transition to the complete new blog design I initially had to leave away some features which

Wed, 25 Mar 2009 01:00:00 +0000

Best practices: Deploying webapps (contd.)

Some time ago I've written a post about best practices in deploying web applications by mentioning th

Fri, 20 Mar 2009 01:00:00 +0000

UML Use Case "extend" and "include" relationships

From now and then I have to create UML diagrams to model certain parts of software projects, especial

Tue, 17 Mar 2009 01:00:00 +0000

Floating figures and tables with Latex

Latex provides you with a lot of advantages when writing scientific papers. It allows you to fully fo

Sun, 15 Mar 2009 01:00:00 +0000

Problems with character encoding on cookies

For preserving the search criteria on some page of our web application we're saving the differen

Wed, 11 Mar 2009 01:00:00 +0000

Guidelines for promoting your blog

Some guidelines on how to promote and so to increase the traffic on your blog. These "rules" have bee

Thu, 05 Mar 2009 01:00:00 +0000

HowTo: Set the assembly binding location

This post is somehow related to the one I made just a couple of days ago. The application plugins (dl

Sat, 28 Feb 2009 01:00:00 +0000

Getting ready for mobile development with Eclipse, WTK and EclipseME

I just noticed that I did not post one topic about mobile development with J2ME, and that although my

Fri, 27 Feb 2009 01:00:00 +0000

HowTo: Detect Assembly dependencies at runtime

I'm currently developing a small project for myself, where I'm trying to build a small plugin framewo

Wed, 25 Feb 2009 01:00:00 +0000

Observation: Selected value behaviour of the DropDown list control

Today at work I observed a quite "nice" behaviour of the ASP.net DropDown list control. We usually ha

Mon, 23 Feb 2009 01:00:00 +0000

Google AJAX APIs: The Google Visualization API

From now and then I'm always taking a quick look at Google's API page to see whether something new an

Sun, 22 Feb 2009 01:00:00 +0000

Installing and configuring ATI graphics card drivers on Ubuntu Hardy

For the "Data Mining and Data Warehousing" course at the university, we had to implement a spectral c

Sun, 15 Feb 2009 01:00:00 +0000

HowTo: Persist viewstate on the server-side

In our last web project we had some performance issues, mainly caused by the extremely big page views

Thu, 12 Feb 2009 01:00:00 +0000

Accidentally deleted the Ubuntu main menu bar!!

I just clicked accidentally on the main top panel on the Ubuntu desktop and damn...I deleted the menu

Tue, 03 Feb 2009 01:00:00 +0000

HowTo: testing jFace Action class taking a StructuredSelection object

Let's consider the following jFace Action class:public class RateAction extends Action {private final

Thu, 15 Jan 2009 01:00:00 +0000

Accessing webcontrols inside the ProgressTemplate of an UpdateProgress

Apparently it is not possible to access server-side web controls that are within the "ProgressTemplat

Fri, 09 Jan 2009 01:00:00 +0000

Best practices: Tracking information on the source code with Visual Studio and TFS

An issue in managing a code base is not only to guide different developers through the development pr

Thu, 08 Jan 2009 01:00:00 +0000

By far the best "404 Not Found" notification I've ever seen!!

I just wanted to download a zip-file from a url provided by one of my university professors, but sadl

Sat, 03 Jan 2009 01:00:00 +0000

Blogging year 2008

First of all, happy new year 2009, I wish you all the best! :) This is a scheduled post of course :D

Thu, 01 Jan 2009 01:00:00 +0000

First steps with Silverlight. What about GWT?

Last week I had some time which allowed me to do some experiments with Microsoft Silverlight. I had t

Tue, 23 Dec 2008 01:00:00 +0000

Using extenders to abstract details and improve code readability

Extenders are a really cool feature of C#, which can be quite handy sometimes. I found the following

Tue, 02 Dec 2008 01:00:00 +0000

C++ linking libraries to build configuration in Eclipse

When programming in C++ you may often have to link at compile time to 3rd-party libraries which you'r

Thu, 27 Nov 2008 01:00:00 +0000

C++ experiences

Most of the courses I attended during my Bachelor were Java oriented with some C#, C and Haskell prog

Wed, 26 Nov 2008 01:00:00 +0000

JFace Table API with Eclipse RCP

Today I had to create a new view inside on an Eclipse RCP application representing data inside a tabl

Thu, 20 Nov 2008 01:00:00 +0000

Haskell type conversions: converting a String to Int

Today I just finished my battle-ship game written completely in functional programming (using Haskell

Wed, 19 Nov 2008 01:00:00 +0000

Persisting the current perspective state of an RCP

If you're developing on Eclipse RCP applications it may be interesting to save the perspective layout

Sat, 15 Nov 2008 01:00:00 +0000

HowTo: execute a file download from Windows command line

Under Linux it is often very comfortable to download files quickly from within the shell by typing wg

Mon, 10 Nov 2008 01:00:00 +0000

The type X is not accessible due to restriction on the...

For some university course we currently have to modify an Open Source application with LOC > 50,00

Sun, 09 Nov 2008 01:00:00 +0000

Strange focus behavior on Firefox 3+

Apparently it seems as if Firefox has changed the way the focus is set on the page starting with vers

Thu, 06 Nov 2008 01:00:00 +0000

Verifying command line parameters on C++ main method

Just a very quick example on how to verify the correct number of command-line parameters on a C++ (or

Tue, 04 Nov 2008 01:00:00 +0000

Problem: launching javascript from hyperlinks without redirecting

When I'm launching javascripts on a webpage I often use hyperlinks instead of buttons (it depends how

Wed, 29 Oct 2008 01:00:00 +0000

Javaforge causing a lot of problems

I'm currently developing an open source application for a University course. So as usually I establis

Tue, 28 Oct 2008 01:00:00 +0000

C/C++ programming on Linux

For a course at the university we have to develop a system using C++ on Linux. Being from the Java an

Sat, 25 Oct 2008 00:00:00 +0000

Haskell functional programming

Did you ever hear something about functional programming? I'm sure you did, and if you didn't you sho

Sun, 12 Oct 2008 00:00:00 +0000

Linux main menu bars (top and bottom) disappeared

Linux (Ubuntu) is generally great...and still I must admit that most often ones habits are stronger I

Sun, 05 Oct 2008 00:00:00 +0000

Fighting around with VIM

Today I attended the first lectures of the Master in Computer Science. Yes, I decided to go back to U

Fri, 03 Oct 2008 00:00:00 +0000

HowTo: Create 'linked tables' in MS Access

Assume you have to migrate some historical data from an application which used an MS Access database

Thu, 02 Oct 2008 00:00:00 +0000

Best practices: Deploying webapps

I don’t really know whether you want to consider this a “best practices” or not, bu

Thu, 25 Sep 2008 00:00:00 +0000

Revised: Changed values of readonly and disabled fields....

In a previous post I wrote about the problem that the values of readonly or disabled fields are not r

Thu, 18 Sep 2008 00:00:00 +0000

Changed values of readonly and disabled fields not accessible after postback

I don't know whether you noticed this problem already. ASP.net doesn't seem to handle the viewstate o

Tue, 09 Sep 2008 00:00:00 +0000

Google Chrome: browsing the Google way

I just came back from holidays at Rhodos (very nice) and flew over my mails and see there, one notice

Thu, 04 Sep 2008 00:00:00 +0000

JavaScript onChange event handling

When you're developing web applications you'll often encounter a situation where you react on changes

Mon, 25 Aug 2008 00:00:00 +0000

Strange GWT compiler error when trying to serialize Java objects

I'm currently working on a project on my own where I'm developing a rich client by using the Google W

Sat, 16 Aug 2008 00:00:00 +0000

The Controls collection cannot be modified because...

Programming on the web (JSP, ASP.net, etc..) is quite different than programming a desktop client. On

Sat, 02 Aug 2008 00:00:00 +0000

Dynamically modifying CSS class name attributes

CSS allows you to not only define the style attributes directly like<span id="mySpan" style="font-

Thu, 24 Jul 2008 00:00:00 +0000

Extending JavaScript objects with custom functions

It is nice how JavaScript objects can be extended with additional custom functions. Today for instanc

Mon, 14 Jul 2008 00:00:00 +0000

GMap script being reused

It is always nice to see people adapt and use your work. Today I made a quick look to my blog access

Sun, 13 Jul 2008 00:00:00 +0000

Recursive version of the FindControl(..) method

I don't know why there is none already implemented in the .NET framework. Anyway it wasn't too diffic

Fri, 27 Jun 2008 00:00:00 +0000

Specifying the size of a FileUpload control on Firefox

Apparently there seems to be a problem on Firefox when you want to specify a size for a file-upload b

Fri, 27 Jun 2008 00:00:00 +0000

Testing Ajax applications

Testing the correct functioning of an application is a major issue in software development. Errors ha

Fri, 27 Jun 2008 00:00:00 +0000

IE problems with AjaxControl Toolkit's AutoComplete extender

Microsoft's .Net AjaxControlToolkit provides a nice extender for doing Ajax-enabled auto-completion b

Wed, 18 Jun 2008 00:00:00 +0000

The type [X] exists in both...

You cannot imagine how fraught this compilation error was! On average every second launch of my web a

Tue, 17 Jun 2008 00:00:00 +0000

The ViewState hell: controls loosing their values

Recently at work I encountered severe problems with the ASP.net viewstate. We have build a very nice

Thu, 12 Jun 2008 00:00:00 +0000

Finally, my Katana arrived!!

Not the usual technical post :). Finally on Thursday this week my new katana arrived. It's exactly th

Wed, 11 Jun 2008 00:00:00 +0000

Attaching client-side event handler to radio button list

If you want to react to changes on a ASP.net radio button list from the client side you have to attac

Fri, 06 Jun 2008 00:00:00 +0000

No unit tests?? Forget it!

I know a lot of people that look somehow skeptic to unit tests and unit testing in general. They see

Sat, 31 May 2008 00:00:00 +0000

Best practices: VCS usage flowchart

So now there’s the graphical representation of my yesterday’s post. Computer scientists u

Fri, 23 May 2008 00:00:00 +0000

Best practices: version control system usage

I come to the office in the morning, start Visual Studio and fetch the latest versions of the source

Thu, 22 May 2008 00:00:00 +0000

Extended User Management under XP

This will become just a very short post since I'm too tired to write a lot today. I just set up my li

Thu, 15 May 2008 00:00:00 +0000

Retrieving list of installed applications

From now and then it happens that you have to reset your workstation, meaning to reformat your hard d

Wed, 07 May 2008 00:00:00 +0000

C# refresher

Recently I changed work and am now employed at the SIAG, a local informatics company which operates m

Thu, 10 Apr 2008 00:00:00 +0000

Noo! Google Browser Sync deleted my Firefox bookmarks

I'm using Google Browser Sync already for a longer time since it is quite comfortable for synchronizi

Mon, 24 Mar 2008 01:00:00 +0000

Logical separation with MVC

I'm currently working on a personal project (which I'll publish here, so keep an eye on my blog ;) )

Sat, 22 Mar 2008 01:00:00 +0000

Beside hacking each day...

...at the computer, I recently started a non-computer-science-related project :) , one where I was ab

Tue, 18 Mar 2008 01:00:00 +0000

Java Generics: C++ class templates vs. Java class generics

Generics are a great thing. C++ already had already a similar mechanism called templates. This for in

Mon, 17 Mar 2008 01:00:00 +0000

My new domain: js-development.com

Right! That's my new domain. Finally I've bought one. I planned to do that already for a longer time,

Fri, 14 Mar 2008 01:00:00 +0000

Congratulations Dott.ssa Stefanie Franchi

I'd like to take the occasion to congratulate my girlfriend Dottoressa Stefanie Franchi to her succes

Sat, 26 Jan 2008 01:00:00 +0000

Creating simple backups with WinRAR

When I'm working on some code for a program I'm developing, I got into the habit of creating regular

Thu, 10 Jan 2008 01:00:00 +0000

Roundup of blogging-year 2007

It's 2008!! I hope everybody of you had a good start. Well, I've seen that many bloggers post some ki

Thu, 03 Jan 2008 01:00:00 +0000

Unknown protocol: d

Today morning when starting a general build of the project I'm currently working on, I got an error s

Sun, 30 Dec 2007 01:00:00 +0000

Speakers don't mute when plugging in headphones!

As you may have recognized from the last post I start using Linux more often. With the new upgrade to

Thu, 27 Dec 2007 01:00:00 +0000

Where has Beryl gone??

Yesterday I upgraded Ubuntu to the new 7.10 (Gutsy) version. I don't know whether you've read a post

Sun, 23 Dec 2007 01:00:00 +0000

Learning by understanding and reusing code, not by copying!!

Time ago - as you may have already read on this blog here - I started to experiment with the GME API.

Fri, 14 Dec 2007 01:00:00 +0000

News Mapper experiences a revival

After I first published my Google Mashup project "News Mapper", it immediately got published first on

Thu, 13 Dec 2007 01:00:00 +0000

Red-Green color deficiency: whats that??

Well, it is a special kind of color blindness and I'm actually one of those guys affected by it. Rece

Mon, 10 Dec 2007 01:00:00 +0000

Clean up your folder

It's actually not really worth to put a post about this...but anyway :) I recently coded just a simpl

Thu, 06 Dec 2007 01:00:00 +0000

TDD, JUnit 3.8 and JUnit 4

I don't know whether you already got in touch with Unit testing or TDD (Test-driven development). At

Tue, 27 Nov 2007 01:00:00 +0000

Mapplets on own website: illegal???

Today morning Alex - a friend of mine - wrote me a mail, pointing me to a pcwelt.de article with the

Fri, 16 Nov 2007 01:00:00 +0000

News Mapper has success!

My recent News Mapper mashup seems to have some success (at least for me :) ). Today I registered 114

Wed, 31 Oct 2007 01:00:00 +0000

News Mapper: A mashup experience with the Google Mashup Editor

Now in the two weeks after my successful graduation and before starting to work I found some space fo

Mon, 29 Oct 2007 01:00:00 +0000

Blog Action Day: Water pollution and waste

Yes, the title is right ;). I know that I usually post computer science related stuff on my blog here

Mon, 15 Oct 2007 00:00:00 +0000

Blog(ger's) Action Day

I'd like to to do a little promotion of the Blog Action Day since I find the idea quite useful and in

Wed, 10 Oct 2007 00:00:00 +0000

Appearing on BlugPulse

On Sunday 02 this blog was listed on the 6th position in the BlogBites section of BlogPulse. Accordin

Tue, 04 Sep 2007 00:00:00 +0000


Some of my blog-readers may have noticed the change in my layout. At the moment I'm just testing it (

Mon, 30 Jul 2007 00:00:00 +0000

How to close Safari 3 for Win?? It's easy, just add a bookmark!

Why that?? Simply because adding (or better trying to add) a bookmark will result in a total crash of

Fri, 22 Jun 2007 00:00:00 +0000

Qi Gong

Last week tuesday was my birthday and I received a nice set of "Qi Gong" balls (see picture) from my

Wed, 23 May 2007 00:00:00 +0000

What now: Program Files or Programme??

A friend of mine has recently acquired a new Dell notebook with a German copy of Windows Vista. On th

Sat, 28 Apr 2007 00:00:00 +0000

Syntax highlighting on Blogger

I recently found a JavaScript and CSS based syntax highlighting framework called dp.SyntaxHighlighter

Fri, 20 Apr 2007 00:00:00 +0000

Beryl window manager

Some time ago, I wrote a post regarding Ubuntu where I also mentioned about the nice visual effects p

Tue, 17 Apr 2007 00:00:00 +0000

Logging is useful

When I develop some application, I usually add a logging functionality to it. I find logging useful,

Tue, 03 Apr 2007 00:00:00 +0000

Vista and stability??

I don't have yet installed the new - so much promoted - operating system of Microsoft: Windows Vista,

Wed, 28 Mar 2007 00:00:00 +0000

When Windows tray-icons disappear misteriously

Recently when starting my computer, I noticed that some icons were missing in the notification area (

Fri, 16 Mar 2007 01:00:00 +0000

The first step in a long way....

I've always been a sporty person :). Already in elementary school I started to play soccer in a team,

Tue, 13 Mar 2007 01:00:00 +0000

Diving into a new area

I never really got into the Linux world. Last year I installed Suse Linux, but I used it rarely, main

Sun, 04 Mar 2007 01:00:00 +0000

Smiley-support for blog-entries

I like it to add smileys to my posts, since I find they make it much more personally. On my old homep

Tue, 13 Feb 2007 01:00:00 +0000

Moving to a new home...

The step is done... :) After Blogger left its beta phase, I entertained the idea of moving my current

Fri, 09 Feb 2007 01:00:00 +0000

Jens Oliver Meiert

The Frameworks Paradox

The more complex a website, the bigger the need for a framework, the less effective an external frame

Thu, 02 Apr 2020 16:55:01 +0000

On the Responsibility That Comes with Good JavaScript Support

According to our data, the classic idea of making sure websites and apps work without JavaScript bein

Thu, 26 Mar 2020 18:03:58 +0000

Round Table

I was late to discover Round Table, but joining this fine service association was one of the greatest

Thu, 20 Feb 2020 18:28:55 +0000

Professional Agile Leadership (PAL) Reminders and Resources

Notes, refreshers, as well as an alternative overview over Scrum.org resources for PAL certifica

Wed, 29 Jan 2020 14:10:45 +0000

HTML and CSS and the 2019 Web Almanac

The HTTP Archive’s Web Almanac is fantastic because it provides us with data about how we build what

Wed, 15 Jan 2020 14:37:21 +0000

If It Can Be Done Using an HTTP Header, Use an HTTP Header

The following is a (slightly modified) chapter from Upgrade Your HTML, which is “all about picking ex

Mon, 13 Jan 2020 15:46:25 +0000

How Running Your Own Website Is Much Better for You Than You Think

The typical argument for why professionals don’t have their own websites is usually that they don’t w

Fri, 03 Jan 2020 15:28:04 +0000


Another year, another retrospective. Factoids and data on life and work.

Sun, 29 Dec 2019 16:53:18 +0000

An HTML Optimizer’s Config for html-minifier

Jad (Joubran) asked me about my configuration for html-minifier the other week, and in a hurry I poin

Fri, 20 Dec 2019 17:14:23 +0000

On Leadership

Leadership is important, and it can be learned.

Mon, 02 Dec 2019 19:11:19 +0000

CSS: When to Use Logical Properties

Logical properties are great and long overdue. They are great because they solve an ugly problem of i

Fri, 22 Nov 2019 16:07:35 +0000

Website Optimization Measures, Part IX

Random improvements and notes around compression and caching, content security and feature policies,

Thu, 14 Nov 2019 16:19:59 +0000

Upgrade Your HTML (the Booklet)

I’ve written a very short book on improving HTML code: Upgrade Your HTML. Upgrade Your HTML is about

Mon, 04 Nov 2019 18:12:40 +0000

On Writing Better Markup

As HTML is so important and yet also so easy, everyone writes HTML, and everyone says they can write

Wed, 16 Oct 2019 15:16:52 +0000

The Developer’s Fallacy of Close Collaboration with Designers

Working closely with designers makes sense and is awesome, notably for mutual understanding and effic

Tue, 01 Oct 2019 15:40:59 +0000

“Must Work Without JavaScript”

That websites should work without JavaScript has a long professional tradition, and for apps much the

Thu, 05 Sep 2019 10:31:45 +0000

Optional HTML: Everything You Need to Know

Optional HTML can be left out to improve performance, to guide code comprehension, and to hone the cr

Tue, 20 Aug 2019 14:35:26 +0000

Sources 2019

In 2014, for idealistic transparency and enthusiastic link love, I’ve shared the feed sources I was f

Tue, 13 Aug 2019 16:54:38 +0000

When to use img, img@srcset, and picture and source

I’ve disliked srcset and the whole family of ideas around it from the start because doing the same th

Wed, 17 Jul 2019 13:25:25 +0000

13 Leadership Mistakes and How to Avoid Them

We’ve all seen approaches to team management and leadership that work, and others that don’t. A brief

Mon, 08 Jul 2019 13:54:54 +0000

Image Compression: How to Super-Easily Set Up Automated Base Optimization

Setting up image compression tooling is easy—and for those who want to err on the safe side automatic

Mon, 24 Jun 2019 18:26:24 +0000

The Problem with Web Development Checklists, or: The Frontend Checklist, Revised

Checklists are a great way to make sure nothing gets forgotten, yet they are problematic when they co

Wed, 19 Jun 2019 14:08:27 +0000

3 Reasons Against Ad Blockers

Ad blockers are popular. Yet, they also appear to be a problem. They appear to be a problem that can

Fri, 31 May 2019 15:03:36 +0000

Ciro Nunes

Warat Wongmaneekit

Minko Gechev

Dynamic imports solve all the problems, right?

Since Angular version 8, we support dynamic imports in loadChildren in the route declaration. In this

Sat, 11 May 2019 00:00:00 +0000

5 Angular CLI Features You Didn't Know About

I’ve been using Angular for years, not only the framework itself but the entire development pla

Wed, 06 Feb 2019 00:00:00 +0000

Introducing Bazel Schematics for Angular CLI

In this blog post, we want to share our new schematics for Angular CLI which provide Bazel build supp

Mon, 17 Dec 2018 00:00:00 +0000

Building TypeScript Projects with Bazel

In this blog post, we’ll make a brief introduction to what Bazel is and how we can build our Ty

Mon, 19 Nov 2018 00:00:00 +0000

Joining Google

The past five years I’ve been heavily involved in the startup space, both, here in the Silicon

Fri, 02 Nov 2018 00:00:00 +0000

Playing Mortal Kombat with TensorFlow.js. Transfer learning and data augmentation

While experimenting with enhancements of the prediction model of Guess.js, I started looking at deep

Sat, 20 Oct 2018 00:00:00 +0000

Fast, extensible, configurable, and beautiful linter for Go

About a year ago I decided to polish my Go skills. Although the language is pretty small compared to

Mon, 28 May 2018 00:00:00 +0000

Introducing Guess.js - a toolkit for enabling data-driven user-experiences on the Web

About two months ago I published my initial research[1] on data-driven bundling. A few weeks after th

Wed, 09 May 2018 00:00:00 +0000

Machine Learning-Driven Bundling. The Future of JavaScript Tooling.

In this article, I’ll introduce the early implementation of a few tools which based on techniqu

Sun, 18 Mar 2018 00:00:00 +0000

JavaScript Decorators for Declarative and Readable Code

Decorators in JavaScript are now in stage 2. They allow us to alter the definition of a class, method

Mon, 29 Jan 2018 00:00:00 +0000

3 Tricks For Using Redux and Immutable.js with TypeScript

In this post, I’ll show you a few tricks which can make your life using Immutable.js and Redux

Thu, 18 Jan 2018 00:00:00 +0000

Follow Your Dream Career with Open Source. Personal Story.

This time I’ll violate my principle to write only about purely technical topics on my blog. In

Thu, 28 Dec 2017 00:00:00 +0000

Redux Anti-Patterns - Part 1. State Management.

For the past year I’ve been working on a project which uses React with TypeScript and Redux. In

Thu, 07 Dec 2017 00:00:00 +0000

Faster Angular Applications - Understanding Differs. Developing a Custom IterableDiffer

In this article we’ll take a look at another Angular abstraction - the differs and more specifi

Fri, 17 Nov 2017 00:00:00 +0000

Faster Angular Applications - Part 2. Pure Pipes, Pure Functions and Memoization

In this post, we’ll focus on techniques from functional programming we can apply to improve the

Sun, 12 Nov 2017 00:00:00 +0000

Faster Angular Applications - Part 1. On Push Change Detection and Immutability

On AngularConnect 2017 in London, I gave a talk called “Purely Fast.” In the presentation

Sat, 11 Nov 2017 00:00:00 +0000

Understanding Dynamic Scoping and TemplateRef

This post will be dedicated to template references in Angular and dynamic scoping. Although the main

Sun, 01 Oct 2017 00:00:00 +0000

Implementing a Simple Compiler on 25 Lines of JavaScript

I already wrote a couple of essays related to the development of programming languages that I was ext

Sat, 16 Sep 2017 00:00:00 +0000

Developing Statically Typed Programming Language

In this blog post we’ll go through a sample implementation of a type checker, interpreter and a

Sat, 05 Aug 2017 00:00:00 +0000

WebVR for a Gamified IDE

In the first part of this blog post I discuss the idea of using virtual reality for gamification of m

Sun, 25 Jun 2017 00:00:00 +0000

7 Angular Tools That You Should Consider

In this article we’re going to quickly explore 7 Angular development tools which can make our e

Sun, 23 Apr 2017 00:00:00 +0000

Announcing ngrev - Reverse Engineering Tool for Angular

Have you ever been hired to work on a huge legacy Angular project with thousands of NgModules, compon

Sun, 09 Apr 2017 00:00:00 +0000

Implementing Angular's Dependency Injection in React. Understanding Element Injectors.

Recently I’ve been blogging mostly about Angular and it’s not by accident! Angular is an

Mon, 30 Jan 2017 00:00:00 +0000

Distributing an Angular Library - The Brief Guide

In this post I’ll quickly explain the minimum you need to know in order to publish an Angular c

Sat, 21 Jan 2017 00:00:00 +0000

Angular in Production

In this informal essay I’ll go through a case study of my experience in using Angular (2 and ab

Tue, 17 Jan 2017 00:00:00 +0000

Ahead-of-Time Compilation in Angular

Recently I added Ahead-of-Time (AoT) compilation support to angular-seed and got a lot of questions a

Sun, 14 Aug 2016 00:00:00 +0000

2.5X Smaller Angular 2 Applications with Google Closure Compiler

In the post “Building an Angular 2 Application for Production” we explored how we can dec

Thu, 21 Jul 2016 00:00:00 +0000

Using Stripe with Angular

Stripe offer a set of APIs which allow businesses and individuals to easily accept and manage payment

Tue, 05 Jul 2016 00:00:00 +0000

Building an Angular Application for Production

Progressive Web Applications help us build native-like web apps, thanks to amazing tools such as Serv

Sun, 26 Jun 2016 00:00:00 +0000

Implementing the Missing "resolve" Feature of the Angular 2 Router

For the last a couple of months I’m working on an Angular 2 based PWA. The more complex the app

Sat, 21 May 2016 00:00:00 +0000

Scalable Single-Page Application Architecture

In order to have better understanding of the following blog post you should be familiar with the fund

Sun, 10 Apr 2016 00:00:00 +0000

Managing ambient type definitions and dealing with the "Duplicate identifier" TypeScript error

Maintaining the angular-seed, I found out that the most common problem for developers using the proje

Mon, 28 Mar 2016 00:00:00 +0000

Static Code Analysis of Angular 2 and TypeScript Projects

So far, most of the blog posts I’ve written are tutorials; they explain how we can use given te

Mon, 29 Feb 2016 00:00:00 +0000

Enforcing Best Practices with Static Code Analysis of Angular 2 Projects

About two weeks ago I published the initial draft of a Community-driven Angular 2 Style Guide. It was

Thu, 18 Feb 2016 00:00:00 +0000

ViewChildren and ContentChildren in Angular

In this article I’m going to explain the difference between the concepts of view children and c

Sat, 23 Jan 2016 00:00:00 +0000

Dynamically Configuring the Angular's Router

Warning: This version of the Angular 2 router is now deprecated! This means that soon the used below

Wed, 30 Dec 2015 00:00:00 +0000

Angular 2 Hot Loader

A couple of months ago I watched a few talks from ReactEurope. I was truly impressed by a few of them

Mon, 26 Oct 2015 00:00:00 +0000

Lazy Loading of Route Components in Angular 2

Warning: This version of the Angular 2 router is now deprecated! This means that soon the used below

Wed, 30 Sep 2015 00:00:00 +0000

Aspect-Oriented Programming in JavaScript

Note: The following blog post is based on the library aspect.js, which can be found here.The object-o

Wed, 29 Jul 2015 00:00:00 +0000

Flux in Depth. Store and Network Communication.

This is the second, and probably be the last, blog post of the series “Flux in Depth”. In

Sat, 18 Jul 2015 00:00:00 +0000

Using JSX with TypeScript

JavaScript is a weird language although, we love it the way it is. However, I’ve had quite a pa

Sun, 05 Jul 2015 00:00:00 +0000

Flux in Depth. Overview and Components.

This is the first blog post of the series “Flux in Depth”. Is this “yet the another

Fri, 15 May 2015 00:00:00 +0000

Even Faster AngularJS Data Structures

This is the last post of the series “Boost the Performance of an AngularJS Application Using Im

Mon, 20 Apr 2015 00:00:00 +0000

Boost the Performance of an AngularJS Application Using Immutable Data - Part 2

A few weeks ago I posted the article “Boost the Performance of an AngularJS Application Using I

Sat, 11 Apr 2015 00:00:00 +0000

Angular2 - First Impressions

On 18th of September 2014 was pushed the initial commit of version 2.0 of the AngularJS framework. A

Mon, 06 Apr 2015 00:00:00 +0000

Build Your own Simplified AngularJS in 200 Lines of JavaScript

My practice proved that there are two good/easy ways to learn a new technology: Re-implement it by yo

Mon, 09 Mar 2015 00:00:00 +0000

Persistent State of ReactJS Component

ReactJS is a framework, by facebook, which adds some well known concepts into the UI development. Eac

Thu, 05 Mar 2015 00:00:00 +0000

Boost the Performance of an AngularJS Application Using Immutable Data

I have affinity to functional programming since my first year in college. During my initial contact w

Mon, 02 Mar 2015 00:00:00 +0000

Processing Binary Protocols with Client-Side JavaScript

Last couple of weeks I’m trying to build high-performance consumption of binary protocol throug

Fri, 06 Feb 2015 00:00:00 +0000

Stream your Desktop to HTML5 Video Element

In this blog post I’ll share how you can stream your desktop to HTML5 video element.All you nee

Wed, 31 Dec 2014 00:00:00 +0000

Multi-User Video Conference with WebRTC

This is a tutorial for how to implement a multi-user video conference with WebRTC, AngularJS and Yeom

Fri, 26 Dec 2014 00:00:00 +0000

Asynchronous calls with ES6 generators

ES6 generators have landed in Chrome 39 Beta on 9th of October and are already available in the stabl

Sun, 21 Dec 2014 00:00:00 +0000

Binary Tree iterator with ES6 generators

ES6 specification is being clarified every passed day! One of the key features of the new version of

Fri, 12 Sep 2014 19:07:34 +0000

WebRTC chat with React.js

In this blog post I’m going to share how could be build WebRTC chat with React.js. Before we co

Wed, 03 Sep 2014 00:00:00 +0000

AngularJS in Patterns (Part 3)

This publication aims to provide a more theoretical overview of some of the AngularJS components in o

Sat, 05 Jul 2014 00:00:00 +0000

AngularJS in Patterns (Part 2). Services.

This publication aims to provide a more theoretical overview of some of the AngularJS components in o

Sun, 08 Jun 2014 00:00:00 +0000

Using GitHub Pages with Jekyll!

I’m switching to GitHub pages with Jekyll. There are several reasons behind my decision: Faster

Wed, 28 May 2014 16:36:34 +0000

AngularJS in Patterns (Part 1). Overview of AngularJS

In this series of blog posts I’m going to cover the paper I’m writing at GitHub.It aims to provide a

Thu, 08 May 2014 00:00:00 +0000

Singleton in JavaScript

Wikipedia describes the singleton design pattern as: The singleton pattern is a design pattern that r