Dread Pirate PJ's House of Hacks and Tricks » hacks http://www.pjtrix.com/blawg Sat, 23 Aug 2014 19:46:15 +0000 en-US hourly 1 https://wordpress.org/?v=4.2.29 Can You Hear The Wind Blow http/blawg/2008/10/24/can-you-hear-the-wind-blow/ http/blawg/2008/10/24/can-you-hear-the-wind-blow/#comments Sat, 25 Oct 2008 00:08:21 +0000 http/blawg?p=97 Continue reading ]]>

Photo by liferfe.

The mobile software market is becoming very exciting, and I’ve been watching with interest. I’ve been learning iPhone development for the last ten months, first with the jailbreak toolchain, and in the last six months with the official SDK. Likewise, I’ve been dabbling with the Android SDK.

Many people have compared the growth of mobile software in the last year to the amazing growth of the early PC era.

One difference from those years, is that mobile software is already mainstream. The “personal computer” took about 20 years to “catch on,” from the introduction of the Apple I in 1977, to the Windows boom of the mid-90s. In contrast, Apple has sold over 10 million iPhones in the last 11 months alone. There are few consumers that aren’t at least aware of the iPhone’s existence. T-Mobile sold about a million Android-powered G1 phones in only one month of pre-sale orders from existing T-Mobile customers. The device can now be ordered online for new and existing accounts, although demand is expected to be very high, causing possible shortages. They claim they can sell another million G1 phones between now and the end of the year.

Another difference is the barrier to entry. Computers cost thousands of dollars in the 1980s, and were not as easy to use and develop for at the beginning. To be a developer back then, you had to be a computer engineer or someone with previous software development experience on mainframes or minicomputers, which at the time was not as widespread knowledge as in these dime-a-dozen-MCSD days. The barrier to entry was very high, economically and educationally. The barrier to entry for iPhone and Android development is very low, with devices available for less than $200 USD. If you already develop software, be it for the web, intranets, or desktops, you already have most of the skills, and a computer with which to develop. So the cost of development tools and training for these platforms is very low, especially for Android. How come it is lower for Android development, you ask?

To develop for the iPhone App Store, you need to already own a Mac with Leopard 10.5.4. So if you don’t have a Mac, that’s an extra expense. With Android, you can use the computer you already have. To put your application on the iPhone App Store, you need to pay $99 USD + tax to Apple and submit your application and say please and cross your eyes and dot your tease (double pun intended, if perhaps lame.) You can sell Android apps from the trunk of your car at a flea market if you want, but to sell them on the Android Market you need to pay $25 USD, although there is no validation or approval process. For either iPhone or Android, you need to buy a device to test on real hardware and make sure things run well.

Of course, you can always develop iPhone software for the iPhone jailbreak community, using the computer you already own, without having to pay anyone a cent, nor having to seek permission. You will still need a device on which to test on, which brings you up to par with Android in terms of barrier to entry. But then you’d be limiting your market to the 20 to 30 % of iPhone users who jailbreak their device. 200,000 – 300,000 and growing is not a bad number of potential users, though. Many of today’s software giants were founded when PC user numbers were much lower.

Anyhow, I digress. My point is that just like I heard the call of the wild and left full-time employment in a Java consulting shop for freelance web work in Rails nearly three years ago, I hear the winds of change and opportunity roaring by. And I want to get my kite out and test the wind.

As you can see, I’ve researched the market. I’m going to cut back on freelance web projects, to start dedicating time to developing a growing stable of ad-supported and for pay mobile apps, for both iPhone and Android. I can bootstrap this effort and support myself for two years on only a small portion of my savings. I believe there is enough growth in the mobile apps market to make back my investment and grow it a little bit. The monetary barrier to entry is so low, the only risk is time and effort lost if things don’t work out. If that happens, I can always go back to what I did before. But I’m not going to forgive myself if I don’t try this.

There will be other related news soon. :-) Meanwhile, enjoy the breeeeezeeeee. Ha ha!

