BloggingHello world👋 The default blog post I just installed…Hello World! I thought for a moment to delete it and start writing my own posts, but what more…
.NetEntity Framework Proxy GetType() messWorking with the Entity Framework of .NET and having implemented a Repository Pattern with generics, I found myself in the position of…
BloggingAndroid bloggingI just installed the WordPress application on my Android phone so that I can always have the blog with me, even if I become dedicated this…
TipsGoogle Apps forwardingIf you’ve signed up for Google Apps, it may not be immediately apparent if email forwarders are supported; fortunately for everyone, they…
Blogging, PersonalBreaking promises...and asking santa for internet access.OK, I admit it… once again, I created a blog, wrote 2 posts, and left it for 6+ months! But today, times have changed, and I remembered its…
Online ShoppingAnnoying online salesrobotGoing shopping on a Saturday morning, even though we don’t feel like it, can be a common occurrence. We open our closet and realize that…
ToolsA picture is a thousand words. GreenShotAs a developer, taking screenshots has been a recurrent need for me. Whether it’s to demonstrate something to a colleague, include it in a…
Web Design, CSSPractical CSS3 tables with rounded corners - RedTeamDesignSearching as always for something unrelated, I came across an article by red-team-design.com that shows a great way to create beautiful HTML…
CodeWaiting for progressWhen an application has many time-consuming processes then a progressbar in the central form is necessary, so that there are not 20…
DockerWelcome to Ghost##Getting Started… again After such a long time that I have completely abandoned by blog, I decided I needed a fresh start, something to…
Tips, Docker, BloggingRunning Ghost inside docker behind nginx##Let’s get us some segregation So you want to run Ghost inside docker so you don’t have to mess around with your perfectly running server…
Tips, ToolsListing global npm installed packagesNow that yarn is all the hype, I am guessing a lot of people would want to reinstall their global packages using yarn. In order to find the…
Tools, DockerTeamcity agent as Docker containerUpdating teamcity agents with external project dependencies (e.g. gulp cli or nodejs version) can be a pain, especially if you have many…
BloggingAdding highlight.js to GhostMarkdown has an out of the box code formatting syntax using the single or triple ` symbol but it does not feature any syntax highlighting or…
IonicIonic2 VirtualScroll custom component workaroundSimply put virtual scroll is a performance related technique to have a scrollable list of a vast amounts of records that does not impact…
Tools, Security, TipsRemoving sensitive data from githubToday I accidentally pushed a commit containing an API key to github. It wasn’t an important API key, but could be. Reverting the commit…
ToolsNVM is hands down the best way to install nodejsWith NodeJS rapidly releasing newer version since the node community got back on its feet, it is now necessary to have an easy way to…
BashUpdating Cordova config.xml version using npm versionI like using npm scripts to do all my build and maintenance tasks. They are clear and can be reasoned with. I also like using the tooling…
Tips, ToolsRemoving remote and local git tagsWhen I first set up a teamcity build server I thought it would be a good idea to tag my git commits with the build number that teamcity…
OpinionsWhat's wrong with StackOverflowI have been a StackOverflow member for over 6 years now and as most developers nowadays, visit it a few times a day looking for possible…
Code, TestingTesting RxJS5 async methods in Angular2For some time now I am struggling to find a way to test RxJS code that uses functions with time in them. Let’s look at an example of what we…
CodeAdding type safety to Immutable.js with Typescript string literals and keyofUsing immutable data structures is all the rage and for a good reason. After having used immutables in some large projects I can personally…
Ionic, Code, TestingTesting Ionic presentablesI frequently come across the question of how we can test a presentable in Ionic. A presentable is component that is presented in a separate…
Ionic, CodeUsing environment config in Ionic2After you finish building your app and you are ready to deploy to the App Stores you will realize that you need to use specific variables…
CodeNodeJS async/await with retrySome time ago I wrote a microservice in plain es5 javascript running on node 4.x I recently wanted to make some changes to the service and…
Tools, TipsGit rerere to the rererescueWhen working on a feature branch you are sometimes isolated by all the fun that happens on the develop and master branches. You are…
Performance, CodeMeasure real world web performanceEvery developer at some point gets a task to make something faster. You might hear: Some of our users complain that this part of app feels…
Lifehacks, TipsI just discovered the best laptop sticker residue removerI really like laptop stickers. They make our boring work laptops seem a bit more jolly, so I stick a ton of them on the back of my macbook…
3D Printing, HobbiesBuilding my own 3D printerI have always been fascinated by the concept of creating something out of “nothing”. That is one of the reasons that led me to become a…
Tips, ToolsBatch resize pictures on Mac using PreviewResizing images can be a tedious task, especially if you have a large batch of them. But with the help of Preview on Mac, it’s a breeze…
Code, FirebaseWriting a Firebase function to modify user claimsHey there, long time no see! Have you ever wanted to give certain users in your Firebase project special privileges, like being able to…
Javascript, CodeManaging Collections in JavascriptIn many JavaScript applications, it’s common to have models that contain collections of other objects. For example, a user profile might…
Technology, AIIn the Era of ChatGPT and friendsAI technology is advancing rapidly and changing many aspects of our lives, including the way we communicate and write. One of the most…
Security, OpinionsSoftware security is a culture not a calendar eventAs technology continues to evolve, the importance of security in software and infrastructure becomes more and more critical. However, many…
3D PrintingFear of the warped bedVoron printers are known for their heavy-duty bed plates, which use an 8mm thick (or more) MIC-6 cast aluminum plate instead of a thin piece…
3D Printing3D printing resourcesThis is just a list of links related to 3D printing, mainly here for my own reference, but pretty sure you might find something useful in…
Technology, AIBing's great comebackToday, I decided to check the hype about the Bing search engine that got superpowers all of a sudden, by integrating with chatGPT. I mainly…
TipsHelp the Helpdesk! Send Info.Mobile apps are a crucial part of our daily lives, but when something goes wrong, it’s important to have a quick and easy way to contact …
Code, IonicMigrating an Ionic App to use Angular standalone componentsAfter upgrading some of our projects to Angular 15 and making sure everything works as expected, I decided it was time to delve into…
Security, TechnologyFinding an appropriate WAF might be harder than it looksWhen you deploy anything on the internet, it immediately becomes a target for cyber attacks. There are many measures that need to be taken…