Friday, December 18, 2015

Its Live !! Open Live Writer now works with Blogger !

 

The OpenLiveWriter project has just released a new version, it now works with blogger !  I am using it to write this post as well. Download the new version from the site and run the installer. During the installation, choose Google Blogger as your account type if you want to use it with Blogger.

Taleo 2015-12-18 10 48 20

Taleo 2015-12-18 10 48 24

 

The installer will prompt you to sign in, and will open up the authentication page on your browser.

Taleo 2015-12-18 10 48 28

 

Taleo 2015-12-18 10 48 33

Once you grant access in the browser, return to the installer to finish.

Taleo 2015-12-18 10 48 44

Awesome ! It works, and the interface is pretty much the same as Live Writer (though I found the tags option missing).

Hearty thank you to the good folk at the OpenLiveWriter project !!

TqHS1NPaDNSYmLsCMucq

Wednesday, November 25, 2015

Siebel and Stackoverflow woes

 

Ok, we are nearing the end of another year, and there's one more month till Christmas. I have now fully moved out of Siebel, and embraced the new family of Oracle Fusion cloud applications. But I do keep track of what happens in the Siebel world. If things finally start to fix themselves (that would be a big miracle), Siebel might make a come back. I am a member of various forums where they track Siebel queries, and one of them is stackoverflow. In some of my previous organizations, I could not even access this site, due to firewall restrictions, but time and again the resources on the site have helped my own project problems. Though I have not yet asked any question on the site, just answered other's queries, and read what other's have left there. I have not asked direct questions because I want to solve my problems in my own capacity, Maybe its my ego, but I won't put up my requirement on the page and wait for some one else to solve it for me at no cost at all.

tmpB72D

But that hasn't stopped others. And following the questions on the site gives you a good idea of what issues other Siebel developers are struggling with. At the moment of writing, these are the stats on the Siebel tag at stackoverflow.

tmp516F

Two years ago, there was a lot of activity around this tag, people were actively asking for and receiving help, the range of topics was wide. Here is a screenshot of the site from the waybackmachine from the start of this year.

tmpF712

Yep, back then, all questions were answered and there was more activity. But now the tag attracts weird questions mainly from css and jquery , because Siebel now uses OpenUI. There appears to be a bunch of noobs with only some basic Siebel training, who visit the site to mainly put up their own requirements, then wait patiently for someone else to solve it for them.

Like this guy:

tmpB41A

Or this classical one which is a link issue, and  which is even documented supportweb.

tmp27A

Clearly, the Siebel pool of resources is decreasing in size. And its the same trend everywhere. Well, Siebel was always closed technology, at times the only place you could get help was on the Siebel support centre, specially about 10 years ago.

Others too have noticed the decline of activity on IT Toolbox and have created a new Siebel page on Slack.  Good old Neel of SiebelUnleashed fame too has abandoned ship. In a very candid and frank interview, he clearly speaks out the writing which has been on the wall for years.

 

"Siebel jobs are going to be there for a long time but unfortunately I don't see many new implementation of Siebel."

"People are sticking to Siebel either because they are heavily invested or they believe other products don't offer what they need."

tmpA6C7

 

So I am still (and thousands more) waiting for that miracle to bring Siebel consultants back in demand.

Anyway, back to Stackoverflow. I was pondering on these questions when I ran into a fantastic article about how stackoverflow may be the best and worst part of programming today. According to their stats, only 27% of question remain unanswered.

 

tmp7D2A

Friday, November 6, 2015

How to get Windows 7 Weather Gadget to work again

 

The weather here in Bangalore, India is acting funny again. Rain destroyed the city for the last three days, and just when the met department predicted more rain for two more weeks, it stopped raining. It is now bright and sunny (and dusty).  You have to depend on Google weather to find out the predictions for the coming days. When Windows 7 shipped, they had this cool new thing called Windows Live, and the sidebar, which had gadgets. And the weather gadget was my favourite, it would just stay there un-intruding your  work but tell you the weather outside. About two years ago, Microsoft killed the weather gadget's service, because they wanted to focus on stupid Windows 8 and 10…and this meant killing the ecosystem of 7. The weather gadget stopped workings, and simply showed the error : "Service not Available".

Here is how you can get it working again.

Step 1. You have to replace the cache file for the weather gadget with an older one. Download this file.

Step 2. On your Windows 7 machine, go to [\AppData\Local\Microsoft\Windows Live\Services\Cache]. Delete/Backup the  Config.xml file present there with the one in the downloaded zip file.

Step 3. Now go to the desktop and drag the Weather gadget back into the desktop

image

Thats it !

Now the default location will be New York. And changing the location from the gadget wont work. To change the location to your own, you will need these additional steps.

Step 4. Open up your task manager ( Ctrl + Shift + Esc) , and kill the sidebar.exe app.

image

Step 5. On your Windows 7 machine, go to [AppData\Local\Microsoft\Windows Sidebar]. Delete/Backup the Settings.ini file there

Step 6. Open up the Settings.ini file in a text editor and change the code of WeatherLocationCode to the code of the place you want to see.

Step 7. You can get the code from Weather.com. Just to there and search for the place, and take the code from the generated URL.

For instance, the code for Bangalore is INXX0012.

image

Step 8. Save the Settings.ini file.

tmpD9B0

