One of the touted benefits of Open Source software is the ability to "go in and fix it yourself" when your software isn't working the way you want. And while that is a great benefit, sometimes you don't have time to fully understand all the code and fix it on your own. That's when the other benefit of Open Source comes into play: direct contact with the developers.
Recently, I was setting up an instance of the Serendipity blog publishing software at work. Since we are in the process of migrating to MySQL5 from MySQL4, and since they are both running on the same database server, the way you reach the MySQL5 server is non-standard (it's running on a non-default port of 3307). There were two modules to access MySQL in Serendipity: the "old" mysql PHP module and the "new" mysqli PHP module (completely unrelated to the "old" and "new" database servers). I tried to specify the database host name as databaseserver:3307 (which is the usual way to do it), but using the mysqli module, it failed. With mysqli the host, db, user, pass, and port are all separate fields in the function call to connect, so you can't pass it databaseserver:3307. I posted about this error on the Serendipity user forums, and in two days (mostly because the author is about 10 hours ahead of me), we had debugged the problem, and he had written a few lines of code to change the mysqli connect call to handle the case of someone giving host:port as their host name. Pretty easy, but can you imagine getting a two-day turnaround from a commercial software vendor?
Shortly after this happened, there was a blog post by Giuseppe Maxia, a systems analyst and database designer, about a bug being opened in the MySQL bugs database and, with the help of two contributors from the MySQL community, that bug being closed just 11 hours later. Now that's the power of open source community.
Don't you wish Microsoft fixed bugs that fast?
Jon has a post about getting started with Django. Welcome to Python, Jon. I'm sure you'll enjoy it. As I've posted about before, I've greatly enjoyed my foray into the world of Python. While sticking with "pure Django," especially if there is a CMS system on top of it, may mean you don't see Python much, if you start creating filters and editing templates, you'll probably dive right in to the language.
If you have programming experience, snag a copy of Python in a Nutshell. If you don't, grab Python in a Nutshell and Learning Python. Both have served me well.
And of course, if you have a question, ping me. I'd be glad to share what I've learned in my short, but productive eight months of learning Python.
Python is a fun language, and easy to learn. I'm sure you'll have a great time.
 I just came across an interesting spam message. It was a spam offering to sell me (I think) health-care-related e-mail addresses. After getting over my fright at facial features being deformed by the drip bag, I noticed what seemed to be a weird fuzzy area in the photo. If you don't see it, look really closely at the area just to the left of the drip tube. See it? Yup, it's a watermark. That usually indicates a photo that might be a thumbnail or sample from a stock photography site.
So, I did a little investigating. Looking at the source of the e-mail, I found the URL to the photo which included this file name: SuperStock_1491R-120345.jpg
That's right, he didn't even rename the file when he downloaded the sample from SuperStock. Hmm...that really gives me confidence in his character and operating principles.
The content of this post has been moved to Joshua's Tech Blog.
Izzy just alerted me to a 10-day old story on the tech news site "The Register" that points out the E-Bay hole I blogged about, and names me as the one pointing it out. I also blogged about the hole getting fixed.
It's always nice to be mentioned on a large site.
Way back in the early days of my interactions with the Internet (1996), I started learning the Perl programming language. I had a client who wanted to create a database-driven web site, and before I realized I had no idea how to do that, I said, "I can do that." Well, my search (probably on the term "CGI") led me to CGI Programming on the World Wide Web by Shishir Gundavaram. Since that book used Perl, I learned Perl, my first "real" programming language (I had learned a little bit of C64/MS Basic before that).
Fast forward ten years. By now I've done a few database-driven web sites, a few C/C++ projects, and a fair bit of database design and programming (in Visual Basic). Should mean I'm a Perl hacker for life, right?
Well, maybe not. Around the end of last year, I had just completed a 500 line script in Perl that extracted data from files, and generated pages and diagnostic data. After that, I realized that I did not want to code my entire Master's project in Perl. Keeping track of the data structures became a nightmare, and I realized how much I struggled to wrap my mind around the syntax, instead of it coming naturally and efficiently. I needed something better...at least something that worked better for me.
[I pause here to note: this is not a flame against Perl. As I stated, I used Perl for 10 years, and enjoyed using it, and was very productive using it (at least in smaller scale projects). I just came up against a project and domain where Perl wasn't the best fit for me. It may very well have been the best fit for someone else. We now return to our regularly scheduled blog entry...]
I'm familiar with a lot of languages, but as stated, have only used Perl, Visual Basic, and C/C++ in any real capacity. I had heard a lot about Python, and knew enough to know that I'd probably enjoy the way it's set up. I like organization, and one of the ways Python organizes things is by using indents to denote blocks of code: all code at a particular level of indent is in the same block. An example, using classes, methods, and 'if' statements.
class DemoClass(object) #inheriting from object denotes a "new style" class _init_(self, name): # Do some initialization here self.name = name def sample_method(self, var): if(var == 'this'): print "That!" elif(var == 'thus'): print "Thusly!"
And there you have a fully functional python class. Python's class syntax is so intuitive to me that I've used (that is written) more classes in Python in the past few months than in all my years of Perl programming. In addition, I find the syntax to use objects in Python to be more natural, and less to type for that matter.
-- '.' instead of '->' as the object accessor. It's just easier to type.
-- Calling the class name as the constructor instead of PackageName->new() makes more sense to me.
-- Declare a class with 'class ClassName' instead of the several lines it takes to define a class in Perl
There are other reasons and areas as well where the syntax, semantics, and philosophy of Python just makes more sense for me, and I may write on those in a future post.
You can read my evaluation and reasons (complete with Typos) which I wrote for my boss and coworker to justify coming up to speed in a new programming language for my Master's/Work project.
To sum it all up, "I'm really liking and enjoying Python." I rewrote that aforementioned 500 line script, and added even more functionality, and ended up with not much more code. The language was very natural to learn, and it was very easy to come up to speed with the functions I needed. I've written about 1000 lines line python so far...I think I've hooked.
Over at Roughly Drafted Magazine, Daniel Dilger has an excellent article on why Apple is set to overtake Microsoft in the desktop market. It is interesting to read how Microsoft is basically repeating the very same mistakes Apple made back late 80's and early 90's: no innovation, high prices, and writing off competition as not being a threat. As I have written in my previous posts about OS X, Apple has a viable (and actually better) competitor to Microsoft's Vista.
Daniel mentions that Apple may overtake the middle to upper tier market, with Windows machines (and their makers: Dell, HP, Gateway, etc) fighting for the lower-tier-deep-discount machines. You know, the ones filled with all sorts of pop-ups and trial-ware begging you to buy the full versions?  And for which you must pay an additional $200 to $300 for a decent warranty. If that becomes the case, you'll have pretty much three markets: 1) the low-tier Windows market, 2) the mid-to-upper tier Mac market, and 3) the Linux dominated (in my opinion) server market.
IBM was once seen as unstoppable and un-topple-able too...but arrogance and marketing mistakes changed that. I will be watching to see if Microsoft wakes up and changes their business plan before that happens.
As most of my readership probably knows, I'm not particularly fond of Microsoft. While some of their products are of high quality, for the most part (e.g. Office 2003 or before), the operating system with which they have held dominance in the computer world is a constant source of irritation and frustation for me. Personally, I run Linux and home and at work. However, I support users that run Windows, mainly my parents. I decided long ago that XP would be last Microsoft operating system my parents used. And due to various frustations my father had with system, he agreed. Now, it seems, that decision has even more merit. The negative (and neutral-you-don't-really-need-to-upgrade type) of reviews just keep coming. I highlight three more today.
For the impatient: If you're thinking about a new computer, get a Mac. Upgrading your system to try to run Vista won't be worth the pain, so you'll soon be thinking about getting a new computer, which should be a Mac. If you are techincally inclined, investigate Linux. Kubuntu Linux runs on most hardware out there, and should be a relatively pain-free experience for someone with a modicum of technical knowledge.
First, an article from the BBC about trials and travails in trying to upgrade a computer to run Vista. First a new video card, then the network wouldn't work, then his webcam wouldn't work (even though the Vista upgrade advisor said it would). And why was his three year old PDA no longer supported?
Next, we have an article about the United States Department of Transportation. It seems, for the time being, no computers are to be upgraded to Vista or Internet Explorer 7. The imposition of the ban is interesting enough, but the most interesting part of the article is a quote by DOT CTO Tim Schmidt:
"We're analyzing different client software options and also integration issues," says Schmidt. Among the options the Transportation Department is weighing as a possible alternative or complement to Windows Vista are Novell's Suse Linux and, for a limited group of users, Apple's Macintosh hardware and software, he says.
Oddly enough, moving to Linux will probably cause less compatiblity issues, and will enable them to use some of their older hardware longer.
And, for our final link, this one is another in a long line of "Mac-OS-already-has-what-Vista-has-and-more" articles. Information week says that Max OS X shines in comparison to Windows Vista They say, despite OS X's age, it matches or surpasses Vista in many areas.
Now, I'll be honest, I've read good reviews of Vista, I've even read glowing reviews, but never in my paying attention to computer reviews of Microsoft operating systems (which goes back to about Windows 95 or so) have I read so many reviews that said either "You don't really need this, you can get what you need elsewhere," or outright "Don't buy it." I suppose there are a couple reasons for this. One, there simply are a lot of things wrong, or done poorly in Vista. Two, for the first time in Microsoft's history, there are viable alternatives to their product. Almost all software out there has Macintosh versions available (and if not, you can run them in Windows XP under Parallels or VMWare). If you are more technically inclined, you can try Linux.
Explore the alternatives. You'll be glad you did.
After my post about E-Bay's sign-in server being used to assist phishers, there was no reponse forthcoming. However, the article was read a few hundred times by various people. Eventually, it seems, the right person read the post (or my original e-mail to E-Bay) and was able to fix the situation. If you try to use the example in that post, it no longer works. Score one for the blogsphere!
Update: I just found out that I was quoted in a TameBay article about E-Bay fixing their flaw.
My fellow good blogger Rohan Jayasekera comments on why Macs are more popular now. He's spot on: in industries that have no particular tie to a platform (mainly web and other tech), one is free to use the best platform available. That is why you'll find most tech-oriented people using either a Macintosh or Linux machine to do their day-to-day work. As a system administrator and programmer, I've exclusively used a Linux box at work since 2000, and at home since some time in 2003 (I think).
There are other reasons for the surge in popularity, though. For one, it's just a really good platform. The stability, usability, and security are top notch. I remember using OS 8 and OS 9 systems a long time ago, and while fun, they never really impressed me enough to even think about switching to the Mac. If I had not already been on Linux when OS X started getting good traction, I probably would have gone that direction.
Mac's just work. Their support in the third-party component world has historically been good, but now it's fantastic. You can buy pretty much any piece of hardware and expect it to work on the Mac. And work well, with minimal muss and fuss. Support on the software side is quite good as well.
And for those occasions when you really need Windows Parallels Virtual Machine provides a virtual environment in which Windows runs at nearly native speed.
All this adds up to traction. When the only feasible alternative out there is Windows CloudedVista*, Mac is set to reap some real rewards. It's a system that is fun to use, and easy to learn.
No wonder they are growing in market share.
*Linux is nice, and works well. But it's not always the best choice for a home user.
Werner Vogel, is the CTO of Amazon.com. As such, he is probably fanatically concerned about uptime, large systems, and reliability. He's so concerned about it, he has a entire blog about it. So, when he starts talking about failure rates for hard ware, specifically the reliability of harddrives, you sit up and take notice.
He highlights two studies ( Study 1, Study 2), one of them from Google, on the failure rates of harddrives, and what makes hard drives likely to fail. The interesting conclusions? It has nothing to do with use, environment, or age. Although older drives seemed to last longer than new drives. Why? Well, the newer disks were less expensive. As is often the case, you get what you pay for. There was also a "strong correlation between manufacturer/model and failure rates."
As an IT person, and specifically a system admin, harddrive failure is one of those things that is pretty high on my list of things "I really don't want to happen...ever." Those reports will make some interesting food for though next time we go buy harddrives. I think I'll be leaning toward the "enterprise class" harddrives.
Jon Bourne got to see one of his suggestions for Firefox implemented. It's always fun to see one's input used, especially in large projects like Firefox. May this be the first of many!
Tonight I was reading through SourceForge's newsletter, and one of the top 25 projects is a relatively new one call ThinWire. There are a lot of existing frameworks out there for making AJAX applications look like "desktop applications," and often they allow you to dispense with programming in HTML and Javascript. Examples include Morfik, Google Web Toolkit, and even a Python version: Pyjamas. With most frameworks, while they looked good, they were often heavy (large download), or left something to be desired in the aesthetics department. Thinwire looks to change that. Take a look at their Playground Demo for examples of the full range of the tool kit, then look at their mail demo to see just how close to the "desktop feel" they get. They are even working on a graphical form designer that is written using the framework itself. Now there's power! And they claim in only a 100K download. Lest you think this is a toy framework, they also have a video showing a production application written using ThinWire. From their site:
This application has over 300 data input forms and dialogs with a wide range of complexity. It has a business rules engine that toggles the visibility of fields, required state of fields, limits dropdown options and much more....There are no page refreshes involved in updating anything within ThinWire®, the page is modified on the fly as a result of user actions that trigger event listeners on the server. Like all applications built with ThinWire®, no client-side code or HTML was written; all logic resides on the server.
One teaser that caught my eye is on their front page where they say you can develop using Java, or "alternatively, use a scripting language." I can't find further explanation of that, but if I could program in this framework using Python, I think we would have a real winner.
They are gunning for the Duke's Choice Award, so if you have experiences with ThinWire, or want to try it out, they are looking for company and developer feedback as part of the nomination process. I'll certainly be following the development efforts.
A few days ago, I blogged about Vista being a complete miss. I may have been wrong. It might end up being a complete flop, instead. Scott Finnie, whom I quoted in the aforementioned post, put the final nail in the coffin that have been his reviews of Windows Vista: after trying Mac OS X for three months, he's completely jumping ship and converting to Mac. Now, understand, this isn't just a random computer guy who was on the fence about which way to go. This is ComputerWorld's Windows expert. This is someone who has done several reviews of Vista. This conversion, despite the fact that he's still looking for software to replace some functionality he had on Windows, and he had some really "fun" things to convert, such as 500+ e-mail filter rules in his e-mail program. So, with glitches like these, why is he converting? Well, because "things just work." He says that despite the learning curve (and there is a learning curve, even if Macs are "easy to use), you spend more time working, and less time getting your computer to work. I've already been recommending Macs to people for a couple years now (I use Linux, personally), and I am certainly going to recommend Macs to people now who are wondering about whether to upgrade to Vista from XP.
I also came across an article on Forbes that really barbecues Windows Vista. I'll let you read the article, but the thing that really impressed my about this article was the fact that this was in a major business magazine. I'm wondering how many upgrades to Vista won't happen because of what was written.
 I got a phishing e-mail today that wanted to try to convince me to log in and "unlock" my Bank of America account since it was locked. Oddly, enough, however, the "From" line said it was from E-Bay support. I guess when you're sending out millions of e-mails, trying to scam thousands of people, little details get overlooked.
|