…The training wheels aren’t just for the faculty, they’re for the students, as well. The idea that the internet is a place for free and open discourse is nice, of course, but anyone who pays attention knows that to be a polite fiction. The public internet is a relatively safe place for straight, white, American males, but freedom of discourse is a privilege that only a small minority of our students (and faculty, for that matter) truly enjoy. If people didn’t understand that before, #notallmen/#yesallmen and GamerGate should certainly have driven that home.
As faculty and administrators we have an obligation–legal, and more importantly moral–to help our students understand the mechanisms, and unfortunately, often the consequences, of public discourse, including online communications. This is particularly true for the teenagers who make up the bulk of the undergrad population. Part of transformative teaching is giving people a safe space to become vulnerable and open to change. For those of us who think still of the “‘net” in terms of it’s early manifestations that were substantially open and inclusive research networks and BBS of largely like-minded people (someone else mentioned The Well, although The Well, of course, has always been a walled garden), open access seems tempting. But today’s internet is rarely that safe space for growth and learning. Just because students can put everything on the internet (YikYak, anyone?) doesn’t mean that they should.
In many, if not most, situations, A default stance of of walled garden with easy-to-implement open access options for chosen and curated content makes a great deal of sense….
There are lots of legitimate reasons why students might not want to post on the public internet. A few years back, when I was helping my wife with a summer program that exposed ESL high schoolers to college and encouraged them to feel like it could be something for them, we had a couple of students who did not want to blog. We didn’t put them on the spot by asking why, but we suspected that their families were undocumented and that they were afraid of getting in trouble.
This certainly doesn’t mean that everybody has to use an LMS or lock everything behind a login, but it does mean that faculty teaching open courses need to think about how to accommodate students who won’t or can’t work on the open web. I don’t think this sort of accommodation in any way compromises the ethic of open education. To the contrary, ensuring access for everyone is part of what open education is all about.
I commonly write about real or apparent technical differentiation, in a broad variety of domains. But actually, computers only do a couple of kinds of things:
- Accept instructions.
- Execute them.
And hence almost all IT product differentiation fits into two buckets:
- Easier instruction-giving, whether that’s in the form of a user interface, a language, or an API.
- Better execution, where “better” usually boils down to “faster”, “more reliable” or “more reliably fast”.
As examples of this reductionism, please consider:
- Application development is of course a matter of giving instructions to a computer.
- Database management systems accept and execute data manipulation instructions.
- Data integration tools accept and execute data integration instructions.
- System management software accepts and executes system management instructions.
- Business intelligence tools accept and execute instructions for data retrieval, navigation, aggregation and display.
Similar stories are true about application software, or about anything that has an API (Application Programming Interface) or SDK (Software Development Kit).
Yes, all my examples are in software. That’s what I focus on. If I wanted to be more balanced in including hardware or data centers, I might phrase the discussion a little differently — but the core points would still remain true.
What I’ve said so far should make more sense if we combine it with the observation that differentiation is usually restricted to particular domains. I mean several different things by that last bit. First, most software only purports to do a limited class of things — manage data, display query results, optimize analytic models, manage a cluster, run a payroll, whatever. Even beyond that, any inherent superiority is usually restricted to a subset of potential use cases. For example:
- Relational DBMS presuppose that data fits well (enough) into tabular structures. Further, most RDBMS differentiation is restricted to a further subset of such cases; there are many applications that don’t require — for example — columnar query selectivity or declarative referential integrity or Oracle’s elite set of security certifications.
- Some BI tools are great for ad-hoc navigation. Some excel at high-volume report displays, perhaps with a particular flair for mobile devices. Some are learning how to query non-tabular data.
- Hadoop, especially in its early days, presupposed data volumes big enough to cluster and application models that fit well with MapReduce.
- A lot of distributed computing aids presuppose particular kinds of topologies.
A third reason for technical superiority to be domain-specific is that advantages are commonly coupled with drawbacks. Common causes of that include:
- Many otherwise-advantageous choices strain hardware budgets. Examples include:
- Robust data protection features (most famously RAID and two-phase commit)
- Various kinds of translation or interpretation overhead.
- Yet other choices are good for some purposes but bad for others. It’s fastest to write data in the exact way it comes in, but then it would be slow to retrieve later on.
- Innovative technical strategies are likely to be found in new products that haven’t had time to become mature yet.
And that brings us to the main message of this post: Your spiffy innovation is important in fewer situations than you would like to believe. Many, many other smart organizations are solving the same kinds of problems as you; their solutions just happen to be effective in somewhat different scenarios than yours. This is especially true when your product and company are young. You may eventually grow to cover a broad variety of use cases, but to get there you’ll have to more or less match the effects of many other innovations that have come along before yours.
When advising vendors, I tend to think in terms of the layered messaging model, and ask the questions:
- Which of your architectural features gives you sustainable advantages in features or performance?
- Which of your sustainable advantages in features or performance provides substantial business value in which use cases?
Closely connected are the questions:
- What lingering disadvantages, if any, does your architecture create?
- What maturity advantages do your competitors have, and when (if ever) will you be able to catch up with them?
- In which use cases are your disadvantages important?
Buyers and analysts should think in such terms as well.
Daniel Abadi, who is now connected to Teradata via their acquisition of Hadapt, put up a post promoting some interesting new features of theirs. Then he tweeted that this was an example of what I call Bottleneck Whack-A-Mole. He’s right. But since much of his theme was general praise of Teradata’s mature DBMS technology, it would also have been accurate to reference my post about The Cardinal Rules of DBMS Development.
It helps you perform common version control tasks such as reverting to previous commit point, branching, merging and cloning. Gitora updates the PL/SQL objects in the database automatically when version control tasks are performed eliminating the need to save files to an OS folder manually. It also implements a check-in check out system in the database.
Gitora is development tool agnostic. It works with any development tool such as SQL Developer, TOAD, SQL Navigator and PL/SQL Developer.
There is no need to know Git to use Gitora because it comes with a point and click GUI.
Watch these short videos below to see Gitora in action.
Sign up at http://www.gitora.com to get notified when the product launches.
Please share this news in your social networks and help us spread the word.
To ideate with our partners to create user experience (UX) enablement that delivers, we first empathize with how partner development teams go about their business. By understanding their world, we can rock it.
The Oracle Applications User Experience (OAUX) Communications and Outreach team has just executed on a very successful internal event called the UX Design Lab for PaaS. The event's attendees adopted the role of partners delivering typical simplified UI (SUI) SaaS solutions using PaaS.
This new kind of event used a new visual style agenda designed by the team.
We’ve got that partner message cloud and clear: SUI and PaaS are differentiators. And, we know how the cloud has changed everything, including user experience (UX). Partners need to build UX solutions in the cloud, quickly and easily, to meet those ever-demanding customer expectations.
User experience is baked into the simplicity of our enablement for busy partner developers.
So, a group of our own software architects, UX designers, Oracle ADF developers, platform experts, and other partner enablers, took typical PaaS and SaaS use cases and designed and built solutions using our Simplified UI Rapid Development Kit (based on Oracle ADF). They then deployed their applications using the Oracle Java Cloud platform services.
From paper to cloud. The event tested the PaaS4SaaS process from “All I want to do is... ” use cases to more complex solutions for Oracle Sales, HCM, ERP Cloud, and more.
This was a strategic event with Jeremy Ashley (@jrwashley), Vice President of OAUX as executive sponsor. Furthermore, 20% of attendees had “Vice President” (or higher) in their titles reflecting the importance that Oracle puts on this kind of partner enablement. What’s more, they got down to business with the design and the development tools too.
Our next step is to evaluate our experience and validate the outcome of the event with partners themselves. We're fine-tuning our partner communications and outreach with more awesome PaaS4SaaS resources, already proven for developers and ready to win business.
The occasion was an opportunity to try out ways of organizing partner events, so we added fitness and wellness breaks, fun activities, and tailored the event to reflect the diversity of the tech community.
Minute-To-Win-It. Attendee wellness and engagement was one focus of the event. David Haimes (@dhaimes) and Misha Vaughan (@mishavaughan) display their dexterity with all matters cloud, facilitated by the Oracle HQ Reach Fitness team.
We also looked at ways of communicating UX in a simple, effective way, one that resonates with busy developers, such as using a Jobs To Be Done framework applied to agile simplified UI user requirements gathering and wireframing.
Julian Orr (left) and Ultan Ó Broin (@ultan) fronting the #JTBD approach.
As this was an internal event, I can’t disclose use case details, of course. But, I will reveal that we are soon hosting one partner onsite for high-touch simplified UI design and development best practices to add to their existing Oracle ADF and Oracle Fusion Middleware knowledge. We'll fast-track that partner to rapidly build a solution that will grow their cloud business and add real value to the Oracle Applications Cloud partner ecosystem.
You could be the next partner. So, if you are an eager partner in North America or EMEA and have compelling simplified UI Oracle Applications Cloud use cases that fit the PaaS model, reach out to us through the usual channels.
The Oracle Alta UI focuses on reducing clatter in the user interface. So one of the first thing you'll try and do when creating an Alta UI is decide which information is not that important and can be removed from the page.
But what happens if you still have semi-important information that the user would like to see, but you don't want it to overcrowd the initial page UI? You can put it on the other side of the page - or in the Alta UI approach - create a flip card.
Think of a flip card as an area that switches the shown content to reveal more information - and with ADF's support for animation you can make a flip effect.
In the demo below I show you how to create this flip card effect using the new af:deck and af:transition components in ADF Faces.
A few other minor things you can see here:
- Use conditional ELs and viewScope variables - specifically the code I use is
- Add additional field to a collection after you initially drag and dropped it onto a page - using the binding tab
- Setting up partialSubmit and PartialTriggers for updates to the page without full refresh
I’ve uploaded a monitoring script that I have worked on: zip.
The script alerts you when the optimizer runs a SQL statement with a potentially new and inefficient plan so you can intervene. This script improves upon my earlier script which only alerts you to SQL statements running with new plans. The new script compares the average elapsed time of the current plan with the average of the most often executed plan. If the new plan averages more than ten times the most often executed plan then the script alerts you to a possible new slow plan. The elapsed time for the current plan comes from V$SQL and the time for the most often executed plan comes from DBA_HIST_SQLSTAT.
Here is an example output from the first test case:
SQL_ID PLAN_HASH_VALUE ------------- --------------- a1fw5xjcwkjqx 1357081020
There are two test cases included in the script. The first test case has a query which uses an index and the plan changes when I drop the index.
If you look at the output for the first test case you see the good plan:
SQL_ID a1fw5xjcwkjqx, child number 0 ------------------------------------- select /* 9 */ owner,table_name from test where owner='XYZ' and table_name='XYZ' Plan hash value: 268773832 --------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| --------------------------------------------------------------- | 0 | SELECT STATEMENT | | | | 58 (100)| |* 1 | INDEX RANGE SCAN| TESTI | 16222 | 221K| 58 (0)| ---------------------------------------------------------------
The good plan uses the index. Here is the bad plan. Note how the sql_id and plan_hash_value correspond to the output of the monitor script.
SQL_ID a1fw5xjcwkjqx, child number 0 ------------------------------------- select /* 9 */ owner,table_name from test where owner='XYZ' and table_name='XYZ' Plan hash value: 1357081020 --------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| --------------------------------------------------------------- | 0 | SELECT STATEMENT | | | | 15708 (100)| |* 1 | TABLE ACCESS FULL| TEST | 8111 | 110K| 15708 (1)| ---------------------------------------------------------------
I have this running in a cron job on a development server and I plan to put the script into our production server next week and set it up to alert me with an email when the optimizer runs SQL statements with potentially new and inefficient plans.
If you start moving objects around to try and reclaim space in a tablespace there are all sorts of little traps that make it harder than you might hope to get the maximum benefit with the minimum effort. I’ve written a couple of notes in the past about how to proceed and, more recently, one of the difficulties involved. This is just a brief note about a couple of ideas to make life a little easier.
- Check that you’ve emptied the recyclebin before you start
- Before you try moving/rebuilding an object check that the total free space “below” that object is greater than the size of the object or you’ll find that parts of the object move “up” the tablespace.
- Before moving a table, mark its indexes as unusable. If you do this then (in recent versions of Oracle) the default behaviour is for the index space be freed as the segment vanishes and you may find that the extents of the table can move further “down” the tablespace. (If you’ve kept tables and indexes in different tablespaces this is irrelevant, of course).
- When you move an object think a little carefully about whether specifying an minimum initial extent size would help or hinder the move.
- Don’t assume that moving the “highest” object first is the best strategy – work out where you expect the final tablespace HWM to be and you may find that it makes more sense to move other objects that are above the point first.
- Moving objects with several small (64KB) extents first may allow you to free up larger (1MB, 8MB) gaps that can be used by other larger objects”””””
- Creating a new tablespace and moving objects to it from the old tablespace “top down” may be the quickest way to proceed. Work towards dropping the old tablespace HWM regularly.
I've never had a tool I really liked that would extract a chunk of a large production database for testing purposes while respecting the database's foreign keys. This past week I finally got to write one: rdbms-subsetter.
rdbms-subsetter postgresql://user:passwd@host/source_db postgresql://user:passwd@host/excerpted_db 0.001
Getting it to respect referential integrity "upward" - guaranteeing every needed parent record would be included for each child row - took less than a day. Trying to get it to also guarantee referential integrity "downward" - including all child records for each parent record - was a Quixotic idea that had me tilting at windmills for days. It's important, because parent records without child records are often useless or illogical. Yet trying to pull them all in led to an endlessly propagating process - percolation, in chemical engineering terms - that threatened to make every test database a complete (but extremely slow) clone of production. After all, if every row in parent table P1 demands rows in child tables C1, C2, and C3, and those child rows demand new rows in parent tables P2 and P3, which demand more rows in C1, C2, and C3, which demand more rows in their parent tables... I felt like I was trying to cut a little sweater out of a big sweater without snipping any yarns.
So I can't guarantee child records - instead, the final process prioritizes creating records that will fill out the empty child slots in existing parent records. But there will almost inevitably be some child slots left open when the program is done.
I've been using it against one multi-GB, highly interconnected production data warehouse, so it's had some testing, but your bug reports are welcome.
Like virtually everything else I do, this project depends utterly on SQLAlchemy.
I developed this for use at 18F, and my choice of a workplace where everything defaults to open was wonderfully validated when I asked about the procedure for releasing my 18F work to PyPI. The procedure is - and I quote -Just go for it.
In the spirit of Movember, the database bloggers are also chipping in with their fair share of contribution, not only with a mo but also with the blog posts. This Log Buffer Edition encompasses that all.
Will the REAL Snap Clone functionality please stand up?
Oracle Linux images for Docker released.
In-depth look into Oracle API Catalog (OAC) 12c.
Patch Set Update: Hyperion Strategic Finance 220.127.116.11.504.
Rollback to Savepoint Does Not Release Locks.
Overcoming the OPENQUERY Record Limit for AD.
Configuring Critical SQL Server Alerts.
What is Biml? – Level 1?
Database Configuration Management for SQL Server
Free eBook: SQL Server Backup and Restore.
Set up a Memory Quota for SQL Server Memory Optimized Databases.
In C (and C++) you can specify that a variable should take a specific number of bits of storage by doing “uint32_t foo:4;” rather than just “uint32_t foo”. In this example, the former uses 4 bits while the latter uses 32bits. This can be useful to pack many bit fields together.
Oracle AVDF post-installation configuration.
Everything about MySQL Users and Logins You Didn’t Know and Were Afraid to Ask.
Setting up a MySQL Enterprise Monitor 3 Test Environment.
While playing with MySQL 5.7.5 on POWER8, I came across a rather interesting bug (74775 – and this is not the only one… I think I have a decent amount of auditing and patching to do now) which made me want to write a bit on memory barriers and the volatile keyword.
In Oracle 12c, a new database auditing foundation has been introduced. Oracle Unified Auditing changes the fundamental auditing functionality of the database. In previous releases of Oracle, there were separate audit trails for each individual component. Unified Auditing consolidates all auditing into a single repository and view. This provides a two-fold simplification: audit data can now be found in a single location, and all audit data is in a single format. Oracle 12c Unified Auditing supports –
- Standard database auditing
- SYS operations auditing (AUDIT_SYS_OPERATIONS)
- Fine Grained Audit (FGA)
- Data Pump
- Oracle RMAN
- Oracle Label Security (OLS)
- Database Vault (DV)
- Real Application Security (RAS)
- SQL*Loader Direct Load
Unified Auditing comes standard with Oracle Enterprise Edition; no additional license is required. It is installed by default, but not fully enabled by default. There are two modes of operation to allow for a transition from pre-12c auditing –
- Mixed Mode – default 12c option. All pre-12c log and audit functionality and configurations work as before. New Unified Auditing functionality is also available. Log data is available in both the traditional locations as well as a new view SYS.UNIFIED_AUDIT_TRAIL. Also, log data continues to be written in clear text when Syslog is used.
- Full Mode or PURE mode – enabled only by stopping the database and relinking the Oracle kernel. Once enabled, pre-12c log and audit configurations are ignored, and audit data is saved using the Oracle SecureFiles, which is a proprietary file format. Because of this, Syslog is not supported. All audit data can be found in the view SYS.UNIFIED_AUDIT_TRAIL.
Figure 1 – Auditing Pre-Oracle 12c
Figure 2 – Oracle 12c Unified Auditing – Mixed Mode
Figure 3 – Oracle 12c Unified Auditing – Pure Mode
Figure 4 – Oracle 12c Unified Audit
If you have questions, please contact us at mailto:email@example.comReference
For more information on Unified Auditing can be found here:
- Integrigy Oracle 12c Unified Auditing Whitepaper Oracle 12c Unified Auditing
- 12c Unified Auditing, Oracle Database Security Guide 12c Release 1 (12.1) http://docs.oracle.com/database/121/DBSEG/auditing.htm#DBSEG1023
- Predefined Unified Audit Policies, Oracle Database Security Guide 12c Release 1 (12.1) http://docs.oracle.com/database/121/DBSEG/audit_config.htm#DBSEG356
Over the last two years my organisation has been working with multiple partners helping them create partner integrations and showing them how to use the variety of SOAP APIs available for Sales Cloud integrators. Based on this work Ive been working with development with the aim to simplify some of the API calls which require "multiple" calls to achieve a single objective.. For example to create a Customer Account you often need to create the Location first , and then the contacts and then the customer account.. In SalesCloud R9 you will have a new subset of APIs which will simplify this.
So you all have a head-start in learning the API I've worked with our documentation people and we've just released a new whitepaper/doc onto Oracle Support explaining the new API in lovely glorious detail. It also includes some sample code of each of the operations you might use and some hints and tips!
Enjoy and feel free to post feedback
You can download the documentation from Oracle Support, the document is called "Using Simplified SOAP WebServices" , its docId is 1938666.1 and this is a direct link to the document
We share our skills to maximize your revenue!
Additional new material WebLogic & ADF Community, from the WebLogic Partner Community EMEA.
Secure Oracle MAF applications with Oracle Mobile Security Suite, from The Oracle Mobile Platform Blog.
From Geertjan's Blog: Integrated Cheat Sheets for NetBeans IDE 8.0.1
JavaOne Replay: 'Java EE 8 Overview', from The Aquarium.
EM Express 12c Database Administration Page FAQ, from Oracle DB/EM Support.
From Data Integration: ODI 12c - Spark SQL and Hive?
From DaaS (Data as a Service): Introducing the Global Data Guide!
Patch Set Update: EPM Architect 18.104.22.168.501, from Business Analytics - Proactive Support.
New video on YouTube:
Oracle Planning and Budgeting Cloud Simplified Interface
From that Jeff Smith: Setting Up Oracle SQL Developer on a Mac.
Keep This Python Cheat Sheet on Hand When Learning to Code, from LifeHacker.
Announcing the release of Oracle Solaris Studio 12.4, from Solaris and Systems Information for ISVs.
From Darryl Gove's blog: Performance Made Easy.
New releases announced at the MySQL on Windows blog:
MySQL Connector/NET 6.6.7 has been released.
MySQL Connector/NET 6.7.6 has been released
MySQL Connector/NET 6.8.4 has been released
MySQL Connector/NET 6.9.5 has been released
From Oracle E-Business Suite Technology:
New Critical Patches Added to EBS 12.2.3 and R12.2.4 Release Notes
E-Business Suite 12.2.4 VM Virtual Appliances Now Available
From Oracle E-Business Suite Support Blog:
Pricing Based on Secondary UOM
Webcast: Overview of Intercompany Transactions
R12: Resolve Supplier Bank Account Issues When Creating Payment For Customer Refunds
Have you seen the new Interactive Troubleshooting (IT) Flows for Procurement?
Webcast: Respecting Ship Set Constraints Rapid Planning
Subledger Accounting for Payroll
Webcast: Topics in Inventory Convergence and Process Manufacturing
Service Contracts APIs are Finally Here!
I found a broken link to an Oracle help document in one of my posts and when I went to the Oracle 12c database documentation to find the new URL to put in my post I found that Oracle had totally revamped their online manuals.
Here is a link to the new high level Oracle help site: url
I’ve only looked at it for a few minutes and can’t say whether I like it or not. You can still download the manuals in PDF format so that remains familiar. It looks like the new site integrates documentation across most or all of Oracle’s products in a similar format and that’s pretty cool.
Anyway, I just saw this and thought I would pass it along.
Join us for another Oracle Customer Reference Forum on Tuesday, November 18, 2014, at 9:00 a.m. Pacific Time / 11:00 a.m. Central Time.
The leadership team at Ovation Brands—CFO Keith Kravcik and CIO Patrick Benson—will talk about why they chose to implement Oracle ERP Cloud and Oracle Planning & Budgeting Cloud to operate an integrated, state-of-the-art finance system able to support Ovation’s ambitious reinvention strategy.
Ovation Brands currently operates 334 restaurants in 35 states, comprised of 324 steak-buffet restaurants and 10 Tahoe Joe’s Famous Steakhouse restaurants. The restaurants are principally operated under the Old Country Buffet®, HomeTown® Buffet and Ryan’s® brands. Ovation employs approximately 17,000 team members and serves approximately 100 million customers annually. Corporate headquarters are based in Greer, SC with a Corporate Support Center located in Eagan, MN. For more information, visit www.OvationBrands.com.
Invite your customers and prospects. Register now to attend the live Forum on Tuesday, November 18 at 9:00 a.m. Pacific Time / 11:00 a.m. Central Time and learn more directly from Ovation Brands.
The world has changed to one that’s always on, always-engaged, requiring organizations to rapidly become “digital businesses.” In order to thrive and survive in this new economy, having the right digital experience and engagement strategy and speed of execution is crucial.
But where do you start? How do you accelerate this transformation?
Attend this roundtable to hear directly from leading industry analysts from Forrester Research, Inc., Primitive Logic, client companies, and solution experts as they outline the best practice strategies to seize the full potential of digital experience and engagement platform. Gain insights on how your business can deliver the exceptional and engaging digital experiences and the drive the next wave of revenue growth, service excellence and business efficiency.
We look forward to your participation at the Solution Roundtable.
Register now or call 1.800.820.5592 ext. 12873.
Register Now December 4, 2014
10:30 a.m. - 11:45 a.m. Hyatt Regency Orange County
11999 Harbor Blvd Garden Grove, CA 92840 Featuring:
Vice President and Principal Analyst, Forrester Research, Inc.
If you are an employee or official of a government organization, please click here for important ethics information regarding this event. Copyright © 2014, Oracle Corporation and/or its affiliates.
Here you can download complete sample application - adfbpm11gr4.zip. This application implements a method based on BPM API, where a list of outcomes by the currently selected Task ID is fetched from BPM engine:
Each outcome is represented by ActionType. I'm constructing a list of outcomes to be used on ADF UI. There is ADF UI iterator components on the fragment, this component is generating dynamic buttons, based on the constructed set of outcomes. Outcome name is used to set button name and outcome itself is used as attribute value for the generic action listener method:
Generic action listener method is responsible to parse outcome name, initialise a payload if needed, and execute BPM API to submit the outcome for further task processing:
We can check how this works. There is a human task AssignEmployee with SUBMIT outcome, in the sample application:
Task action button is generated accordingly - there is only one Submit action button for the selected task:
The next human task ApproveEmployee is set with two outcomes - APPROVE and REJECT:
Based on the set of the outcomes, two buttons are present now - Approve and Reject: