Today is a good day to code

Oracle Buying Sun Microsystems

Posted: April 20th, 2009 | Author: | Filed under: Companies, Oracle, Sun Microsystems | Tags: , , , , | No Comments »

Today, we saw a game changer take shape.  Oracle’s bid for Sun Microsystems changes the landscape big-time for all technology players.  I personally do not love this situation.  I think that Oracle has a history of buying companies and scavenging them for IP and people, then discarding the rest.  I’ll go through who the biggest loser is in this deal, what will likely happen with the Sun’s major products, the biggest winners, and how it will impact developers.

The biggest loser in this deal is clearly IBM.  I believe now that IBM’s offer for Sun was a defensive deal.  They knew that if Oracle got it, IBM would become dependent upon Oracle to some degree in regards to the JVM.  This condition will force IBM to accelerate its work on a different JVM.  The problem here is that the IBM JVM will probably not be 100% compatible with the Sun JVM, creating further stress on the whole write-once-run-anywhere adage that Sun has been touting since the introduction of Java.  This will undermine the market for Java and send companies and developers to other alternatives to Java like Ruby and Python, which do largely the same thing and are still independent.

Oracle has in the past dismantled companies that it has purchased, distilling them down to strategic product lines, and profit centers and destroying and discarding the rest.  This is likely to be done with Sun.  What I see is the dismantling of Solaris, and the discarding of Solaris as a standalone product, and Oracle holding the IP.  Oracle will likely integrate the beneficial parts of Solaris into its Linux project.  JRuby will probably be killed, NetBeans will be killed, sadly.  Keep in mind when I say killed, these projects will continue, but they will need to be maintained and improved by the community, it is unlikely that Oracle will continue to expend company resources to work on these fringe projects.  Basically all of the minor open source projects that Sun was working on, will be subject to the same fate.  This includes the community version of MySQL.

MySQL will probably be split into two.  The MaxDB version of MySQL will gradually become Oracle 10g or whatever, and the community version will receive no further community updates from Sun / Oracle.  The community version of MySQL will lag very far behind the features of whatever Oracle version is its contemporary, and will likely stop being viable for most startups since the only upgrade path will likely be to an expensive Oracle license.

Why would Oracle do this?  For very basic reasons.  It removes a thorn from its side, in that they have been unable to capitalize on most web startups and even some of the larger web companies like Yahoo, Digg, and Facebook.  Now they will have the ability to extract larger licensing fees from these guys, and ( I’m sure they will believe ) mindshare from indie developers.  What really will happen is that these big guys will play along for a while, and then switch to PostgreSQL or something else.  I know that I am going to start looking more closely at PostgreSQL, and continue my heavy use of SQLite.

The biggest winners are, naturally Oracle, but perhaps less obviously, Microsoft and HP.  This is a huge opportunity to convince the cluster and server holdovers to embrace Microsoft Windows Server 2008 and HP server hardware.  In the confusion, some customers will move over, especially with some nice incentives to sweeten the pot.  Watch for Microsoft and HP’s sales departments to be a frenzy of activity over the next few weeks.  They will steal some business from Sun over this period.  Google could be a winner if they can commercialize their DalvikVM.  They are looking like geniuses right now for not building Android on top of the Sun JVM.

Developers will suffer significantly through this deal.  Sun had tons of developer friendly projects that didn’t make money, but gave developers a warm fuzzy feeling about Sun.  Small shops will rethink their dependence on the JVM and other Sun technologies.  Their developers will start recommending alternatives.  Not because anything has changed technically, but just because of their perception of Oracle as stodgy and difficult to work with.  Many of my favorite tools are Sun tools, but I wouldn’t necessarily pay for them as they don’t make my job that much easier; I will likely just fall back on my older tools that do the same things, but are just a little less efficient.

No matter the outcome, this is a dark day for tech, and it will take a while for the industry to absorb what just happened.  Sun was a community service, and it is difficult to imagine a world without them churning out cool Open Source projects.  I feel really bad for all of the MySQL AB guys who now work for for Oracle.  I would look for them to quit and create a new startup with a really cool database engine….


What Does a Sun Bankruptcy do to Enterprise?

Posted: December 29th, 2008 | Author: | Filed under: Companies, java, Programming, Sun Microsystems, Uncategorized | Tags: , | No Comments »

What Does a Sun Bankruptcy do to Enterprise?

Picture of IrvinFor more than a few weeks now, I have been pondering some broad implications of companies that we all rely upon failing. Probably the grand-daddy of these is Sun Microsystems.

