Feed aggregator

Ancestor Worship

Greg Pavlik - Sat, 2015-08-08 08:25
Some profound lessons in how to be human that we can learn from our Confucian friends

Fascinating Lives

Greg Pavlik - Fri, 2015-08-07 18:38
There is something, I think, admirable in a quiet life: care for family, constructive participation in community, hard work. But there are times and places (perhaps all times, but not all places?) where simply attending to the simple things of life becomes a kind of impossibility: whether for psychological or moral reasons. I was reflecting on two persons recently who have struck me by not only their intellectual genius but also by the sheer force by which they pushed against the norm, one for reasons of psychology and one for reasons of morality.

Yukio Mishima: narcissist, political fanatic, suicide. And one of Japan's greatest novelists. I recently completed the Sea of Fertility tetralogy, which traces the life of Shigekuni Honda from youth to retirement as a wealthy attorney, centered around what Honda believes are the successive reincarnations of his friend Kiyoaki Matsugae: as a young rightist, a Thai princess and an orphan. The most powerful of the four novels, in my opinion is the second: Runaway Horses. The book seems to rebuke the militant nationalism of Japanese reactionaries, though ironically enough Mishima himself ends his own life under the banner of a similar ideology. Mishima's fascinating portrait of an inherent dark side of youth - a taming of a deep inhumanism - so to speak, comes through almost all the novels, but most strongly in the last. This echoes a theme he developed in The Sailor Who Fell From Grace with the Sea, though I can think of few works that more strongly explore this theme than the Lord of the Flies. In any case, Mishima is masterful in exploring aberrant developmental psychology - even as he, himself, seems to have been stricken with his own disordered personality.

Maria Skobtsova: atheist, symbolist poet, Bolshevik revolutionary - and a renegade nun arrested for helping Jews in Paris by the Gestapo, she allegedly died by taking the place of a Jewish woman being sent to death. Jim Forrest provides a useful overview of her life - unlikely most lives of a Christian saints, this is no hagiography: it is a straightforward story of life. At the same time, we see a life transformed by a dawning realization that self-denial is a path to transformation -

"The way to God lies through love of people. At the Last Judgment I shall not be asked whether I was successful in my ascetic exercises, nor how many bows and prostrations I made. Instead I shall be asked did I feed the hungry, clothe the naked, visit the sick and the prisoners. That is all I shall be asked. About every poor, hungry and imprisoned person the Savior says ‘I': ‘I was hungry and thirsty, I was sick and in prison.’ To think that he puts an equal sign between himself and anyone in need. . . . I always knew it, but now it has somehow penetrated to my sinews. It fills me with awe."

And despite a life dedicated to service, she remained an acute intellectual, a characteristic of so many Russian emigres in Paris. This too reflected her view that redemption and suffering where intertwined - my favorite piece On the Imitation of the Mother of God
- draws this out beautifully.

Mongostat ; A Nifty Tool for Mongo DBA

Pakistan's First Oracle Blog - Thu, 2015-08-06 21:56
One of the main Mongodb DBA's task is to monitor the usage of Mongodb system and it's load distribution. This could be needed for proactive monitoring, troubleshooting during performance degradation, root cause analysis, or capacity planning.

Mongostat is a nifty tool which comes out of the box with Mongodb which provides wealth of information in a nicely and familiar formatted way. If you have used vmstat, iostat etc on Linux; Mongostat should seem very familiar.

Mongostat dishes out statistics like counts of database operations by type (e.g. insert, query, update, delete, getmore). The vsize column  in Mongostat output shows the amount of virtual memory in megabytes used by the process. There are other very useful columns regarding network traffic, connections, queuing etc.

Following are some of the examples of running mongostat.

[mongo@mongotest data]$ mongostat

insert query update delete getmore command flushes mapped  vsize    res faults qr|qw ar|aw netIn netOut conn     time
*0    *0     *0     *0       0     1|0       0 160.0M 646.0M 131.0M      0   0|0   0|0   79b    10k    1 12:47:29
*0    *0     *0     *0       0     1|0       0 160.0M 646.0M 131.0M      0   0|0   0|0   79b    10k    1 12:47:30
*0    *0     *0     *0       0     1|0       0 160.0M 646.0M 131.0M      0   0|0   0|0   79b    10k    1 12:47:31
*0    *0     *0     *0       0     1|0       0 160.0M 646.0M 131.0M      0   0|0   0|0   79b    10k    1 12:47:32
*0    *0     *0     *0       0     2|0       0 160.0M 646.0M 131.0M      0   0|0   0|0  133b    10k    1 12:47:33