Step 9. Open task manager again. And go to File -> New Task -> and run sidebar.exe.

Voila !

 

Have fun !

Monday, October 26, 2015

OpenUI lead to other frameworks from competitors

 

Three years ago people were talking about the end of the world, which know seems like a joke. But people in the Siebel business were talking more about the advent of OpenUI, and how the new UI layer will transform the Siebel landscape. Well, it was a case of too little to late. Siebel projects are now at their lowest ebb. Most Indian IT companies have changed their business models to either discontinue their Siebel practice, or to diminish and merge them with other CRM practices. There are upgrade and support projects , but greenfield implementation projects are the rarest lot.

But it turns out Oracle's launching of the ridiculously-difficult-to-implement OpenUI lead to similar offerings from other players in the industry.  Today I learnt about how SalesForcedotCom released their lightning system to allow for better UI designs for mobile and other portable form factors. Lightning uses opensource technologies like javascript ,css and HTML5, and the look and feel looks eerily similar to OpenUI.

tmpDE43

OpenUI also lead SAP to release a new UI layer for their systems, which they are calling OpenUI5 ! Same open standards and direct coding system, I watched a few videos on SAP's OpenUI5, and the framework requires tonnes of coding to get the layout up and running.

tmp120

SAP has launchen OpenUI5 as a repo on github, and are welcoming contributions from the public to take ti forward .Both these frameworks talk about being responsive and faster than their earlier UIs, and require tonnes of lines of code to bring up even the simplest UIs, like Siebel OpenUI. Clearly Siebel is leading the innovation in this regard, and its good to see others picking up.

Tuesday, October 6, 2015

babun - the best Unix shell for Windows

 

Sometimes the best way to use a computer is via its command line. This is particularly true for developers, there are times when even the best IDE wont' do. And its then that you realize that the best command line shell is the one on Unix. Window's command support is weak and an afterthought. In the on-premise model of enterprise software development, most companies use Unix or its variant for the production systems, due its much better stability, but also lower cost. There is nothing like grepping through entire log files to find culprit code in the system. cleartext.blogspot.com

The Unix/Linux shell has over 160 commands, and different distributions can have extra packages. This gives a developer on Unix limitless power on the commandline, using simple chaining, it is possible to solve the problem at hand without having to download any extra program. But things are bleak on the Windows front, where all you can do is dir and findstr. Sure the bat files have some more power, but there are still a lot missing.  I wondered if there was a way to get a working Unix like shell on the Windows system which can access the Windows filesystem but still do its magic. cleartext.blogspot.com

And I stumbled upon babun. If you are a developer like me, babun is the only shell you will need on Windows. It is a simple installable exe shell which accepts all unix commands, and then runs them on Windows. You don't have to set it up like cygwin. It does not even need administrator rights to install, and installs silently. After installation it creates a simple shortcut on the desktop, and runs a full xterm color interface.

image

And the shell understands  every standard Unix command, the usual grep, sort, wc,head , tail are all supported along with pipes. It periodically on startup, checks for updates. cleartext.blogspot.com

tmp902A

Installation of software on Unix is the biggest roadblock even today, and babun makes it easy to install anything easily. The installer is called pact.

tmpF4D7

But the best part is that it can access your native Windows disks, so you get the best of both worlds. cleartext.blogspot.com

tmp811F

So now you can have all your Unix power in Windows ! cleartext.blogspot.com

tmpA247

cleartext.blogspot.com

Wednesday, September 30, 2015

Excel turns 30 !

 

One of the most popular and widely used software utility, the backbone of countless projects ,graphs, and computations, turned 30. No, this is not about JAVA or any other programming language. I am talking of Microsoft's gift to the modern software engineer: MS Excel. According to Wikipedia, Microsoft released the first version of Excel for the Macintosh on September 30, 1985, and the first Windows version was 2.05 (to synchronize with the Macintosh version 2.2) in November 1987. The reason they released it first for Mac was due to the huge popularity of Lotus 123, the king of spreadsheets at that time. Gradually though, Excel has worked its way up and today is the default spreadsheet application of choice.

Its surprising that even the most die-hard fans of Excel do not know of this little bit of trivia, and Excel continues to be the downtrodden, faithful servant it has always been. Excel's history is really colorful, they started with copying off the features of Lotus 1-2-3, but then started adding features of their own, adding a mountain of functions to VBA, its automation script tool, and even changed the file format multiple times to incorporate new features. Today, it is even available on the cloud, and Google too has taken a few ideas for their Google sheets system. But what had set Excel apart is the Recalc feature, instead of re-computing the values of every formula cell, Excel smartly re-calculates only the values of cells required, nothing more. The original project team members reveal that this was done for optimization and speed, but only a handful of people knew the exact underlying workings.

My first tryst with Excel  was in circa 1993. We had to learn computer applications in school, and Lotus 1-2-3 was the software of choice, both in offices, as well as in school curriculums. I quickly figured out that Lotus 1-2-3 had this nifty macro system, which could be used to write quick and small functions to automate tasks. It was difficult to write the macro code, I remember one had to use the '=' key to access macro functions. But someone had installed MS Excel on the school machine assigned to me, and I found what I thought was the newer and improved version of Lotus. It had mouse support and had more colors for its graphs, and was faster. Way faster. It was fun to use, and easy to learn. Even in my wildest dreams, I could not foresee that this little piece of software would end up being the main part of my day-to-day work as a Software Engineer. I have built various tools during my work on Siebel and BIP using VBA macros, and maintain project information and even my loan and finance details on good ol Excel. Who would have thought that a simple idea of maintaining data in rows and columns would be the best way to start out any project.

