Archive for the 'Opinion' Category

07
Jul
09

Twitter as a non-profit?

Let me first say that I don’t use Twitter. I see why people like it and I see why it is popular. I’m not one of those curmudgeons who bemoans its use, I just have enough things to keep up with. Someday, I’ll hope on the proverbial bandwagon.

Even though I don’t use it, it’s hard to do much anymore without hearing about it. Whenever there is a news event now, it seems like people are tweeting about it or the source came from a tweet (ala Jeff Goldblum’s non-death).

So, yes, Twitter is popular. And everyone has been speculating on how Twitter is going to make money, because as of now, they are surviving on VC dollars and the hope of making money down the road. A quick search on google will give you an idea as to how people have tried to make their own revenue model for Twitter.

Most of these models rely on some sort of ad delivery system, which is a pretty standard way to make dough. However, given the large number of people who use Twitter indirectly via the API, most ads within the page will not be seen by the users. That leaves you with putting ads in the tweets themselves, which will probably do nothing but make users feel as if their privacy has been invaded by a door-to-door salesman who just happened to show up in their Twitter feed.

So, I say let’s make Twitter a non-profit, much in the way that Wikipedia works. Just like Wikipedia, Twitter has totally user generated content. Also, they are both excellent data sources in their own way. Wikipedia for more historical data, Twitter for more transient and current opinions.

I think with a large passionate user base like Twitter, raising funds to keep it going would not be too hard. I also think it would allow them to keep developing a platform that is good for the community at large instead of business stakeholders who want a return on their money. Twitter is a good platform and I’d hate to see them go down because of a lack of monetary plan or, even worse, because it alienates its users by pumping in ads where they are not wanted.

Let’s get those dollar signs out of your eyes and do something reasonable. So, Twitter Foundation, anyone?

03
Jun
09

Proper DRM

The wife and I are planning a summer vacation to the northern parts of Japan, so instead of buying the whole guidebook for Japan, which runs at 35 bucks, we decided to buy the one chapter that we will actually use. This is a new idea by Lonely Planet and I think a great one, especially considering how much of the actual guide book people use when traveling. So, we went to their website, chose the chapter, and downloaded the PDF we were looking for. I almost assumed that there was some sort of DRM applied that would not let me print it or open it on another computer. However, I was wrong in this case. The text at the bottom of the PDF explains it all:

To make it easier for you to use, access to this chapter is not digitally restricted. In return, we think it’s fair to ask you to use it for personal, non-commercial purposes only. In other words, please don’t upload this chapter to a peer-to-peer site, mass email it to everyone you know, or resell it. See the terms and conditions on our site for a longer way of saying the above – ‘Do the right thing with our content.’

To which I say, good for them. There are too many instances of companies being super guarded with their content that they attach some sort of restrictions to what one can do with the content. And the reality is, if someone really wants to do something, they probably will. There are ways to get around just about any DRM protected file if you want and by locking it down, you are basically insulting your customers and telling them “I don’t trust you”.

Instead of not trusting their users, they’ve basically said “Listen, we know you can take this and give it to anyone you want. But, we trust that you won’t do that. Thanks!” And you know what? I won’t. I’ll keep it to myself and use it as if it were a real book.

I think it’s something to think about for all the software out there that has ridiculous pricing models based on the number of CPUs or users, etc or music download sites that restrict how the music you downloaded can be shared.   Make it easy for the customer and the customer will reward the company with loyalty and more revenue. Bog the customer down with restrictions and force him to spend more money upfront will lose future loyalty.

28
May
09

How Not to Code With Javascript

I’ve had quite a frustrating day today trying to get my internet hooked up here in Korea.  To finalize the connection here, you must register your computer with the company via their website.  Or, at least, that’s what I’m assuming as the site is in Korean and the guy installing the internet didn’t speak much English.

Anyway, the registration site wasn’t working because when the installer dude was clicking on the menu tabs, nothing was happening.  I pulled the same site up in Safari and FF3, but still, it didn’t work.  Being ultra annoyed at this point, I opened Firebug and started going through the code.  Here’s what the menu tab link looked like:

    <a href="javascript:goMenu(1)"</a>

And the offending javascript:

    function goMenu(menu)  {
        
        if(menu == 1)
            location.href = "/sw5/order/wm/wm_install.jsp";
        else if(menu == 2)
            location.href = "/sw5/order/wm/wm_repair.jsp";
        else if(menu == 3)
            location.href = "/sw5/order/board/board/supportBoardList.jsp";
        else if(menu == 4)
            location.href = "/sw5/order/board/bbsDown/supportFileList.jsp";
        else if(menu == 5)
            location.href = "/sw5/order/board/bbsError/supportErrorList.jsp";
        }

Technically, there’s nothing wrong with the javascript. It should work fine, but since there were some errors in some of the other javascript, the whole javascript file didn’t parse correctly, therefore, this particular function didn’t make its way to the javascript interpreter in the browser (unless your browser was IE7 for some reason).

The bigger question of course is why would you ever program like this? Does the person who wrote this have no idea what an anchor tag does? Why would he/she not choose to just put the URL into the href of the anchor tag? I mean, this is pretty fundamental here. If you ask anyone who’s even attempted to make a website for more than a day, I’m sure they could tell you how to make an anchor tag. On top of that, a it would be better to at least explicitly use the window object and call window.location.href. But I guess, if you don’t know how an anchor tag works, why bother with doing javascript correctly.