*0    *0     *0     *0       0     1|0       0 160.0M 646.0M 131.0M      0   0|0   0|0   79b    10k    1 12:47:34
*0    *0     *0     *0       0     1|0       0 160.0M 646.0M 131.0M      0   0|0   0|0   79b    10k    1 12:47:35
*0    *0     *0     *0       0     1|0       0 160.0M 646.0M 131.0M      0   0|0   0|0   79b    10k    1 12:47:36
*0    *0     *0     *0       0     1|0       0 160.0M 646.0M 131.0M      0   0|0   0|0   79b    10k    1 12:47:37
*0    *0     *0     *0       0     2|0       0 160.0M 646.0M 131.0M      0   0|0   0|0  133b    10k    1 12:47:38

Following displayes just 5 rows of output.

[mongo@mongotest data]$ mongostat -n 5
insert query update delete getmore command flushes mapped  vsize    res faults qr|qw ar|aw netIn netOut conn     time

*0    *0     *0     *0       0     1|0       0 160.0M 646.0M 131.0M      0   0|0   0|0   79b    10k    1 12:47:45
*0    *0     *0     *0       0     1|0       0 160.0M 646.0M 131.0M      0   0|0   0|0   79b    10k    1 12:47:46
*0    *0     *0     *0       0     1|0       0 160.0M 646.0M 131.0M      0   0|0   0|0   79b    10k    1 12:47:47
*0    *0     *0     *0       0     1|0       0 160.0M 646.0M 131.0M      0   0|0   0|0   79b    10k    1 12:47:48
*0    *0     *0     *0       0     2|0       0 160.0M 646.0M 131.0M      0   0|0   0|0  133b    10k    1 12:47:49

In order to see full list of options:

[mongo@mongotest data]$ mongostat --help


Monitor basic MongoDB server statistics.

See http://docs.mongodb.org/manual/reference/program/mongostat/ for more information.

general options:

--help                     print usage
--version                  print the tool version and exit
verbosity options:
-v, --verbose                  more detailed log output (include multiple times for more verbosity, e.g. -vvvvv)
--quiet                    hide all log output
connection options:
-h, --host=                    mongodb host to connect to (setname/host1,host2 for replica sets)
--port=                    server port (can also use --host hostname:port)
authentication options:
-u, --username=                username for authentication
-p, --password=                password for authentication
--authenticationDatabase=  database that holds the user's credentials
--authenticationMechanism= authentication mechanism to use
stat options:
--noheaders                don't output column names
-n, --rowcount=                number of stats lines to print (0 for indefinite)
--discover                 discover nodes and display stats for all
--http                     use HTTP instead of raw db connection
--all                      all optional fields
--json                     output as JSON rather than a formatted table
Categories: DBA Blogs

Oracle Priority Support Infogram for 06-AUG-2015

Oracle Infogram - Thu, 2015-08-06 16:04


Is Your Database The Next Ticking Time Bomb?, from Database Trends and Applications.


Oracle Technology

From ArchBeat:

Oracle Utilities

Data Integration


Creating Scheduled Services in Oracle Solaris, from the Solaris SMF Weblog.


Responsive UI Support in ADF 12.1.3, from WebLogic Partner Community EMEA.

And from the same source:


Singletons, Singletons..., from The Java Source.

Several good postings at Geertjan’s Blog:


SOA 12c End-to-end (e2e) Tutorial, from the SOA & BPM Partner Community Blog.

And from the same source:


From the Oracle E-Business Suite Support blog:

From the Oracle E-Business Suite Technology blog:

Visitas estudiantiles a Oracle MDC

Usable Apps - Thu, 2015-08-06 08:17

Sarahi Mireles (@sarahimireles), User Experience Developer, nos cuenta de la reciente visita del Instituto Tecnológico de Estudios Superiores de Zamora para conocer el Centro de desarrollo de Oracle en México (MDC), como parte de un programa de Oracle MDC para estudiantes de TI.

Sarahi and Karina at the Event in MDC