Song “Can You Hear The Wind Blow”, by Whitesnake

]]>
http/blawg/2008/10/24/can-you-hear-the-wind-blow/feed/ 1
Much Railing Lately http/blawg/2007/05/15/much-railing-lately/ http/blawg/2007/05/15/much-railing-lately/#comments Tue, 15 May 2007 05:17:03 +0000 http/blawg/2007/05/15/much-railing-lately/ Continue reading ]]> I’ve been at my new job only four weeks, and my first project is nearly finished. My task these past four weeks has been the re-implementation of the company’s website in Rails. I was to do this from scratch, while keeping the site’s design and existing link structure. Among my requirements is adding support for multiple languages, as the company wants to show it knows how to make websites for a diverse, multi-ethnic audience. Another requirement was, that I was to do this re-implementation by myself. The company only has one other experienced Rails developer, and he is busy doing maintenance work on older non-Rails projects for company customers.

It’s been a pleasure working on this project, and I am very pleased in the progress I’ve made in such a short time. I look forward to going live in another two to three weeks, once the site has been through QA and any changes required.

This coming Wednesday, May 16, I am off to RailsConf 2007, in the lovely city of Portland, Oregon. Portland is great, I have been there twice and I’ve had a great time each trip. I look forward to the visit very much.

Two of my coworkers from the Williams F1 project, Kyle Drake and Nick Wright, are going to be attending RailsConf as well. It’s gonna be great to meet them face-to-face. Daniel Browning, one of my fellow coworkers at my new job, lives just north of Portland. My college buddy Ken Williams lives in the Portland area too. I plan to meet with them at some time during this, my third visit to Portland.

There are so many sessions I want to attend at RailsConf. But interestingly enough, I feel I won’t get any value out of the tutorial sessions, so I didn’t sign up for any of them. That means I’m out of the tutorial-attending n00b league, yeah! :-) We’ll see whether I can hang on to that thought in the other, more advanced sessions. 😀

A few of the sessions sound downright dull. I guess some of the n00bs will find them interesting, since they’re looking for ‘insight’ and whatnot. Whatever. 😉

What am I looking for from RailsConf? I’m looking for some nitty-gritty I can sink my teeth into, some new tech I can experiment with and learn more from. I’m looking forward to have my brain blown by something cool but complicated that I can learn over the next few months. I want to learn about some new-to-me techniques and plugins or gems that I can master and take my Ruby and Rails to a higher level.

I also look forward to meeting some people face to face. Tim Bray is going to be delivering the keynote on Saturday morning. If you’ve been reading my blog for the last year, you already know what I think of him: he’s the d00d!

The JRuby guys will be presenting one session, and I think their work is of importance for the growth of Rails outside the leading edge. I think JRuby will be the thing to help Rails cross the chasm and be adopted by mainstream.

At OSCON 2005, DHH signed my Agile Web Development With Rails 1st Edition, so I will try to get Robert Martin, Dave Thomas, and Andy Hunt to sign some of my other books that they wrote.

Anyway, I’ll talk to you all later!

Technorati Tags:
, , , , , ,

]]>
http/blawg/2007/05/15/much-railing-lately/feed/ 0
Bringin’ in da dough, baby! http/blawg/2007/02/20/bringin-in-da-dough-baby/ http/blawg/2007/02/20/bringin-in-da-dough-baby/#comments Tue, 20 Feb 2007 06:55:10 +0000 http/blawg/2007/02/20/bringin-in-da-dough-baby/ Continue reading ]]> Last Wednesday, I sent emails and résumés for various job posts, and by that afternoon, I started getting nibbles. It was weird! Whereas I barely got any attention for over a dozen job applications I sent out between September and early February, I suddenly had five companies interested in me in a matter of hours! Maybe companies were waiting for post-holiday economy reports to start hiring? I wonder.

So to cut to the chase, I got a great hourly-pay remote development gig working on a Ruby on Rails project, on a really cool sounding website, for a very-high-profile vehicle racing company in the UK. It’s right down Ken’s alley, but if I’m not mistaken, this sport usually has a definitely more European racing audience. I think American racing fans like Ken, might resent these are not American cars, and just don’t watch. LOL

I cannot disclose any more information because of client confidentiality, but I think I may already have said too much. :-p

I’ll post a link here when the site goes up, at any rate. Only then can we drop all this silly NDA crap. It’s a bummer, because I can’t discuss application architecture specifics that would be of interest to my readers.

But fret not. There’s no rule about my discussing the project’s architecture in general. I just can’t say right out what architecture I’m dealing with on this gig.

I’ll be writing more about Rails in the weeks ahead, but just cuz I write about it, don’t mean it’s got a thing to do with work, you hear? :: rolls eyes ::

