1 00:00:00,000 --> 00:00:03,400 Welcome back to the deep dive, you know, this is the place to be. 2 00:00:03,400 --> 00:00:07,400 If you want a true shortcut to being instantly well informed today, 3 00:00:07,400 --> 00:00:10,840 we're cutting right through all the usual complexity of web development. 4 00:00:10,840 --> 00:00:13,800 We're focusing on something that's really designed for the person 5 00:00:13,800 --> 00:00:17,160 who just wants to get online now, fast, simple, and, you know, 6 00:00:17,160 --> 00:00:20,040 without all those database headaches that usually trip up beginners. 7 00:00:20,040 --> 00:00:25,800 So our mission today is a deep dive into something called H T M lie. 8 00:00:25,800 --> 00:00:29,040 It's a database list, PHP blogging platform. 9 00:00:29,200 --> 00:00:31,200 Now, that might sound a little obscure, but trust us, 10 00:00:31,200 --> 00:00:33,880 the technical promises here are, well, they're huge. 11 00:00:33,880 --> 00:00:36,720 We're going to explain exactly what a flat file CMS is, 12 00:00:36,720 --> 00:00:39,520 why it's such a win for simplicity and speed. 13 00:00:39,520 --> 00:00:42,640 And based on the material, just how quickly you can go from zero 14 00:00:42,640 --> 00:00:44,600 to a really powerful functioning site. 15 00:00:44,600 --> 00:00:47,440 And before we jump in, a quick thank you to our supporter for this deep dive. 16 00:00:47,440 --> 00:00:49,080 We're sponsored by Save Server. 17 00:00:49,080 --> 00:00:51,800 Save Server ensures the hosting of this software and supports you 18 00:00:51,800 --> 00:00:53,360 in your digital transformation. 19 00:00:53,360 --> 00:00:57,040 You can find out more at www.safeserver.de. 20 00:00:57,240 --> 00:00:59,640 OK, let's unpack this, because we're really talking about 21 00:00:59,640 --> 00:01:01,880 just eliminating complexity. 22 00:01:01,880 --> 00:01:05,600 When people start a blog, you know, the first couple of hours 23 00:01:05,600 --> 00:01:08,760 are often spent just fighting with databases, setting up users, 24 00:01:08,760 --> 00:01:11,120 connecting to MySQL, all these config files. 25 00:01:11,120 --> 00:01:13,600 HTML just bypasses all of that. 26 00:01:13,600 --> 00:01:16,960 Its whole focus is on high performance and accessibility, 27 00:01:16,960 --> 00:01:20,160 making sure you don't need a ton of technical knowledge or, 28 00:01:20,160 --> 00:01:22,440 you know, heavy server resources to get going. 29 00:01:22,440 --> 00:01:25,680 And that shift in focus, that's what makes this so important for beginners. 30 00:01:25,720 --> 00:01:28,720 That's the perfect setup, actually, because it brings us right to that term 31 00:01:28,720 --> 00:01:33,040 database list. I mean, for most people, a CMS like the big ones out there, 32 00:01:33,040 --> 00:01:36,280 they are completely reliant on these complex data structures. 33 00:01:36,280 --> 00:01:39,480 So what happens when HTML just says, no, we don't need that? 34 00:01:39,480 --> 00:01:43,720 Why is dropping that database such a massive, massive advantage? 35 00:01:43,720 --> 00:01:46,640 Well, when we say database list, we're really just classifying it 36 00:01:46,640 --> 00:01:48,040 as a flat file CMS. 37 00:01:48,040 --> 00:01:50,800 So instead of using something like MySQL to organize data 38 00:01:50,800 --> 00:01:54,920 and all these complex tables, it just it stores everything. 39 00:01:55,000 --> 00:01:59,320 Content, metadata, settings in plain text files right on your server. 40 00:01:59,320 --> 00:02:02,120 Think of it less like a sophisticated library catalog 41 00:02:02,120 --> 00:02:05,640 that needs a special search engine and more like a set of perfectly organized 42 00:02:05,640 --> 00:02:07,520 folders and documents. 43 00:02:07,520 --> 00:02:10,680 OK, so it's literally just files and folders. Exactly. 44 00:02:10,680 --> 00:02:15,120 And for a beginner, the advantage is an almost instantaneous setup. 45 00:02:15,120 --> 00:02:18,640 You have fewer moving parts, fewer connections to worry about securing 46 00:02:18,640 --> 00:02:23,760 and critically, just less complexity to troubleshoot when something goes wrong. 47 00:02:24,160 --> 00:02:26,480 The core promise, and this is a quote from the sources, 48 00:02:26,480 --> 00:02:29,720 is that this lets you create a fast, secure and powerful website 49 00:02:29,720 --> 00:02:31,560 or blog in seconds. 50 00:02:31,560 --> 00:02:33,480 That's the whole philosophy. I like that analogy. 51 00:02:33,480 --> 00:02:35,960 So if the content is managed in these simple files, does that mean 52 00:02:35,960 --> 00:02:38,680 we're like manually editing text files all the time? 53 00:02:38,680 --> 00:02:41,680 Or do you still get that familiar dashboard experience you'd expect? 54 00:02:41,680 --> 00:02:43,200 No. And that's the beauty of it. 55 00:02:43,200 --> 00:02:48,040 It's a hybrid approach, which really reinforces that whole easy philosophy. 56 00:02:48,040 --> 00:02:51,800 You absolutely get a traditional web based dashboard 57 00:02:51,800 --> 00:02:54,960 where you can write your posts, manage all your settings and so on. 58 00:02:54,960 --> 00:02:58,680 OK. But and this is the cool part, if you're comfortable with it, 59 00:02:58,680 --> 00:03:03,160 you also have the flexibility to manage content right from the file system. 60 00:03:03,160 --> 00:03:06,880 Yeah. So if you need to, say, upload a whole batch of articles at once, 61 00:03:06,880 --> 00:03:10,200 you can just drop the files on your server via FTP. 62 00:03:10,200 --> 00:03:11,800 It's incredibly powerful. 63 00:03:11,800 --> 00:03:14,080 OK, so this is where it gets really interesting for me 64 00:03:14,080 --> 00:03:17,400 and maybe where I have to challenge the premise a little bit. 65 00:03:17,400 --> 00:03:20,160 Databases were invented for a reason, right? 66 00:03:20,840 --> 00:03:24,160 Because file systems can get incredibly slow and you have a lot of data. 67 00:03:24,160 --> 00:03:28,400 So how can something database list claim to be truly fast 68 00:03:28,400 --> 00:03:30,040 and handle a massive scale? 69 00:03:30,040 --> 00:03:33,440 I'm talking thousands of posts without hitting some huge bottlenecks. 70 00:03:33,440 --> 00:03:36,320 That is the central engineering marvel of the system. 71 00:03:36,320 --> 00:03:37,840 It really comes down to a tradeoff. 72 00:03:37,840 --> 00:03:41,480 It shifts complexity away from the query phase and into an indexing phase. 73 00:03:41,480 --> 00:03:45,600 See, traditional database systems run these complex dynamic queries 74 00:03:45,600 --> 00:03:49,240 every single time someone loads a page, and that introduces overhead. 75 00:03:49,600 --> 00:03:51,520 HTML just avoids that entirely. 76 00:03:51,520 --> 00:03:54,920 It uses a unique algorithm that's designed to find and list content 77 00:03:54,920 --> 00:03:57,920 based on an optimized index of file metadata. 78 00:03:57,920 --> 00:04:00,040 So it's not performing a live search every time? 79 00:04:00,040 --> 00:04:03,960 Precisely. It's like a relational database is dynamically searching 80 00:04:03,960 --> 00:04:06,520 a giant mixed pile of information every time. 81 00:04:06,520 --> 00:04:10,520 HTML, on the other hand, has already pre sorted all that information 82 00:04:10,520 --> 00:04:12,240 and cached the key data. 83 00:04:12,240 --> 00:04:15,320 So when you ask for all posts tagged PHP, 84 00:04:15,320 --> 00:04:17,840 it just grabs that info from the index instantly. 85 00:04:18,080 --> 00:04:20,600 No scanning thousands of database rows. 86 00:04:20,600 --> 00:04:23,840 So if I'm understanding you correctly, instead of this constant querying, 87 00:04:23,840 --> 00:04:26,800 the heavy lifting happens what when a file is first uploaded 88 00:04:26,800 --> 00:04:30,800 or the index is refreshed and that minimizes the load 89 00:04:30,800 --> 00:04:32,600 when a visitor actually hits the page. 90 00:04:32,600 --> 00:04:35,880 You got it. The efficiency is baked right into the retrieval method. 91 00:04:35,880 --> 00:04:38,360 And the sources give us some really concrete evidence 92 00:04:38,360 --> 00:04:40,640 that this scales way better than you'd think. 93 00:04:40,640 --> 00:04:44,800 OK, lay those scaling facts on us, because saying a flat file system 94 00:04:44,800 --> 00:04:48,480 can handle that kind of scale, that sort of redefines 95 00:04:48,480 --> 00:04:51,000 what a beginner can achieve with minimal resources. 96 00:04:51,000 --> 00:04:53,040 The sources are very specific on this. 97 00:04:53,040 --> 00:04:57,120 They state its performance stays fast, even with 10,000 posts 98 00:04:57,120 --> 00:04:59,720 and hundreds of tags and doesn't. OK, but it gets better. 99 00:04:59,720 --> 00:05:03,120 They claim it can handle more than 20,000 posts without issues. 100 00:05:03,120 --> 00:05:06,000 And this is while running on really restricted hardware 101 00:05:06,000 --> 00:05:11,200 like basic shared hosting or a tiny server with only 512 megabytes of RAM. 102 00:05:11,240 --> 00:05:15,680 Wait, wait, 20,000 posts on 512 megs of RAM. Yeah, that is. 103 00:05:15,680 --> 00:05:18,160 That's a staggering claim. 104 00:05:18,160 --> 00:05:22,640 I mean, many big database driven platforms start feeling sluggish 105 00:05:22,640 --> 00:05:26,400 with just a few thousand posts on way more resources than that. Absolutely. 106 00:05:26,400 --> 00:05:30,080 And this completely lowers the financial and technical barrier to entry. 107 00:05:30,080 --> 00:05:33,160 It connects right back to that core idea of the platform 108 00:05:33,160 --> 00:05:36,920 making powerful tech accessible, even with minimal resources. 109 00:05:36,920 --> 00:05:40,440 You don't have to overpay for server power just to run a performance blog. 110 00:05:40,480 --> 00:05:42,760 But let's bring in some nuance here, because we talked about tradeoffs. 111 00:05:42,760 --> 00:05:46,480 If a relational database is built for, say, transactional integrity, 112 00:05:46,480 --> 00:05:49,440 what kind of functionality might a user eventually outgrow 113 00:05:49,440 --> 00:05:51,280 with a system like HTML? 114 00:05:51,280 --> 00:05:53,480 That's a great critical question. 115 00:05:53,480 --> 00:05:55,800 HTML is built for content delivery. 116 00:05:55,800 --> 00:05:58,720 Think blogs, portfolios, static like sites. 117 00:05:58,720 --> 00:06:01,720 It's not designed for massive transactional data 118 00:06:01,720 --> 00:06:05,040 like an e-commerce checkout or complex user systems 119 00:06:05,040 --> 00:06:08,680 where you need real time data syncing across multiple tables. 120 00:06:09,000 --> 00:06:12,000 So if your goal is publishing articles at high speed, it's perfect. 121 00:06:12,000 --> 00:06:15,440 But for, you know, 99 percent of beginners launching their first site, 122 00:06:15,440 --> 00:06:18,160 HTML gives them far more than they'll ever need. 123 00:06:18,160 --> 00:06:19,520 That clarity is important. 124 00:06:19,520 --> 00:06:21,880 OK, let's get practical for a minute. 125 00:06:21,880 --> 00:06:24,880 If someone listening is convinced and they want to try this out right now, 126 00:06:24,880 --> 00:06:28,600 what are the absolute basic technical requirements to run it? 127 00:06:28,600 --> 00:06:29,720 It's pretty minimal. 128 00:06:29,720 --> 00:06:34,000 Since it's built on PHP, the main requirement is just PHP 7.2 or greater, 129 00:06:34,000 --> 00:06:36,920 which should be available on pretty much any modern hosting service. 130 00:06:36,920 --> 00:06:40,360 And what about the sneaky part of PHP installs the extensions? 131 00:06:40,360 --> 00:06:44,000 What specific modules do people need to make sure are enabled? Right. 132 00:06:44,000 --> 00:06:46,600 You'll need to check for five specific PHP extensions. 133 00:06:46,600 --> 00:06:52,400 You need PHP MB string, PHP XML, PHP INTL and PHP GD. 134 00:06:52,400 --> 00:06:54,200 And then there's PHP ZIP. 135 00:06:54,200 --> 00:06:57,640 But that one is only required if you want to use the built in backup feature. 136 00:06:57,640 --> 00:07:00,440 But those first four are the must haves. Perfect. 137 00:07:00,440 --> 00:07:02,480 OK, let's walk through the installation. 138 00:07:02,480 --> 00:07:04,680 The sources give us two clear paths. 139 00:07:04,680 --> 00:07:07,240 We can start with the traditional one, installing from the source code. 140 00:07:07,240 --> 00:07:08,520 Yep. Option one. 141 00:07:08,520 --> 00:07:13,160 Step one, you download the latest version as a ZIP file from the GitHub repository. 142 00:07:13,160 --> 00:07:16,400 Step two, you upload that file and extract it on your web server. 143 00:07:16,400 --> 00:07:20,200 And then step three, you just visit the installation script in your browser. 144 00:07:20,200 --> 00:07:23,520 So, you know, your site dash dash com install dot PHP. 145 00:07:23,520 --> 00:07:27,440 And after you run through the installer, what's that crucial final step 146 00:07:27,440 --> 00:07:29,720 that everyone has to remember for security? 147 00:07:29,720 --> 00:07:31,200 This is so important. 148 00:07:31,200 --> 00:07:33,520 Post install cleanup is mandatory. 149 00:07:33,840 --> 00:07:37,320 The installer tries to delete the install dot PHP file itself. 150 00:07:37,320 --> 00:07:39,880 But if it fails for some reason, like permissions, 151 00:07:39,880 --> 00:07:41,520 you must delete that file manually. 152 00:07:41,520 --> 00:07:42,680 OK, so that's a big one. 153 00:07:42,680 --> 00:07:46,840 Delete install dot PHP, leaving it accessible is a major security risk. 154 00:07:46,840 --> 00:07:49,120 Cannot overstate that noted. 155 00:07:49,120 --> 00:07:51,400 And what about that second option online install? 156 00:07:51,400 --> 00:07:53,760 That sounds like the faster path. 157 00:07:53,760 --> 00:07:55,520 It's significantly shorter. Yeah. 158 00:07:55,520 --> 00:07:57,720 You download just one single file. 159 00:07:57,720 --> 00:08:01,400 The online dash installer dot PHP from the release page. 160 00:08:01,720 --> 00:08:04,520 Upload just that one file, visit it in your browser, 161 00:08:04,520 --> 00:08:08,160 and that script handles the entire download and extraction process for you. 162 00:08:08,160 --> 00:08:09,600 That really simplifies things. 163 00:08:09,600 --> 00:08:12,120 And I assume the security cleanup is still required. Oh, yes. 164 00:08:12,120 --> 00:08:16,360 And for this method, you have to manually delete both the online 165 00:08:16,360 --> 00:08:20,720 dash installer dot PHP file and the install dot PHP file when it's done. 166 00:08:20,720 --> 00:08:21,800 That's super clear. 167 00:08:21,800 --> 00:08:25,400 Now, for the truly impatient beginner who just wants to see the site live instantly, 168 00:08:25,400 --> 00:08:27,800 there was a quick setup hack mentioned. 169 00:08:27,800 --> 00:08:29,800 Ah, the shortcut. Yes. 170 00:08:29,800 --> 00:08:31,880 If you don't need the admin dashboard right away, 171 00:08:31,880 --> 00:08:36,560 you can just rename the file config dot ene dot example to config dot ene chi. 172 00:08:36,560 --> 00:08:39,920 Then you just delete install dot PHP and you're technically live. 173 00:08:39,920 --> 00:08:43,520 It bypasses the whole setup. That's about as instantaneous as it gets. 174 00:08:43,520 --> 00:08:45,280 Instantaneous entry. I love it. 175 00:08:45,280 --> 00:08:47,520 OK, let's shift to features, because what's fascinating is that 176 00:08:47,520 --> 00:08:49,880 HTML isn't just a basic file viewer. 177 00:08:49,880 --> 00:08:52,640 It has these robust features you'd normally associate 178 00:08:52,640 --> 00:08:54,680 with those heavy database systems. 179 00:08:54,680 --> 00:08:56,760 What kind of powerful tools are packed in here? 180 00:08:56,760 --> 00:08:59,040 It really does punch above its weight. 181 00:08:59,040 --> 00:09:01,840 On the admin side, you get high level security 182 00:09:01,840 --> 00:09:04,480 like two factor authentication or 2FA. 183 00:09:04,480 --> 00:09:06,000 Wow, 2FA. Yep. 184 00:09:06,000 --> 00:09:08,200 An extra security layer for your login. 185 00:09:08,200 --> 00:09:11,000 You also get a built in one click update function, 186 00:09:11,000 --> 00:09:14,040 which is critical for maintenance, and a simple menu editor. 187 00:09:14,040 --> 00:09:17,720 And looking at the content management side, what surprised you the most? 188 00:09:17,720 --> 00:09:22,680 The inclusion of scheduled posts and full text search right out of the box. 189 00:09:22,680 --> 00:09:25,440 That is incredible for a flat file system. 190 00:09:25,440 --> 00:09:28,600 I mean, full text search usually requires a dedicated search engine 191 00:09:28,600 --> 00:09:30,640 or a complex database query. 192 00:09:30,640 --> 00:09:32,920 HTML manages it through its indexing. 193 00:09:32,920 --> 00:09:35,840 You also get custom fields for unique content types. 194 00:09:35,840 --> 00:09:39,000 You know, the scheduled post thing really spikes my curiosity. 195 00:09:39,000 --> 00:09:43,400 In a traditional CMS, that relies on a server cron job hitting a database. 196 00:09:43,400 --> 00:09:46,040 How does a flat file system handle timing without that? 197 00:09:46,040 --> 00:09:49,040 It's clever. It just uses file status and time awareness. 198 00:09:49,040 --> 00:09:51,400 So when a visitor hits the site, 199 00:09:51,400 --> 00:09:55,080 the system just checks the scheduled posts against the current server time 200 00:09:55,360 --> 00:09:59,360 and decides if that post's file should be included in the content it serves up. 201 00:09:59,360 --> 00:10:02,360 It's a really efficient, lightweight way to handle it. 202 00:10:02,360 --> 00:10:06,880 And for SEO and site structure, it has archives, categories, tags, 203 00:10:06,880 --> 00:10:10,480 automatic site maps, even a built-in popular post feature. 204 00:10:10,480 --> 00:10:13,000 These are all core components, not add-ons. 205 00:10:13,000 --> 00:10:16,840 And that list of built-in features really speaks to their security philosophy, 206 00:10:16,840 --> 00:10:19,800 doesn't it? The whole idea of avoiding the plugin ecosystem. 207 00:10:19,800 --> 00:10:22,240 Exactly. The developers are explicit about this. 208 00:10:22,240 --> 00:10:27,000 They want to avoid the mess of unsafe, outdated and slow plugins that you see 209 00:10:27,000 --> 00:10:27,520 elsewhere. 210 00:10:27,520 --> 00:10:31,240 Their whole strategy is that if a new feature is important, it gets vetted, 211 00:10:31,240 --> 00:10:34,720 added to the core of HTML and has to pass a security audit. 212 00:10:34,720 --> 00:10:36,840 It ensures stability and security. 213 00:10:36,840 --> 00:10:40,680 That's a huge selling point for beginners who might not know how to vet third party 214 00:10:40,680 --> 00:10:41,080 code. 215 00:10:41,080 --> 00:10:44,320 OK, so before we summarize, if a user gets this installed, 216 00:10:44,320 --> 00:10:46,800 what are the final steps, file permissions and logging in? 217 00:10:46,800 --> 00:10:50,240 Just two things. You need to make sure you have right permission for two directories, 218 00:10:50,720 --> 00:10:56,080 cache and content. This just lets the system store its index data and new posts. 219 00:10:56,080 --> 00:11:00,560 And to get to the admin panel, you just add login to the end of your site's URL. 220 00:11:00,560 --> 00:11:04,130 And for anyone who might want to contribute to the project, it is fully open source, 221 00:11:04,130 --> 00:11:04,360 right? 222 00:11:04,360 --> 00:11:10,320 It is, yeah. Licensed under GPL 2.0, hosted on GitHub with about 1.3K stars, 223 00:11:10,320 --> 00:11:12,480 which shows pretty strong community interest. 224 00:11:12,480 --> 00:11:17,040 It's mostly PHP, CSS and JavaScript with about 60 contributors. 225 00:11:17,040 --> 00:11:19,240 It's a healthy, active project. 226 00:11:19,240 --> 00:11:23,400 So after all that, what does this all mean for the beginner listener, 227 00:11:23,400 --> 00:11:27,400 the person who just wants a beautiful fast site up and running without all that 228 00:11:27,400 --> 00:11:27,840 friction? 229 00:11:27,840 --> 00:11:30,840 It means the barrier to entry has really never been lower. 230 00:11:30,840 --> 00:11:34,680 HTML successfully combines these professional, powerful features. 231 00:11:34,680 --> 00:11:37,240 I mean, full text search, 2FA, scheduled publishing 232 00:11:37,240 --> 00:11:40,880 with the speed and simplicity of a data baseless file system. 233 00:11:40,880 --> 00:11:44,600 It's incredibly lightweight, it's scalable, and it's just fundamentally easy to 234 00:11:44,600 --> 00:11:45,080 manage. 235 00:11:45,080 --> 00:11:48,080 It is the perfect starting point for your digital transformation 236 00:11:48,080 --> 00:11:50,840 because it lets you focus on your content, not your infrastructure. 237 00:11:50,840 --> 00:11:53,960 It's a really compelling case for just streamlining everything. 238 00:11:53,960 --> 00:11:57,840 And that brings us to our final thought for you to explore on your own. 239 00:11:57,840 --> 00:12:00,360 This raises a really important question. 240 00:12:00,360 --> 00:12:02,680 Given the incredible performance claims, 241 00:12:02,680 --> 00:12:07,000 handling 20,000 posts on minimal resources because of that unique algorithm, 242 00:12:07,000 --> 00:12:11,400 how much of that computational burden is truly removed from the server 243 00:12:11,400 --> 00:12:14,240 and how much is maybe shifted somewhere else? 244 00:12:14,240 --> 00:12:16,280 Is it on the client's browser 245 00:12:16,280 --> 00:12:19,760 or is it hidden inside that optimized indexing process? 246 00:12:19,760 --> 00:12:23,720 Understanding that balance, that's the key to pushing a system like this 247 00:12:23,720 --> 00:12:25,120 to its absolute limits. 248 00:12:25,120 --> 00:12:28,960 Something to definitely mull over as you start experimenting with its speed. 249 00:12:28,960 --> 00:12:30,720 A great thought to leave you with. 250 00:12:30,720 --> 00:12:32,600 Thank you again for joining us for this deep dive. 251 00:12:32,600 --> 00:12:35,320 Of course, a final thank you to our supporter, Save Server, 252 00:12:35,320 --> 00:12:37,280 helping with digital transformation and hosting. 253 00:12:37,280 --> 00:12:40,240 You can find out more at www.saveserver.de. 254 00:12:40,240 --> 00:12:41,760 Until next time. Farewell.