Sarahi con Karina Nava (Database developer) explican algunas de las áreas donde los estudiantes de TI pueden desarrollar su carrera en Oracle

Cada semestre en Oracle Mexico Development Center (A.K.A. MDC) le damos la bienvenida a cientos de estudiantes del área de Telecomunicaciones e Informática como una oportunidad de conocer el centro de desarrollo y las distintas áreas en las que Oracle es líder en el mercado.

Students learn about the important role of Oracle MDC and IT

Estudiantes aprenden acerca del importante rol de Oracle MDC en el desarrollo de nuevas tecnologías y el trabajo que ahí se hace.

Estudiantes de diferentes universidades de todo el país han llegado para conocer más sobre Oracle y cómo estamos revolucionando no sólo nuestro país sino el mundo con las nuevas tecnologías de información. Junto con otros compañeros, yo soy parte del equipo que recibe a estos estudiantes y les damos una charla corta y divertida sobre qué es Oracle, cómo está impactando las tecnologías de manera global, porqué México para un centro de desarrollo, qué hacemos aquí, cómo es nuestro ambiente de trabajo y lo increíble que es trabajar para una empresa de nivel y reconocimiento internacional.

Students gather on the balcony at MDC for a group photograph

Los estudiantes de las distintas universidades toman un pequeño recorrido por las instalaciones de Oracle MDC. Aquí, los estudiantes en uno de los balcones.

Te gusta la idea de visitarnos y eres estudiante o maestro del ramo de Tecnologías de Información? Ponte en contacto con Laura Ramos o para conocer los detalles y programar una visita.

Flying Monkeys! Fun at work with UX. What's on your desk?

Oracle Applications User Experience mezclando la diversión y el trabajo en la nube!

Puedes leer más acerca de Oracle MDC en nuestra página de Facebook y conocer más acerca del equipo Oracle Applications User Experience en el website de Usable Apps.

Oracle ADD_MONTHS Function with Examples

Complete IT Professional - Thu, 2015-08-06 06:00

Oracle ADD_MONTHS Function with ExamplesIn this article, I’ll explain how the very useful ADD_MONTHS function works and use some examples.

Purpose of the Oracle ADD_MONTHS Function

The purpose of the Oracle ADD_MONTHS function is to add a specified number of months to a date, and return another month.



The syntax of the ADD_MONTHS function is:

ADD_MONTHS ( input_date, number_months )

The function returns a DATE value.



The parameters of the ADD_MONTHS function are:

  • input_date (mandatory): This is the starting date, or the date that you will add a number of months to.
  • number_months (mandatory): This is an integer value that represents the number of months to add to input_date.

Some things to note about this function:

  • The input_date can be any DATETIME value, or a value that can be converted to DATE (such as a VARCHAR2 formatted as a date).
  • The number_months can be any integer value, or a value that can be converted to an integer (such as a VARCHAR2 formatted as a whole number).
  • The return type is always DATE, even if the data type supplied for input_date is not a DATE.


What If The Number Of Days Are Different?

This is a valid question. What would happen if you try to add to a month using ADD_MONTHS, with the original date being at the end of the month, and the resulting month doesn’t have that day?

Well, the function would return the last day of the resulting month.

For example, adding 3 months to January 31 will return April 30 (because April only has 30 days).


Is There An Oracle ADD_DAYS Function Like ADD_MONTHS?

No, there is no ADD_DAYS function in Oracle.

However, you can easily add or subtract a day from a date by just adding the number to it.

For example, to add 3 days to today’s date:


To subtract 7 days from today’s date:


There doesn’t need to be an extra function to do this.


Is There An Oracle ADD_YEARS Function Like ADD_MONTHS?

No, there is also no ADD_YEARS function in Oracle.

The good news is you can use ADD_MONTHS with a number_months parameter of 12, to add a single year. You can use multiples of 12 to add more years.

Also, you can use negative numbers to subtract years (such as -12).

See the Examples section below for more details.


Can Oracle ADD_MONTHS Subtract Months?

Yes, you can subtract months using the ADD_MONTHS function by simply using a negative number as the number_months parameter.

See the Examples section below for more details.


How Do You Get The First Day Of The Month Using Oracle ADD_MONTHS?

There are several ways to get the first day of the month, and one is using ADD_MONTHS.


You can also use the TRUNC function by itself:



Examples of the Oracle ADD_MONTHS Function

Here are some examples of the ADD_MONTHS function. I find that examples are the best way for me to learn about code, even with the explanation above.

Example 1

This example shows how to add one month to the current date.

FROM dual;



The ADD_MONTH_RESULT shows that one month has been added to the date.


Example 2

This example shows how to add six months to the current date.

FROM dual;



The result is six months added to the current date, which results in Feb 6, 2016.


Example 3

This example shows how to add a larger number of months.

FROM dual;



The result is in January 2019, which is 41 months into the future.


Example 4

This example shows how to subtract months by using a negative number

FROM dual;



The result is in February 2015, which is 6 months before the SYSDATE.


Example 5

This example shows the use of a number inside quotes, which is actually a CHAR but should get treated like a numeric value.

FROM dual;



The result is a date in January 2016, which is five months into the future.


Example 6

This example shows a text value inside the number_months parameter.

FROM dual;


ORA-01722: invalid number
01722. 00000 -  "invalid number"

This is because I used the value of “Six”, which isn’t actually a number.


Example 7

This example uses a specific date as the input date, instead of SYSDATE.

FROM dual;



As you can see, a single month is added to the specified date.


Example 8

This example uses a decimal number as the number of months to add.

FROM dual;



In both cases, the value is the same. This is because the decimal value has been rounded down to 2, even if the 2.9 would normally be rounded up to 3.


Example 9

This example shows how you can add a year to a date.

FROM dual;



The result is a date one year into the future.


Example 10

This example shows how to find the first day of the month using the ADD_MONTHS function.

FROM dual;



As you can see, the result is the first day of the month that was provided.


Similar Functions

Some functions which are similar to the ADD_MONTHS function are:

  • TRUNC – Truncates a datetime into a date format.
  • LAST_DAY – Returns the date of the last day of the specified month.

You can find a fill list of Oracle SQL functions here.

Lastly, if you enjoy the information and career advice I’ve been providing, sign up to my newsletter below to stay up-to-date on my articles. You’ll also receive a fantastic bonus. Thanks!

Categories: Development

Old Becomes New - Maker Stuff

Floyd Teter - Wed, 2015-08-05 13:23
A bit of a personal tangent for this post, as I've experienced an interesting development in life recently.  I’m taking another run at the “Maker” concept after taking a few months away from it. And I’m coming at it from an entirely different angle.  The combination of data, radio waves and networks has piqued my interest.  Some background:

My father was an amateur radio operator back in the day.  It was one of his passions…so much so that his radio call sign (K0RFS) is engraved on his tombstone.  Big radio, big amplified, big antenna tower with multiple antennas in the backyard, the best Morse code keys money could buy, etc.  He saw it as both a hobby and a way to render service to others (he used to patch up a local family of Argentine immigrants with their family back home on a regular basis).  Dad’s heyday in amateur radio started immediately after WWII and continued through his passing in 1990.

Amateur radio technology is generally very old school.  Marconi made the first wireless radio contact from Cape Cod into Europe in 1912 using Morse code.  Voice technology was added around 1921.  We’ve seen the additions of packet radio, APRS, RTTY, SSTV, PSK31, radio propagation beacons, radio satellites, and other interesting stuff.  But it all comes back around to the same old radio wave technology.

Except it’s not.  Amateur radio operators can communicate with radios across the internet utilizing the IRLP system.  Heck, you don’t really even need a radio to play anymore - EchoLink allows computer>radio, radio>computer, and even computer>computer communication.  And it’s the merging of old technology with more recent technology in new and interesting ways that has really gnawed at my imagination.

Becoming a licensed ham radio guy has been on my bucket list, mostly as a tip o the hat to the old man.  Years in coming, I finally passed the Technician’s exam here in the States and thus earned my license (call sign K1RFS…what else?).  And I’m planning on using my Tech privileges as a springboard into some interesting maker experiments.  Some of the things on my project backlog include:
  • Building a Yagi antenna from a metal tape measure and PVC - and using that antenna to talk with the ISS
  • Making an OS-agnostic communication logging program in Oracle APEX
  • Working with amateur radio frequency beacons to track objects in areas without internet or cell service - power generation here will be interesting - then creating RESTful services to display the tracking of  those locations
  • Building an HMSS mesh net in my home that can be accessed via radio wave technology - 2nd step includes reliability when the electrical grid is offline
  • Creating a permanent IRLP node with a Raspberry Pi
  • Leveraging a combination of an AMSAT satellite and a smart phone to send and receive amateur TV images wirelessly - my target audience is one of the science exploration stations in Antartica
  • Communicating via IRLP and Echolink through wearable hardware