Technorati Tags:
, , , , , , , , ,

]]>
http/blawg/2007/02/20/bringin-in-da-dough-baby/feed/ 1
Continuing the conversation: PS3 Linux & MS XNA http/blawg/2007/01/23/continuing-the-conversation-ps3-linux-ms-xna/ http/blawg/2007/01/23/continuing-the-conversation-ps3-linux-ms-xna/#comments Tue, 23 Jan 2007 18:56:49 +0000 http/blawg/2007/01/23/continuing-the-conversation-ps3-linux-ms-xna/ Continue reading ]]> Mateusz, Lenny, thanks for the comments.

Update: Reader Mateusz points out that there is an effort under way to port the XNA frameworks to other platforms using Mono. It’s great to see what the subversive, creative types come up with all on their own. It would be hilarious if PS3 owners could run XNA games by simply booting Linux. Take that, Redmond! Welcome to our social. LMAO!

My own take is that Sony is taking a laissez-faire approach, a la Franklin D. Roosevelt and the economy: let’s provide the tools, and whatever happens, happens. Let the market take it where it may. (I hope I am not embarrassing Mrs. Freite, my history teacher in high school, by mixing my economic strategies and presidents.)

While that is great, I think they could be a bit more proactive. They could encourage garage game development with the PS3 Linux project, by marketing it as such. A program like the old PSX Net Yaroze, but with PS3s and Linux, could attract some great talent. (See? Sony has been thinking about this garage developer thing for quite a long time.)

IBM and Toshiba see this as another marketing venue for the Power processor line, especially the work on the Cell Engine that they did. Toshiba only promotes Cell within its embedded processor market, not putting an oar in to help with the garage developer thing. IBM is a bit more active, but only within their established promotional circles: developerWorks and alphaWorks. And it is hardly a big push.

Microsoft is, of course, going all out, promoting XNA as a garage developer’s haven, especially generating excitement with the possibility of garage developers selling games on XBox Live Marketplace for both PC and XBox360. In my opinion, MS is doing a better job at pushing their ideas.

It’s like IBM and Sony don’t quite see what it is they have to do, having just provided the tools and sitting back to see what develops. While it’s great they’re not stirring the pot too much, the stew is gonna ruin if there’s no cook minding the stove.

OK, that’s enough analogies for today. Thanks for keeping the conversation going, guys. Comment away, and let’s keep talking. Anyone else have any thoughts to share?

Technorati Tags:
, , , , , , , , , ,

]]>
http/blawg/2007/01/23/continuing-the-conversation-ps3-linux-ms-xna/feed/ 4
What’s the deal with PS3 Linux? Simple: XNA http/blawg/2007/01/22/whats-the-deal-with-ps3-linux-simple-xna/ http/blawg/2007/01/22/whats-the-deal-with-ps3-linux-simple-xna/#comments Mon, 22 Jan 2007 19:34:37 +0000 http/blawg/2007/01/22/whats-the-deal-with-ps3-linux-simple-xna/ Continue reading ]]> Programming high-performance applications on the Cell BE processor, Part 1: An introduction to Linux on the PlayStation 3

The Sony PlayStation 3 (PS3) is the easiest and cheapest way for programmers to get their hands on the new Cell Broadband Engine (Cell BE) processor and take it for a drive. Discover what the fuss is all about, how to install Linux on the PS3, and how to get started developing for the Cell BE processor on the PS3.

Let’s ignore the $600 USD “cheapest” flame bait and concentrate on the business significance of Sony and IBM providing and promoting Linux for the PS3, shall we?

The PS3 is not the first game console officially sanctioned by the manufacturer to run Linux out of the box. For a few years, Sony sold a $99 Linux kit for the PS2, available only through their online store. It was discontinued early last year, and is now only available on eBay.

But why would Sony provide Linux for any of their video game consoles? What do they have to gain? In business, nothing is done “just” for the benefit of the consumer, much less for pure “free as in freedom” idealism. In the end, it all comes down to driving revenue and profits up, which ultimately pleases the shareholders. Cynical, perhaps, but do you really believe a public company as large as Sony does anything if not for the sake of revenue and profits? Any activity that does not somehow help improve those two factors, will not be seen very positively with the shareholders.

But still, what does it mean? How does PS3 Linux translate into revenue and profits for Sony? Let’s examine this some more, in the context of an obscure game console manufacturer with a similar strategy.

