Tag Archives: OSNews

Behind the Scenes at OSNews

I just started putting together a series of articles I will be publishing on OSNews.  I’ve only roughly sketched it out, but in short, it’s going to discuss how OSNews works, how the PHP is structured, why we made certain architectural decisions, why we don’t use tried-and-true CMSes like WordPress, Slash, or Joomla!, and how, during peak traffic times, we have survived 30,000 unique visitors per hour on a single server.  OSNews didn’t happen by mistake: over a series of months, arguably years, we took a constant read of performance, hits, server load, and usability with the mission to continually improve load time, performance, and UX.  We’ve just recently begun testing some new data presentation methods that I intend to include in my little exposé.

If you’re interested in some revealing behind-the-scenes info, feel free to ask questions now.

Tagged , ,

OSNews vs. WordPress

I’ve spent quite a bit of time, over the last 5 or 6 days, diving into WordPress and learning what makes it tick.  Parts of WordPress are really impressive – just flat out cool. The way some of it works is fairly complex and deciphering it sometimes means reading page after page after page to understand an entire routine.  But sometimes, when you finally see, end to end, how something in WordPress works –  I mean really see individual bits of the engine – you have to admit it teaches you a little about PHP.  WordPress, underneath it all, is a pretty big beast and its strength and ubiquitous presence comes largely, I think, from the fact that it can do virtually anything.  The really sweet plugin system, the ways hooks work, “The Loop,” the dynamic options panel – it’s all very educational.  

The interesting thing here is that I’ve browsed the source of Slash, Scoop, phpNuke, and now WordPress, and all of them are definitively more complex and much heavier than the entire OSNews codebase. Now, before you jump all over me – firstly, Slash and Scoop are Perl, and I don’t really read Perl, so I can’t speak as an expert there.  Secondly, WordPress and Nuke both are very portable and dynamic, whereas OSNews has a narrow focus and, location-wise, is very static.  But that aside, OSNews has withstood simultaneous link bombs from Slashdot and Digg.  As amazing as WordPress is, it’s mostly amazing that it functions at all and loads in less than 2 minutes per page with as much going on as I can see behind the scenes.   That’s not a cut on WordPress, by the way.

In fact, if anything , what is really impressed upon me is how smooth and simple OSNews code is, if I may be so bold.  OSNews runs superfast due, in part, to lots of creative caching, some on-demand, some via cron.  But it also does so because of highly efficient queries that are measured for speed on their JOINs, meaning in some cases, it’s faster to do 20 simple queries than one complex one, or build a long and scary chain of “OR x=a OR x=b OR x=c OR x=d…”  Watching WordPress code in action is really fun for me, but watching OSNews work knowing what I now know about how much work PHP can cram into its threads is even more fun.

Tagged , , , , , ,

A Little About Code Names

Throughout the internet, you’ll find a slew of geeks who refer to their projects by “code name.” Realistically, this isn’t GI Joe, so there’s no real reason to need a code name for your projects, right? I’m here to argue that.

Since I’m involved in several web endeavors, there is always a lot of development code on my computers. When I start something like a firsttube.com redesign or something much larger, like an OSNews redesign, it doesn’t make sense to have a hundred folders called “osnewsv4” or somesuch littered about. I used to date the folders, but osnewsv4-tuesday doesn’t help. And something like osnewsv4-20071017 doesn’t help much either.

Now it gets even more complex: what if I build something and then decide to approach it differently? How will I know which folder is the one that contains relevant code? Enter codenames!

When I knew I was going to build a brand spankin’ new version of OSNews, I knew it would eventually be called version 4, so it made no sense to start calling the first code off my fingers “v4.” As it turns out, there were actually almost 10 versions of “OSNews version 4″ before we accepted a codebase. The first ones were much different in both look and feel and code. So, for my own organizational purposes, I use code names. All that matters is which code base eventually gets promoted to the “version 4” title.

So, here a list of the codenames I’ve used on my projects in the past, going back as far as I can remember:

I used to maintain an open source weblog called Flip, which later become Small Axe. Although Flip 2.0 may have had a codename, I can’t remember or find any reference to it. Flip 2.1 was called Lobster. Flip 2.2 was called Shark, although I never released that code, largely because before I finished it, I released Flip 3.0, Turtle. Flip 3.1 was to be called Jackrabbit, but again, I never released it. Flip 4.0 earned the codename Blueberry, but it was merged into the first release of Small Axe. We’ll get back to Small Axe in a minute. The nicknames of Flip were entirely random, they meant nothing, except that I wanted the 2.x and 3.x family to be animals, and for 4.x, a complete rewrite, I decided to use fruits. That never materialized.

A large part of why verison of Flip went entirely unreleased is because the app became big and tough to handle. As a result, I stripped out the core of it and released “Flip Lite,” which was called “Red Squirrel.” There was a running joke in college about a “blue raccoon,” so “red squirrel” was a silent tribute. When Flip Lite 2 came about, it was called “Rivet Boy.” Here’s why I called it “rivet boy”.

Small Axe Weblog took over where Flip left off – I really need to get around to updating it, since I’ve probably worked up to v 0.7 by now! – but the roadmap, along with the codenames, are listed here. They are codenamed after the japanese Iron Chefs and their popular guests.

firsttube.com itself had codenames, some of the time. firsttube.com 3 was “Milky”. 3.1 was Crossbow because it was built to be cross-platform. 3.2 was Scoop Face, because it was inspired by Scoop. 3.3 was “Semi-Scoop”, much for the same reasons. 3.3.1 was “Flip”, because it was the first version to use code from the Flip project. 4.0 was lazily called “Lobster” because it was running Flip 2.1. 5.0 was “Linkfarm”, because it was – for the few weeks it lived – a link farm. 6.0 may or may not have actually had a codename when I built it, but it was listed in one directory as, “Wikitube”, because it ran phpwiki software. I merged it and my weblog for version 7.0, which, along with 8.0, didn’t earn codenames. The recently released firsttube.com 9.0 was called “Chalkboard,” because at one point, I thought the header looked like a chalkboard. Obviously, it doesn’t anymore.

On to OSNews: Again, these codenames are mine and mine only, they are neither “official,” nor even known the rest of the staff, as it was only as I was developing code that I used the codenames. The now defunct OSNews Meta Blog is actually Small Axe, so it was in a folder called “Small Axe.” We renamed it “meta blog” literally days before making it live.

The OSNews Staff Blog used to be called ftblogroller, and I actually still have the very first working version on my company’s intranet test server. The funny thing is, I chronicled it long ago on firsttube.com. That was the engine of the OSNews Staff Blog. It also powers the OSGalaxy site, although there I refer to it as “Galaxy,” I never actually got around to packaging it.

Jobs.OSNews, an experiment that everyone liked but nobody used, was called Meadow, only because it was green.

OSNews v4 had a few codenames on my computer. “NEW” was one of them, as was “TCO,” which was an acronym for “three column OSNews.” The one that eventually earned the title version 4 was Blueprint, because I threw everything away and literally started from scratch. Even the queries that fetch data were rewritten to be most efficient.

Two projects in the words: “Timber” is the codename of a module that does OSNews native polling. Why Timber? A poll takes a tally, tally like tally ho, like timber ho!. I didn’t say they made sense or were funny, I just said I used them.

Another project that has had several lives already is the iPhone optimized OSNews site. I have gone through several versions of this code as well. Recently, I tossed aside “iui-osnews” and “knox” to really work on project “McBragg.” Commander McBragg was the general in the Underdog cartoons. I seemed to remember him going on several safaris, so I stole his name for my code. McBragg’s javascript framework and CSS is not finished yet, but the underlying PHP appears to be sound, so I expect to finish that within the next few weeks.

As you can see, having codenames can help a develper understand what code he’s looking at. It would not help me at all to see a folder called “firsttube.com-20060722” because I wouldn’t know what version of firsttube.com or whether the code was even used on the live site. But certainly, if I saw a subfolder in my osnews directory called “mcbragg,” I’d know it has relevent code. I think there’s something to be said for categorizing your code that way, plus, it’s kinda cool to have codenames. Yeah, I said it.

Tagged , , , , ,

Remembering Why I Mostly Hate Apple Users, Even Though I Am One

