Navigation Bar

Tuesday, September 22, 2026

The Oracle Story

                              No one after lighting a lamp puts it under the bushel basket, but on the lampstand, and it gives light to all in the house
                                                                                                                                                             Mathew 5:15

Oracle corporation, initially called Software Development Laboratories, was founded in 1977 by Larry Elison and Bob Miner, computer programmers at Ampex Corporation, an American electronics company along with Ed Oates, Elison's supervisor at Ampex. The idea for the relational database was inspired by a paper by Edgar F Codd that outlined a relational model. They had the vison of making this data management concept commercial as it arranged large amounts of data efficiently and also enabled quick retrieval. Thus the trio started developing the program based on Codds theory and in 1979 the company released Oracle, the earliest commercial relational database program using structured query language. 



Once he learned the skills and concepts for relational databases Larry Ellison began to pursue his dream to start a data management company now know as Oracle. In the early years it was in competition with IBM which was also in the race to develop a relational database at that time. The IBM database is IBM DB2. But of the two Oracle is more widely used and popular.

Its first customer was the US Air Force which used the program at its air force base.

Oracle has grown from its humble beginnings as one of a number of databases available in the 1970s to the overwhelming market leader today.

In 1978 the first Oracle software was born, written in assembly language running on PDP-11 under RSX-11 in 128K memory. The first Oracle version was never released and the implementation separated oracle code from user code. The name Oracle came from the code name of a CIA project that the three original founders Elison, Bob and Ed had worked on in Amex Corporation.



In the year 1979,they offered the first commercial SQL relational database management system. The second version of Oracle released ran on PDP-11 hardware and they named it as Oracle v2 to capture more customers and they starting promoting it on the VAX platform.
In 1984 the database software was ported to the PC platform with the MS-DOS version 4.1.4 running on 512K memory.
In 1985 it was released to operate in client-server mode.

Initial funding was through personal funding of its founders and Venture Capitalists and it went public in 1986 and was then financed through its IPO and since then it has not raised any additional funds through Venture Capitalist or private investors.

In 1987 UNIX-based Oracle applications were introduced and a year later Oracle v6 was released with hot backups, embedded PL/SQL procedural engine within the database and support for row-level locking. In 1988 Oracle induced PL/SQL. The growth in the company led to relocation of the world headquarters to Redwood Shores, California in 1989 and revenues reaching $584 million.

In 1989, Oracle moved its headquarters to Redwood City, California. 

In 1995, Oracle Systems Corporation changes its name to Oracle Corporation and it became the first large software company to report an internet strategy and offered the first 64-bit RDBMS.
In June 1998 Oracle v8 was released with internet technology, support for terabytes of data and SQL object technology. 

In 1998 they announced integrating a JVM with the oracle database and in September of that year Oracle 8i was release, with i standing for internet. 
In 1999 Oracle offered its first DBMS with XML support.

In 2010 Oracle Corporation acquired Sun Microsystems After the merger Oracle owned Sun's hardware product lines as well as Sun's software product lines including the JAVA programming language.
My tryst with JAVA

Oracle Corporation has now diversified into a range of services like Oracle cloud services, Oracle middleware, Oracle Beehive, Financial services, hardware systems etc.
Middleware includes weblogic server which is a J2EE server and Oracle fusion middleware.
Oracle applications include ERP, CRM and Human Capital Management HCM.
Cloud services include SaaS Software as a service, PaaS Platform as a Service, IaaS  Infracture as a Service and DaaS Database as a Service.

More on the history and the growth of the relational database can be found in the articles below

Key Events and Milestones 

Thought for the day
Courage to continue matters more than success or failure.
--Winston Churchill

React : Table Of Contents

Document with Table of Contents

Monday, September 21, 2026

React For Web Development

                                                                                                              The fear of the Lord is the beginning of knowldege                                                                                                                                                             Proverbs 1:7 

What is React?

React is an external library used for web development. It is a powerful JavaScript used for building modern, fast and interactive user interfaces. It uses virtual DOM to update only specific parts of the screen that need to change.

To create and run react pages, the three basic requirement would be

  • a code editor to write the code. Download Visual Studio Code code editor.
  • a browser to run and view the page created in react. Google Chrome or Mircosoft edge.
  • a runtime environment (node.js) to run the development server. Node.js automatically installs npm (Node Package Manager) which handles installing the React library and project dependencies. Download Node JS