In Korea, the GP32 game console may not have run Linux, but the manufacturer provided on its website, a full set of open source programming tools that ran on Windows. Linux and Mac OS X support was added by the GP32 developer community shortly later. This made the GP32 the first off-the-shelf game console where the users were officially encouraged to make games for it. GamePark, the makers of the GP32, followed up nearly four years later with the Linux-powered GP2X, which also had a free, full set of development tools, including most of the source for the device’s implementation of Linux.

The response to the consoles was great, both in its native Korea and around the world. There is a healthy global open source game development community. Code-savvy game geeks from all around the world have taken to the GP32 and GP2X. Instead of dismal failure competing against Nintendo and Sony, GamePark has survived and grown against all odds. The gadget-happy Koreans responded despite fierce competition, and a healthy Korean commercial game developer community has grown to serve the Korean GP32 market. Many of these commercial developers were founded by the proverbial “two guys in a garage,” propelled to creativity by the open community GamePark fostered.

So back to the PS3. Sure, it’s freakishly expensive for just a single threaded, single tasking, web browser, digital photo gallery, photo slideshow player, propietary-format movie player, game console. But with Linux and the Blender Game Kit, OpenGL, SDL, etc., this is a garage game coder’s dream workstation on the cheap, with high-definition accelerated 3D graphics, surround sound, and all kinds of fun wireless tech at the developer’s fingertips. At $600 for a 60 GB model with 512 MB of RAM, it would make a nicer Linux computer than most sub-$1000 Windows PCs out there.

Perhaps a cottage gaming industry will grow out of the PS3 Linux strategy, like the GP32’s in Korea. Which makes this Linux play by Sony the direct competitor to Microsoft’s XNA move. You see, both Sony and Microsoft see independent game developers as the future savior of the game industry.

The big game publishers and developers screwed themselves, just as the MPAA and RIAA did, by making production ever more expensive, formulaic, and insipidly uncreative, and by depending on the quarterly mega-blockbuster to survive. They did this at a time when more people than ever have access to the means of production and distribution of digital creative content.

The goal of Sony’s Linux strategy and of Microsoft’s XNA, is to attract the independent game developers to their respective platforms. Microsoft believes that giving the tools away for “free as in free beer,” while keeping the secret sauce bottled up, is the successful strategy. Sony believes making the tools as open as possible without screwing the pooch is the the best strategy.

Now, as an open source fan, I will argue that a truly open community of coders, without central control and oversight, is going to prevail over the “you must please the gatekeeper” culture Microsoft wants to impose with XNA on XBox360.

But let’s not be too idealistic and see this independent game developer thing for what it really is. Just like IBM’s open source moves and Tim O’Reilly’s publishing strategy, both Microsoft’s and Sony’s strategies are all about the alpha geek mind share, and self-interest in the increase in revenue it generates.

But cynical as that may sound, open source is still the better thing. It gives more control to the developer and imposes less order, which leads to greater opportunity for creativity to go where it may. Anything less than an open technology and open community will stave off innovation before it even has a chance to set in.

Technorati Tags:
, , , , , , , , , ,

]]>
http/blawg/2007/01/22/whats-the-deal-with-ps3-linux-simple-xna/feed/ 3
Funky fun with computers, #1 http/blawg/2007/01/12/funky-fun-with-computers-1/ http/blawg/2007/01/12/funky-fun-with-computers-1/#comments Fri, 12 Jan 2007 10:16:57 +0000 http/blawg/2007/01/12/funky-fun-with-computers-1/ Continue reading ]]> This sounds like fun!

Whistle while you work: Use the open source sndpeek program and a simple Perl script to read specific sequences of tonal events — literally whistling or humming at your computer — and run commands based on those tones.

I can just imagine the “Star Trek XXXIV: Superfluous” movie scene now, with the brand spanking new Enterprise, the NCC-1701-ZZXYZ.

Lieutenant Atad: Snognilk on the bridge!

Captain Dracip: Commander Rekir, set the auto-destruct sequence on the main computer, quick!

