Hello, world.
This is a blog about application development web, desktop & mobile across a range of programming languages incl. JavaScript, C# and more.
These are interesting times for the web. Tag along as I get amazed on what the web can do, how AI is taking over the world, and sympathize my spectacular failures and stupidity.
Explore
- 📝 Posts — In-depth articles on web development, JavaScript, TypeScript, Vue.js, ASP.NET, and more
- 🗂️ Categories — Browse topics: JavaScript, Vue.js, TypeScript, ASP.NET, and more
- 🚀 Apps — Simple, powerful tools built for real-world use
Stay in touch!: 🐤Twitter | 🛜RSS | 🚀GitHub
Here are a few simple ways and powerful tools to test your email functionality when you are developing your awesome application.
The Case for Email Testing After working in CRM and dealing with millions of records, and dozens of fragile’ly built systems, I have been through imagined (and a couple of real) scenarios of email fiascos -
Sending out emails with wrong templates or to the wrong audience Sending emails in bulk from the wrong environment (good luck explaining that to an infuriated CTO) Wrong configuration that breaks tracing and you are left wondering whatever happened to the last email blast which did not record a single click While many of the systems I deal with are on cloud and we have to figure out intelligent ways to manage emails like domain forwarding, custom whitelisting, or outright ban emails - there are many custom systems that can provide better tooling. We can do quite a lot with free, simple-to-use services that can be deployed locally on a developer machine to fast-forward development.
...
Here’s a quick introduction to Razor pages in ASP.NET core, and an opinionated way to quickly start building applications using Razor pages. And yes, there is a case for using Razor pages even in 2020.
So.. ASP.net? Yes, indeed. I have had a love-hate relationship with ASP.NET through years. I am way less productive using ASP.net but cannot ignore the speed that a dotnet web server provides. Take into account the super debugging capabilities/tooling and the sizeable market that keeps providing projects on the platform, we surely have more than a winner in ASP.NET.
...
Excel is the only program you need to survive in IT. So, how about a template for tracking tasks in an Agile Scrum project?
Why Scrum? If you are looking for the answer on why agile / scrum -
You are in the wrong site That is well beyond the scope of this post In short: Scrum is a framework to run your project using Agile methodologies. Scrum’s objectives are -
Self-organise Learn by doing things and through experience Continuously improve Read more on Atlassian’s site.
...
How can you use packages being developed locally in other projects - without publishing them to npm repository?
NPM Packages Make Life Exciting NPM makes it really easy to create packages and reuse them across projects.
I am not even talking about big, useful libraries like Vue, Loadash etc. - just the routine problems across our projects.
For example -
I use a module to validate a bunch of things and start user subscription for an app I use similar starter theme for sites across projects It is easier to create NPM packages and reuse them instead of copying the code everywhere and starting the great struggle for its maintenance.
...
#rant that none asked for.
I came across this whitepaper on testing micro services. I clicked on this link because I am writing microservices now but I am fairly new to microservices.
I did a mistake that I have repeated 1593 times in the past. The said link was a resource by one of the big IT service providers.
While the work indeed is commendable - automating 4000 test cases is no joke, the content and approach for highlighting the “best practice” leave much to be desired.
...
How can you get automatic sidebars to be generated in Vuepress depending on the page?
The Situation Vuepress is simple.
Being simple is rather difficult. In the case of Vuepress, the difficulty can show up in unexpected places.
Starting with Vuepress is simple enough. Equally simple is enabling navigation on your site at multiple levels through a “sidebar” and/or a “navbar”. Specifically for the sidebar - you can enable in by adding a couple of lines in /docs/.vuepress/config.js.
...
You can refer to other files/folders using a simple require or using basic node libraries. But, how can you do that with npm packages?
The Problem When creating a bunch of Javascript files, here’s what you can do to refer other files -
const awe = require("../plugins/awesome.js"); This fetches awesome.js from the plugins folder in the parent.
You can do a more robust solution with -
const awe = require(path.join(__dirname, "../", "plugins")); __dirname fetches the current directory, and you just join that with the path to reach to the file or folder.
...
I had been meaning to use more of Fastify for work, but only made that a reality recently. So far I have had a great experience on the server framework.
What is Fastify? Fastify is a low-overhead server framework built on top of NodeJS.
Fastify was started in late 2016 and jumped to v1.0 in Q1,2018. So - it’s a comparatively younger framework. But that has not stopped it from having great ambitions.
...
I was getting back to Svelte for a small project and ran into a strange issue. npm run dev did not run the svelte app as expected - no output or errors.
First I create a new project.
npx degit sveltejs/template awesome-project-1 cd awesome-project-1 npm i npm run dev And, I get greeted with nothing. I did not have any errors or output to debug.
tldr;
Set config ignore-scripts to false and retry.
...
VestaCP is an easy to use control panel. You just need to know where to go for what!
The Problem SSLs are de-facto standards for web applications of today. How can you enable SSL for your own web app, preferably for free?
The Solution I am no Unix Guru and for the life of me, cannot enable domains, mails, etc. using just the command line. Well, I could some monkey typing to get everything up and running. But that is a lot of typing, Googling and going back and forth. And, as previously mentioned, I am still not a guy comfortable using Ansible and such.
...