Creating Your First React web page.

Create a local folder say "D:\java\react_course".

In this folder create and save the below html code.

react-basics.html

<!DOCTYPE html>
<html>
  <head>
    <title>React Basics</title>
  </head>
  <body>
    <div class="js-container"></div>
    <script>
      console.log('hello world');
    </script>

    <script src="https://unpkg.com/supersimpledev/react.js"></script>
    <script src="https://unpkg.com/supersimpledev/react-dom.js"></script>

    <script src="https://unpkg.com/supersimpledev/babel.js"></script>
    <script type="text/babel">
      const container = document.querySelector('.js-container');
      ReactDOM.createRoot(container).render(<h1>Welcome to SuperSimpleDev React Course</h1>);
    </script>
  </body>
</html>

To edit this code, Open Visual Studio Code and File->Open Folder-> D:\java\react_course.

To run the react page, open react-basics.html in the chrome or edge browser.

To see the javascript 'hello world', in the browser, right click and inspect and in the Console tab you can see the javascipt log statement.

You can also load javascript code from a .js file or from a any site on the internet.

Example to load javascript code from a .js file.

<script src="react-basics.js">
      <!-- console.log('hello world'); -->
</script>
Example to load javascript code from the internet.
<script src="https://unpkg.com/supersimpledev@8.6.4/external-library.js">
      <!-- console.log('hello world'); -->
</script>
The output on Console table when you reload the page and inspect is
console.log('This is an external library.');
Thus we see different ways how we can run javascript code in react.

Understanding the Basic React Code

The next two lines of the react code are loading the react libraries to run react web pages.

<script src="https://unpkg.com/supersimpledev/react.js"></script>
<script src="https://unpkg.com/supersimpledev/react-dom.js"></script>
If we load both these urls in a browser you can see the javascript code for react.
react.js and react-dom.js are used for creating websites.
react.js  and react native js are used for creating mobile applications. 
<script src="https://unpkg.com/supersimpledev/babel.js"></script>
    <script type="text/babel">
      const container = document.querySelector('.js-container');
      ReactDOM.createRoot(container).render('Welcome to SuperSimpleDev React Course');
</script>
This snippet of code loads the babel javascript compiler.
The script element "text/babel" indicates that the code inside that element is .jsx code and instructs babel to transform or compile it to standard javascript that browser engines can understand.
document.querySelector searches your HTML file for an element with the class name js-container and saves is in an element called container. This is because react needs a spot on the webpage where it can safely inject and display its content.
ReactDOM.createRoot takes the HTML element (container) and initializes it as a React Root.  
.render injects the content inside the () into the root element. Which is then displayed on the browser.

Rendering to HTML
The code which babel compiles so that the browser can run it is as below
const container = document.querySelector('.js-container');
ReactDOM.createRoot(container).render(
  React.createElement('h1', null, 'Welcome to SuperSimpleDev React Course')
);
In this, the browser's DOM API is used to locate the CSS class element (js-container) in your HTML page. This element serves as the mount point.
ReactDOM.createRoot creates a root instance (manager) attached to that DOM element  (container) which manages the virtual DOM and handles scheduling, updating and rendering UI efficient components inside container.
React.createElement() returns a lightweight JavaScript object describing the UI element as shown in the javascript below.
.render takes this element and mounts it into the DOM.

JavaScript
{
  type: 'h1',
  props: {
    children: 'Welcome to SuperSimpleDev React Course'
  }
}
React then uses the standard browser APIs namely document.createElement('h1') and document.createTextNode(...) to create DOM nodes in memory.
Finally, React appends the newly created <h1> node inside your target container.
The final HTML code which is created in the browser's HTML DOM is
<div class="js-container">
  <h1>Welcome to SuperSimpleDev React Course</h1>
</div>
Sample code to add and render a paragraph on your browser page
const paragraph = <p1>paragraph of text</p1>
const container = document.querySelector('.js-container');
ReactDOM.createRoot(container).render(paragraph);
Sample code to add and render a button element on your browser page
const button = <button>Submit</button>
const container = document.querySelector('.js-container');
ReactDOM.createRoot(container).render(button);
References 

God's Word for the day

Anger and Vengeance
Refrain from strife and your sins will be fewer;
  For the hot tempered kindle strife,
and the sinner disrupts friendships. 
  and sows discord among those who are at peace.