history-of-excel-time-line

Tuesday, September 15, 2015

Fusion HCM: Integration woes

 

Looks like Oracle does not want customers/consultants to integrate other applications to its new fusion cloud based applications. There is close to NO documentation available on Oracle SupportWeb about setting up and invoking webservices, the only information available is on some Oracle blogs, and even they don't cover the full extent of APIs. Some Oracle champs have shared information on using REST services of some Oracle cloud apps, but it is clear that each of Oracle's cloud offerings have a different topology and architecture driving the integrations. I have been playing around with the Fusion HCM webservices for some time now, and I have to say that Oracle definitely needs to work on their documentation.

All of Oracle's cloud apps are following a standard approach: they will not (read cannot) consume a WSDL of another system, but they expose a WSDL/REST service of their own, which has to be invoked from outside to get the integrations working.

Consider the Fusion HCM Wsdl, the location of which has to be taken from Oracle repository. Using the get/find methods in the WSDL proved easy, but using the create/update methods proved to be a different challenge.

Problem 1: Every element in the WSDL is optional !. Check out the CreateWorker service, which is meant to be used to create the employee records in the HCM system. Usually the XSD/WSDL gives a good understanding of the structure of the system's data model, the required fields are marked so the end system has an idea of what fields to send to create a record. In  Oracle's Fusion HCM wsdl, every element is marked as optional, even the name elements. This means the developer/consultant has to have an in-depth knowledge of the HCM system to start using the wsdls. cleartext.blogspot.com

tmpE738

Really, Oracle ? cleartext.blogspot.com

Problem 2: No useful/meaningful validation me ssages. As soon as one starts triggering the methods of the HCM wsdl, the errors come back. Or, shall we say, NO errors come back. Looks like Oracle developers have not handled every exception properly.

tmpBF7D

WTF is  "JBO-29000: Unexpected exception caught: java.lang.NullPointerException, msg=null: null" supposed to mean ?

cleartext.blogspot.com

Problem 3: No documentation whatsoever. Oracle has two kind of cloud applications running now. One is the group of apps they have acquired, like Taleo, Rightnow CX etc…The other are cloud applications built by Oracle from ground up, from square one. For the former group of apps, the original developers have , thankfully, provided considerable documentation of the APIs. But for Oracle's own offerings, they have decided that less is better, and there is no detail documentation of the APIs. On these new cloud applications, the APIs are the only way to interact with the system, in traditional On-Premise systems, you could always have access to the application, filesystem and even database.

 

cleartext.blogspot.com

Saturday, September 5, 2015

HCM: WebService integrations

 

I am turning over a new leaf and starting with Oracle's Fusion HCM Cloud Service, looking into its integration system. Looks like Oracle does not want developers to use its webservices, because there seems to be no concise document available on how to set up a simple webservice integration. After sifting through numerous blogs and forums, I finally decided to explore the Oracle Enterprise Repository for information. And this seems to be the unwritten golden rule for Fusion applications: if you need information, go to OER.

After logging into OER as guest, run a quick query in the left pane to get started. If you want to know about Fusion HCMs webservices, select "ADF Service" under Type, and "Human Capital Management" under Product Family. You can also choose an appropriate Version, though everyone will be on the latest version anyway.

cleartext.blogspot.com

tmpFC7B

Running the query gives a  list of Fusion ADF services which can be used for external integrations. For main Employee related webservices, choose the Worker services at the end of the list.

cleartext.blogspot.com

tmp44A3

To find the WSDL address of this service, choose the detail tab and go to the end of the page.

tmpC152

tmpD2

And there, right at the end of the page, is the logical address of the service. You will have to replace the <hcm server> part with the actual hostname of your cloud service.

Simply entering this URL in a browser gives us the WSDL:

cleartext.blogspot.com

tmp688B

And providing this URL in SOAPUI downloads the WSDL and schema. The WSDL is very big, SOAP UI takes a couple of minutes to completely consume the WSDL and generate the sample messages.

cleartext.blogspot.com

image

 

And now for the really tricky part. The search request has to be built in the SOAP message so that the system can respond with data. After trying numerous combinations, I just tried a simple empty SOAP request. And…it returned successfully !

 

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://xmlns.oracle.com/apps/hcm/employment/core/workerServiceV2/types/" xmlns:typ1="http://xmlns.oracle.com/adf/svc/types/">
   <soapenv:Header/>
   <soapenv:Body>
      <typ:findWorker>
         <typ:findControl>
       </typ:findControl>
      </typ:findWorker>
   </soapenv:Body>
</soapenv:Envelope>

cleartext.blogspot.com

 

tmpDE5

cleartext.blogspot.com

 

 

Important: The userid and password has to be provided either in the soapenv:Header section, or in the userid/password fields of SOAP UI. If you enter a wrong password, the fusion system does not respond with an error message or exception. Instead, it simply sends back the request which it received. Completely. Without any indication of any error. So if you start getting back your request payload in the response, check the credentials.

