On building your own tools

Building your own tools makes you a better programmer. Seriously. There is nothing more satisfying than the feeling of pressing a single button instead of doing some annoying job that you used to do before by hand and YOUR program or script runs off to do all your work for you and then it says:

All done, task took 35 milliseconds

Continue reading “On building your own tools”

Node.js based Forum: NodeBB

NodeBB is a Node.js based forum software that has gained a lot of traction in the first year of its existance. It’s making use of socket.io to communicate between client and server in real time. This means that the whole experience of using a forum gravitates towards the feeling of a chat, with the benefits of only tuning in on topics that interest you. Continue reading “Node.js based Forum: NodeBB”

CigTrack Day #6: Security and bcrypt

I’m a fan of improvisation, Duct-tape and hacking things into what you want them to do speedily and without a lot of testing. One of the areas, where I wouldn’t follow this approach is security.

Security is something many companies don’t take serious. Their servers get broken into, all their user’s data are stolen, leaked, etc. Not cool.

This is not because security is impossible, it’s because it’s just often ignored and can be expensive. Nothing is unbreakable, but in my opinion it’s worth to at least make an effort towards: hard to break. Continue reading “CigTrack Day #6: Security and bcrypt”

GHOST 0.3: A Themes Structure

The theme structure in GHOST is something I’ve been really waiting to take a look at, mainly because I build websites and run blogs. The default theme casper is built using the handlebars template engine and we’re going to have a quick look at how everything is set up. Firstly I have to notice a resemblense to WordPress, which I personally like. Continue reading “GHOST 0.3: A Themes Structure”

GHOST launched: first impressions

The first public alpha has been released to all GHOST backers right now. While some of the emails still are rolling out, you can access the GHOST launch page, even if you’re not a backer and read about what’s inside and what shortly will be released to everybody. Continue reading “GHOST launched: first impressions”

jsnews.de – German JavaScript blog

UPDATE: I have closed down jsnews.de, but I’m still writing about JavaScript in German on my other other German Blog: http://vollzeitblogger.de/tag/javascript/

I’ve just launched jsnews.de, which is JavaScript blag in German. I’m hoping to contribute to the German node.js and JavaScript community through fast news and comprehensive tutorials. Looking for a good resource in German, I didn’t find a lot of frequently updated pages, so I made one. Continue reading “jsnews.de – German JavaScript blog”

Poet – displaying an author link

I’m still fiddling around with poet, the node.js blog generator and it’s really easy to add additional meta information like an author link for collaboratively driven sites.

Assuming you want to power a site with poet as a multi-user blog, you can easily attach the meta information in the individual MarkDown files:

{{{
    "title" : "Amazing Tutorial",
    "tags"  : [ "JavaScript" ],
    "category" : "Sanity",
    "date" : "2013-07-20",
    "author" : { "nick" : "Jonathan", "url" : "http://jonathanmh.com"} // additional line
}}

After that, these informations will directly be available inside your templates when you render the posts. Assuming the views from the example repository, these are changes you could make to your template files:

post.jade:

extends layout

block content
	article.post
		h1
			a(href=post.url)
				= post.title
		span.date #{post.date.getFullYear()}.#{post.date.getMonth()+1}.#{post.date.getDate()}
		- if (typeof(post.author) != 'undefined')
			span.author
				p  by 
					a(href="#{post.author.url}") #{post.author.nick}

		div.post.content
			!= post.content
		div.tags
			- each tag in post.tags
				a(href=tagUrl(tag))
					span.label.label-info #{tag}

includes/postSnippet.jade

div.post
.script(console.log(#{post}))

	h1
		a(href=post.url)
			= post.title
	span.date #{post.date.getFullYear()}.#{post.date.getMonth()+1}.#{post.date.getDate()}
	- if (typeof(post.author) != 'undefined')
		span.author
			p  by 
				a(href="#{post.author.url}") #{post.author.nick}
	article.post.content
		!= post.preview
	div.tags
		- if (typeof(post.tags) != 'undefined')
			- each tag in post.tags
				a(href=tagUrl(tag))
					span.label.label-info #{tag}

With this method, you can add all kinds of meta information, that you might like with your posts 🙂

Poet – a node.js blogging platform

Poet is a great little node.js based project that allows you to start a blog in no time.

TLDR; Put a bunch of MarkDown files in a folder and it’s available as a blog to the rest of the world. I just started a new project for JavaScript and I of course wanted to run it on JavaScript, even before GHOST was released, so I went with Poet.

The description of the project by the author made me smile, so I’ll just quickly share this quote: Continue reading “Poet – a node.js blogging platform”

Ghost: Blogging Platform on node.js: I backed!

I just backed Ghost on Kickstarter. Ghost is, according to the ambitious authors, going to be a blogging platform based on node.js, that will be extendable with plugins and themes, like WordPress.

My incentive for throwing in 10£ was that backers get a month early access to the projects source code, whereas everyone else will be granted that about a month later. Time for me to poke at this project, which I am burning to do. Continue reading “Ghost: Blogging Platform on node.js: I backed!”