Friday, August 13, 2010

Killing Java

Killing Java

Will Oracle kill Java?They're currently suing Google over the way Google used Java in Andriod.
http://www.reuters.com/article/idUSTRE67B5G720100813


I don't know anything about the lawsuit or what's being alleged except for the article. Most interesting is Orcale's CEO's statement:


Oracle Chief Executive Larry Ellison has said he views the Java software as a key asset, pointing to its use in a variety of electronic devices, from PCs to DVD players."Sun's corporate philosophy was obviously very different from Oracle's in terms of enforcing the Java patents," said Edward Reines, an IP litigator at Weil Gotshall who is involved in separate patent litigation against Oracle.



The fact that Oracle sees Java as an "asset" and is talking about patents is probably the end of Java. For the last 10 years, open source enthusiasts have been begging Sun to make Java open source. Sun kept saying "no" but they kept throwing little bones out -- submitting Java to ANSI, free compilers, free tools, etc. Looks like maybe that's over. Gosling quit citing "ideological differences."

Now this.


As to Google, my prediction is that they will create their own language. Google's search engine is built on Linux but the kernal was completely re-written. So I think Google's response, if Oracle takes their ball and goes home, is to create another ball.


For the open source community -- they're in trouble. If Oracle starts to lock down mySql (now that they own that too), the open sourcers are in the strange situation of not having a database or a language. Their only desktop OS has almost no vendor support now (NVidia already dropped Linux support for their video cards). Apache is about the only thing left. And Mono.


It would be ironic if C#/Mono became the new open source standard. In truth, when I look at the desktop world, I think it's almost shifted so that Microsoft is now one of the least locked down, usable environments. Apple has made huge strides and become a major player. Based on market cap, they're actually bigger than Microsoft now. But they're infinitely proprietary.Google is awesome, but nothing if not proprietary.With Oracle's hard line stand on Java (if it continues), Microsoft is actually the least locked down of all the major vendors.I frankly never understood all the Microsoft hatred. Most of the Linux guys I know are fanatics about Apple, which is way more locked than anything Microsoft ever did. Many of them are Oracle fans, too, which has always been locked.


Java is 15 years old now, and, while it's really cool, is in need of an overhaul . Maybe this will be the impetus to get a new Java-like/C#-like open source language?

Although, more likely, Google will just create its own and lock it.

Thursday, July 29, 2010

powershell shortcut

Just thought this was cool.
Suppose you want to monitor or know or look at some applications running on a remote server through Windows Task manger.
You could rdp to the box, then start the task scheduler UI and look at them.
or you could open a command prompt (assuming you have powershell installed) and run:

schtasks.exe /query /S /U /P

you'll get a list of everything scheduled that you have privs to see, including Next Run time and Status.
This doesn't only include things in the task scheduler but even system processes scheduled to run. For example, things from
Folder: \Microsoft\Windows\Tcpip
like
IpAddressConflict1

Pretty cool stuff.

Sunday, July 18, 2010

worflow timeouts

just thought this was strange and it took me a bit of debugging so I thought I'd share.

Suppose you have a workflow that does database updates -- say SqlServer. Now your Sql updates have timeouts. So does your workflow. But these two timeouts are unrelated. If your Sql time out is longer than your workflow one, you can find yourself in the situation that your workflow times out before your query finishes. It's an easy mistake to make, especially if you have multiple people working on it or if you are using some of the default values and it's not obvious what the timeouts are.

There are a series of delegates you set up for workflows: OnWorkflowAborted, OnWorkflowCompleted, OnWorkflowTerminated, etc.

You'd think -- or at least I did -- that one of the delegate methods would fire if the workflow timed out. But it's not true. Instead, the workflow returns false when the wait handle is set. So :

bool Ok = waitHandle.WaitOne(WORKFLOW_TIMEOUT) ;

in case of a time out, Ok is set to false. And that's the only indication that the flow timed out.

So you need to do something like
if (waitHandle.WaitOne(WORKFLOW_TIMEOUT))
...
else // <-- timeout
// do timeout logic.

What I think is even more interesting is that I couldn't find this in any of the sample workflow code I saw on the web. Really, most of it doesn't even set a timeout, which is probably "not optimal" (i.e., "really dumb").
But even the code that does set the time out, never checks to see if it actually has timed out.

Anyway, thought this may help someone sometime, so I'd post it.

--kevin


Friday, July 9, 2010

a while

I've been kinda busy and neglecting this blog. My bad. I've got a few geek thoughts to document about Windows Workflow and some TSql things that are pretty cool. Also been playing with Studio2010 a bit.
If I can get that documented this weekend, I will.

Until then, I ran across this quote from Einstein. At first I blew by it, but then I realized how it fits software development. The quote is:
"A clever person solves a problem. A wise person avoids it."

