Search Results

Search found 18437 results on 738 pages for 'screen reader'.

Page 507/738 | < Previous Page | 503 504 505 506 507 508 509 510 511 512 513 514  | Next Page >

  • Links won't open in Outlook

    - by Scott Mitchell
    About a week ago Chrome (my default browser) stopped working and I ended up reinstalling. After that, however, links in Outlook 2007, when clicked, no longer open. Instead, I get a warning that reads: General failure. The URL was: URL. Application not found. I presume that there is some MIME or file type association that needs to be configured at the OS level, but I've not had any luck so far. My operating system is Windows 7. Any ideas? EDIT #1 Wayne Johnston suggested I set Chrome as my default browser, but when I go to the Set Default Programs screen in Windows 7 (via Control Panel) I do not see Chrome in the list of programs. How do I get it to show up there?

    Read the article

  • DNS Propagation Investigation Techniques?

    - by darkAsPitch
    So I changed the nameservers to veeter.com about 5 days ago now - and the domain is still not resolving over the net. It does intermittently, but then cuts out again every few hours. I run 10+ other domains through the same dedicated server (running CentOS/WHM) and they are all up - so it has nothing to do with that. I have asked my dedicated server support staff what the problem might be, they told me to "log into WHM and click on 'Add a DNS Zone' under the 'DNS Functions' section on the left hand side of the screen. Once you have done this and dns fully propagates it should resolve any intermittent dns issues you may be experiencing." BUT there is already a DNS zone in place for the domain on my server - so what should I do

    Read the article

  • Openfire: Closing session due to incorrect hostname

    - by cvista
    I have a fresh install on a windows sevrer 2008 box. I can connect adium to the server from a remote machine and from the admin console/sessions I can see my session. My friend can aslo connect and I can see his session. I can send an admin message out and both of us can see it in the adium clients. We can't see each other though. I also get these logs in the warn window in the log viewer: Closing session due to incorrect hostname in stream header. Host: prjatk.com. Connection: org.jivesoftware.openfire.net.SocketConnection@1b1fd9c socket: Socket[addr=/109.109.248.82,port=56258,localport=5269] session: null prjatk.com is the server - however in the server settings on the admin screen I see the computer name as the hostname - is that the issue? If so how can I change that?

    Read the article

  • Gateway NE56R & mouse swipe gesture...how to disable?

    - by Anders
    Can anyone tell me how to shut off the swipe gesture mechanism on my computer? It's driving me crazy. I cannot use a single application without having my computer screen minimize every time I move my hand over the mouse following a mouse-click, pointer movement, etc. Having to maximize my spreadsheets, documents, and applications so much is undercutting my productivity. How some software engineer/inventor imagined that this mouse/gesture swipe gimmick would be helpful to computer users is inconceivable to me. It is a massive annoyance. I've found instructions online for disabling this obnoxious feature, but all the instructions involve messing with my registry, which I don't want to do. I will be SO GRATEFUL to any techie who can tell me how to disable this horrible mouse swipe mechanism without having to alter my registry! I'm using a Gateway NE56R Notebook, Windows 7 operating system, and an Inland USB Mouse (model no. 37535). Thank you in advance!

    Read the article

  • Strange IIS/Asp.net Exception Message

    - by Element
    I have a standard asp.net 2.0 application running on IIS 6. I have noticed some strange exception messages in the logs. They seem to be caused by random spam bots trying to submit forms. They are strange because the request string is huge and all the exception details in the event manager are messed up, they have been replaced with %21,%22, etc.. as seen in the screen shot. Is this some kind of exploit or just a bug in the asp.net exception handler/logger ? UPDATE: I traced the requests that are causing this strange log event to a bug in IE8 that causes it to request scriptresource.axd?d={html from page} as described in these links: MS Connect SO - Invalid Webresource.axd SO - IE8 Dropping Memory Pages I am still not sure why these requests would break the IIS log event like seen above, they are just long strings of jiberish being sent to the server, maybe someone reading this can shed some light on it.

    Read the article

  • Windows Vista stuck on crcdisk.sys

    - by hristo
    Hello everyone, I'm here with some Vista-trouble. After a cigarette-break I returned to my desk to find my PC with a black screen, and after failing to wake it up did a forced restart. I haven't been installing any hardware or software for quite a while. Ever since, Vista gets stuck on the animated 'Microsoft Corporation' progress bar with the animation still running and no hard disk activity. With an F8 and safe-mode + prompt I saw that the boot gets stuck at crcdisk.sys. I'm running Vista64 SP1. What could the problem be? Any advice?

    Read the article

  • How to enlarge a .PDF document to better show it in a Kindle 6"?

    - by Gus
    I have a kindle 6". The problem is that I often read pdf files that are technical, therefore, it doesn't get converted very well to kindle's native format (for example, code blocks get messed, and things like that). When I view the pdf page, it's very small to read easily, so I have to rotate the screen to a horizontal position in order to see it better, but my page get divided. But some documents would be easy to read in vertical position if I had the chance to enlarge the font size a little bit in a external pdf editor, therefore enabling the reading in the vertical orientation. Has anybody had the same situation? Is there a solution for that?

    Read the article

  • Why is autologon in Windows 7 a security risk

    - by Phenom
    If I set my Windows 7 account to automatically logon so I don't have to type a password, and I don't have to click my username on the logon screen, I heard it's a security risk. From Windows 7 Auto Login: Although I don’t personally recommend this, there are some people out there who don’t want to bother with using a password to protect their Windows user account. Of course, using a password in Windows isn’t required, only suggested. But even if you don’t fill one in, you still have to click your user icon to start the login process. An easier way - although again much less secure - is to enable auto-logins for your Windows PC. This is possible in Windows 7, as it was in prior versions, but it takes a little finagling to do so. (And for good reason, darn it.) What is risky about it besides people being able to logon locally? Does it make it easier for hackers to logon remoately?

    Read the article

  • Where Facebook Stands Heading Into 2013

    - by Mike Stiles
    In our last blog, we looked at how Twitter is positioned heading into 2013. Now it’s time to take a similar look at Facebook. 2012, for a time at least, seemed to be the era of Facebook-bashing. Between a far-from-smooth IPO, subsequent stock price declines, and anxiety over privacy, the top social network became a target for comedians, politicians, business journalists, and of course those who were prone to Facebook-bash even in the best of times. But amidst the “this is the end of Facebook” headlines, the company kept experimenting, kept testing, kept innovating, and pressing forward, committed as always to the user experience, while concurrently addressing monetization with greater urgency. Facebook enters 2013 with over 1 billion users around the world. Usage grew 41% in Brazil, Russia, Japan, South Korea and India in 2012. In the Middle East and North Africa, an average 21 new signups happen per minute. Engagement and time spent on the site would impress the harshest of critics. Facebook, while not bulletproof, has become such an integrated daily force in users’ lives, it’s getting hard to imagine any future mass rejection. You want to see a company recognizing weaknesses and shoring them up. Mobile was a weakness in 2012 as Facebook was one of many caught by surprise at the speed of user migration to mobile. But new mobile interfaces, better mobile ads, speed upgrades, standalone Messenger and Pages mobile apps, and the big dollar acquisition of Instagram, were a few indicators Facebook won’t play catch-up any more than it has to. As a user, the cool thing about Facebook is, it knows you. The uncool thing about Facebook is, it knows you. The company’s walking a delicate line between the public’s competing desires for customized experiences and privacy. While the company’s working to make privacy options clearer and easier, Facebook’s Paul Adams says data aggregation can move from acting on what a user is engaging with at the moment to a more holistic view of what they’re likely to want at any given time. To help learn about you, there’s Open Graph. Embedded through diverse partnerships, the idea is to surface what you’re doing and what you care about, and help you discover things via your friends’ activities. Facebook’s Director of Engineering, Mike Vernal, says building mobile social apps connected to Facebook in such ways is the next wave of big innovation. Expect to see that fostered in 2013. The Facebook site experience is always evolving. Some users like that about Facebook, others can’t wait to complain about it…on Facebook. The Facebook focal point, the News Feed, is not sacred and is seeing plenty of experimentation with the insertion of modules. From upcoming concerts, events, suggested Pages you might like, to aggregated “most shared” content from social reader apps, plenty could start popping up between those pictures of what your friends had for lunch.  As for which friends’ lunches you see, that’s a function of the mythic EdgeRank…which is also tinkered with. When Facebook changed it in September, Page admins saw reach go down and the high anxiety set in quickly. Engagement, however, held steady. The adjustment was about relevancy over reach. (And oh yeah, reach was something that could be charged for). Facebook wants users to see what they’re most likely to like, based on past usage and interactions. Adding to the “cream must rise to the top” philosophy, they’re now even trying out ordering post comments based on the engagement the comments get. Boy, it’s getting competitive out there for a social engager. Facebook has to make $$$. To do that, they must offer attractive vehicles to marketers. There are a myriad of ad units. But a key Facebook marketing concept is the Sponsored Story. It’s key because it encourages content that’s good, relevant, and performs well organically. If it is, marketing dollars can amplify it and extend its reach. Brands can expect the rollout of a search product and an ad network. That’s a big deal. It takes, as Open Graph does, the power of Facebook’s user data and carries it beyond the Facebook environment into the digital world at large. No one could target like Facebook can, and some analysts think it could double their roughly $5 billion revenue stream. As every potential revenue nook and cranny is explored, there are the users themselves. In addition to Gifts, Facebook thinks users might pay a few bucks to promote their own posts so more of their friends will see them. There’s also word classifieds could be purchased in News Feeds, though they won’t be called classifieds. And that’s where Facebook stands; a wildly popular destination, a part of our culture, with ever increasing functionalities, the biggest of big data, revenue strategies that appeal to marketers without souring the user experience, new challenges as a now public company, ongoing privacy concerns, and innovations that carry Facebook far beyond its own borders. Anyone care to write a “this is the end of Facebook” headline? @mikestilesPhoto via stock.schng

    Read the article

  • HDMI output issue in Ubuntu

    - by xsznix
    Hi, I am using Ubuntu 10.04 on a HP notebook with a nVidia GT 130M graphics card. Whenever I connect a HDTV using the HDMI output and set all of the settings in the nVidia Control Panel, it will output to the HDTV, but cut off about 24 pixels on each side. Sometimes (but not often), it will work properly (display the entire screen), but I cannot get it to work thus consistently. I have tried using resolutions of 1920x1080, 1360x768, 800x600 with two HDTVs of different brands, with and without forcing full GPU scaling, with and without syncing to VBlank (what is this?), etc., and also using a Linux Mint 9 computer with integrated Intel (X4000-ish, don't remember exactly) graphics. The problem persists no matter what, but only with HDMI output (VGA works fine). The same computers works fine with HDTVs in Windows. Any ideas?

    Read the article

  • How to set up a (relatively) secure kiosk on Natty?

    - by Tim
    I'm trying to get my application to be the only thing a user sees when the machine is powered on - like a kiosk, but a little more secure. Ideally, what I'd like to happen is this: At machine power-on, the user sees the Ubuntu splash image, then my app. While the app is running, the user can't get back to the desktop or a text login prompt via any keyboard shortcut. This is the (relatively) secure bit. When the user exits the app, the user sees a shutdown image, then the machine powers off. In particular, I'd like to configure things so that the user never sees the Gnome desktop on startup or shutdown. At the moment, I've configured a default user to be logged on automatically, with an autostart item which starts my app, but after the Ubuntu startup screen the user sees the Gnome desktop briefly before my app is started. When the app is exited, the user is taken back to the Gnome desktop and has to shut the machine down manually. Also, because of time constraints, I can't really start over with a different window manager. Is there an easy way to configure all of this?

    Read the article

  • IRM Item Codes &ndash; what are they for?

    - by martin.abrahams
    A number of colleagues have been asking about IRM item codes recently – what are they for, when are they useful, how can you control them to meet some customer requirements? This is quite a big topic, but this article provides a few answers. An item code is part of the metadata of every sealed document – unless you define a custom metadata model. The item code is defined when a file is sealed, and usually defaults to a timestamp/filename combination. This time/name combo tends to make item codes unique for each new document, but actually item codes are not necessarily unique, as will become clear shortly. In most scenarios, item codes are not relevant to the evaluation of a user’s rights - the context name is the critical piece of metadata, as a user typically has a role that grants access to an entire classification of information regardless of item code. This is key to the simplicity and manageability of the Oracle IRM solution. Item codes are occasionally exposed to users in the UI, but most users probably never notice and never care. Nevertheless, here is one example of where you can see an item code – when you hover the mouse pointer over a sealed file. As you see, the item code for this freshly created file combines a timestamp with the file name. But what are item codes for? The first benefit of item codes is that they enable you to manage exceptions to the policy defined for a context. Thus, I might have access to all oracle – internal files - except for 2011_03_11 13:33:29 Board Minutes.sdocx. This simple mechanism enables Oracle IRM to provide file-by-file control where appropriate, whilst offering the scalability and manageability of classification-based control for the majority of users and content. You really don’t want to be managing each file individually, but never say never. Item codes can also be used for the opposite effect – to include a file in a user’s rights when their role would ordinarily deny access. So, you can assign a role that allows access only to specified item codes. For example, my role might say that I have access to precisely one file – the one shown above. So how are item codes set? In the vast majority of scenarios, item codes are set automatically as part of the sealing process. The sealing API uses the timestamp and filename as shown, and the user need not even realise that this has happened. This automatically creates item codes that are for all practical purposes unique - and that are also intelligible to users who might want to refer to them when viewing or assigning rights in the management UI. It is also possible for suitably authorised users and applications to set the item code manually or programmatically if required. Setting the item code manually using the IRM Desktop The manual process is a simple extension of the sealing task. An authorised user can select the Advanced… sealing option, and will see a dialog that offers the option to specify the item code. To see this option, the user’s role needs the Set Item Code right – you don’t want most users to give any thought at all to item codes, so by default the option is hidden. Setting the item code programmatically A more common scenario is that an application controls the item code programmatically. For example, a document management system that seals documents as part of a workflow might set the item code to match the document’s unique identifier in its repository. This offers the option to tie IRM rights evaluation directly to the security model defined in the document management system. Again, the sealing application needs to be authorised to Set Item Code. The Payslip Scenario To give a concrete example of how item codes might be used in a real world scenario, consider a Human Resources workflow such as a payslips. The goal might be to allow the HR team to have access to all payslips, but each employee to have access only to their own payslips. To enable this, you might have an IRM classification called Payslips. The HR team have a role in the normal way that allows access to all payslips. However, each employee would have an Item Reader role that only allows them to access files that have a particular item code – and that item code might match the employee’s payroll number. So, employee number 123123123 would have access to items with that code. This shows why item codes are not necessarily unique – you can deliberately set the same code on many files for ease of administration. The employees might have the right to unseal or print their payslip, so the solution acts as a secure delivery mechanism that allows payslips to be distributed via corporate email without any fear that they might be accessed by IT administrators, or forwarded accidentally to anyone other than the intended recipient. All that remains is to ensure that as each user’s payslip is sealed, it is assigned the correct item code – something that is easily managed by a simple IRM sealing application. Each month, an employee’s payslip is sealed with the same item code, so you do not need to keep amending the list of items that the user has access to – they have access to all documents that carry their employee code.

    Read the article

  • How to implement physical effect, perspective effect on Android

    - by asedra_le
    I'm researching about 2D game for Android to implement an Android Game Project. My project looks nearly like PaperToss. Instance of throwing a page, my game will throw a coin. Suppose that I have a coin put in three-dimensional that have coordinates at A(x,y,z). I throw that point ahead, after 1/100 second, that coin move from A(x,y,z) to A'(x',y',z'). By this way, I have two problems need to solve. Determine the formulas can be used to compute the coordinates of the coin at time t. This problem is under-researching. I have no idea to solve this problem. Mapping three-dimensional points to a two-dimensional and use those new coordinates (a two-dimensional coordinates) to draw our coin on screen. I have found two solutions for this problem: Orthographic projection & Perspective projection However, my old friend said that OpenGL supports to solve problems like my problems. Any body have experiences about my problems? Help me please :) Thank for reading my question.

    Read the article

  • how do I write a functional spec quickly and efficiently

    - by giddy
    So I just read some fabulous articles by Joel on specs here. (Was written in 2000!!) I read all 4 parts, but Im looking for some methodical approaches to writing my specs. Im the only lonely dev, working on this fairly complicated app (or family of apps) for a very well known finance company. I've never made something this serious, I started out writing something like a bad spec, an overview of some sorts, and it has wasted a LOT of my time. Ive also made 3 mockup-kinda-thingies for my client so I have a good understanding of what they want. Also released a preview (a throw away working app with the most basic workflow), and Ive only written and tested some of the very core/base systems. I think the mistake Ive been making so far is not writing a detailed spec, so Im getting to it now. So the whole thing comprises of An MVC website (for admins & data viewing) 2 Silverlight modules (For 2 specific tasks) 1 Desktop Application Im totally short on time, resources and need to get this done quick, also, need to make sure these guys read it up equally quick and painlessly. So how do I go about it, Im looking for any tips, any real world stuff, how do you guys usually do it? Do you make a mock screenie of every dialog/form/page? Im thinking of making a dummy asp.net web forms project, then filling in html files in folders and making it look like my mvc url structure. Then having a section in the spec for the website and write up a page for every URL Ive got with a screenie. For my win forms app, Ive made somewhat of a demo Win Form project, would I then put in a dialog or stucture everything as I would in the real app and then screen shot it?

    Read the article

  • Safari 5 fails to install on my Mac

    - by Amairani409
    I just got the new Safari 5.0 I downloaded because my Mac told me there was a new version that I should be getting. But when I try to run this new version of the application -- nothing happens! I mean the program seems to be working but nothing appears on the screen and so when I try to see my top sites a little window shows up but it just doesn't show anything. Then 3 seconds later the program shuts down! I don't know why this is happening; ideas? Mac OS X version 10.5.8 2.66ghz intel core 2 duo 4gb 1067 MHz DDR3

    Read the article

  • Synergy on Mac OS X 10.7

    - by matt
    Unfortunately, I can't seem to get Synergy to work between two Mac clients both using 10.7. One is an older 21" iMac and the other is a new 2011 Macbook Air. Here's my synergy.conf, symlinked to my home directory as ~/.synergy.conf section: screens foo: bar: super = alt alt = super end section: links foo: right = bar bar: left = foo end That is, I thought the super = alt trick was mandatory in order to have alt work on Mac but unfortunately, nothing really works. Both the Command and Control keys do NOT work on bar but work fine on foo given that the keyboard is paired with that screen. The keyboard modifier keys are the same on both computers and the making the mouse go between screens works as well. I was wondering if anyone else had any success or problems running into this issue on 10.7 and was hoping there was a possible fix.

    Read the article

  • Reporting Services 2008 R2 export to PDF embedded fonts not shown

    - by Gabriel Guimarães
    Hi, I have installed a font on the server that hosts Reporting Services 2008 R2, after that I've restarted the SSRS service, and sucessfully deployed a report with a custom font. I can see it using the font on the web, when I export it to Excel, however on PDF the font is not visible. If I click on File - Properties - Fonts. I'm presented with a screen that shows me a list of fonts on the PDF. There's an a icon with Helvetica-BoldOblique Type: Type 1 Encoding: Ansi Actual Font: Arial-BoldItalicMT Actual Font Type: TrueType The second one is a double T icon with the font I'm using and a (Embedded Subset) sufix. Its a True Type font and ANSI encoded. However the text is not using this embeded font, If I select the text and copy to a word document (I have the font installed) I can see the text in the font, however not on PDF, what's wrong here?

    Read the article

  • Seeing a pre-logon app's GUI after logon (or ever)

    - by JimB
    I'm looking for either a method to achieve this, or a clear reason why it's not possible. I use Scheduled Tasks to start an app with a GUI at system startup. I want to see that GUI's screen after logon without restarting it. I'm willing to type a password and/or re-logon and/or or use whatever app or tool to help, including changing the way I run the GUI app. It just can't wait for a user logon to start. How do I do it? Or if it's absolutely impossible, why? I've read about "Shatter attacks" but that doesn't seem to cover this. I'm most interested in XP and Windows7. If multiple solutions exist, of course I'd prefer the most convenient, flexible and/or open source.

    Read the article

  • fedora liveUSB fails, drops to debug shell

    - by evan
    Trying to install Fedora 15 via a live USB made with unetbootin. I get to the unetbootin boot menu, select Fedora-15-x86_64-Live-Desktop.is, I get to this screen, then it drops into a debug shell with the message sh: can't access tty: job control turned off. The last message is dmseg is dracut Warning: No root device "live:/dev/disk/by-label/Fedora-15-Beta-x86_64-Live-Desktop.is" found. Seems to be the same problem detailed here. Tried to try nk1eto's solution but there is no by-label directory in /dev/disk. There's by-id, by-path and by-uuid.

    Read the article

  • What is the old AIX & RS/6000 console font?

    - by Xepoch
    I'm sick of Lucida Console font on my putty sessions. I used to love whatever font was employed on IBM rs/6000 consoles. Does anyone know the name of that font and if it is available (and usable) from anywhere? Sorry, I need to clarify the "consoles" to which I refer were not the serial consoles but rather smaller stand-alone X-Window systems. They could be setup without XDM and would start in text screen. I'm searching like crazy to find the actual machines I remember (there were hundreds of them at Uni) but I don't have the IBM #s in front of me. It looked amazingly similar to the PS/2 like this:

    Read the article

  • Ubuntu 10.4 Lucid Server Minimal Install: Slow terminal scrolling

    - by noname
    I have a minimal install of Ubuntu 10.4 Server for testing and learning purposes. There is a very annoying occurrance: whenever I try to "man dpkg" or any command that load a few screens length of text (eg. "ls -al") the redraw speed of the console is just way too slow. I can see how each new line causes the whole screen to redraw. Note: that this doesn't happen inside X. No gui is installed. I have been experimenting with adding vesafb to the grub line as some guides suggested, but no speedups happened. You might be able to reproduce this behaviour on your linux system by switching to terminal using CTRL+ALT+F1. Is there any way to speed scrolling up?

    Read the article

  • Pursuing violators of software license/copyright

    - by Dmitry Brant
    I've recently discovered a seller on eBay who is selling CDs with my (trialware) software on it. The seller is clearly trying to pass the software off as his own; he's copied all the verbiage from my software's website, except its actual name. This seller also sells a whole bunch of other CDs with free software for which he's misrepresenting authorship. For example, this listing contains screen shots that are obviously of the free program InfraRecorder. However, the name InfraRecorder or its authors aren't mentioned anywhere. Before I splurge on official legal assistance, does the community have any recommendations or past experiences with these kinds of matters? What's the best way to proceed, and at the very least, have the eBay listings taken down? Is it possible to reclaim the earnings from the sales of these CDs (not just for me, but for the other authors of the free software that this person is selling)? I realize that GPL'd software doesn't have any restrictions on "selling" the software, but this person has gone to great lengths to obfuscate the software's authorship, which is surely a violation of the license. (My software is not GPL; it's a custom license, and it does not permit redistribution of any kind without permission)

    Read the article

  • can I get ConEmu to "mark to copy"?

    - by jcollum
    I installed ConEmu last week, thought I'd give it a try vs. Console2. After staring at various config options for 10 minutes I didn't see any way to get ConEmu to automatically copy text that I've selected to the clipboard. Console2 will do it. Is there a config option for this that I missed? I sure didn't see one but the configuration of ConEmu is a bit... jumbled. You'd think it would be on the Mark & Paste screen:

    Read the article

  • PGP Desktop Whole disk Encryption paused on a toshiba ultrabook z935

    - by garg
    I have a Toshiba z930 Ultrabook with PGP Desktop installed for whole disk encryption. It installed correctly, and started encrypting but it stays paused. If I reboot, it shows me the PGP desktop username, password, domain screen. If I enter in my credentials, it allows me to get into windows but encryption remains paused. If I click on resume, it lets me enter a password, accepts it but then it doesn't do anything. One suspicious thing is that in the 'Select disk or partition to encrypt' box, it says, C: 120B fixed disk. Unknown Bus: TOSHIBA THNSNS12... Do I need to change something in the BIOS, or install any drivers so that it doesn't see it as an Unknown Bus?

    Read the article

  • Solving Big Problems with Oracle R Enterprise, Part II

    - by dbayard
    Part II – Solving Big Problems with Oracle R Enterprise In the first post in this series (see https://blogs.oracle.com/R/entry/solving_big_problems_with_oracle), we showed how you can use R to perform historical rate of return calculations against investment data sourced from a spreadsheet.  We demonstrated the calculations against sample data for a small set of accounts.  While this worked fine, in the real-world the problem is much bigger because the amount of data is much bigger.  So much bigger that our approach in the previous post won’t scale to meet the real-world needs. From our previous post, here are the challenges we need to conquer: The actual data that needs to be used lives in a database, not in a spreadsheet The actual data is much, much bigger- too big to fit into the normal R memory space and too big to want to move across the network The overall process needs to run fast- much faster than a single processor The actual data needs to be kept secured- another reason to not want to move it from the database and across the network And the process of calculating the IRR needs to be integrated together with other database ETL activities, so that IRR’s can be calculated as part of the data warehouse refresh processes In this post, we will show how we moved from sample data environment to working with full-scale data.  This post is based on actual work we did for a financial services customer during a recent proof-of-concept. Getting started with the Database At this point, we have some sample data and our IRR function.  We were at a similar point in our customer proof-of-concept exercise- we had sample data but we did not have the full customer data yet.  So our database was empty.  But, this was easily rectified by leveraging the transparency features of Oracle R Enterprise (see https://blogs.oracle.com/R/entry/analyzing_big_data_using_the).  The following code shows how we took our sample data SimpleMWRRData and easily turned it into a new Oracle database table called IRR_DATA via ore.create().  The code also shows how we can access the database table IRR_DATA as if it was a normal R data.frame named IRR_DATA. If we go to sql*plus, we can also check out our new IRR_DATA table: At this point, we now have our sample data loaded in the database as a normal Oracle table called IRR_DATA.  So, we now proceeded to test our R function working with database data. As our first test, we retrieved the data from a single account from the IRR_DATA table, pull it into local R memory, then call our IRR function.  This worked.  No SQL coding required! Going from Crawling to Walking Now that we have shown using our R code with database-resident data for a single account, we wanted to experiment with doing this for multiple accounts.  In other words, we wanted to implement the split-apply-combine technique we discussed in our first post in this series.  Fortunately, Oracle R Enterprise provides a very scalable way to do this with a function called ore.groupApply().  You can read more about ore.groupApply() here: https://blogs.oracle.com/R/entry/analyzing_big_data_using_the1 Here is an example of how we ask ORE to take our IRR_DATA table in the database, split it by the ACCOUNT column, apply a function that calls our SimpleMWRR() calculation, and then combine the results. (If you are following along at home, be sure to have installed our myIRR package on your database server via  “R CMD INSTALL myIRR”). The interesting thing about ore.groupApply is that the calculation is not actually performed in my desktop R environment from which I am running.  What actually happens is that ore.groupApply uses the Oracle database to perform the work.  And the Oracle database is what actually splits the IRR_DATA table by ACCOUNT.  Then the Oracle database takes the data for each account and sends it to an embedded R engine running on the database server to apply our R function.  Then the Oracle database combines all the individual results from the calls to the R function. This is significant because now the embedded R engine only needs to deal with the data for a single account at a time.  Regardless of whether we have 20 accounts or 1 million accounts or more, the R engine that performs the calculation does not care.  Given that normal R has a finite amount of memory to hold data, the ore.groupApply approach overcomes the R memory scalability problem since we only need to fit the data from a single account in R memory (not all of the data for all of the accounts). Additionally, the IRR_DATA does not need to be sent from the database to my desktop R program.  Even though I am invoking ore.groupApply from my desktop R program, because the actual SimpleMWRR calculation is run by the embedded R engine on the database server, the IRR_DATA does not need to leave the database server- this is both a performance benefit because network transmission of large amounts of data take time and a security benefit because it is harder to protect private data once you start shipping around your intranet. Another benefit, which we will discuss in a few paragraphs, is the ability to leverage Oracle database parallelism to run these calculations for dozens of accounts at once. From Walking to Running ore.groupApply is rather nice, but it still has the drawback that I run this from a desktop R instance.  This is not ideal for integrating into typical operational processes like nightly data warehouse refreshes or monthly statement generation.  But, this is not an issue for ORE.  Oracle R Enterprise lets us run this from the database using regular SQL, which is easily integrated into standard operations.  That is extremely exciting and the way we actually did these calculations in the customer proof. As part of Oracle R Enterprise, it provides a SQL equivalent to ore.groupApply which it refers to as “rqGroupEval”.  To use rqGroupEval via SQL, there is a bit of simple setup needed.  Basically, the Oracle Database needs to know the structure of the input table and the grouping column, which we are able to define using the database’s pipeline table function mechanisms. Here is the setup script: At this point, our initial setup of rqGroupEval is done for the IRR_DATA table.  The next step is to define our R function to the database.  We do that via a call to ORE’s rqScriptCreate. Now we can test it.  The SQL you use to run rqGroupEval uses the Oracle database pipeline table function syntax.  The first argument to irr_dataGroupEval is a cursor defining our input.  You can add additional where clauses and subqueries to this cursor as appropriate.  The second argument is any additional inputs to the R function.  The third argument is the text of a dummy select statement.  The dummy select statement is used by the database to identify the columns and datatypes to expect the R function to return.  The fourth argument is the column of the input table to split/group by.  The final argument is the name of the R function as you defined it when you called rqScriptCreate(). The Real-World Results In our real customer proof-of-concept, we had more sophisticated calculation requirements than shown in this simplified blog example.  For instance, we had to perform the rate of return calculations for 5 separate time periods, so the R code was enhanced to do so.  In addition, some accounts needed a time-weighted rate of return to be calculated, so we extended our approach and added an R function to do that.  And finally, there were also a few more real-world data irregularities that we needed to account for, so we added logic to our R functions to deal with those exceptions.  For the full-scale customer test, we loaded the customer data onto a Half-Rack Exadata X2-2 Database Machine.  As our half-rack had 48 physical cores (and 96 threads if you consider hyperthreading), we wanted to take advantage of that CPU horsepower to speed up our calculations.  To do so with ORE, it is as simple as leveraging the Oracle Database Parallel Query features.  Let’s look at the SQL used in the customer proof: Notice that we use a parallel hint on the cursor that is the input to our rqGroupEval function.  That is all we need to do to enable Oracle to use parallel R engines. Here are a few screenshots of what this SQL looked like in the Real-Time SQL Monitor when we ran this during the proof of concept (hint: you might need to right-click on these images to be able to view the images full-screen to see the entire image): From the above, you can notice a few things (numbers 1 thru 5 below correspond with highlighted numbers on the images above.  You may need to right click on the above images and view the images full-screen to see the entire image): The SQL completed in 110 seconds (1.8minutes) We calculated rate of returns for 5 time periods for each of 911k accounts (the number of actual rows returned by the IRRSTAGEGROUPEVAL operation) We accessed 103m rows of detailed cash flow/market value data (the number of actual rows returned by the IRR_STAGE2 operation) We ran with 72 degrees of parallelism spread across 4 database servers Most of our 110seconds was spent in the “External Procedure call” event On average, we performed 8,200 executions of our R function per second (110s/911k accounts) On average, each execution was passed 110 rows of data (103m detail rows/911k accounts) On average, we did 41,000 single time period rate of return calculations per second (each of the 8,200 executions of our R function did rate of return calculations for 5 time periods) On average, we processed over 900,000 rows of database data in R per second (103m detail rows/110s) R + Oracle R Enterprise: Best of R + Best of Oracle Database This blog post series started by describing a real customer problem: how to perform a lot of calculations on a lot of data in a short period of time.  While standard R proved to be a very good fit for writing the necessary calculations, the challenge of working with a lot of data in a short period of time remained. This blog post series showed how Oracle R Enterprise enables R to be used in conjunction with the Oracle Database to overcome the data volume and performance issues (as well as simplifying the operations and security issues).  It also showed that we could calculate 5 time periods of rate of returns for almost a million individual accounts in less than 2 minutes. In a future post, we will take the same R function and show how Oracle R Connector for Hadoop can be used in the Hadoop world.  In that next post, instead of having our data in an Oracle database, our data will live in Hadoop and we will how to use the Oracle R Connector for Hadoop and other Oracle Big Data Connectors to move data between Hadoop, R, and the Oracle Database easily.

    Read the article

< Previous Page | 503 504 505 506 507 508 509 510 511 512 513 514  | Next Page >