** Commander Rekir begins whistling the tune from “Bridge Over The River Kwai” a.k.a. “Colonel Bogey March” **

]]>
http/blawg/2007/01/12/funky-fun-with-computers-1/feed/ 0
autossh and screen for remote login peace of mind http/blawg/2007/01/07/autossh-and-screen-for-remote-login-peace-of-mind/ http/blawg/2007/01/07/autossh-and-screen-for-remote-login-peace-of-mind/#comments Sun, 07 Jan 2007 15:47:17 +0000 http/blawg/2007/01/07/autossh-and-screen-for-remote-login-peace-of-mind/ Continue reading ]]> Unix server administrators everywhere are probably too familiar with connection timeouts when administering remote servers. There you are, dutifully editing that configuration file, when suddenly your text editor no longer responds to your cursor keys. A dozen seconds later or so, SSH reports the connection has been lost. If you didn’t save your file recently, you probably mutter a curse, for you probably have to redo your work all over again.

There is nothing worse than having to administer a server through a bad connection. When you are disconnected, having to reconnect, login, and navigate to where you last were, can knock you out of the flow of what you were doing, severely affecting your productivity.

screen to the rescue

Back in the time of the dinosaurs and dial-up, some GNU hackers, tired of the inconvenience just described, invented the screen application. screen creates a virtual console running on the server, which keeps the user logged in to the server, even when the network connection is lost. With screen, you will never lose your place while logged in remotely again, baring a reboot, shutdown, or power-loss to the server itself (alas, screen is not magic.)

screen can do much more than this simple description so far hints at. You can learn more from the online manual (type man screen at the command-line.) But for this hack, the following is all you need to remember:

Type in screen -DR when you first connect to your server, and your login session will be preserved through network disconnections. If you get disconnected, login again, and type screen -DR to return to your session, just as you left it.

The screen trick is all well and good. But we like to do things thoroughly at pjtrix, and try to find a full solution to the problem. :-) So on to autossh we go.

autossh: aim for the kill

Keeping with the dinosaurs and dial-up theme, autossh is like an auto-redialer. It faithfully tries to reconnect you to your server again as soon as it detects the connection is gone. It does this by creating an SSH tunnel loop between your workstation and the remote server, and monitors it repeatedly for lost messages.

Using autossh is almost like using ssh: except for the connection monitoring specifics, autossh simply passes all command-line parameters to ssh, and after entering the command-line, all user interaction is done through the running ssh instance. To use autossh effectively with screen, type the following command to first connect to your remote server (use this command instead of ssh):


autossh -M monitoring-port -t username@server.domain.tld “screen -DR”

For example:


autossh -M 20000 -t webmaster@pjtrix.com “screen -DR”

With the above command, autossh creates an SSH tunnel loop with ports 20,000 and 20,001 for monitoring the connection; the -t parameter makes ssh create a pseudo-terminal when it connects to the server; ssh connects to the server pjtrix.com as user webmaster; and finally, ssh runs the command screen -DR remotely on the server immediately upon a successful connection and user authentication.

If for any reason the connection to the server drops, autossh detects this, and starts another ssh session, with the same commands. This effectively reconnects you to the server, logs you back in, and returns you to your screen session, right where you left off.

Used together, autossh and screen are real peace of mind savers for Unix system administrators. Couple this hack with an SSH authentication agent and SSH keys, and you don’t even have to remember your server password between reconnects.

Truly, there can never be greater Unix administration bliss than this.

Technorati Tags:
, ,

]]>
http/blawg/2007/01/07/autossh-and-screen-for-remote-login-peace-of-mind/feed/ 2
Gearing up for an exciting 2007 http/blawg/2007/01/05/gearing-up-for-an-exciting-2007/ http/blawg/2007/01/05/gearing-up-for-an-exciting-2007/#comments Fri, 05 Jan 2007 17:04:53 +0000 http/blawg/2007/01/05/gearing-up-for-an-exciting-2007/ Continue reading ]]> In the months ahead, I will be making use of this weblog to discuss software development technologies and processes I’ve learned to use in my ten-year career. I will most likely be writing about web technologies and web services, and open source technologies rather than proprietary ones.

I am more likely to cover Ruby on Rails and Ruby as a language and cross-platform development technology versus other open source technologies, as this is what I now prefer. But you may also see posts on C and C++, Java Enterprise Edition technologies, Python, Mozilla technologies such as XUL and XULRunner, and software development ideas in general. I may cover C# and .Net, but only because you can develop cross-platform applications with them using Mono.

