FreeBSD Desktop on the T400

The ThinkPad T Series is one of the most popular ever, which has led to consistent hardware design and broad support for it. Although the T400 was introduced in 2008 and produced up until 2010, it is very much suited to run the latest and greatest FreeBSD–10.1 in the current case. Here are the steps that led to a viable desktop installation using the i3 window manager, background info and a few security tips sprinkled on top.

FreeBSD Desktop on the T400 with xdm(1)

Read more...

Development Workflow in OPNsense

It’s pretty hard for me to approach a larger repository I have never worked with. The biggest issue is that few projects have defined development (as in actual coding) workflow laid out for new contributors, so one is just going to be stabbing in the dark for a few days or weeks until things start making sense. Speaking of sense, let’s explain how we’ve designed the development experience for OPNsense and how you can start contributing code in no time.

Read more...

OPNsense: Because Open Makes Sense

Cheers to the project!
I have to say that’s not my statement, but it’s very much true. Today we released OPNsense 15.1 including all of its source code. It has been the accumulation of work of the better half of a year for most of us and I think it is the right step at the right time. The lovely BSD community (FreeBSD in particular) deserves a project that listens to its users and adapts no matter the cost, no matter the hardship. Hard choices will have to be made along the road, but for now all that matters is that we are finally on this road together. I feel privileged to be a part of it. That’s all I have to say. :)

Setting Up a Package Mirror on FreeBSD

Welcome back! Today we’ll look briefly into how to setup a pkg(8) mirror on FreeBSD. Essentially, we’ll only need a bunch of binary packages for the mirror, pkg-create(8), a running HTTP server and a configuration file for the new mirror on your target system. You must know how to build packages for your target system — if that is the case you are ready to dive in.

Read more...

Creating Custom Packages on FreeBSD

Hi folks, long time no see. Today we are going to cover how to build pkg(8) (pkgng) packages away from the FreeBSD ports tree. This is useful for external/private repositories (mostly bigger ones or generally fast-moving) or non-conventional ports like database content or even system updates. pkg(8) itself provides the essential pkg-create(8) tool, as well as pkg-query(8), which we will use to generate embedded dependencies.

Read more...

libpeak: Improving Linked List Performance (2)

So part two of this series actually focuses on the use of macros, arguing about the perceived good and bad style and why it matters, before we get back on track with linked list performance… :)

Macros have long been the bane of C programming: they are stiff, hard to maintain, hard to read and so on. Well, I found that most issues are not directly related to macros. It seems that the matter is rather trivial: macros are a different world for most C programmers and many have never worked with them. Instead, let’s focus on a couple of benefits that macros can offer.

Read more...