In proportion to the fuel so will the fire burn,
  and in proportion to the obstinacy, so will strife increase.
In proportion to a person's strength will be his anger,
  and in proportion to his wealth he will increase his wrath.
A hasty quarrel kindles a fire, and a hasty dispute sheds blood.
Sirach 28:8 - 11

Gospel teachings of Jesus

Jesus' Triumphal Entry into Jerusalem
When they had come near Jerusalem and had reached Bethphage, 
 at the Mount of Olives, Jesus sent two disciples, saying to them,
"Go into the village ahead of you, and immediately you will find
  a donkey tied, and a colt with her; untie them and bring them to me.
If anyone says anything to you, just say this, 'The Lord needs them.'
  And he will send them immediately. This took place to fulfill what
had been spoken through the prophet saying,
"Tell the daughter of Zion, 
   Look your king is coming to you,
humble and mounted on a donkey,
  and on a colt, the foal of a donkey"
The disciples went and did as Jesus had directed them; they brought
  the donkey and the colt, and put their cloaks on them, and he sat on
them. A very large crowd spreak their cloaks on the road, and others 
  cut branches from the trees and spread them on the road. The crowds
that went ahead of Him and that followed were shouting,
  "Hosanna to the Son of David!
    Blessed is the one who comes in the name of the Lord!
    Hosanna in the highest heaven!"
When he entered Jerusalem the whole city was in turmoil, asking,
  "Who is this?" The crowds were saying, "This is the prophet 
Jesus from Nazareth in Galilee."
Mathew 21:1 - 10

Saturday, September 12, 2026

Dewdrops Sep 2026

Dewdrop #110 12-Sep-26

The Spring Framework

God's Word for the day

Hypocrisy and Retribution
Whoever throws a stone straight up throws it on his own head,
  and a treacherous blow opens up many wounds.
Whoever digs a pit will fall into it,
  and whoever sets a snare will be caught in it.
If a person does evil, it will roll back upon him,
  and he will not know where it came from.
Mockery and abuse issue from the proud,
  but vengeance lies in wait for them like a lion.
Those who rejoice in the fall of the godly
  will be caught in a snare.
And pain will consume them before their death.
Sirach 27:25 - 29

Gospel teachings of Jesus

The third time Jesus foretells his Death and Resurrection
While Jesus was going up to Jerusalem,
  he took the twelve disciples aside by themselves
and said to them on the way, "See, we are going up
  to Jerusalem, and the Son of Man will be handed
over to the chief priests and scribes, and they will
  condemn him to death; then they will hand him
over to the gentiles to be mocked and flogged and
  crucified. and on the third day he will be raised."
Mathew 20:17 - 19

Tuesday, September 1, 2026

Oracle News Sep 2026

Oracle Newsletter 12-Sep-26

Larry Ellison Cancels His Plan to Sell Oracle Stock

Oracle Corporation (NYSE: ORCL) today announced that Larry Ellison, Executive Chair of the Board and Chief Technology Officer, has cancelled his 10b5-1 Plan to sell Oracle stock. 



Oracle Newsletter 10-Sep-26

Oracle Announces Q1 Results Driven by Triple Digit Growth in Cloud Infrastructure Revenues
  • Q1 GAAP Earnings per Share up 55% in USD and up 54% in constant currency to $1.56, non-GAAP Earnings per Share up 30% in USD and constant currency to $1.92.
  • Record Q1 Total Revenues up 30% in USD and constant currency to $19.3 billion.
  • Record Q1 Total Cloud Revenues up 62% in USD and up 61% in constant currency to $11.6 billion.
  • Q1 Cloud Infra (IaaS) Revenue up 121% in USD and up 120% in constant currency to $7.4 billion.
  • Q1 Cloud Apps (SaaS) Revenue up 10% in USD and constant currency to $4.2 billion.
  • Remaining Performance Obligations or RPO up $209 billion year-over-year to $664 billion



Oracle Newsletter 17-Sep-26

Oracle Commits $100,000 for Abilene Educators and Expands Data Center Career Pathways






God's Word for the day

Hypocrisy and Retribution
Whoever winks the eye plots mischief,
  and those who know him will keep their distance.
In your presence his mouth is all sweetness,
  and he admires your words;
But later he twists his speech and
  with your own words he will trip you up.
I have hated many things, but him above all;
  even the Lord hates him.