My article proposals for “the secret online geekly articles site” are most likely to be accepted if they are about Java technologies. As I research my articles, I am bound to write about Java subjects here. But I’ll try to make the weblog posts more general than the articles. If the article proposals get turned down after a few rewritings and retries, I will publish the subject here or try to get them published somewhere else, like InfoQ and The Server Side.com. (BTW, that should be a hint that those two sites aren’t “the secret online geekly articles site.”)

I will also cover some Unix administration topics. For example, I feel I ought to cover the details of pjtrix’s Subversion configuration, as I found the online manual a bit wanting in specifics. Other like-minded geeks, the very people I’d like to bring to my weblog, might welcome a more direct approach. There are also more ssh tricks I haven’t begun to cover.

All of this writing will hopefully be bringing new readers to my humble weblog and other parts of the website. Armed with this hope, I continue to get pjtrix.com ready for 2007.

Tuesday night, I signed up to Google Analytics and Tools for Webmasters, and added to the WordPress and Trac templates the bits of JavaScript that report to Google where you all come from. The reports Google provides are nice and pretty, but I find Google’s solution wanting, specially in their support of blogging and citizen media. The tools are more geared towards “website” traffic analysis. That’s just lame.

Not everyone that will come here will do so with a JavaScript-powered browser. Feed readers and podcast clients, for instance, only speak HTTP and RSS or Atom. They will leave no trace in Google Analytics’ logs.

To complement Google Analytics, I’ve installed the Webalizer Apache log analysis tool, which will help me study my web server logs in more detail without my being swamped in hundreds of megabytes of raw text.

I also installed the Popularity Contest WordPress plugin. This should help direct search-passers-by to what’s hot on this site, or just make it more clear sooner that they got to the wrong place. :-)

Hopefully, the combination of Google Analytics, Webalizer, and Popularity Contest, will together help me learn who my audience is, learn what is “my voice,” and learn how to make this weblog more valuable to my readers.

Technorati Tags:
, , , , , , , , , , ,

]]>
http/blawg/2007/01/05/gearing-up-for-an-exciting-2007/feed/ 0
Last blog post for 2006 http/blawg/2006/12/31/last-blog-post-for-2006/ http/blawg/2006/12/31/last-blog-post-for-2006/#comments Sun, 31 Dec 2006 22:33:41 +0000 http/blawg/2006/12/31/last-blog-post-for-2006/ Continue reading ]]> Happy New Year, everybody! It’s five and a half hours to the big hour here at Chez PJ, so I am taking this time to update you all about what’s going on.

Last weekend, I finally got Trac and Subversion installed like I wanted: read-only anonymous checkouts through http://svn.pjtrix.com/projectname, and read/write access for certain users only through svn+ssh://svn.pjtrix.com/var/svn/projectname.

As is almost always the case with things Unixy, the problems all had to do with setting the right permissions on the repository folder, and making sure that all related processes create new files with the right permissions set. The fix was a litany of addgroups, modusers, chowns, and chmods. Then I had to make substitute shell scripts for all the subversion commands, which simply set umask 002 before running the actual command.

After the Trac and Subversion headaches came Christmas, so I took a three-day break, visiting family, starting to read one of a few dozen fiction books from my “to read” pile, and generally chilling out. Then from Thursday through Saturday, I only worked on proposals for articles for “the secret online geekly articles site.” I hope to get at least one article proposal accepted in the next weeks.

I also found a potential employer, a place in Amhurst, MA called Assembla.com. They are a remote development consulting company, looking for Ruby on Rails developers that can work remotely. Their main product is something like a mashup between a wiki, a social network site, and a project management repository. They also do custom remote development for customers.

The interesting thing about Assembla.com, is that the hiring process consists of a type of paid audition: instead of sitting through interviews, getting your references and work history checked out, and usual job-getting stuff, they assign you a task out of their real workload, and pay you for a week or two while you get it done. If you accomplish the task to their satisfaction, you’re offered a permanent contract. If not, well, you can keep trying. I’m going to be applying this coming week.

I need to get my time organized, that’s certainly step one of the New Year. I want to work on iCal to GCal Sync and do more pjtrix goodness. I also will need to work on whatever tech article gets the a-OK. And I also need to concentrate on passing a paid trial for Assembla.com. Easy peasy. (Hint: that was sarcasm, folks. But I’ll try nonetheless.)