Normally I wouldn’t be concerned about tech companies going away. It is part of the normal advancement of the art, but in Sun’s case, it does concern me. While I don’t share many developers’ blind love of Java, or Solaris, or any product really. I do feel that Sun has given a tremendous amount to the software engineering community and would be sorely missed if they were to go belly up. At the time of my writing this, Sun’s stock is at $3.41 per share, and their market capitalization is 2.52 Billion, less than Sun has on hand in cash.

I don’t necessarily think that Sun is in financial trouble, but it does seem that there are a bunch of products that they release that are mostly not for pay. Not to mention that their financial performance may / should, be giving some corporate IT departments pause as to their dependence on their technologies. Many companies rely on support from Sun, and if that were to transition to the community, the level of response may not be sufficient. The question I would ask is, “Will a Sun Bankruptcy Drive Corporations Back to Microsoft?”

Unfortunately, I can’t see any other alternative at the moment. There are millions of lines of code out there written against the Sun JVM, and while the JVM is now mostly open source, and so is Solaris, the companies that count on those lines of code typically are not interested in maintaining that code as well. Without Sun, you could have JVM forking, Solaris forking, etc… where a particular application written against Java or Solaris may not run in a given company. Corporations would have none of these problems if they used the .net stack for application development.

Now, I am not advocating that all corporations out there should drop their Sun implementations and run to Microsoft, but what I am saying is that they should prepare themselves for a little instability. I tend to use Ruby and the Rails framework for most everything anymore, but I have come to be somewhat skeptical of the gems that I am using. I am also aware that there is currently no support beyond community support for most of these items, and the developers working on them could get bored and go away. So for functionality that is more than a nice-to-have, I tend to write it myself.

Hopefully this will go away when we start to see professional gem houses, but in the near term, I would hope that companies would begin to diversify their stack a bit so as to mitigate the cost, such as re-engineering their non-core systems to be less dependent on core software from a particular vendor. The last thing you would want would be to find a showstopper bug in something you were about to release that was based on a technology from a shaky vendor, that holds up your business process.

Most good IT shops already support a variety of technologies so as to not be locked in to any one particular implementation from any given vendor, but enterprise developers should not continue to believe that Sun or Java will be around forever in its current enterprise-blessed, no-brainer form. I think serious unbiased evaluation of technologies to be included in future products should gradually become the norm. If Microsoft wins, so-be it, there is some good stuff in .net, but I would hope that Ruby and PHP would benefit from this situation.


Setting Up VirtualBox Headless on Ubuntu 8.10

Posted: December 28th, 2008 | Author: | Filed under: Companies, Sun Microsystems, Uncategorized | Tags: | No Comments »

Setting Up VirtualBox Headless on Ubuntu 8.10

Picture of IrvinOver the weekend I have been setting up a RoR rig with MySQL replication. The problem I have is that I only have one machine that I can use of all of this. My solution is VirtualBox Headless.

The first step is naturally to install Ubuntu Server 8.10. There is no UI. The next step changed what should have been a 5 minute task into a 3 hour task. Pay close attention… If you use apt-get install virtualbox, you will get virtualbox 2.0.4 OSE version. The open source version does not have the built-in RDP server. So when you try to issue the command sudo VBoxManage modifyvm “vmName” -vrdpport 4389 or whatever, you will get an error back. My solution was to download the non OSE version from Sun’s VirtualBox site. After that, just issue the normal Debian dpkg command to install VirtualBox 2.0.4 non-OSE. There is an issue with the kernel driver not being updated with the kernel that may cause problems later, but I didn’t do anything with that.

After you get it installed, follow the instructions here : https://help.ubuntu.com/community/VirtualBox for getting VRDP up and running. You have to create a new PAM authentication file.

After that things work as advertised. Remember, if you want to run headless over VRDP, you *must* install the non-OSE version directly from Sun’s VirtualBox site. Follow the instructions there if you want for the kernel driver to automatically update and recompile if the kernel changes.


The Future of Scripting

Posted: December 31st, 1969 | Author: | Filed under: ColdFusion, Companies, Microsoft, Programming, Sun Microsystems, Uncategorized | Tags: , , , | 1 Comment »

The Future of Scripting

Picture of Irv Owens Web DeveloperInitially I wanted to stay away from scripting languages as a developer due to the fact that they weren't really programming languages at all. For some time I was reluctant to even call myself a programmer until I built my first Java desktop application. In CNET's open source blog today, they ask the question has scripting peaked?