Sirach 27:22 - 24

Gospel teachings of Jesus

The laborers in the vineyard
For the kingdom is heaven is like a landowner
  who went out early in the morning to hire laborers
for his vineyard. After agreeing with the laborers for
  the usual daily wage, he sent them into his vineyard.
When he went out about 9 O 'clock, he saw others 
  standing idle in the market-place; and he said to them,
'You also go into the vineyard, and I will pay you 
  whatever is right. So they went. When he went out
again about noon and about three O 'Clock, he did the
  same. And about five  O 'clock he went out and 
found others standing around; and he said to them. 'Why
  are you standing here idle all day?' They said to him,
'Because no one has hired us.' He said to them, 'You also
  go into the vineyard.' When evening came the owner of
the vineyard said to the manager, 'Call the laborers and 
give them their pay, beginning with the last and then going
  to the first.' When those hired about five O 'clock came, 
each of them received the usual daily wage. Now when 
  the first came, they thought they would receive more,
but each of them received the usual daily wage. And when
  they received it, they grumbled against the landowner
saying, 'These last worked only one hour, and you have 
  made them equal to us who have borne the burden of the
day and the scorching heat.' But he replied to one of them,
  'Friend I am doing you no wrong; did you not agree with
me for the usual daily wage? Take what belongs to you and
  go; I choose to give to this last the same as I give to you. 
Am I not allowed to do what I choose with what belongs to
  me? Or are you envious because I am generous?' So the
last will be first and the first will be last."
Mathew 20:1 - 16

Thursday, August 27, 2026

The Spring Framework

 The spring framework is a lightweight framework used to build scalable, maintainable enterprise applications.  It works on the principle of Inversion of Control. (IoC).

What is Inversion of Control?

It refers to the reversal of flow of control in a program. In this the control is shifted to an external entity (the IOC container in case of Spring) that manages the creation and injection of dependencies. The IoC container creates and wires the objects together, allowing objects to focus on their main responsibilities.

In normal flow, a program's custom code calls reusable libraries to take care of generic tasks, but with IoC it is the framework that calls the custom code. In essence, this means delegating execution of tasks to generic code instead of specific code allowing for more versatility. It carries the philosophy that reusable code and problem specific code be developed independently even though they operate together in an application.

Inversion of Control can be achieved through dependency injection, callbacks, schedulers, event loops to name a few methods. We will discuss more deeply on Dependency Injection.

Dependency Injection.

Dependency injection is a design pattern used to remove manual hard coded dependencies in classes by externalizing the creation and management of objects (dependencies). 

Instead of an object creating its dependencies itself, it relies on an external entity (the container) to provide the required dependencies. DI promotes loose coupling and improves the flexibility and testability of the code. The dependency injection (DI) pattern is one of the ways to implement IoC. 

The Spring container handles all the object instantiation and initialization and injection in the right places.

The Spring Bean is an object that is created and managed by the Spring IoC container.

Thus the Spring IoC container acts like a bag of beans and is responsible for

  • Bean creation, maintenance and deletion. - The container reads the bean definitions (from the XML files or annotations), creates the bean instances and manages their life cycles.


The Spring IoC Container

The Spring container uses IoC to manage the objects (Spring Beans) that make up an application. The container gets its instructions on what objects to instantiate, configure and assemble by reading the configuration metadata provided. This configuration metadata can be either an XML file, Java annotation or Java code. The container makes use of Java POJO classes and configuration metadata to produce a fully configured and executable system or application.




There are two distinct types of containers that the Spring Framework provides.
  • The Spring BeanFactory Container
  • The Spring ApplicationContext Container.

The BeanFactory Container - This container provides the basic support for DI and is defined by org.springframework.beans.factory.BeanFactory interface. The BeanFactory and related interfaces, such as BeanFactoryAware, InitializingBean, DisposableBean, are still present in Spring for the purpose of backward compatibility with a large number of third party frameworks that integrate with Spring.

The key features of the BeanFactory are

  • Lazy Initialization : Beans are created only when explicitly requested.
  • Lightweight : Minimal memory usage, suitable for resource-constrained environments.
  • Basic Bean Management : Supports bean instantiation, configuration, and lifecycle methods like init and destroy.
Example :

// Using BeanFactory (rarely used directly in modern Spring apps)
BeanFactory factory = new XmlBeanFactory(new ClassPathResource("beans.xml"));
MyBean bean = factory.getBean(MyBean.class);