The part that's always disappointed me about IT is that cleverness is rewarded but wisdom is not. If you write terrible code that blows up and you work all weekend to fix it, you're a hero. A friend was telling me that Intel used to reward people for the number of bugs they found. Unfortunately, the people they rewarded were the people who were writing the code to begin with. The clever people added a lot of very complex bugs and then were heroes for finding them. And they got a bonus for each one.
I've seen that. One of my prior employers used to give spot bonuses for extra work. The people who won them were always the folks who did crappy work, but then would work all weekend to fix the problems it caused. I remember a couple cases where the systems were so bad, that they asked me to take a look at them. I corrected the issues, so that they didn't fail anymore. And I got... nothin'. Not even an "atta-boy".

Of course, on the positive side, I got to sleep at nights, since my stuff didn't blow.
:D

Saturday, June 12, 2010

Linux again

and now, Adobe has killed its support for Linux 64 bit.


Friday, May 28, 2010

microsoft's future

Not a very techie post this time. I have one I need to put up, but this caught my attention.

In summary, when you count up all stock for Microsoft and for Apple, then multiply it by the value of said stock, Apple is now worth more (higher market capitalization) than Microsoft. MS's CEO said, basically, "who cares". When you look at gross profits, Microsoft wins, but not by that much -- roughly $56Billion/year to Apple's $52Billion.

Problem is that only a few years ago, Microsoft had to bail Apple out of insolvency in order that MS wouldn't become a monopoly (although some argued that, since it controlled 98% of the market, it was anyway ). So the trend is clear. While Microsoft has been basically stagnant, Apple has been going from a tiny, near-bankrupt player, to an industry leader. So it's pretty clear who has momentum.

I've blogged about this before, but I see PC's lasting about another 5-10 years and then disappearing from the mainstream. Software developers will use them. People who do a lot of photo manipulation will use them. People who edit home video will too. And there will be people who have specialty applications (accountants who use Quickbooks or something).
But most will use ipads and netbooks. For games, it will be the xBox, the PS3, and the Wii. They'll watch video on game consoles too.

Note that none of those devices run Windows. In addition, Microsoft has a smart phone which sucks and can't compete with Google or Apple.

Microsoft is making great strides in the server market. But, I think they're starting to look more and more like IBM about 10 years ago. With Oracle's purchase of Sun, and IBM re-inventing itself, I'm not sure that the future is really on the servers. Servers do ... what they do. Sure, there will be tweeks her and there, but, besides security and compliance, servers do about what they did 15 years ago. The improvements are mostly due to better hardware, not better OS's. And, frankly, I'm not seeing much growth in the U.S. server market (China is a different story). Sure, companies upgrade from time to time, but frankly, most everyone that needs a server has one by now. It's easy to think that servers are their future, but IBM thought the same thing. Now, IBM has become very, very profitable making software and selling consultants. Their servers are still crankin' but the sales of them have been pretty flat.

So, here's my prediction.

--Based on what Balmer is saying, I don't see MS changing direction any time soon.

-- MS' console sales are going to stay basically flat. They had a great competitive advantage
when you could watch Netflicks on Xboxes. But now you can do it on PS3/s and Wii's too.

-- MS' desktop OS sales are going to drop dramatically in the next 5-10 years. I'd say they're looking at a 20% loss or more. In fact, if Apple keeps stealing market share, they could be worse. Last I saw MS was down from 98% marketshare on PCs to 92%. And when you focus on Windows 7, they haven't even caught Mac yet.

-- MS won't ever be a major player in cell phones or hand-held devices. The problem is that MS keeps trying to use Windows for everything. When you look at what Google did, they basically took a browser and made it into a small OS. It's light, small, and runs great on underpowered devices. That's *tons* easier than taking a bloated OS that's intended to run on every computer (PC and Server) ever made and trying to squeeze it down to a phone. I have a Windows phone. I'd give it a C- . It uses Windows' interface which is impossible to navigate on a cell, it crashes regularly, runs slow and requires regular reboots.

-- MS will stay strong on servers. But I wouldn't expect a lot of revenue growth.

I guess I'm wondering if they aren't going the way of Sun and IBM. A few years ago, some developers walked around with and attitude because *they* were *serious* developers (meaning they worked on mainframes, not those silly PCs). I wouldnt be shocked if 10 years from now, it's the Microsoft developers that do that. While the Android developers are slowly taking over.
If I'm right it will mean that the software development industry will move back to the wild west. Since there will be less standardization in non-servers (PCs, game consoles, phones, ipads, netbooks, etc) and each will use its own OS, there will be fewer tools available to do development and fewer standards on how to do it.
This could be good for IT and it could be bad. On the one hand, I think it will get harder to do client development. Even now, if you think about a bank app to check your balance, it has to run on a PC, a Mac, an iPad/pod/phone, a handfull of other phones (Palm Pre, for ex), and Chrome OS. That *has* to be a pain.
On the bright side, it will keep us developers busy. I'd expect whole new investment opportunities and I'd expect to see developers make more money because of the additional challenges.
We'll see what the future holds.

Tuesday, May 4, 2010

Geek Humor

Lots of stuff to blog about, but for today, just some geek humor.
I've soooo been on this project.

Just made me laugh.
--kevin