Scripting hasn't peaked out yet. The reason is clear. Building a web site with C++ or Java is like driving an armored tank to your mailbox. It is that ridiculous. The funny thing is that even Microsoft realizes this, giving their ASP.net developers two languages to choose from when developing web applications. There are many reasons for enterprises to choose C# over Visual Basic when building a web application, especially if they already have desktop and client-server applications built using the technology. It would be possible to completely reuse many of the methods used in the desktop application for the web application. The frameworks built into J2EE as well as C# allow for robust development making it less likely that a developer will lose control of their code. Still, using these technologies and frameworks where a scripting language and a light framework would do adds un-necessary overhead to a project and can push deadlines out unreasonably.

Here's what I see. PHP is a fantastic scripting language that has no real back end and therefore is suitable for light to moderate customer facing websites and some intranet applications. Use of PHP in this regard will only continue to grow. I think some of the 25% decline in worldwide use is a reactive measure to PHP's early security vulnerability. PHP is losing ground quickly to ASP.net and VB scripting as Microsoft's Server 2003 is more widely adopted. Personally I think that LAMP is superior for many tasks, but ASP.net is almost ubiquitous now, hosting and maintenance are cheap. I'll continue to use PHP for light jobs, but at the same time I realize that this is just a preference and performance-wise ASP.net is better. Talking about Java… Sun needs to buy ColdFusion from Macromedia / Adobe. It should be THE Java application server. There is no cleaner and easier scripting language, and it has nearly unlimited flexibility and is design-pattern friendly. Why this move hasn't occured yet is beyond me. It would have made sense for Macromedia to sell it, but I think the issue is that Sun has many proud engineers who love to over develop products. The thought of supporting something as business friendly as ColdFusion probably makes them sick. The business case for this is probably that Macromedia probably sees the big picture and that there are big bucks in ColdFusion, especially now that enterprises are seeing it as a way to get around JSP's notoriously long development cycles.

I see scripting as having a bright future, and I'll tend to side with Zend's guys as saying that regardless of how the Evans study got its numbers, PHP is increasing in use not decreasing. I'm not sure if it is true, but if the next version of IIS is going to have PHP support built-in, I'll be seriously considering going with a Microsoft server in the near future and running it alongside ColdFusion. I like PHP, but I just like ColdFusion better.

news.com – Scripting's demise


Doing an Http Request in Java

Posted: December 31st, 1969 | Author: | Filed under: Companies, java, Programming, Sun Microsystems | Tags: , , | 1 Comment »

Doing an Http Request in Java

Picture of IrvinSince I always forget how to do this, because I just reuse a class, I am selfishly going to post the code for an HTTP request in Java to this blog. I don’t think I am using anything specific to JDK 1.5, but I very well could be.
/*
* MakeHttpRequest.java
*
* Created on May 15, 2007, 8:40 PM by Irvin Owens Jr
*/ 

import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;