Wednesday, September 2, 2015

Joy of Programming

 

The past four weeks have been very rewarding for me. After spending eight years as a Siebel consultant, and the last one year on various Oracle cloud technologies (Taleo, HCM) , I somehow ended up with a pure coding project. No packaged-application-configuration nonsense. No composer-nonsense. No fast formulas, and no flex fields. Just pure windows programming, in dot net C sharp (C#), and REST apis. I was tasked with exploring some new cloud apis, and how they can/should be leveraged via integration. After almost nine years away from pure programming language projects, I was sceptical if I could pull it off. But the last many weeks I have been tapping away in Visual studio's IDE, googling the interwebs for code snippets, and going back to the watch window in debug mode.

Boy I missed it.

I am going back to pure programming after more than 10 years now. And a lot of things have changed. I only recently learned that Microsoft have become generous with their tool offerings, there is now an express edition of Visual studio or the community edition. It is more than enough for you general coding needs, and it is completely free. All you need is an outlook email address to register. And the Visual studio system too has had multiple facelifts. You can now develop mobile apps for Windows on it. The IDE does on the fly syntax checks and even pretty prints the code as you type. The language itself has grown, now you can code a windows application with very few lines , its leaner than ever ! I remember when used the Win32 api bible to code things…and then was relieved to see MFC reducing the final code. And today even VB.NET has new functions borrowed from C languages…like local exception control..try catch. Code written in VB.NET is very easily convertible to C#.NET , this was never the case. And even support for integration standards like REST has never been better. Developers today can achieve much more writing very few lines of code, and therefore focus on the application design, instead of worrying about type casting variables and handling database cursors.

Even on the open source world, new languages are coming up designed for simpler and leaner code, which can achieve more functionality. And the community support is awesome, every problem I faced was solved looking at community code.

Now I have to check whether Oracle was able to keep up with the others, I am going to try Oracle PaaS services, their Java Cloud service and Integration Cloud service. Personally I hate the creepy world of Java, the multi-line error codes still scare me. But there is no denying that there is a special Joy in Programming, when you are able to create things without constraints.

Thursday, August 13, 2015

Oracle Offers New PULA Database License

 

Following mounting criticism over the recent years for its software licensing and audit practices, Oracleappears to making a change with PULA.

The PULA was reported originally by The Register and confirmed by Craig Guarante, Co-founder and CEO of Palisade Compliance who said, “It’s not a rumour—Oracle is putting that in front of customers.”

The change involves a new license that will offer flat-rate pricing for unlimited use for Oracle’s namesake product in perpetuity.

Oracle had previously offered what it called an Unlimited License Agreement which ran for a set period of time before customers had to certify their usage of Oracle and pay for anything additional they had used during the license period.

According to the Register, the Perpetual User License Agreement (PULA) removes the time requirement and is priced on a yearly fee based on estimate usage. This change would minimize the risks of additional payments down the line and software audits from Oracle.

The PULA Licenses are still being rolled out and Oracle is likely still in the process of setting the exact requirements so there could be radical differences between PULAs held by different companies.

Speculation over why the change is being implemented focuses on two areas, Oracle’s latest financial performances and the rise of the competitors. With the PULAs requiring customers commit to Oracle over competing outfits and following the SaaS model which has produced better revenue, Oracle will hope to retain its dominant position in the marketplace.

However Guarante has questioned the likelihood of terms that restricted customers to Oracle forever citing restraint on trade concerns.

The real question is for Oracle’s customers, according to Duncan Jones of Forrester Research is if they’ll risk a ’till death do us part deal’ with Oracle.

 

 

 

Oracle Adds New Android Versions To Copyright Battle With Google

Oracle Corp. added claims covering newer versions of the Android operating system to its copyright lawsuit first filed five years ago against Google Inc.

Oracle’s supplemental complaint filed in San Francisco federal court extends infringement claims to cover newer Android versions. Oracle contends Google’s Android copies source code from its Java platform.

The case is Oracle America Inc. v. Google Inc., 10-cv-03561, U.S. District Court for the Northern District of California (San Francisco).

Wednesday, August 5, 2015

TCC: Complete list of Filters and Functions

 

The Taleo Connect Client has a lot of filters to form queries, and a bigger bunch of functions which can be used in the export definition. Knowing the complete list of supported filters and functions will help when one has to write complex projections. Some of the functions are documented in the official TCC developers guide.

Here is the complete list of all filter criterion which TCC understands:

cleartext.blogspot.com

and
between
contains
containsIgnoreCase
customFilter
customLogicalOperator
customOperator
equal
equalAllowNull
excludedFrom
greaterThan
greaterThanOrEqual
hierarchicalContains
hierarchicalContainsOrWithin
hierarchicalWithin
includedIn
isFalse
isNotNull
isNull
isTrue
lessThan
lessThanOrEqual
like
likeIgnoreCase
matches
matchesIgnoreCase
not
notEqual
or
predefinedFilter
returnsResults
textuallyMatches
lrd

cleartext.blogspot.com

And here is the complete list of TCC Functions cleartext.blogspot.com

 

add
addDays
addMonths
addWeeks
addYears
allCustomFields
amount
anyQuery
average
boolean
castAsDate
castAsNumber
castAsTimestamp
classType
column
concatenate
count
currency
customFunction
customValue
date
decode
divide
double
field
firstValue
float
greatest
integer
key
lastValue
least
list
lobCompare
lobIndexOf
lobLength
lobSubstring
locale
long
maximum
minimum
multilingualColumn
multiply
nextValue
overRows
overValues
parameter
power
predefinedValue
previousValue
projection
replace
replaceNull
replaceNullOrNot
round
string
substring
subtract
subtractDate
sum
switchByCriterion
switchByValue
toChar
textAbout
textAnd
textCustom
textInPath
textNot
textOr
textWeight
textWithin
toEndOfTheDay
toLowerCase
toStartOfTheDay
toUpperCase
trim
truncate
undefined

 

Enjoy. cleartext.blogspot.com

Friday, July 3, 2015

Inserting images in BIP templates for HTML output

 

Just documenting a BIP trick to insert images when the output will be in HTML. Time to time, report designers have to embed static images like logos or emblems on reports which have to be rendered along with the final output. Simply inserting the image into the RTF template will work fine if the output is in RTF or PDF format, but the images will be blank if the output is in HTML. This is , of course, because HTML does not embed the image, it just adds the the url reference to the image. Here is how to place an image in the RTF template so that it renders properly no matter what the output format.

cleartext.blogspot.com

First of all, you will have to place the image to be rendered in a public server somewhere, this can be anywhere on the internet which can be accessed via a url. Do not place this image on any server behind corporate firewalls,or it won't be rendered.

cleartext.blogspot.com

 

1: First, enable 'Developer Mode' in your Word. For this, go to File->Options->Cutomize Ribbon, and check the box next to 'Developer' in 'Main Tabs':

tmpB0AE

2: Now under the new 'Developer' tab, click on 'Design Mode'

clip_image001

3: Now, from under "Legacy forms", choose the image holder: cleartext.blogspot.com

clip_image001[5]

4: This will put a nice grey square in your template. Right click that,  choose 'Format Control' , and go to 'Alt Text'

tmp46C

5: Under the alternative text, insert the url to the final image to be rendered.  cleartext.blogspot.com

tmp9EE7

6: Thats it ! Now when you generate the output of this template, the image will be rendered properly in any output format, including HTML.

7: Bonus ! You can even add a unique URL to the image, so that when it it clicked, the user it re-directed to another website. For this, right click the image (or grey square) and choose hyperlink. Insert the url in the hyperlink box. The re-direction also works regardless of output type.

cleartext.blogspot.com

 

Cheers !

Monday, June 15, 2015

Oracle Sales Erode As Startups Embrace Souped-Up Free Software

 

While the threat to Oracle has been around for years, it’s becoming more intense with recent improvements that make open-source technology more reliable -- and appealing to a new generation of multibillion-dollar startups, said Terilyn Palanca, an analyst at Gartner Inc.

488x-1

“There was pessimism for a decade on whether those things could stand up. The question is largely resolved,” she said. “This open source, this open core model, is something we’re going to see growing and growing through the years.”

Sales Decline

The impact shows up in Oracle’s sales of new software licenses, which have declined for seven straight quarters compared with the period a year earlier. New licenses made up 25 percent of total revenue in fiscal 2014, down from 28 percent a year earlier -- a sign the company is becoming increasingly dependent on revenue from supporting and maintaining products at existing customers and having a harder time finding new business. Oracle reports fiscal fourth-quarter earnings next week.

To blunt this, the Redwood City, California-based company is expanding efforts in cloud computing, which will let it sell packaged high-margin services to customers. That may help balance the slowdown in the basic business. It also operates an open-source database called MySQL.

“Does the cloud-related business grow quickly enough to offset any long-term weakness in new software licenses? To us the answer is yes,” said Bill Kreher, an analyst at Edward Jones & Co., who has a buy rating on Oracle. “I would expect to see Oracle continue to gain market share within the cloud.”

Deborah Hellinger, a spokeswoman for Oracle, declined to comment.

Companies contemplating a move away from traditional database sellers such as Oracle have essentially two options: hire internal engineers to corral various free open-source databases, or pay the startups behind the free technologies for some must-have features. Licensing Oracle’s database can cost hundreds of thousands of dollars, depending on which of its numerous features customers choose to use.

Free Programs

One of the open-source technologies is the Cassandra database, which was created last decade and has been widely used by companies such as Apple Inc. and Netflix Inc. Though some companies develop and run Cassandra themselves, others go to the main backer, the startup DataStax Inc., for technical features they may not have the expertise to develop themselves.

DataStax, for example, has a customer that paid about $500,000 in Oracle software licenses and now spends $90,000 with DataStax for a similar project, said Matt Pfeil, DataStax’s co-founder. That price difference has started to have a major effect in the industry.

“I think I’ve been in this industry too long to use Oracle,” says Kellan Elliott-McCrea, chief technology officer of Etsy Inc. “I saw so many of my peers in the late ’90s crashing and burning and spending all of their money on Oracle.” Instead, Etsy, an online marketplace for hand-crafted goods, runs on a hodge-podge of open-source databases, primarily MySQL.

‘Sweet Spot’

Not all applications are well-suited to open source, as the systems made by Oracle and others still have capabilities far in excess of the free systems, Palanca said.

“You’re still going to have a class of applications for which these open-source solutions are not yet ready, and that is the continued sweet spot for Oracle,” she said.

Even some really big customers are finding ways to increase their reliance on upstarts. Open source is changing the type of technologies Goldman Sachs Group Inc. deploys in systems relating to messaging and databases, said Don Duet, the co-head of technology at Goldman Sachs. Many of these technologies became “standard parts” of Goldman’s computing infrastructure in the last two years, he said.

“It’s hard not to go into our datacenter and see a tremendous amount of open source running our applications and middleware,” he said. Goldman Sachs recently invested in a funding round for MongoDB Inc., another open source database provider.

Startups’ Shift

A Bloomberg survey of 20 startups valued at more than $1 billion supports the trend. The survey, which included companies such as Cloudflare Inc. and Pinterest Inc., found they placed open-source technologies at the heart of their businesses, with the exception of DocuSign, which had built around Microsoft’s SQL Server.

None of the companies surveyed indicated they had a large Oracle database deployment for their main services, though many used bits of Oracle software to run aspects of their organizations. Uber Technologies Inc., the car service, has committed heavily to Oracle via a worldwide rollout of the company’s E-Business Suite software, but job listings and presentations by Uber employees indicate it relies on a customized version of the free MySQL for its software.

“A lot of the startups now go with MySQL or less expensive options,” said David Wolff, the CEO of Database Specialists, a database consultancy. “The only thing that people complain about with Oracle is how much it costs.”

Extra Features

Companies can pay Oracle to get extra features of MySQL for $2,000 to $10,000 per computer it runs on, but none of the companies indicated this was the case. Others including Alibaba Group Holding Ltd., Facebook Inc., and Google Inc. have even built on MySQL to create their own free variant calledWebScaleSQL.

Still, Oracle has its fans. Zach Nelson, the CEO of NetSuite Inc., a cloud enterprise resource planning company, described Oracle’s software as “the best transaction database,” and said it made sense to use it.

“It only costs us 6 percent of revenue, and that’s nothing,” Nelson said.

As open-source databases continue to improve, there may be less reason to pay for Oracle’s products.

“I think more and more organizations are starting to realize the reason Oracle is charging that much is because there’s incredibly sophisticated technology in Oracle,” Palanca said. “Organizations are realizing they don’t need that for everything anymore.”

Wednesday, June 10, 2015

Siebel IP 2016 - No More High Interactivity

 

This is from Siebel Innovation Pack 2016: Client Platform Support - Statement of Direction (Doc ID 2017902.1)

tmp2540

 

 

Also it adds:

 

tmpBDD8

Friday, May 29, 2015

Siebel TBUI View cannot render Gantt Chart Applets

I was trying to do a Proof of Concept for a project, and it was around Siebel's Task Based UI system. The scenario was for a Service Request manual assignment system, and the user was supposed to assign the SR to an available agent. If you drilldown on the "Status" field of an Activity from the "Service Request Detail View", Siebel will take you to a Gantt Chart View : "FS AxGanttChart View", where the availability of the agent can be seen in a nicely rendered chart.
 
 
 
Then the Activity can be dragged and dropped into the Gantt Chart applet above. I was trying to move this vanilla functionality into the end of a custom TBUI, and I pulled the top applet "FS Dispatch Board Gantt Applet" into the TBUI.
 
Compiled, and tested.
 
 
Bummer !
 
Gantt Chart applets do not get rendered properly in the TBUI. It breaks the layout completely.
 
 
I guess I'll just have to add this to the list of things I hate about Siebel.
 

Thursday, May 28, 2015

Window Live Writer no longer connects to Blogger


Today I started seeing errors when I tried to post to blogger via LivWriter



Turns out, the issue is because Google has made  changes to thier APIs and authentication system, that LiveWriter can no longer authenticate in.


The blogger online composer works fine, but uploading images there is a real pain.



Here is another way out..if you want to post to blogger, but do not want to use the online composer...

you can...just mail it in !


In your blogger account, you can turn on a secure email system, and any email you send to this account will be published automatically !

Go down to Settings-> Mobile and email



Set up a new email id and select "Publish email immediately". Any e-mail you send to this id will be published. So be sure NOT to share this email id with anyone.





You can insert images into the e-mail, and they will be handled by blogger correctly the same way it did for livewriter.


This is how I am posting this post as well..


Enjoy !!

Thursday, May 21, 2015

JAVA is 20

 

The JAVA programming language grows 20 years old this year.

Java at 20: The JVM, Java's other big legacy

May 23 marks 20 years since the first version of Java was released for public use. The timing of its arrival coincided with the advent of the web and the new role technology took in improving business productivity, streamlining business processes, and creating new ways for businesses and customers to interact.

The importance of a given programming language—especially one as pervasive as Java—in changing how people use technology is difficult to underestimate. The big data revolution, for example, is primarily a Java phenomenon.

In industry and business, most of server-side computing is done using Java applications. And much of the Internet of Things is also emerging on Java devices.

But 20 years ago, the language was delivered to an entirely different set of needs: a good, general-purpose language for desktop computing.

Java arrived at an important moment in software development. Up until then, the primary programming languages were few and well-established: Fortran in scientific computing, COBOL in business, and C or the emerging C++ everywhere else in commercial programming.

While less popular languages filled specific niches—Ada (defense), Pascal (hobbyists and consultants to SMBs), Smalltalk and Lisp (academia), Perl (system administrators), and so on—the Big Three dominated computing.

Fatigue with C

However, a fatigue with C was definitely emerging. The language had two major handicaps in those days: First, it was too low level—that is, it required too many instructions to perform even simple tasks. Second, it wasn’t portable, meaning that code written in C for the PC could not easily be made to run on minicomputers and mainframes.
The low-level aspects, which still are apparent today, led developers to feel that writing applications in C was akin to mowing the lawn with a pair of scissors. As a result, large software projects were tedious and truly grueling.

The portability of C was also a major problem. Although by 1995, many vendors had adopted the 1989 ISO standard, they all added unique extensions that made porting code to a new platform almost impossible.

It’s no coincidence, then, that this era saw the emergence of a new generation of languages. In 1995 alone, there appeared Ruby, PHP, Java, and JavaScript.

Java almost immediately became popular for mainstream programming due to its portability and large set of built-in libraries. The then-mantra for Java was “write once, run anywhere.” While not strictly true initially, it quickly became so, making Java a good choice for business applications that needed to run on several platforms.

IBM  subsequent embrace of Java (especially via Project San Francisco) clinched the new language’s central place in business programming.

Once a language becomes mainstream, it tends to have a long lifetime, as will be demonstrated this year when the languages born in 1995 all begin celebrating their twentieth  anniversaries. What makes Java stand out, though, is how much the language and platform have evolved in that time span.

Most conspicuous, to me at least, is the change in the Java Virtual Machine (JVM JVM). While it delivered portability almost from the start, it did not initially deliver speed. Java was known for being slow to start and slow to run.

Continual Improvements
Today, Java is among the fastest languages and can scale to programs that can process vast resources, as the big data revolution—a mostly Java-based phenomenon—has amply demonstrated.

The language, too has seen extensive revision. From a start in which there were rough corners lying here and there, Java has evolved into a tool that can address almost every kind of programming problem.

The advent of Java 8 in particular added important features taken from functional programming idioms that make code shorter, more reliable, and more expressive.

The details of Java’s history are so well known that it’s easy to forget how truly rare it really is. The rarity is that few languages have benefited from constant, large-scale engineering investment for two decades. Among major languages today, only Microsoft MSFT C# (and the .NET runtime) has been favored in this same way.

At one time, it was hoped that large communities of developers would be capable of driving this change by themselves. And certainly, the rapid pace at which early development tools advanced gave all programmers reason to believe. But those early tools turned out to be outliers, rather than heralds of coming things.

So, while others might celebrate 20 years of Java as if language endurance were in itself a major accomplishment, I prefer to celebrate the sustained rate of innovation and the 20 years of continuous investment required to make that happen.

java20

 

 

Oracle's Version

 

Other media:

 

Java has turned 20

The technology community is celebrating 20 years of the Java programming language, heralding its use by some nine million developers and the fact that it runs on seven billion devices worldwide.

The language was launched in 1995 by Sun Microsystems, and is now run as part of Oracle after the firm acquired Sun in 2010.

Georges Saab, vice president of development for the Java Platform Group at Oracle, explained that the Java programme has been one of the most important of the past two decades.

“Java has grown and evolved to become one of the most important and dependable technologies in our industry today,” he said.

“Those who have chosen Java have been rewarded many times over with increases in performance, scalability, reliability, compatibility and functionality.”

As part of the celebrations, Oracle has released a detailed timeline of the history of Java, starting as far back as 1991 and the background to its inception when it was called Oak.

Other technology giants that use Java, such as IBM and Fujitsu, have lined up to sing the praises of the platform, and executives from both firms noted its impact over the past 20 years and looked ahead to its future.

"IBM is celebrating Java's 20th anniversary as one of the most important industry-led programming platforms spanning mobile, client and enterprise software platforms,” said Harish Grama, vice president of middleware products at IBM Systems.

“IBM looks forward to the next 20 years of growth and innovation in the Java ecosystem, including mobile, cloud, analytics and the Internet of Things."  

Yasushi Fujii, vice president of Fujitsu's Application Management Middleware Division, said: “Fujitsu recognised the utility of Java in IT systems as soon as it first became available, and even now we are working to promote its applications.

"We expect that Java’s continuing evolution will lead to further ICT development and a changing society, and look forward to working with the Java community to develop Java technologies."

One company that is perhaps not going to join in the celebrations is Google, which is in the middle of a long-running $1bn patent battle with Oracle over the use of Java in the Android operating system.

Oracle has also faced criticism for its management of Java, specifically that it releases security updates for the software only every quarter, often leading to huge patch releases that can cause headaches for IT admins.

Nevertheless, Oracle said that its stewardship of Java since acquiring Sun has seen two major platform releases, Java 7 and Java 8, as well as the next release, Java 9, slated for 2016.

Java 9 is set to include a new feature called Project Jigsaw which aims to "modularise the platform" to make it scalable to a wider range of devices and easier for developers to build larger applications on the platform.

As part of the celebrations, Oracle is offering a 20 percent discount on all Java certification exams until 31 December.

 

 

 

Reload Original PagePrint PageEmail Page

Java At 20: The JVM, Java's Other Big Legacy

Think of Java, which celebrates its 20th anniversary this week, and your first thoughts most likely go to the language itself. But underneath the language is a piece of technology that has a legacy at least as important and powerful as Java itself: the Java virtual machine, or JVM.

Happy Birthday Java

20 years of Java

Because the JVM wasn't designed to run any particular language -- Java is only one of many possibilities -- it's become somewhat of a platform unto itself. Languages have been developed for the JVM that owe little or nothing to Java, and the future development of the JVM is turning more to empower the creation of new items that can leverage Java's existing culture of libraries and software or depart from it entirely.

The engines under the JVM hood

When people talk about the JVM, they're generally referring to a specific JVM: the one originally produced by Sun Microsystems and now owned by Oracle, which uses the HotSpot engine for just-in-time compilation and performance acceleration. With proper warmup time for long-running applications, code operating on HotSpot can sometimes meet or beat the performance of code written in C/C++.

Nothing says the HotSpot-empowered JVM has to be the one and only implementation of Java, but its performance and many years of development have made it the de facto choice for good reason. A galaxy of other JVMs have come (and gone), but HotSpot itself -- now an open source project -- remains the most common option for enterprise production use.

Here and there, though, others are attempting to become the keepers of their own JVM flame: One programmer, for instance, is developing a JVM entirely in Google's Go language -- although right now more as an experiment than as a serious way to give HotSpot any kind of competition.

Because of all the advanced optimization work put into HotSpot, the JVM has over time become a target platform by itself for other languages. Some are entirely new creations designed to exploit the JVM's high speed and cross-platform deployment; others are ports of existing language. Plus, using the JVM means devoting less work to creating a runtime for a language from scratch.

The big JVM stars: Clojure, Scala, and Groovy

Of the languages created anew on the JVM, one stands out for being most unlike Java as possible: Clojure, a functional language designed (in the words of its creator, Rich Hickey) to be a "kind of a Lisp for the JVM," one "useful anywhere Java is." Or even where Java isn't: Puppet Server, for example, recently swapped out Ruby for Clojure as its core language, citing performance as one reason for the switch.

Aside from its power as a functional language, Clojure illustrates one of the fringe benefits of creating a language for the JVM: access to all of the resources provided by Java itself, typically libraries like Swing or JavaFX. To that end, developers more comfortable with Clojure can write programs sporting platform-native UIs, by way of what Java already offers -- but without having to write Java code directly.

Scala, another functional language for the JVM, hews more closely to Java in terms of syntax, but it was created in response to many perceived limitations of Java. Some limitations, like the lack of lambda expressions, have been addressed in recent versions of Java. However, Scala's creators believe suchimprovements will leave developers wanting even more -- and Scala, not Java, will provide them in ways that developers will prefer.

Groovy, formerly stewarded by Pivotal but now an Apache Software Foundation project, was also developed as a complement to Java -- a way to mix in features from languages like Ruby or Python while still keeping the resulting language accessible to Java developers. It, too, functioned in part as a critique of Java by providing less-verbose versions of many Java expressions.

The JVM ports: Jython, JRuby, and the rest

Another side effect of the JVM serving as a language target: Implementations of several languages now run there as well. For example, if you thought Node.js was the first time JavaScript ran as a server-side entity, think again: Mozilla's Rhino has been doing so, in Java and on the JVM, since 1999 (albeit in only an open source variety after 2006).

Most prominent among the ported languages -- and relevant to enterprise developers -- are Python and Ruby, which have been implemented in JVMs as Jython and JRuby, respectively. As with the other JVM languages, hosting Python and Ruby on the JVM gives them access to the existing universe of Java software. This relationship works both ways: You can leverage Python from within Java applications as a scripting language for testing, by way of Jython.

Despite the speed of languages on the JVM, there's no guarantee that a JVM-ported version of a language will be higher-performing than its other incarnations. Jython, for example, is sometimes faster, sometimes slower than the conventional CPython implementation; performance depends greatly on the workload. Likewise, JRuby can be faster than its stock implementation, but not always.

Another disadvantage of a JVM-hosted version of a language: It doesn't always track the most recent version of the language. Jython, for example, supports only the 2.x branch of Python.

The next steps for the JVM

Even apart from performance issues, it's unlikely any of these languages will replace Java. But that has never been the plan -- after all, why replace Java when it's so widely entrenched, successful, and useful?

Instead, it's better to take the culture that's sprung up around Java -- all the libraries and applications -- and make it useful by way of the JVM to far more than Java programmers.

Next, the JVM must become easier to use as a development environment for forward-thinking language work. In 2014, Oracle unveiled Graal VM, a project that exposes the JVM's innards via Java APIs. When completed, this will allow programmers to create new languages for the JVM by using Java as a kind of command-and-control language. (Prototypes of JavaScript, Ruby, and R hosted with Graal showed promising, if inconsistent, results.)

Tougher to predict is whether the JVM or its successors can foster a new language that's as influential and broad as Java itself -- or whether such a language comes from another direction entirely.

JavaScript and the V8 engine for JavaScript are strong candidates as influential successors to Java. Node.js already has a culture of software reuse akin to Java's own, and languages that transpile to JavaScript allow use of the ecosystem without having to write JavaScript.

But with Java preparing for major makeovers, languages on the JVM seems far closer to the beginning of their journey than to the journey's end.