Tag Archives: Flip

Flip 3.0.1

I never expected to release another version of my old weblog project Flip, but while searching my own name in a new search engine, I came upon several vulnerability reports for Flip 3.0. I’ve known about them for awhile now, but having dropped Flip in favor of another project (which I’ve since abandoned, for the most part, in favor of WordPress), it seemed pointless to bother. However, since there is an active exploit, I thought I’d release an update and a patch.

I don’t believe anyone out there is still using Flip, but if there is, this is how to defeat the script: simple add this line at line 102 of account.php:

 if(strstr($_POST['em'],"][")) { die('Fail'); }

and this at line 162:

 if(strstr($_POST['nem'],"][")) { die('Fail'); }

Alternatively, you can download the modified file here or download Flip 3.0.1 here.

It may sound odd, but I would highly recommend that you do *not* use this code. It’s now 7 years old and the web is a much different place. The code here is really not suited for running a website today. That said, it was odd to unzip and install it and see that it actually works. The rendering of most of the “themes” is weird (Fudge works great), but otherwise, everything worked.

If you are still a Flip user, I recommend you update your account.php page immediately, and if you have the time and inclination, upgrade to 3.0.1. The following files have some minor changes:

  • account.php
  • index.php
  • inc/config.php
  • README.html

Once again, this code is aged not particularly well suited for today’s web. ┬áIf you want a simple weblog, I recommend WordPress.

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 , , , , ,


Can I just carry on for a second about some development stuff? I began writing Flip in 2002, when I was a relatively newbie to web programming. Sure, I’d been doing HTML and Javasacript since ’99, and I had been playing with PHP for 6 months or so, but I was a novice, plain and simple. Flip 2 and 3 were both steady evolutions, but sometime in between, whether it was writing a helpdesk app for work, or rewriting osnews.com, learning about 0bject Orientation and classes, MySQL, whatever… I believe I learned a lot of cool tricks.
When I finally got around to writing Flip 4 – which by the way, will not be called Flip 4, since it’s really not even close to the same code, nor is it a “flatfile” PHP Weblog anymore – I started from ground zero. Flip 4 is now mostly functional, I’m going to be testing and packaging the first beta, and dammit, I am PSYCHED. This blog is so much better than anything I’ve ever written. Pure HTML templates, auto-location, some great JS/CSS tricks for visibility, and the latest acheivement – a great installation script that can build Small Axe for you. There, I said it. After much deliberation – Blueberry, Green Violin, Peanut Head, etc – the next blogging tool I release will be “Small Axe.”
Why “Small Axe?” Bob Marley once wrote a song, and the lyrics are “If you are the big tree, we are the Small Axe.” The Small Axe, the people of Jamaica, were oppressed by the government, the so-called “big tree.” I like Small Axe because it conveys a sort of intimidation by the small guys, and my application is certainly a “small guy.”
Anyway, I’m very excited to be rolling the first beta and I’m really hoping for feedback. It’s going to be hard, since Flip has got to appear to be a dead or abandoned project at this point. Hopefully, some Flip users will consider upgrading to Small Axe when 1.0 comes out.

Tagged , , , ,

Portability. Like a mofo.

Here’s how it worked: first, I wrote firsttube.com. Then I used the code to write Flip. Then I used Flip as the base for the next version of firsttube.com. Then I merged the changes back into Flip. Then I slimmed it down and created Flip Lite, which I later used for the ft_blog. Then I made major changes, and as you’d expect, it will be the basis for the next version of Flip, which will probably not be called Flip.

The problem is that this last time, I wrote so much that was bound to the firsttube.com server and stylesheets I was worried that it might not be very portable. Well, it’s not.

However, it’s not too bad, because I was able to hack it to work on OSNews in about an hour. Not too shabby, considering all the overhead of OSNews.

Tagged , ,

What be slackin?

So this is the first mention of it online – 3 simple words: Flip. Is. Done.

Not done as in dead, but done as in reborn! Flip will be regally euthanized death with Flip 3.0 and Flip Lite 1.2 (actually, I may release a final Flip bugfix Flip 3.0.1, but that isn’t going to be right now). And Flip will be reborn, in a way, with dah dah dah dah! ….Celery Blog. There’s more in the Celery Manifesto, which you will soon see online. Either way, Celery is essentially what Flip 4 was going to be: a complete and total rewrite. Aside from a zillion reasons why this is a good idea, the retarded numbering scheme can be properly repaired to a more sensible 1.x for pretty much everything until the next complete rewrite. It’s actually pretty functional at ninjafoot.com, and hey, did I mention that NINJA works (even though it’s now the Celery Configurator)?!