public class MakeHttpRequest {

private String myUri;

/** Creates a new instance of MakeHttpRequest */
public MakeHttpRequest(String uri) {
this.myUri = uri;
}

public String doRequest(){
String req = null;
try {
req = makeHttpRequest();
} catch (IOException ex) {
ex.printStackTrace();
}
return req;
}

private String makeHttpRequest() throws IOException{
String str = null;
URL hp = new URL(this.myUri);
URLConnection conn = hp.openConnection();

Here I am going to set a User Agent string by getting some information from my Java Environment, along with additional information.
conn.addRequestProperty("User-Agent","WelshCorgi/1.0(WC 1.0; " + System.getProperty("os.version") + "; " + System.getProperty("os.version") + "; " + System.getProperty("os.arch") + ") Corgi/1.0.0.0");
InputStream input = conn.getInputStream();
conn.connect();
String mime = conn.getContentType();

I have a thread spin off to write the file to a cache.

Main.corgiExecutor.execute(new SaveBinaryFile(input,"wc/cache/wc_cache_" + this.myUri.replaceAll("\p{Punct}","_") + "." + getFileExtension(mime)));
//new SaveBinaryFile(input,"cache/" + this.myUri.replaceAll(":punct:","_")).run();

Then I check the mime type to make sure that it is markup. It would probably be prudent to check for the xml type also.
if(mime.equals("html") || mime.equals("text")){
// Get response data.
BufferedReader inputData = new BufferedReader(new InputStreamReader(input));
StringBuilder sb = new StringBuilder();
while (null != ((str = inputData.readLine()))){
sb.append(str);
}
str = str.toString();
}
return str;

private String getFileExtension(String mime){
String ext = null;
if(mime.contains("html")){
ext = "html";
}else if(mime.contains("text")){
ext = "text";
}else if(mime.contains("gif")){
ext = "gif";
}else if(mime.contains("jpeg")){
ext = "jpg";
}else if(mime.contains("swf")){
ext = "swf";
}
return ext;
}

}
That should be enough to get you started with the http request. Its pretty simple once you get used to it.


Privacy on the Internet

Posted: December 31st, 1969 | Author: | Filed under: Companies, Sun Microsystems, Uncategorized | Tags: | No Comments »

Privacy on the Internet

Picture of Irv Owens Web DeveloperPrivacy on the internet is a myth. If you want to keep your personal information, or public information like your address and phone number, then don't have anything to do with publishing on the web. It makes no sense that someone would post something on the internet and then think that it can remain either out of reach of the search engines, which most search engines do an incredible job of, or that your information can be kept from zealous searchers.

There have been a number of articles recently about people unhappy with facts about them being made public, or being publicized. I can only say that anyone who posts on the internet has only one single chance for anonymity, and that is that their site gets drowned out among the noise. If a web publisher's site becomes even marginally popular, they are open for scrutiny and their information is fair game. All web publishers take this risk, especially in the age of search engines where your posts are indexed as soon as you write them. All it takes is one backlink, and sometimes not even that. With domains, everyone knows that your information is not private when you register a domain. That is why you should provide a bogus phone number, and a valid email address. You should get yourself a P.O. box to list on your registration so that junk mail doesn't come to your house. You have to do these things if you don't want to be bothered.

What is interesting about all this is that people never seem to mind when someone figures out where a celibrity lives and thousands of fans, crazies, and journalists descend like vultures to surround their house and take naked and unflattering pictures of them. People seem to figure that they have somehow asked for it by being famous. Well guess what everyone, anyone who publishes anything on the internet takes the risk of being famous. And while this is really cool for many things, it is definately uncool for others. Perhaps people should think about that the next time they read some sensationalist article about a superstar, or look at topless pictures of an actress sunbathing on the internet. They should think about how it would feel if it were them. Perhaps they would have more compassion, perhaps not if they are exhibitionists, but they should at least think about it. Personally I don't really feel bad for the guy, the one with the foetry.com domain. He is probably making a small fortune off advertising on his site, everytime CNET or any of the other media outlets link to him. His PR is probably 6 or better by now. He should enjoy his 15 minutes of fame. That's all most of us get.


Pentium M iBook at MacWorld

Posted: December 31st, 1969 | Author: | Filed under: Companies, Sun Microsystems, Uncategorized | Tags: | No Comments »

Pentium M iBook at MacWorld

Picture of Irv Owens Web DeveloperThe Pentium M is definately a step above the G4, in every way, but I still don't think that I'll be upgrading right away because of Rosetta.

Rosetta is really cool. I'll give Apple that. It just isn't fast enough. I do not intend to pay for upgrades to the Adobe Suite or to the Macromedia Suite MX just to make them run faster on the intel macs. Adobe has been pretty clear that they will not be offering a free upgrade for existing users so that means we'll have to pay.

I'm not sure about Java. Technically it should just run, but since I am not certain what's involved, and since Sun hasn't said anything about creating a VM for Darwin x86 so that means that until they do ColdFusion is either out of commission, or it will have to run through Rosetta, both of which are unacceptable for me.

I'm sure all of this stuff will shake out, and it is better for Apple to get their x86 machines out sooner rather than later. I am just not sure once the reviews come out with how slow Rosetta is that many people will upgrade. Probably the people who use only the iLife suite, and iWork will be fine. The Apple pro apps will work well, that is probably why they came up with a photoshop substitute and the audio software that they did. The knew that there would be no Pro-Tools for MacIntel. At least not for a while. I can assure you that performance will not be acceptable in emulation. Well, it's OK. My G5 and iBook should hold me until the end of '06 when it might make sense to upgrade my software, but even if I don't they will be fat binaries so I won't have to worry about it.


Solaris 10 Installer

Posted: December 31st, 1969 | Author: | Filed under: Companies, Sun Microsystems, Uncategorized | Tags: | No Comments »

Solaris 10 Installer

Picture of Irv Owens Web DeveloperOver the past couple of nights, I've been trying to get Solaris 10 to install on my Virtual PC installation. I am using Virtual PC 5.0 for Windows for a while now. I say trying because the installer is needlessly difficult. Now it could be because I am a Solaris newbie, or it could be that it just doesn't install in Virtual PC, but man while it has some cool technology in it, I just flat out gave up on it.

Now I am not a Linux newbie. I've run all manner of Red Hat, my primary machine is a Max OS X box so I can get my hands dirty in the shell sometimes there, I was even able to easily install Ubuntu Linux in the same Virtual PC setup. I did have a slight problem getting the resolutions to come out allright, but I just rebooted to the console by selecting some type of “safe” mode, edited the etc/X11/xfree86conf file with VI. It turns out that the problem was that Ubuntu defaults to 24-bit color depth on install. That would be great if I were installing into a real machine, but on the Virtual PC, especially the version that I am using, it doesn't work. The screen is horribly distended and it is almost impossible to make anything out. Changing the resolution down to 16 bits at 1024 x 768 made all the difference. Upon reboot Ubuntu was up and running in VPC. So far, I really like it. It is pretty user friendly, Gnome looks and works well, and they have a really easy updater. If there is a Linux distro that can take on Windows, this is it. There is still no substitute for Mac OS X, but then again Windows is at least two years behind it, if it can catch up at all.

If Sun wants to make Solaris better, they really need to support more hardware. Even when I tried installing Solaris natively on my machine, they didn't have drivers for the nForce 2 chipset. It isn't like the nForce2 is a super new chipset that no one has drivers for. Maybe if I had a Pentium II? They need to get with it anyway. Perhaps the open source movement can do something with Solaris, otherwise I am not going to touch it until at least 11, if ever. I think that I'll stick with Ubuntu on this machine. It is really friendly and very compatible with me.

Ubuntu Linux


NetBeans Version 5.0 Beta

Posted: December 31st, 1969 | Author: | Filed under: Companies, Sun Microsystems, Uncategorized | Tags: | No Comments »

NetBeans Version 5.0 Beta

Picture of Irv Owens Web DeveloperI've been ranting so long about netBeans that I often forget to whom I have mentioned how cool it is. I don't think that I have blogged about it, but I might have somewhere before. With the 5.0 release I think that Sun has hit a new benchmark. Having looked at how easy it is to develop UIs in the new Visual Studio 2005 it is comforting to see a similar UI tool for Java. While there is nothing that a new creation tool can do to help make the JFileChooser any faster, developing your Swing UIs doesn't have to be awful.

It really isn't fair to compare C# to Java. The tools don't compare especially where the UI is concerned. But netBeans makes the differences minimal. I like Java better because I tend to bounce between PCs and Macs, so Swing is my windowing toolkit of choice. I know there are probably all of 3 J2SE developers around and two of them are working for Oracle. But I think that is because using the GridBagLayout or the FlowLayout are pains. With this tool you don't have to think about that, it is purely drag-and-drop UI building. So you can focus on actually writing classes.

There are a bunch more features with this new release, but I think that probably the most critical is the new UI tool. It has much stronger support for Struts and other frameworks, and the integrated tomcat server seems easier to manage. I haven't seen many bugs in the application so I hope for a speedy release. If you are new to Java like I am, then this is definately the IDE for you. Eclipse may be the power user's tool of choice, but for a newbie netBeans is awesome.


Panic Button in Redmond

Posted: December 31st, 1969 | Author: | Filed under: Companies, Sun Microsystems, Uncategorized | Tags: | No Comments »

Panic Button in Redmond

Picture of Irv Owens Web DeveloperIf the announcement of a collaboration between Sun and Google doesn't set off alarm bells at Microsoft, then nothing will. Even the fact that some states have chosen to use Open Office shouldn't necessarily toll the bell of doom for Microsoft since they indeed still have many, many office users. However, they have taken way too long to bring more web based features of Office for free, largely because of their forced concern over the security holes in Windows XP.

The truth of the situation is that Microsoft has taken its customers for granted. They have felt that since they own the way that companies store and access their data, they could dictate how they used that data. Microsoft decided that integrating their office suite with rich web services wasn't something that their customer base wanted. They were wrong.

Now, that isn't to say that everyone everywhere will just stop working on spreadsheets and word processing documents online immediately. They won't. Sun's CEO was right in that customers want more services and less software. Still, there are those who won't feel comfortable with Google storing or having access to their powerpoint financial statment due to go out to their customers while they are working on it. Nor will many businesses truly want to work on their sensitive data online. Google and Sun will release a version of Star Office that will be for corporate users who want secure internal collaboration. They will bundle it with a new version of the Google search appliance. This could definately be an Exchange killer.

I had thought for a while that Google was going to bring it to Redmond in a way that would make everyone go Ooooh. But never before has Google's intentions been clearer. They want to push Microsoft to the periphery to make the environment better for innovation in computing. They were very conscious about how they worded things in the press release and they are being very careful not to tip their hands, but it was interesting that Google's stock price dipped slightly after the announcement. It would seem that at least a few of Google's shareholders aren't too convinced about them taking Microsoft head on. I for one think that they have to do it, because they are the only ones who can do it. If the end result is only that we end up with a better Microsoft and a better Google, then the consumers still win.