This week, I had to make a trip to the Apple store. My iPhone began growing some “bubbles” under the screen, so they swapped one out. I had also brought back a flaky Airport Extreme, but since I only made an appt for my iPhone, they told me I’d have to make another appointment for my Airport with the “Mac” team. Frustrated, I spoke to the store manager and got in via “standby” appointment. They didn’t have an AE in house, so I had to order one and go back this weekend. The people at the Apple store were nice, but the entire thing was a cluster. The Apple Store is always so crowded and chaotic and it’s hard to find someone to help you. Luckily, it turned out ok, and I got a new iPhone and a new Airport. I wanted to post, but then I remembered what happened in the past when I posted about Apple.

I wrote a piece for OSNews some time ago called “A Month With a Mac.” If you read it, it’s not really very negative – in fact, it’s mostly positive – but I eventually decided to stick with PC, predicting, accurately, I’d add, that I’d be a Mac user by 2005, which I was.

But after a little Google’ing today, I found this thread at MacSlash. I read it today, and almost immediately, I hate Mac extremists.

In my house, in the last 2 years, we’ve owned an iBook, a Macbook Pro, a 20″ iMac, a Macbook, an iPhone, an Airport Extreme, and three iPods. We’ve purchased iLife 08, a Leopard family pack, and several Mac apps including my favorite, Transmit. We have no operational PC’s in-house. But I swear, reading this pathetic crap makes me want to burn my Mac.

What a bunch of pricks? They think I made facts up – like the error message I received. They think that the first thing you do with a review unit is break the seal. Although I mistakenly referred to 10.1 merely as “OS X,” they don’t beleive I got the discs. It’s really pretty amazing to see a decent review get such incredible responses. Genius comments like this one (where I’m apparently gay) and this one (where I’m paid by Microsoft) and this one (I don’t care what he says, he’s absolutely 100% wrong) ought to embarrass the Mac community. But instead, they stay on their own board masturbating each other and growing insanely angry about what, in essence, is a decent review. Truly, they make me hate my Mac right now and they make me hate the elitist community.

Tagged , , , ,

The Fifteen Percent Rule

As a general rule, 15% of any online community is comprised of ninnies, fools, and jerks. On some sites, this percentage is much higher, and for others, it’s slightly lower. But every community has them and too often, they are impossibly loud and attention seeking.

On the whole, I find OSNews to be way above average. The noise ratio is generally low, so it’s really only the trolling – both intentional and unintentional – that gets people riled up. But the rule still applies.

Recently, I had a user incredibly angry at me because I “forced” him to use the mobile site on his mobile device. I reminded him that it’s been that way since the first day Eugenia rolled out the code, but he was having none of that. I told him that most devices won’t support the site and he said his did. Finally, he uploaded a video of his usage and saw him using… an iPhone! The best part? The iPhone is not served the mobile version. So he was going to mobile.osnews.com and them complaining that we served him the mobile version!

Then yesterday, in an admittedly heated discussion about KDE4, I was discussing how I am disappointed with the release as a 4.0 release and some got incredibly angry. They pounded upon me that the only proper thing to do is release the code and let users find the bugs. But I didn’t relent when I probably should have just ignored it, I was a bit too salty at worst, I should have just moved on and stayed above it, but alas, I didn’t, and it ended with a bang.

A lot of people think that by being a part of the OSNews staff, we’re not allowed to have any opinions. They forget that we’re software users too, and that we participate in our own community.

So, anyway, in this KDE4 “ready or not” discussion, I insisted that it was naive to suggest that the average user would follow the development or news closely enough to know that the KDE team suggested that 4.0 is not ready for users, I was called “stupid” by one user and “an ejit” by another. It’s a fatal flaw for IT people to assume everyone is like them, that everyone is subscribed to 400+ RSS feeds and knows the news before it’s even cooled off. But the battle waged on. In retrospect, I really don’t think anything I said was wrong or off base, so I’m not really regretting this interchange.

While digging through the responses, I found a user misusing his mod points – a clear violation of OSNews rules – by modding down every comment that disagreed with his (not just mine) and modding up every comment that agreed. A cursory review showed that every up-mod he’s handed out in the last few days was to pro-KDE posts, while every down-mod in the last several days dared to question them. This is a cleare violation: this doesn’t help us prevent forum misuse, it just filters out differing opinions, which leads to groupthink. I was tempted to reverse all of his recent moderations straightaway, but I witheld and swallowed his downmods of even my own comments. You stay classy, K——– (name redacted).