Old becomes new.  This should be fun!

Reddit 10 year growth analysis and visualization

Nilesh Jethwa - Wed, 2015-08-05 13:11

In this article we will analyze the 10 year growth history of Reddit using simple visualizations.

Read more http://www.infocaptor.com/dashboard/reddit-10-year-growth-analysis-and-visualization

How To Use the SQL Developer Format SQL Options

Complete IT Professional - Wed, 2015-08-05 06:00

How To Use the SQL Developer Format SQL OptionsIn this article, I’ll explain what formatting SQL is, and how to find the SQL Developer Format SQL options.

What Is SQL Formatting?

SQL formatting is the process of neatly arranging your code to make it more readable.

When you write SQL, the format of the code is not relevant to the database. By this, I mean that the SQL statement will execute if the syntax is correct and the formatting is terrible.

Formatting the SQL code will clean up the line breaks, indentation, capitalisation, and overall look of your SQL.

You can do this manually, or automatically, in SQL Developer. We’ll discuss them in this article.


Why Should I Format SQL Code?

Have you ever had a look at someone else’s code, and tried to work out what it’s doing, but couldn’t because the code was all over the place? Similar statements weren’t grouped, capitalisation wasn’t used, the code was not indented consistently, and it was just a mess to understand?

Well, this is precisely the reason you should format your SQL code.

It makes it easier for you to read in the future, for when you need to make changes.

It makes it easier for you right now, as you’re working on the code.

It also makes it easier for others to read.

It helps with debugging as well, because if the code is well formatted, it’s easier to see where any issues are, and work on them.

So, there are a few reasons you should format your SQL code. How do you do it in SQL Developer?


How To Change The SQL Developer Format SQL Options

The formatting options inside SQL Developer are some of my favourite options in the program. Without this feature, my SQL writing would be a lot worse.

To find these options, first go to Tools > Preferences.

autocommit 01 crop

The Preferences window is then shown.

autocommit 02

Click on the + next to the Database item to expand the Database section.

Click on the SQL Formatter item.

sql format 01

Now, there are many options here for formatting SQL. The SQL Formatter entry allows you to automatically format the SQL, with the “Autoformat Visible SQL and PL/SQL”. This is turned off by default.

The main area where the format SQL options are is under the SQL Formatter entry. So, click on the + icon next to SQL Formatter.

Two items will appear: Oracle Formatting, and Other Vendors. This “Other Vendors” option includes Access, DB2, SQL Server, and Sybase.

For the moment, we’ll just look at Oracle Formatting.

Click on Oracle Formatting. You’ll get this screen.

sql format 02

Now, this shows two main sections. The small section at the top is where you choose your profile (which we’ll come back to in a minute). You can also Import and Export profiles, which is a fantastic feature.

The larger section below is the Preview. This is how the SQL code will look, based on your profile. It’s read-only, so you can’t change the settings here.

To actually change the formatting settings, you’ll need to select a profile and click Edit.

Or, to create a new profile, select one and click Save As. You’ll be prompted to enter a name, which will then appear in your profile list.

After you click Edit, you’ll be shown this window.

sql format 03

On the left, you’ll have a list of settings, in a similar tree structure as the previous window. On the right is your preview panel.

The window may be a little small, so you might want to make it wider. Especially the Preview pane if you want to see more of what the code will look like.

There are a LOT of options to change on this window, such as:

  • Input and Output – change options for importing or outputting SQL
  • Alignment – align different types of characters
  • Indentation – set the number of spaces to indent and indenting different keywords
  • Line Breaks – what points to insert line breaks
  • CASE Linebreaks – what points during the CASE statement to insert line breaks
  • White Space – how to deal with spaces around different characters or keywords
  • Other – comments and case changing

I won’t go into detail about what each of these options include in this article, but feel free to change them and see how they impact your code. You can see the Preview on the right. Also, you can save and exit out of the windows and see how it will directly impact any code you’re working on.

How do you format your SQL code in SQL Developer?

