Fun project: HipChat integration with AWS Lambda

TL;DR: I made a hobby project that gets the pull requests that still need code reviews from Bitbucket and posts a notification message on HipChat to inform developers. It’s written in JavaScript (nodeJS). Travis CI automatically deploys it to AWS as a Lambda function. AWS CloudWatch is used to trigger the function hourly. Continue reading “Fun project: HipChat integration with AWS Lambda”

A quickstart Maven archetype for Java 8

As a Maven rookie, I often use the quickstart archetype from Maven when I want to create a new Maven project. Unfortunately, that archetype is a bit outdated, which means I have to tweak some details before I can actually use it. I guess I got a bit tired of this and I thought I could create my own archetype that is ready to use.

Continue reading “A quickstart Maven archetype for Java 8”

Thinning ZFS snapshots

I have a small mini PC at home that is always turned on. It runs Ubuntu 14.04 (I plan to upgrade to 16.04).┬áIt sits at the living room and it doesn’t make any noise, so it acts as a media server. I watch movies and TV series from there. I used 3 external disks, 2TB each, to make a ZFS raidz1 pool of 4TB. What is ZFS you ask? Continue reading “Thinning ZFS snapshots”

BlogEngine.NET MVC – Progress update

Here's a short update on what I've been working on. Time is a bit limited but I like to hack around in this project and that's what it's all about!

  • Implemented Category and Tag pages
  • Initial implementation for RSS feed
  • Showing comments in the post page
  • Implemented Add, Edit, Delete, Restore and Purge actions for Posts and Pages
  • Started working on a blog settings page

I'm thinking of perhaps setting up an issue tracker to maintain a log of what needs to be done and what has already been done. I don't think I can do that in CodePlex, because that would have to be a tracker just for my branch and I don't think that's supported. Or maybe set up some rough goals like milestones of the project. I'll see how it goes…

One comment on the Restore and Purge actions: in BlogEngine.NET, when you delete a post or a page it doesn't get completely deleted. It is marked as deleted, but the post file is still there (if you're using the default file based storage). To really delete it, you need to empty the recycle bin in the admin UI. I have taken a different approach in the pages that show lists of posts (homepage, category page, tag page, etc):

  • you see all the posts (or pages) you're allowed to based on your permissions
  • that includes deleted posts too!
  • unpublished and deleted items are presented with a small text label that indicates their status

I find this view a bit simpler, at least for now… of course the recycle bin concept is probably better (you delete a post for a reason, you don't want to see it in your face all the time) but that will come later.

Things to come up next:

  • pagination for homepage and similar pages
  • submitting comments
  • uploading images to a post (I want to use ImageResizing.Net here)
  • implement contact form
  • implement blog settings page (only settings that are used).
  • support markdown formatting in posts and pages

and more, much more!