The ApplicationContext Container - This container adds more enterprise specific functionality such as the ability to resolve textual messages from a properties file and the ability to publish application events to interested event listeners. This container is defined by the org.springframework.context.ApplicationContext interface. This container includes all the functionality of the BeanFactory container and so in recommended over BeanFactory container.  Thus ApplicationContext is a superset of the BeanFactory and is the preferred choice for Spring Boot applications. It extends BeanFactory to add enterprise specific features, making it more powerful and developer friendly.

Key Features

  • Eager Initialization - Beans are configures at startup (unless explicitly configured as lazy.)

Enterprise Features

  • AOP Integration - Built is support for Aspect-Oriented programming.
  • Event Handling - Publishes and listens to application events. (eg. - ContextRefreshedEvent).
  • Internationalization (i18n) : Supports message resource handling for multilingual apps.
  • Resource Loading: Access to files, URLs and classpath resources.
  • Annotation Support: Auto detects @Component, @Autowired etc.

Example

// Using ApplicationContext (common in Spring Boot)
ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
MyBean bean = context.getBean(MyBean.class);
ApplicationContext is used in most modern Spring Boot applications especially in apps requiring advanced features like events, AOPs, or resource handling.
SpringBoot simplifies configuration by automatically creating and configuring an ApplicationContext.
It uses AnnotationConfigApplicationContext for Java based configuration (Default behavior)
and AnnotationConfigServletWebServerApplicationContext for web apps.
Use ApplicationContext  unless you have a specific reason to use BeanFactory. 
Use annotations like @Bean, @Configuration, @ComponentScan and @Configuration etc instead of XML configuration.

References 

God's Word for the day

Hypocrisy and Retribution
Whoever winks the eye plans mischief
    and those who know him will keep their distance.
In your presence his mouth is all sweetness
    and he admires your words;
But later he will twist his speech, and with your
    own words he will trip you up.
I have hated many things but him above all;
    even the Lord hates him
Whoever throws a stone straight up throws it on his own head
    and a treacherous blow opens up many wounds.
Whoever digs a pit will fall into it,
    and whoever sets a snare will be caught in it.
If a person does evil it will rollback on him
    and he will not know where it came from
Mockery and abuse issue from the proud,
    but vengeance lies in wait for them like a lion.
Those who rejoice in the fall of the godly will be caught in a snare
    and pain will consume them before their death.
 
Sirach 27:22 - 29

Gospel teachings of Jesus

The laborers in the vineyard
For the kingdom of heaven is like a landowner who went out
     early in the morning to hire laborers for his vineyard.
After agreeing with the laborers for the usual daily wage,
    he sent them into his vineyard. When he went out about
nine O' clock, he saw others standing idle in the marketplace.
    and he said to them, 'You also go into the vineyard and I will
pay you whatever is right. So they went. When he went out 
    again about noon and about 3 O 'clock he did the same. And
about five O'clock he went out and saw others standing around,
    and he said to them, 'Why are you standing here idle all day?'
And they said to him, 'Because no one has hired us.'
    He said to them, 'You also go into the vineyard.' When evening
came the owner of the vineyard said to the manager, 'Call the
    laborers and give them their pay, beginning from the last and
going to the first.' When those hired about five O' clock each of 
    them received the usual daily wage. Now when the first came
they thought they would receive more; but each of them received
   the usual daily wage.  Now when the first came

Mathew 19:27 - 30

Tuesday, August 18, 2026

Dewdrops Aug 2026



God's Word for the day
Tests in Life
When a sieve is shaken, the refuse appears,
  so do a person's faults when he speaks.
The kiln tests a potter's vessels;
  so the test of a person is in his conversation.
Its fruit discloses the cultivation of a tree;
  So a person's speech discloses the cultivation
of his mind.
  Do not praise anyone before he speaks,
For this is the way people are tested.`
Sirach 27:4-7

Gospel teachings of Jesus
Jesus Blesses little children
Then little children were being brought to him
  In order that he might lay his hands on them 
and pray. The disciples spoke sternly to those
  who brought them; But Jesus said, "Let the 
little children come to me, and do not stop them.
  For it is to such as these that the kingdom of
heaven belongs." And he laid his hands on them
  and went on his way.

Mathew 19:13 - 15