You can press CTRL+F7 to format the SQL code in your current Code Editor window to update the formatting of the code based on any format changes you have made.

So, that’s how you can access and change the SQL Developer format SQL options.

If you want to see a full list of the Oracle SQL functions, along with tips and examples, view my Oracle SQL Functions page.

Lastly, if you enjoy the information and career advice I’ve been providing, sign up to my newsletter below to stay up-to-date on my articles. You’ll also receive a fantastic bonus. Thanks!

Categories: Development

Expert Oracle Application Express 2nd Edition

Denes Kubicek - Wed, 2015-08-05 03:00
Expert Oracle Application Express 2nd Edition seems to be available at Apress. Buy this book and support the charity project in memory of Carl Backstrom and Scott Spadafore (previous members of the APEX Team). Please note that all funds will be donated to the families of these two great men.

Categories: Development

Using a Tomcat provided buildpack in Bluemix

Pas Apicella - Mon, 2015-08-03 16:48
By default if you push a java application into public Bluemix you will use the Liberty java buildpack. If you want to use tomcat you can do that as follows.

1. Show the buildpacks available as follows

> cf buildpacks

2. The buildpack which uses Tomcat is as follows


3. Specify you would like to use the buildpack as shown below when using

cf push pas-props -d mybluemix.net -i 1 -m 256M -b java_buildpack -p props.war


pas@Pass-MacBook-Pro-2:~/bluemix-apps/simple-java$ cf push pas-props -d mybluemix.net -i 1 -m 256M -b java_buildpack -p props.war
Creating app pas-props in org pasapi@au1.ibm.com / space dev as pasapi@au1.ibm.com...

Creating route pas-props.mybluemix.net...

Binding pas-props.mybluemix.net to pas-props...

Uploading pas-props...
Uploading app files from: props.war
Uploading 2.9K, 6 files
Done uploading

Starting app pas-props in org pasapi@au1.ibm.com / space dev as pasapi@au1.ibm.com...
-----> Downloaded app package (4.0K)
-----> Java Buildpack Version: v3.0 | https://github.com/cloudfoundry/java-buildpack.git#3bd15e1
-----> Downloading Open Jdk JRE 1.8.0_51 from https://download.run.pivotal.io/openjdk/lucid/x86_64/openjdk-1.8.0_51.tar.gz (11.6s)
       Expanding Open Jdk JRE to .java-buildpack/open_jdk_jre (1.2s)
-----> Downloading Tomcat Instance 8.0.24 from https://download.run.pivotal.io/tomcat/tomcat-8.0.24.tar.gz (2.4s)
       Expanding Tomcat to .java-buildpack/tomcat (0.1s)
-----> Downloading Tomcat Lifecycle Support 2.4.0_RELEASE from https://download.run.pivotal.io/tomcat-lifecycle-support/tomcat-lifecycle-support-2.4.0_RELEASE.jar (0.1s)
-----> Downloading Tomcat Logging Support 2.4.0_RELEASE from https://download.run.pivotal.io/tomcat-logging-support/tomcat-logging-support-2.4.0_RELEASE.jar (0.4s)
-----> Downloading Tomcat Access Logging Support 2.4.0_RELEASE from https://download.run.pivotal.io/tomcat-access-logging-support/tomcat-access-logging-support-2.4.0_RELEASE.jar (0.4s)

-----> Uploading droplet (50M)

0 of 1 instances running, 1 starting
1 of 1 instances running

App started


App pas-props was started using this command `JAVA_HOME=$PWD/.java-buildpack/open_jdk_jre JAVA_OPTS="-Djava.io.tmpdir=$TMPDIR -XX:OnOutOfMemoryError=$PWD/.java-buildpack/open_jdk_jre/bin/killjava.sh -Xmx160M -Xms160M -XX:MaxMetaspaceSize=64M -XX:MetaspaceSize=64M -Xss853K -Daccess.logging.enabled=false -Dhttp.port=$PORT" $PWD/.java-buildpack/tomcat/bin/catalina.sh run`

Showing health and status for app pas-props in org pasapi@au1.ibm.com / space dev as pasapi@au1.ibm.com...

requested state: started
instances: 1/1
usage: 256M x 1 instances
urls: pas-props.mybluemix.net
last uploaded: Mon Aug 3 21:40:36 UTC 2015

     state     since                    cpu    memory           disk           details
