Random Notes

Viewing posts for tag mebe.

Blog Moved to New Server, Mebe Refactoring

After moving Code::Stats to its own server, the old Online.net box this blog was running on was going to waste, and more importantly, wasting my money. So I got a new tiny box from Hetzner and finally got over to dumping the blog on it. But of course I had to use the opportunity to also refactor it a bit…

Read more…

Mebe 2: Elixir Boogaloo

After quite some time in development, I’ve now deployed Mebe 2 on this site, to replace the aging Mebe codebase. The earlier blog engine was written with Phoenix, which while being a great framework, was a bit heavy handed for the engine’s minimal needs. Mebe 2 has the old engine’s Markdown parsing and DB logic, but the web side is totally rewritten. The framework I chose is Raxx, because it’s quite minimal but also mainly because I just wanted to learn it. Alternatives are good.

The new blog engine has proper Distillery releases, so keeping it running and making new fixes and features is a lot easier. It’s still in very early development, though, as it’s missing tests and proper docs et cetera, but I figured I’d start dogfooding it already, as this remake process has kept me from writing new posts. So hopefully in the near future I’ll come out with some new stuff! See you till then!

Testing GitLab and Moving Mebe

I’ve known GitLab has existed for a long time, but haven’t really paid any attention to it before. This week I decided to take a closer look and it looks really nice. The UI is much better than the new horrid BitBucket UI at least, and it offers free private repos like BitBucket does. As a bonus, it’s mostly open source and that’s something I want to support.

So I’m moving at least all my stuff from BitBucket over, like Mebe’s repo. Not sure yet if I’ll move Code::Stats’s stuff over. GitLab’s builtin CI stuff does seem tempting though.

FBU: My First Build Tool™

EDIT 2017-04-04: I have since renamed the project to MBU: Mix Build Utilities and published it on Hex.pm: hex.pm/packages/mbu. I have edited the links and code examples in this post to reflect that.


tl;dr I wrote my own build tool using Elixir’s Mix: Nicd/mbu.

It’s no secret that I somewhat dislike the state of modern web development. JavaScript is its own terrible world, but one of the sad parts of it is the ecosystem and tooling around it. There’s a lot of innovation and hard work going on in very many fragmented projects, resulting in reimplementations of already solved problems and a ton of half working, alpha quality, 0.x versioned packages with unknown support status. With these packages, you start your project by building an elaborate house of cards that is the build system. And you dread the day when you need to touch it again.

Read more…

Mebe Forked

Just noticed someone has forked Mebe into their own version. Haven’t looked at it more thoroughly, but looking at the feature list they have added lots of useful stuff and removed stuff that Mebe still has that is specific to my own blog (I’m working on removing them piece by piece). If interested, you should totally check it out on Github: https://github.com/nmqanh/geekpress.

This is the first project I have that has been forked by someone, makes me feel all warm and fuzzy inside. 😊 Though also a bit embarrassed of all the things they have had to fix in the engine… Anyway, such a great motivator to see someone use something you have created.

More Mebe Benchmarks

You may remember that earlier this fall I found out just how much faster a 2048-bit HTTPS certificate is for the server to handle. Now that I got one from Let’s Encrypt, I decided to redo the performance tests with the new certificate all set up. Since I ran out of credits on my blitz.io free account, I did the new tests with loader.io’s free tier instead. That’s why the graphs are a bit different this time.

Before I go into the HTTPS results, I will bring some context. You might remember that last time I got about 730 requests per second served over HTTPS with a 2048-bit key, and about 1380 requests per second for plain HTTP. Quoting myself from that time: “So fast… 🚀”. Turns out I spoke too soon. By disabling some extraneous console logging, I was able to more than double the performance. Let’s see the latest results.

For reference: The server is an online.net Dedibox XC with an 8-core Intel Atom C2750 processor and 8 GB of DDR3 RAM.

Read more…

New Server!

So I went and ordered myself a new server. My old one was a VPS from Linode with 1 core, 1 GB of RAM and a 24 GB disk. The new one is a dedicated server from online.net with 8 cores, 8 GB of RAM and 1 TB of hard disk space. At the same time it is only slightly more expensive so I jumped at the opportunity. How reliable it actually is will only be shown with time, but I like living on the bleeding edge. So I thought I would write a blog post about all the stuff I run into when setting up the new server. Note: This post is meant for reference only, not as a guide. Be sure look for recommendations from people wiser than myself regarding any security settings.

Read more…

Mebe Updated with RSS Feeds

Last night, when I was supposed to go to bed early, I instead decided “I’ll just quickly code that one thing”. Way too many hours later it was ready: Mebe now has RSS feed support. There are two types of feeds, one for all posts in general and another for tag feeds.

This means you can now follow this blog with your RSS reader too. Just subscribe to /feed. Or, if you want to follow a certain tag, subscribe to /tag/tagname/feed.

PS.: RFC 822 dates are stupid. Just look at this abomination I came up with.

Mebe and the Remote Shell

What better way to spend a slow weekend than by writing another blog engine? Plenty, actually, but that’s what I did anyway. The result of this work: Mebe! This blog is now powered by a wonderful mix of Elixir and Phoenix. It has all the features that Laine had, with the addition of an actually working Disqus comment system. It’s also search engine indexable, which I thought I didn’t care about, until I didn’t have it anymore. Not that I’m aiming for tons of visitors, but writing about some tech problem I have fixed is kind of pointless if no one can find the post by googling for it.

Read more…