Dropping WordPress for Astro built by Claude Code
WordPress has been the platform for our blogs since the company's founding in 2007.
May 18, 2026 · Dejan Murko
Designing your WordPress blog with a Tailwind CSS theme
Tawind is a WordPress theme that uses Tailwind CSS.
Oct 7, 2025 · Dejan Murko
Subdomain vs Subfolder: The SEO Debate Settled
So, should you have your blog on a subdomain or a subfolder?
Oct 5, 2025 · Dejan Murko
Using Cloudflare Workers to proxy a WordPress blog to domain.tld/blog
TL;DR: If you have a WordPress blog deployed on a subdomain of your main website, and you want to show it under /blog for SEO purposes, use Cloudflare Workers.
Oct 2, 2025 · Dejan Murko
Fast development on NixOS
We've been using NixOS for a few years, and it has proven to be a stable and reliable OS.
Nov 10, 2022 · Gasper Vozel
Indispensable pytest plugins
I’ve been babbling on about testing for a decade now.
Oct 7, 2022 · Neyts Zupan
How we spent $980,000 on a failed SaaS project
Three months after we closed the sale of WooCart (hosting for WooCommerce stores), our project that was gonna “make it big”, I am ready to review the full…
May 23, 2022 · Dejan Murko
Standing on the shoulders of giants
Whether we know it or not, we build things based on the work done before us.
Feb 25, 2022 · Gasper Vozel
Nix build on a diet
At Niteo, we are using nix-shell to build isolated development and production environments.
Feb 13, 2022 · Neyts Zupan
Deploying +100 servers with GitHub Actions
Last year we decided to replace our Ubuntu servers with NixOS.
Sep 24, 2021 · Gasper Vozel
Concurrency in Go
Concurrency in Go is an extensive topic, and we won't cover all the things in this post.
Sep 20, 2021 · Gasper Vozel
Lowering H12 errors on Heroku
This post will briefly discuss H12 errors on Heroku, more commonly known as request timeouts, how we tackled them, and how we fixed them.
Nov 25, 2020 · Gasper Vozel
Staging like it's 2020
Last year, we wrote a blog post on how we use Heroku's Review Apps to create staging apps for every Pull Request submitted to a project's repository.
Sep 14, 2020 · Neyts Zupan
Project isolation beyond requirements.txt
I've been a Python dev for almost 15 years now and I've recently completely overhauled how I keep my development tools and dependencies in check.
Apr 16, 2020 · Neyts Zupan
NixCon 2019
It's been a few years since I've been to a smaller conference and I made the right choice to visit NixCon 2019.
Nov 20, 2019 · Gasper Vozel
Reading Nix expressions
These are my notes from the Reading Nix expressions talk in NixCon 2019.
Nov 20, 2019 · Gasper Vozel
Robust REST APIs with Pyramid
It's almost a year since we started working on a new project: WooCart.
Jun 3, 2019 · Neyts Zupan
Why everyone at Niteo loves checklists
At Niteo we love using checklists.
Mar 22, 2019 · Dejan Murko
Why we are backing Earnest Capital
I always had a vision for Niteo to grow into a factory of sane startups.
Mar 11, 2019 · Neyts Zupan
Staging like it's 2019
Here at Niteo we’ve been delivering continuously since about 2011.
Mar 5, 2019 · Neyts Zupan
IRL#6: Marrakesh
It was that time of the year again, to spend a full week of in-person time with fellow Niteans in an amazing city!
Feb 6, 2019 · Neyts Zupan
Export Plone to PDFs
Since many years ago, we've had a private installation of Plone in Niteo that we call Intra.
Jan 19, 2019 · Neyts Zupan
Resuming uploads to Amazon S3
I am escaping continental winter at the moment which means my internet connection is not perfect.
Feb 24, 2018 · Neyts Zupan
IRL#4: Istanbul
Last month we again held our biannual in-person gathering of all Niteans, the IRL.
Feb 16, 2018 · Neyts Zupan
AWS EC2 gotchas
Lately, AWS has been giving us a lot of headaches on the Easy Blog Networks project.
Feb 14, 2018 · Janez Troha
Recording Talks
Last year on IRL#2, our biannual in-person get-together, we decided to start recording talks, so that those that could not attend in person would be able to…
Feb 12, 2018 · Neyts Zupan
Upgrading our Intranet to Plone 5
While we haven’t done any Plone consulting (well, \any\ consulting to be exact) in over 3 years, we still use Plone internally, every single day.
Mar 16, 2017 · Neyts Zupan
Strings in Python 2 and Python 3
The goal of this post is to show you how to properly use encode and decode in python 2 and in python 3.
Dec 14, 2016 · Gasper Vozel
A dev’s MacBook from scratch
I’ve been a long time Apple user.
Oct 6, 2016 · Neyts Zupan
Dear Plone, welcome to year 2014
TL;DR: Production-level Plone on free-tier Heroku: <https://github.com/niteoweb/heroku-buildpack-plone> First, a bit of history: it was year 2006 and I was…
Jul 30, 2014 · Neyts Zupan
Setuptools - run custom code in setup.py
A week or so ago I started developing an experimental Python package for one of our projects.
Aug 15, 2013 · Peter Lamut
Write a Plone CLI maintenance script
This is a quick tip on how to write your own command line maintenance scripts for your Plone application.
Jul 31, 2013 · Peter Lamut
Load overrides.zcml in plone.app.testing
Today I was working on a project where we use overrides.zcml to easily override some default Plone behavior.
Mar 8, 2013 · Neyts Zupan
Dexterity vs. Archetypes
TL;DR: migrating your Archetypes content to Dexterity shrinks your Data.fs considerably!
Feb 16, 2013 · Neyts Zupan
Raspberry PI boot to browser
Here at NiteoWeb, we use various SaaS monitoring and logging providers such as Librato Metrics and Papertrail to keep on top of our Plone and Pyramid projects.
Jan 22, 2013 · Neyts Zupan
Convert z3c.form field desc. to tooltip
Let's say you have a typical form with some input fields.
Dec 14, 2012 · Peter Lamut
How to change element's ID with Diazo?
A common scenario: on your website all subpages share a common header, but you want a different header on the front page.
Dec 13, 2012 · Peter Lamut
Robot on Travis - uploading results to S3
This is a walkthrough of how one could upload to Amazon S3 screenshots and other output files produced by Robot framework ran in a Travis CI build.
Nov 15, 2012 · Neyts Zupan
10 days to sprint in Antwerp!
The Belgian Beer Sprint is nearing ever so closer!
Jun 28, 2012 · Neyts Zupan
Testing log output
ATTRIBUTION: This post was inspired by Domen's Mocking logging module for unittests post back from 2009.
Jun 3, 2012 · Neyts Zupan
Fixing unresolved dependencies error
For a while now we've been getting the following errors on one of our sites:
Mar 23, 2012 · Neyts Zupan
OpenVPN over SSH
I've recently moved to Barcelona to continue my Computer Science studies on UB.
Feb 9, 2012 · Neyts Zupan
Professional Plone 4 development review
If you are doing Plone 4 development, go buy this book.
Nov 20, 2011 · Neyts Zupan
Plone 4 dev on Lion
Recently I upgraded to OS X Lion and here are my notes on how I got my working environment working.
Sep 15, 2011 · Neyts Zupan
collective.table, report #3
A week ago, myself and my mentor both participated in the Plone Sauna Sprint.
Aug 8, 2011 · Neyts Zupan
collective.table alpha release
It's now past the mid-term evaluation deadline for my Google Summer of Code project and it's time to release my work out to the wider community to receive…
Jul 21, 2011 · Neyts Zupan
collective.table GSoC report
It's now been over a month since I started my Google Summer of Code project.
Jul 4, 2011 · Neyts Zupan
Collective SVN project -> GitHub
More and more Plone projects are being migrated over to GitHub for various reasons.
Jun 9, 2011 · Neyts Zupan
Assertion `t_size >= b_size' failed
Recently, when migrating a Plone 4 site from one VPS server instance to another, we had the following problem: We were not able to start Zope with Supervisord…
Mar 22, 2011 · Neyts Zupan
Multiple configurations for Tunnelblick
A while ago I wrote about configuring Tunnelblick OpenVPN client for OS X.
Feb 26, 2011 · Neyts Zupan
Finding bad blocks on USB flash drives
After a recent thorough cleaning of my office desk I found a handful of USB sticks.
Feb 1, 2011 · Neyts Zupan
Deploying Cyn.in 3.1.3 on CentOS 5.4
Last week we were upgrading Cyn.in to the latest version.
Jan 10, 2011 · Neyts Zupan
Testing memoized methods
For a recent Plone project we needed to write unit tests for methods that were using plone.memoize for caching return values.
Jan 6, 2011 · Neyts Zupan
Order of 'parts' when compiling lxml
CentOS's repos don't have a working version of libxslt (you need 1.1.20, repos have 1.1.17) so we need to statically compile it for collective.xdv to work.
Jan 5, 2011 · Neyts Zupan
Upgrade Cyn.in 2.1 to 3.1.3
We started using Cyn.in for internal documentation repository about 2 years ago.
Jan 3, 2011 · Neyts Zupan
Secure IM for internal communication
During this summer we finally got some time to review our internal working processes.
Oct 18, 2010 · Neyts Zupan
Click2Sell integration for Plone
After integrating Clickbank with Plone last month we decided we also need integration with Click2Sell affiliate marketing network.
Oct 15, 2010 · Neyts Zupan
Compiling lxml on 64bit CentOS
A few days ago I encountered a problem while deploying Plone 4 with collective.xdv to a CentOS cloud instance.
Aug 24, 2010 · Neyts Zupan
DD-WRT + Tunnelblick = OpenVPN
Debating about VPNs on the Sauna Sprint, sprinters convinced me that we should use VPN for remote access to our internal services in our office.
Aug 12, 2010 · Neyts Zupan
Clickbank integration for Plone
So you want paid membership on your Plone site?
Jul 13, 2010 · Neyts Zupan
MladiPodjetnik.si performance tweaks
MladiPodjetnik.si is a portal we've been actively developing since 2006 and has since seen 3 revisions.
May 19, 2010 · Neyts Zupan
New Plone website - Vodja.si
It's time for a new website release.
Apr 30, 2010 · Neyts Zupan
New project - BigContentSearch.com
Last week we introduced a new project - BigContentSearch.com.
Mar 1, 2010 · Neyts Zupan
OS X specific .cfg for collective.xdv
The collective.xdv manual on plone.org tells you how to customize your buildout.cfg in order to be able to run collective.xdv on OS X.
Feb 23, 2010 · Neyts Zupan
New Wordpress sites
In the past few months we've deployed 3 new Wordpress sites.
Feb 14, 2010 · Dejan Murko
New Plone website - LifeInLjubljana.si
During the first month of 2010 we've been busy developing a new site for Erasmus students in Ljubljana - LifeInLjubljana.si.
Feb 1, 2010 · Neyts Zupan
Testing session in Plone 3.3
Yesterday, while I was working on LifeInLjubljana.si, I had to test if some data was correctly written to Plone's session.
Jan 7, 2010 · Neyts Zupan
unrestrictedGetObject()
Argh!
Dec 15, 2009 · Neyts Zupan
CWPortlets, Scrawl and DISQUS
Following previous post, here are instructions to get above mentioned products running on Plone 4 Alpha 2.
Dec 12, 2009 · Neyts Zupan
Plone4 + collective.xdv + deco.gs
Here at NiteoWeb Ltd.
Dec 6, 2009 · Neyts Zupan