So, curious as to what else the programmers of this site could possibly do, I saw two methods defined that looked kind of funny that are probably the reason the javascript file wasn’t interpreted correctly.

    function document.oncontextmenu() {....}
    function window.onload() {....}

So, the programmer isn’t trying to call the document.oncontextmenu or window.onload functions, the programmer is trying to define these functions. I can’t really fathom why you would ever, ever want to do this. Of course, most normal javascript parsers think that you are calling the function window.onload instead of defining a method called ‘window.onload()’, so the javascript bombs out. I guess the IE parser is a little more lenient and probably silently ignores it. But again, it just baffles my why anyone would write this and that code like this made it to the registration site of one of the largest internet providers in Korea, which happens to be the most wired country in the world.

How are we teaching people to make websites these days, anyway?

27
May
09

It’s a Poor Craftsman Who Blames His Tools

I don’t understand a lot of the arguments that pit one framework or language against another.  Ok, I understand them in the technical sence, but I don’t understand why people seem to like to argue about them a lot.  Given the proliferation of blogs about how language X or framework Y is way better than some other “competing” language/framework, either the writers are just using cheap ploys to get people to read their blog or there are more people out there like the Comic Book Guy from the Simpsons than I think.

Worst.  Framework.  Ever.

Worst. Framework. Ever.

Case in point is this post: Java Kicks Ruby on Rails in the Butt.  Not only is the article riddled with assumptions, it compares a framework (Ruby on Rails) with a language (Java).  Talk about an apples-to-oranges comparison.  Basically, it creates an application in Rails with the scaffolding and says “look, it’s not very cool looking”, then uses some Java open source tools to build the same application.  Clearly, the screen is prettier, so the Java one is much cooler and easier.  There’s no mention that, yes, you can actually have both and run Ruby on Rails in JRuby in your JVM, but let’s not mention that.

Another misguided post can be found here: Ruby on Rails and the Importance of Being Stupid.  For the lazy, like me, let me summarize this one for you: site A was written in ASP.NET and runs super well but site B was written in Ruby on Rails and takes 5 minutes to load a page.  Despite the fact that site A and site B are completely different sites written by different people for different reasons, the author feels compelled to go ahead and compare the 2 anyway.  He is actually kind enough to to mention all of the design flaws with the RoR site, most of them having to do with a so-called “MIT Genius” who over-engineered a solution and who apparently doesn’t have the first incling of how RoR’s ActiveRecord works.  Overall, he seems to be making the point that this one “MIT Genius” fellow made a bad site with RoR and he is stupid, therefore Ruby and RoR is stupid.  He comes off as a bit of a curmudgeon, pissing on anything new, instead of just admitting that the “MIT Genius” guy made some mistakes.  Was it RoR or Ruby’s fault?  No, it was a case of someone who didn’t know how to use his tools well.

Which brings me to the point.  There is nothing inherantly wrong with Ruby, Java, PHP, Lisp, ASP.NET, or any other framework/language that you can think of.  They are all just a tool to get the job done.  If you use that tool like an idiot, then, well, who’s to blame: you or the tool?  There’s an old proverb that says:

It’s a poor craftsman who blames his tools.

Which is exactly the problem.  Listen, if your given a hammer and you use the handle end to try to put a nail into a piece of wood, it’s not the hammer’s fault.  It’s your fault.  You. I’ve seen whole houses in Central America being made with just machetes.  Seriously, people will use them to hammer, cut, turn screws, and just about anything else you can think of.  They have one tool, they know it well and they build pretty sturdy homesteads with this simple instrument.

Machete: More uses than a Swiss Army Knife

Machete: More uses than a Swiss Army Knife

You can make a perfectly good website using Perl and SSI for all I care.  It gets the job done.  Or you can even go further and create static HTML files and FTP them to a web server.  Whatever suits you.  All the end user cares is that it works.

Personally, I like Ruby and Ruby on Rails.  It makes me happy to develop with it.  If you like something else, go ahead and use it, no sweat off my back.  Just quit complaining about the tools I use and learn how to use yours properly.

30
Apr
09

Time for Rails to Grow Up

So, I’ve been particularly absent in my internet time as I’ve moved from Argentina, then the States, then Korea all in the past 3 months. In other words, it’s been a bit hectic lately.

And what do I see when I come back? It’s an argument over a presentation that someone did at the Golden Gate Ruby Conference called “CouchDB: Perform like a pr0n star”. You can see the slides at the end of this blog.  There has been much debate on it, as seen here, here, and here (and probably at many other sites, too).  During the whole thing some people say “so what” while others say it’s a disgrace while DHH and many of the core developers as I understand it have actually embraced it, theorizing that edgy is good.  This actually casued one of the ruby activists,




Stay Updated

or

Get new posts via email

Software Blogs - BlogCatalog Blog Directory

 

May 2012
M T W T F S S
« Jul    
 123456
78910111213
14151617181920
21222324252627
28293031  

Follow

Get every new post delivered to your Inbox.