In other news: K is a distant memory. She may be busy, but I sense she was leading me on anyway. It’s too bad, she was really fantastic, but even if she was being straight with me, even a girl that hot can’t be in relationship with NO free time. So right now I’m in a very blank space, and working to fix it, but not diligently. I need a new angle and some game.

Oh, and some more hair, goddamit.

Tagged ,

ft Classic Now Unmaintained

Just wanted to let you all know, as I mentioned before, firsttube.com is becoming my personal site. Well, unless somethig really exxciting comes along, I am officially calling firsttube.com/classic “unmaintained.” There are lots of bugs in the code right now – they aren’t bugs in “Flip,” which runs it, as much as lots of customizations that don’t work since I moved the files into the /classic directory. The site gets very little traffic these days, and I’m simply not as motivated, so, this is it. As of today, this portion of firsttube.com is officially “as is.”

Keep on sharin in the groove.

Tagged ,


Some call it ADHD, but I call it ambition. At least, that’s what I tell myself.

The ft_blog now has commenting. Not just commenting, but elementary moderation. When logged in as an admin, you can mod a comment up, which currently doesn’t do much, reset to zero, or mod down, which will hide the comment. I’m playing with displaying the scores of the comments, or possibly using text labels a la Slashdot and k5. This system is pretty flexible, I could open it up to additional moderators or even use open public moderation. It works pretty well.

However, this is one of those things that I’m not going to backport to Flip Lite. Flip Lite is lite. It is supposed to be simple and easy. So it will not inherit commenting and therefore, moderation. That will be reserved for Flip 4.

Interestingly, this is the first thing I’ve written in a long time that is pretty specific for ft. See, it builds on the old ft archives, and was built up from ft1.2 with LOTS of customization, so I will not be upgrading anytime soon. Instead, I’ll write features just for good ol ft.

So, have at it, if you like. Leave a comment, and do your worst to break it, because I’m all over fixing it before it makes it into flip4. Incidentally, I’m using a bunch of functions written for Flip4 now! Cool! Go preg_replace()!

Tagged , ,


Forgot about you there for a minute, Mr. Blog. See, the concept of a blog is a funny one, because it acts like a diary, but it’s a public diary. But as the livejournal/blogger craze continues, what you find is, well, the diaries are less diaries and more pontificating. Like someone else actually gives a flying shit about your blog.

What could be cool, though, and I’m thinking about this, is something called (something like) “Flip Collaboration.” This is where, I guess like Trackback, you can have other people’s Flip feeds integrated into your own. Simply plug in their collaboration URL (which is probably simply a link to an RSS feed updated not more than every hour or so) and your Flip feed includes the items in their feed they’ve chosen to share. Maybe that is trackback.

Hey, don’t get me wrong, it’s still a useless blog, but at least it’s your friends worthless ramblings too.

Tagged , ,

Rivet Boy

The “codename” for Flip Lite 2 is, and has been for some time, “Red Squirrel.” Well, the development version – meaning the post-2.0 final code, which will be split away today, is now called “Rivet Boy.” Why Rivet Boy? Because I just learned that my grandfather’s first job at Emerson electronics, where he eventually became the lead New York salesman, was …. you guessed it.

A rivert boy – a lost art, apparently – used to rivet the tubes into the wooden frames in the first TV sets. Can you imagine such a thing today? A TV in a wooden box? A 13 inch back and white screen? It’s obscene.

Anyway, Red Squirrel will be forked out of FL-devel today, and Rivet Boy will be born. Long live Rivet Boy.

Tagged , ,

summer breeze, makes me feel fine

firstly, two old songs i haven’t heard in a while: “summer breeze” and “tide is high” by blondie. both pretty decent. summer breeze hit me because tuesday night i was on the beach in melbourne at about 11 PM and it was awesome. then last night was perfect – right around 75 at night. florida is amazing.

here’s the dilemma. flip lite 2.0 is starting to morph into what i was c2 to be. so i’m going to have to decide if it will simply merge into it or what. more on that as it develops.

Tagged , ,