Yes, even the best communities have a few bad apples, a few sour pusses who want only to be stroked and reinforced in their own opinions, and when there is any challenge, they lash out. They’re present in every community, real life included.

Tagged , ,

The Flop That is Windows Vista

Thom posted an article on OSNews.com yesterday called Vista’s Mythical Cut Features. It got me thinking; I left a few comments on the article that really hit the heart of the matter, but Thom’s responses, and those of others, questioned whether or not the things I mentioned were cut features or not.

Longhorn, years ago, was presented as delivering on three pillars. The pillars were: WinFS, a metadata based, database-like file system; Avalon, a new .NET graphical subsystem; and Indigo, a new communications framework. WinFS is in beta now, but delivers in a far different way than originally posed. Avalon, renamed Windows Presentation Foundation or WPF was delivered with Windows Vista and is available on XP. Indigo, retitled Windows Communication Foundation, is available in Vista as well. Initially, this lends some credence to the editorial, which suggests that it’s virtually impossible to name individual “missing features” from Vista.

But upon further thought, it goes further than “which feature is missing?” Because there are loads of things that are “missing” in the sense that they ought to be included. Ultimately, where Vista fails on a large scale is delivering on the promise it made. Microsoft, not only via promo videos, but also via their insiders like Scoble, Mary Jo Foley, and Paul Thurott, started to lay the groundwork via conversations and ideas that promised a next generation operating system. A new OS, built almost entirely from scratch, almost entirely in managed code.

But they blew it. Big time.

In fact, they were so incapable of delivering that they infamously scrapped their work and rolled back to Windows 2003 SP1 in what would eventually be called the “Longhorn reset.”

Vista is an incremental change at best. This should come as little surprise, as Vista is pretty much, as described, XP enhanced twice over. Many of the changes that made it to the final version serve little purpose. The Aero interface is clunkier and less attractive than Apple’s. The Flip3D tool is cool, but ultimately, a toy. UAC is a disaster. WinFS isn’t there. Windows Mail received love under the hood, but is still second rate. The over-branding of every app and the un-customizable, dumbed-down UI is hatable. Pretty much everything about Vista is less appetizing than Windows XP, which is maturing really nicely.

Longhorn, on the other hand, was an idea. It was going to show us something new and exciting. It was going to be the best that incredibly talented engineers could come up with when they had unlimited budget, an amazing array of programmers, marketers, user interface experts, and powerful partners. But Microsoft collapsed under its own weight. They couldn’t commit to advancing things and making them work. Who could forget the Windows shudown crapfest article? This is likely a microcosm of the entire development of this OS: the lowest common denominator, the least offensive, the least problem causing thing won. And more often than not, it sucked.

This isn’t to say Redmond doesn’t count amongst its ranks, some of the best and brightest. It’s just that when you become that large, it’s hard to be nimble and stay on course. Microsoft’s newest utter failure is their foray into search — Microsoft has already lost search. I wonder if they will apply the same “we can do anything” attitude there.

The interesting thing is that Microsoft has pretty much admitted Windows Vista is a flop by feeding the press details about “Windows 7.” The very fact that they have already dumped Vista to focus on the next shining star is pretty telling.

Combine all of this with the dizzying number of “versions” of Vista, designed, as best as I can tell, to slowly extort money from you. There is no magic included with each version, you don’t get an extra disc, or more applications. You don’t get more at all, in fact, what you get is something simply less crippled. Microsoft intentionally sells versions of its own OS with features removed unless you pay more. This is the business behind the OS, and it is part and parcel of the problem – there is no respect for the client, either as a consumer or as a user. In short, they don’t deliver the best product they can, they deliver part of the product, and for more dollars, you can use some of what was there anyway. Since none of the version provide explicitly what I would want, I would need to buy the “ultimate” edition, which currently runs $329. That’s $200 more than Mac OS X Leopard.