#0   running   2015-08-03 02:41:47 PM   0.0%   136.7M of 256M   125.7M of 1G
Categories: Fusion Middleware

History Lesson

Floyd Teter - Mon, 2015-08-03 13:53
I'm a student of history.  There is so much to be learned from it.  Today's lesson comes from NASA and relates directly to enterprise software projects.

From 1992 to 1999, NASA launched 16 major missions under the umbrella of the "Faster, Better, Cheaper" or "FBC" program umbrella.  These unmanned space exploration missions included five trips to Mars, one to the Moon, four Earth-orbiting satellites and an asteroid rendezvous.  10 of the 15 missions were great successes, including:
  • The NEAR Earth Asteroid Rendezvous (NEAR)
  • The Pathfinder mission to Mars
  • The Stardust mission that collected, analyzed and returned comet tail particles to Earth
The nine successful FBC missions started with tight budgets, tight scopes, and tight schedules. They all delivered early and under budget.

So long as NASA stuck to the core principles of FBC, the program was a great success:  9 missions successfully executed in seven years.  By comparison the Cassini mission, while also very successful, took over 15 years to execute.  And all 10 successful missions were completed for a fraction of the cost of the Cassini mission.  The FBC program came to a grinding halt when NASA strayed from the core ideas that made the program work:  the failed Mars Polar Lander and the Mars Climate Observer came from the latter part of the FBC program.

Let's look at the core principles that made FBC successful:
  • Do it wrong:  Alexander Laufer and Edward Hoffman explained in a 1998 report entitled "Ninety-Nine Rules for Managing Faster, Better, Cheaper Projects" that in order to do things quickly and right, you have to be willing to do it wrong first.  Experience is the best teacher.
  • Reject good ideas:  NEAR project manager Thomas Coughlin had no shortage of well-meaning good ideas for features, parts and functions to add to the spacecraft.   Essentially all stayed on the cutting room floor.  Reject good ideas and stick to your original scope.
  • Simplify and accelerate everything:  the NEAR project used a 12-line project schedule for the entire mission.  That's right - 12 lines.  Progress reports were limited to three minutes.  If we can build spacecraft with a 12-line project schedule, tell me again why our enterprise project schedules run multiple pages?
  • Limit innovation by keeping it relevant.  While innovation is always cool, it's not relevant if it does not contribute meaningfully to your project's objectives.  Shipping something that actually does something well is much better than shipping something built on the newest technology that is complex to use or fails to perform reliably in a multitude of circumstances.
  • You can't inspect quality into the system.  NASA's failure to stick with this principle lead to the poor ending for the FBC program.  To a great degree, the Mars Pathfinder was a success at JPL because the project was so small that it flew under the radar - no significant administrative oversight.  When FBC oversight increased after 1999 at all NASA centers, the successes stopped coming.  You can put the clues together here, can't you?
Do you recognize the themes here?  Simplicity.  Restraint.  Freedom to act and take risks within tight constraints.  The combination led to some elegant and highly successful projects.

And, by the way, the recent New Horizons mission sending us pictures and data from Pluto?  Lots of heritage from FBC.  So, yes, these ideas still work...for missions much more complex than enterprise software.

So, you want to #beat39 with your enterprise software projects?  This history lesson is a great place to start.

PeopleSoft Spotlight Series: Fluid

Jim Marion - Mon, 2015-08-03 12:03

Have you seen the new PeopleTools Spotlight series? I just finished the Developing Fluid Applications lesson. This 1-hour video walks you through creating a fluid component, including some of the special CSS style classes, such as psc_column-2. The example is very well done and should get new fluid developers headed down the right path.

4 Things To Do If a Your Teammate Is Slowing The Team Down

Complete IT Professional - Mon, 2015-08-03 06:00

4 Things To Do If a Your Teammate Is Slowing The Team DownDo you have a team member that seems to be slowing the team down and not “pulling their weight” to get things done? Learn what you can do about it in this article.

This is a common problem when working in teams.

There are a few of you working on the one project, trying to get it all done before the deadline. You’ve all got work allocated to you, you’re discussing how to solve the problems you’re having, and trying to get your code done and ready for testing.

But, there’s one person in the team that seems to be quite a bit slower than the rest. They are not getting as much done, and as a result, they’re slowing the team down.

