Exploring WGSL compute shaders to implement ECS state management concepts| hugodaniel.com
A look into sub-pixels and why they can be useful to have.| hugodaniel.com
Creating an infinite grid of squares drawing multiple instances of the same single shape. Exploring a bit of what WebGL 2 provides.| hugodaniel.com
This article introduces shader-canvas, a graphics framework that is the fruit of my Web Components experimentations and WebGL experience. It describes the motivations behind it and the idea that triggered its development.| hugodaniel.com
This is the list of articles I have written while exploring Web Components. It details the possibilities of uncommon practices and puts them in use in shader-canvas, an abstraction of the WebGL API done with Web Components.| hugodaniel.com
Testing Web Components is a torny road. In this post I assemble three techniques that solved the majority of the situations I found in testing them.| hugodaniel.com
With custom tags, it is possible to use HTML to declare and decompose complex app states. In this post, I try to show a viable approach to do this.| hugodaniel.com
Shadow DOM displays its contents by default while hidding the original tag children. Can this be reversed? What kind of possibilities does it offer us if it does?| hugodaniel.com
I explore tag creation in this post. How can Web Components be used to create dynamic tags? And what use are they? As an example, I try to make a simple style container that uses them.| hugodaniel.com
:)|
This post is a quick write-up on some of my learnings in experimenting with Web Components. It focuses mostly on the small subset of their life-cycle methods that deal with initialization.| hugodaniel.com
After trying out Deno I got passionate about it. This post introduces my first Deno module, a simple preprocessor for HTML files that runs Deno where the new `` tag is specified. How useful can a simple file preprocessor be? What can it help build?| hugodaniel.com
Virtual Assistants have become quite common benefactors. What if an assistant could be evil? How far would you be willing to interact or react to it? Will it degrade, enhance, or even define the user experience?| hugodaniel.com
Web development has become a very complex field with many branches and tools to master. In this article, I suggest doing the inverse and use just a simple `index.html` file to manage all of the web app development scripts and assets. This might seem radical but does it make life more complex than using all those front-end tools we have become accustomed to?| hugodaniel.com
Taking a look back into the work done for Grid Generator and rethinking how much of it will go into 'Shape The Pixel'. With this new product shift, the core technical parts are going to remain the same while a lot of things are going away.| hugodaniel.com
The time has come to restart my previous bootstrapped drawing app into something different. In this new round it will resurface with a new name and very different development guidelines that disregard the common market/costumer analysis approach.| hugodaniel.com
TL;DR Here is a template for your new web app project: Svelte + TypeScript + Parcel + Rust|
Memory is cheap. It is not uncommon for smartphones to carry 2GB or more to play around.|
The purpose of this post is to introduce my personal project: Grid Generator. This is the first post about it since it went online on the 1st of July 2018.|
The last 6 months?|
WebSummit first day came with a mix of up and downs sprinkled with the duality of having the desire to scream with euphoria versus admiting that the event is nothing special to avoid stressing about it.|
About a month ago I was planning my WebSummit approach when I realized that I had never been to such an event. Much less have a stand of my project there.|
A few days ago I got an e-mail from the presidency inviting me to go to an event with the president of Portugal, Marcelo Rebelo de Sousa. This came within the WebSummit context, he wanted to be personally with some of the portuguese startups that are going to attend the WebSummit next week.|
I don't know where hackers (as in infosec wizards) eat in Lisbon. We do have a strong background of using things beyond their intended purpose (we call it "desenrascanço" and it is a basic trait of being born in the culture that has sprung here for centuries).|
In April 2016 I quit from the startup I was working to finally do a personal project. Back then the questions everyone asked me were mostly about money "How are you going to live ?".|
In most languages Set's have a clear strong use case: fast union, intersection and difference operations; unfortunately in JavaScript these operations are not readily defined so as an exercise I am going to raise some questions and try to answer them in this post.|
Recently I was somewhat "forced" to think about the story behind the idea I am working on. If you go to these startup and entrepreneurship events you will see that most projects have some kind of a story behind them.|
Personally I find it impossible to answer this question. I feel that it was not me who actually took the decision to go to the WebSummit. Even though I did.|
Any JavaScript spaghetti worth its salt won't keep track of its objects references or their updates.|
When dinossaurs ruled the earth there was a young kid that had just installed Red Hat Linux 5 on his computer.|
Using console.log() to debug JavaScript, a dynamic weakly-typed interpreted language, feels like drinking beers on a lazy summer sunday afternoon.|
It has passed a year and a couple of months since I started bootstrapping "a painting web app". A lot has happened since that time, here is a quick TL;DR:|
Like most of the country in the 80's, Alenquer, the village where I was born, was trying to modernize itself in what can be considered an insurgence against its rural past.|
2016 was a year of change. I stopped working full-time as a programmer and decided to dedicate some of that time to personal projects. I made plans.|
One of the fastest functions that can be run inside requestAnimationFrame goes something like this:|
A lot has happened since the last post on this series. Against all odds the portuguese football team won the Euro2016, their first international cup! Summer also hit us hard shortly after that, heavy migrations towards the south (algarve) and the "fire season" started, consuming the green portions of this rectangular land.|
This week was a blast! I took 3 days off and only worked thursday and friday.|
Painting stuff on a <canvas> is easy, call HTMLCanvasElement.getContext() to get the CanvasRenderingContext and then use its functions to express yourself.|
Lisbon is in party, this year the anual city holiday is happening in sync with a national holiday.|
Two months have passed since i quit my job with the plan of taking some time to develop a few ideas that have outgrown me enough to earn the respect of a full-time dedication.|
Some basic info about me| hugodaniel.com
A look into the color relations that went into creating a simple color palette generator.| hugodaniel.com