What I will probably end up doing, is divide my days into five-hour periods, not including sleeping, eating, my mandatory 20-minutes-away-from-the-computers-every-two-hours, and hygiene time. I’ll work on only one thing each period, then rotate among tasks every five hours. It will be like working three part-time at-home jobs! I’ll be like a homemaker mom. :-)

Alright, that about does it with the updates. If I think of anything else, it will be my first post for 2007! See you then!

Technorati Tags:
, , , , ,

]]>
http/blawg/2006/12/31/last-blog-post-for-2006/feed/ 2
GoDaddy server woes http/blawg/2006/12/14/godaddy-server-woes/ http/blawg/2006/12/14/godaddy-server-woes/#comments Fri, 15 Dec 2006 01:28:08 +0000 http/blawg/2006/12/14/godaddy-server-woes/ Continue reading ]]> I want to openly distribute to the interwebs various pieces of software, some that I’ve already developed, and some that I am in the process of developing. And I’d like to grow a developer and user community around this software on this web site. I don’t want to use SourceForge, Google Code Projects, and similar services. In short, I want the code and support services to be hosted on my server, because it will help bring readers and traffic to my humble weblog.

I thought, “Easy, I’ll install the Subversion source control system and the Trac issue/documentation management system on pjtrix, and publish my software that way.”

Easy. Yeah, right! I spent most of the day and night Wednesday, and half the day today Thursday, fighting with my server. All this because of the poor technology choices of my hosting provider.

Pjtrix and the other domains I run, are served from a GoDaddy virtual private host. GoDaddy uses Virtuozo, a commercial Linux virtual private server (VPS) implementation, and the Fedora Core Linux distribution. GoDaddy upgraded their VPS service last year to Fedora Core 2 (FC2).

Unfortunately, while FC2 is great and all as Linux implementations go, it is no longer maintained. The Fedora project calls this end-of-life, or EOL. After EOL, there was a brief time when FC2 was maintained by the Fedora Legacy community. But they too stopped producing updates for FC2, about a year ago. You could say it went from EOL to SOL (sorry, couldn’t resist!)

The Fedora Legacy package repositories for FC2 have an old version of Subversion that is not supported by Trac, and Trac itself is not among the FC2 packages. So as the good open source maven I am, I tried to install Trac and Subversion directly from the latest source. But I kept coming to a dead end with two big catch-22 issues.

I ran into the first issue when trying to configure the Subversion code, before attempting to compile it (the proverbial first step in building an open source package for Unix systems.) The configure script complained the GNU C Standard library (gnuclib) on my system was too old and not supported by Subversion. Since there was nothing else available, I tried to upgrade the gnuclib using the out-of-date Fedora Legacy repository, hoping this would be good enough.

But when I attempted this, several FC2 packages complained that the library I wanted to install was not the one they needed. They wanted *only* the gnuclib which was already installed, a library apparently provided by Virtuozo.

This is the second issue, and you can see where this is going, I hope.

It seems Virtuozo is implemented as a special virtualizing Linux kernel with a specially crafted gnuclib. And this means GoDaddy doesn’t run a plain vanilla FC2 on its VPS servers. Instead, they run a Virtuozo-provided, specially crafted modification of FC2 that is practically impossible to update, even if there were up-to-date packages available!

The actual solution I ended up implementing was simple, but before I found it, I did spend nearly eighteen hours out of the last forty-eight, spinning my wheels and trying different things. I tried mucking with the Subversion code, fooling it into accepting the Virtuozo-provided gnuclib. But this produced a flaky executable (I guess that’s why that version of gnuclib is unsupported.)

I tried hacking Subversion and Trac RPMs from FC4, but while they installed OK, they didn’t run because of shared library linking issues. I tried installing a separate C Standard library (newlib) somewhere else on my server, and fooling Subversion into using that library. But I couldn’t get this to work.

I tried trolling around RPM and .deb repositories, trying to install every Subversion package I found. None of them wanted to install.

In the end, I found the RPMForge third-party repository, with both up-to-date Trac and Subversion packages for FC2. And they were built in such a way not to conflict with Virtuozo and its crazy hard-coded package version numbering. And so far, they seem to run decently.

Hopefully there will be no more surprises, and I can get started putting my projects up in the repository over the next few days. If I hit any more snags, I may just end up putting my code up somewhere else, though.

Technorati Tags:
, , ,

]]>
http/blawg/2006/12/14/godaddy-server-woes/feed/ 0