What can you do in this situation?

There are a few things you can do, actually.


Ask Them If They Need Help

The first thing that I recommend you do is speak to them and ask if they need help.

A simple question like “Hey, is there anything I can help you with?” is a good way to start.

If they are struggling with getting their work done because there is too much of it, you can help them by taking some of the work from them. Perhaps there’s a couple of user stories they haven’t gotten to, or some defects that are on their list of things to fix.

Taking things from their to-do list after asking them can help the team work better.

If they aren’t struggling with a long list of things to do, and they’re just having issues with writing the code or understanding an issue, you might be able to help them there. Sometimes, as developers, we can spend a long time looking at a single issue or an area of code, and it takes up so much time we don’t even know where the day went. This can cause unexpected delays in the team, as they might be waiting for us to do other things.

If your team member is doing this, maybe you can step in and help them look at it. If they are a more junior team member, maybe they don’t understand the code as well as others, or they aren’t as experienced or efficient with their code.

Or, they may be struggling to solve a defect, which can happen regardless of their experience. A second set of eyes can really help.


Ask Them If They Think They Can Meet The Deadline

Another thing you can ask your team member is if they can meet the deadline.

“Hey, this code needs to be dropped into the testing environment on Thursday, do you think you can meet that date?”

It’s good to ask this because you force the other team member to think about the deadline and give a response. They can give a variety of answers here.

If they are unsure that they can meet the deadline, or they say they can’t, you can offer to help them by going back to the first point above, and asking them if they need help.


Ask Your Manager For Some Of Their Work

Let’s say you’ve tried the first two steps and spoken to them about their work. It’s been going on for a while and things haven’t improved.

At this point, I would suggest speaking to your manager.

Ask your manager if you can take some of their work, or if some of the tasks they were expected to do can be moved to you.

When you do, try to frame it in a way that you’re able to take on the work, or that you have extra capacity to do it, rather than the other team member being inefficient.

This isn’t meant to deceive anyone, but I’m suggesting doing it this way initially so you can get some work to do and help the team.


Mention Your Concerns To Your Manager

Another thing you can do is to mention your concerns to your manager.

Talk with your manager and say that you have concerns over the speed of your team member or the fact they may be slowing the team down.

Try not to do this as though you want them to be fired. Instead, try to do it as though you want to help the team out and you’re concerned with the team.

Your manager may have a few suggestions on what can be done.

You can also come up with some suggestions as well. You should have spoken to the team member already, using the steps above, to see what can be done. You can offer to take some of their work, or your manager may want to reorganise the work in the team to make it more efficient.

The point of this is to make your manager aware of your concerns and to get the project running better. In the long run, your team member should be improving their skills, so hopefully it’s only a short term problem and doesn’t delay your team for a long time.


Career Action Tip: If you have a team member that is slowing the team down, ask them if there’s anything you can do to help them.

Lastly, if you enjoy the information and career advice I’ve been providing, sign up to my newsletter below to stay up-to-date on my articles. You’ll also receive a fantastic bonus. Thanks!

Categories: Development

Internet of Things (IoT) - What is your plan?

Peeyush Tugnawat - Fri, 2015-07-31 22:42

Proliferation of connected devices and ever-growing data is driving some very interesting Internet of Things (IoT) use cases and challenges.

Check out some very interesting facts. What is your plan?

Click on the interactive image below...

What is your Plan? 

The Internet of Things - Managing the Complexity in Cloud

Peeyush Tugnawat - Fri, 2015-07-31 22:38

By 2020 there will be 50 Billion connected devices in the world generating more data than every thought possible.

Watch this video to understand how IoT is changing the world and your business models. What is your plan?

Check out Oracle's IoT offering in Cloud - IoT Cloud

Oracle Cloud - Modern & Flexible Cloud for Modern Business

Peeyush Tugnawat - Fri, 2015-07-31 02:07

Oracle offers the most comprehensive portfolio of cloud computing solutions in the industry today. Whatever your cloud needs, Oracle has the complete solution for you.

Discoverer and Windows 10

Michael Armstrong-Smith - Thu, 2015-07-30 23:33
Hi everyone
Further to a earlier posting of mine it would appear that Windows 10 and Discoverer are incompatible.



Subscribe to Oracle FAQ aggregator