So maybe I can’t name siginificant individual things left out of Vista besides WinFS. And perhaps the disappointment is not that the features are left out, but rather, that developers haven’t really leveraged them for fear that a Vista-only program is doomed before the first header file is included. But one thing is certain: Vista didn’t deliver on what most people expected, which was a new experience, a new OS, a new paradigm, a new adventure. Instead, they got a stinker that requires top-notch specs to perform half as well as XP. Microsoft may yet impress us with Windows 7. Perhaps their days ruling the roost of OSes have begun their long and painful wane. But one thing will remain forever clear when discussing Vista: what they “left out” was innovation and inspiration. And what we got is a flop.

Tagged , , , ,

Facebook Group for OSNews

If anyone who came here from OSNews is on Facebook, be sure to join the OSNews Facebook group. It will be interesting to see if we can assemble some recognizable group on that site.

Tagged ,

Another Chapter Comes to a Close

Since it’s eaten up quite a bit of my time, I’ve spent way too many posts discussing OSNews, and that will come to a close today. See, today I wrapped up the remaining bugs and features I planned for 4.0-final, and made a code snapshot and called the OSNews codebase on www4 “final.” Thus ends that chapter of my life.

I made a lot of last minute changes, including fixing the problem where the sidebar falls below the main bar (thanks to a reader for that contribution). I redid the classic theme, made the “Orange Platinum” theme available to non-subscribers, allowed up to 999 characters in a conversation, and much more.

All that remains now is David giving it the OK or hiring a designer to make the changes he wants. When we get that, we go live.


OSNews version 4 Subscriber Only Features

I decided that I would add some features to OSN4 that are “subscriber only” features. I won’t lie, I did it up subscribership, not because it gets me rich (it doesn’t, I make no money from it) and not because I’m a jerk, but rather because OSNews is a better experience without those pesky ads and I want other people to see it. Plus, the longer OSNews is profitable the better equipment we have, the more attention we get from our admins, etc.

Thus, I have implemented some subscriber only features. Like v3, the most obvious benefit is that all ads go “poof” and you never see them. Period.

The most requested feature is the “ignore list.” You can now ignore a user, and their comments will be automatically collapsed and highlighted. This is great if you want to ignore a troll or someone who really bugs you.

Thirdly, instead of changing each page to “view -> all comments” in flat mode, you can now set this in your prefs and just see all comments on each page in one shot. This is VERY useful to people who are married to flat mode.

I may add additional site skins for subscribers. I’m not sure about this one, because it’s more work, but then, replicating all of the v3 skins ought to be easy now that I have the classic skin mostly complete. [update: I have already added “Orange Platinum” from v3, and will be adding more in the coming week]

And lastly, links in your profile (both your website and any links in your bio) will *not* be tagged rel=”nofollow.” By adding a rel of nofollow, the links are not followed by search engines and therefore do not benefit from our standing in their index. This is less something I removed from users and more because it prevents spam. Instead of fake dummy accounts who do not visit us but continue to have a valid user page, only subscribers will benefit from our indexing. I am going to add rel=”nofollow” to links in the comments too. [update: this is done]

These may not be the only subscriber only features we see in OSNews version 4. I intend to make it more attractive to be a subscriber without making the non-subscriber experience anything less than complete.


OSNews 4 Beta Reactions

Some Positives
Much nicer than the old site, particularly the “recent comments” feature.

I find the site to be very aesthetically pleasing. It reminds me of a newspaper. The previous site certainly was better on limited hardware and small devices, but I do find the new site easy to navigate and pleasing to the eye.

Awesome work!

And from the Complaints Department:
New look is interesting, but I feel like something lost. Can not tell what is it exactly.

I am really sorry, I love the new features, but I *hate* the new look.

It’s somewhat “painful” to read, as in – it actually hurts my eyes. […] If it goes live in this current form with no way for me to continue using v3, I will be leaving this site.

…And my personal favorite:
CSS […] RSS […] Javascript […] So this is the “Internet Explorer Only” version of OSnews?
I’m not even sure what that heck that means, but I hope this guy isn’t a web designer.

The people who are either unhappy with – or in more cases than you’d expect, seemingly angry – about the new look haven’t offered a ton of specific suggestion, so we’ll sift through and see what we can pick up for changes. It sounds like some people just want v3 with Ajax. This surprises me greatly. If I can hack up a theme, they can have it.