Search Results

Search found 21589 results on 864 pages for 'primary key'.

Page 239/864 | < Previous Page | 235 236 237 238 239 240 241 242 243 244 245 246  | Next Page >

  • Broken keyboard shortcuts

    - by c089
    When I freshly installed maverick on my new notebook, I set up my keyboard shortcuts like this: Switch to WS 1 = Mod4+1, Move Window to WS 1 = Mod4+Shift+1, Switch to WS 2 = Mod4+2 and so on (Mod4 being the "Windows" key). But now the three-key combinations (i.e. the ones I use for "move to...") stopped working. When I go to keyboard preferences, I still see them and I can even change them to a different combination and then again to the desired one - but they won't execute the window movement afterwards :/ Any suggestions how to fix this?

    Read the article

  • No more: "What was my password again? Was it 12345 or 123456?"

    - by hinkmond
    Keep track of all your passwords with this Java ME password tracker on your Java feature phone. See: Java ME KeePassMobile Here's a quote: You can put all your passwords in one database, which is locked with one master key and/or a key file. ... KeePassMobile is a password manager software for mobile phones (J2ME platform) that is compatible to KeePass. With KeePassMobile you are able to store all your passwords in a highly-encrypted KeePass (1.x*) database on your mobile phone and view them on the go! Don't leave home without it! And, don't forget your master password either, because if you do... you're pretty much fried with Y-rays. Hinkmond

    Read the article

  • Ubuntu 13.10 New keyboard stuff bugged wine games

    - by karapinha
    I have made recently a fresh install of ubuntu 13.10. Since the first day I have problems with keyboard probably because of the new ibus thing... My language is PT-PT. One of those problems is the wrong behaviours on wine. games I was running in ubuntu 13.04 (tomb-raider, Skyrim, Shadow Warrior and Dark Souls) installed in the new ubuntu 13.10 they started to get key stuck when there is a combination like W+D+R (Drifting right + reloading) and its not because of windows/wine problems because the prefixes are the same that I had in 13.04. The key stuck as already been reported on winehq for Skyrim for some one using Linux Mint that was based on the 13.10. Is there a way of making the keyboard work like I was in 13.04? Or can i change the input type? Or downgrade ibus or something like that?

    Read the article

  • Ransomware: Why This New Malware is So Dangerous and How to Protect Yourself

    - by Chris Hoffman
    Ransomware is a type of malware that tries to extort money from you. One of the nastiest examples, CryptoLocker, takes your files hostage and holds them for ransom, forcing you to pay hundreds of dollars to regain access. Most malware is no longer created by bored teenagers looking to cause some chaos. Much of the current malware is now produced by organized crime for profit and is becoming increasingly sophisticated. How Ransomware Works Not all ransomware is identical. The key thing that makes a piece of malware “ransomware” is that it attempts to extort a direct payment from you. Some ransomware may be disguised. It may function as “scareware,” displaying a pop-up that says something like “Your computer is infected, purchase this product to fix the infection” or “Your computer has been used to download illegal files, pay a fine to continue using your computer.” In other situations, ransomware may be more up-front. It may hook deep into your system, displaying a message saying that it will only go away when you pay money to the ransomware’s creators. This type of malware could be bypassed via malware removal tools or just by reinstalling Windows. Unfortunately, Ransomware is becoming more and more sophisticated. One of the latest examples, CryptoLocker, starts encrypting your personal files as soon as it gains access to your system, preventing access to the files without knowing the encryption key. CryptoLocker then displays a message informing you that your files have been locked with encryption and that you have just a few days to pay up. If you pay them $300, they’ll hand you the encryption key and you can recover your files. CryptoLocker helpfully walks you through choosing a payment method and, after paying, the criminals seem to actually give you a key that you can use to restore your files. You can never be sure that the criminals will keep their end of the deal, of course. It’s not a good idea to pay up when you’re extorted by criminals. On the other hand, businesses that lose their only copy of business-critical data may be tempted to take the risk — and it’s hard to blame them. Protecting Your Files From Ransomware This type of malware is another good example of why backups are essential. You should regularly back up files to an external hard drive or a remote file storage server. If all your copies of your files are on your computer, malware that infects your computer could encrypt them all and restrict access — or even delete them entirely. When backing up files, be sure to back up your personal files to a location where they can’t be written to or erased. For example, place them on a removable hard drive or upload them to a remote backup service like CrashPlan that would allow you to revert to previous versions of files. Don’t just store your backups on an internal hard drive or network share you have write access to. The ransomware could encrypt the files on your connected backup drive or on your network share if you have full write access. Frequent backups are also important. You wouldn’t want to lose a week’s worth of work because you only back up your files every week. This is part of the reason why automated back-up solutions are so convenient. If your files do become locked by ransomware and you don’t have the appropriate backups, you can try recovering them with ShadowExplorer. This tool accesses “Shadow Copies,” which Windows uses for System Restore — they will often contain some personal files. How to Avoid Ransomware Aside from using a proper backup strategy, you can avoid ransomware in the same way you avoid other forms of malware. CryptoLocker has been verified to arrive through email attachments, via the Java plug-in, and installed on computers that are part of the Zeus botnet. Use a good antivirus product that will attempt to stop ransomware in its tracks. Antivirus programs are never perfect and you could be infected even if you run one, but it’s an important layer of defense. Avoid running suspicious files. Ransomware can arrive in .exe files attached to emails, from illicit websites containing pirated software, or anywhere else that malware comes from. Be alert and exercise caution over the files you download and run. Keep your software updated. Using an old version of your web browser, operating system, or a browser plugin can allow malware in through open security holes. If you have Java installed, you should probably uninstall it. For more tips, read our list of important security practices you should be following. Ransomware — CryptoLocker in particular — is brutally efficient and smart. It just wants to get down to business and take your money. Holding your files hostage is an effective way to prevent removal by antivirus programs after it’s taken root, but CryptoLocker is much less scary if you have good backups. This sort of malware demonstrates the importance of backups as well as proper security practices. Unfortunately, CryptoLocker is probably a sign of things to come — it’s the kind of malware we’ll likely be seeing more of in the future.     

    Read the article

  • How to specify which keys CapsLock affects?

    - by Seattle Jörg
    Using Maverick, I am not able to get the CapsLock behaviour I want: I would like it to affect essentially the alphabetical, numerical, and punctuation keys, i.e. all the keys that print something (as opposed to, say, the error keys), but only them. To illuminate this with an example: when writing code that uses % as the symbol for a comment, I want to be able to position the cursor at the start of a range of lines I want to comment out, then hit CapsLock, then iteratively hit the 5 key (using QWERTZ, Shift+5 gives %) and the arrow down key, so that I can quickly place a % at the start of the lines. Ubuntu in default configuration takes CapsLock literally, so that it affects only alphabetic keys. Under Preferences/Keyboard/Layout/Options I can make it act as a pressed Shift, but then the action of the arrow keys is to select text. All the other options available are equivalent to one of these two in my case. Is it possible to somehow get this behaviour? This is standard in Windows.

    Read the article

  • LXDE keybind "Raise" window not working

    - by Campa
    I am using LXDE* over Ubuntu Oneiric on a DELL Studio-XPS 64-bit machine and I can't get the keybind for raising windows to work. In my ~/.config/openbox/lxde-rc.xml I put: <!-- Iconify window: it works. --> <keybind key="A-Down"> <action name="Iconify"/> </keybind> <!-- Raise window: does nothing. --> <keybind key="A-Up"> <action name="Focus"/> <action name="Raise"/> </keybind> then I openbox --reconfigure, but no rasing windows keybindings. I could use the NextWindow action, but... not really the same. References: http://openbox.org/wiki/Help:Bindings http://openbox.org/wiki/Help:Actions *Nested question: how to know the version of installed LXDE?

    Read the article

  • Problem with the keyboard layout in Emacs (ubuntu 12.04)

    - by user61648
    I've got some problems with the keyboard layout. I have a french AZERTY keyboard. When I switch to another layout (I tested both programmer DVORAK and Greek) everything seems fine. However, in emacs, I have a more unexpected (at least for me) behavior. For example, in DVORAK, I thought to obtain: On my french Keyboard - DVORAK X - Q Alt-X - Alt-Q But I have: X - Q Alt-X - Alt-X When I press the Alt key, the layout change seems to be inactivated. I precise I didn't activated any shortcut containing the Alt key for the layout switching. Moreover, I'm not sure this behavior is restricted to Emacs, but I don't use shortcuts like Alt-... in another application. Is a such behavior normal ? And in this case, how can I use a shortcut like Alt-Q when I switch to DVORAK ?

    Read the article

  • Assign keys to commands in Terminal?

    - by NES
    Is there a solution to assign special key combinations to words in terminal use. For example the less command is very usefull and i use i a lot to pipe the output of another process through it. The idea would be to set up special key combinations that are only active in terminal use assigned to write different commands? So pressing CTRL + l in terminal window could write | less or CTRL + G could stand for | grep Note: i just mean adding the letters to commandline not execute the finally. A similar way what's tabcompletion but more specific.

    Read the article

  • Which tips helped you learn touch-typing? [closed]

    - by julien
    I've been learning touch-typing for about two weeks now, and I'm really commited to mastering this skill. Eventhough I'm doing ok with prose already, I'm struggling with programming syntax and even more with keybindings. Those stray you away from the home row more than regular words, and aren't as easy to practice. So I often hunt and peck in order to just get it out, but when reverting to old habits like this, I find it hard to get back into the touch-typing mindframe quickly. One little trick that has helped me so far when getting lost is to reposition every finger on its home row key, and mentally visualize the layout bias of the keyboard, ie the backslash kind of alignment of key columns. It's hard to describe though and probably a bit weird... Hope you guys have better tips !

    Read the article

  • Why is there a delay for logging in (wubi)?

    - by Xianlin Xiong
    I use wubi to install Ubuntu under win7 in partition F which is fat32. When I choose Ubuntu at boot time, it jumps into a window. It shows two choices: ubuntu ubuntu recovery After choosing Ubuntu, it shows: error: file not found error: you need to load kernel first press any key to continue. It goes back to the choice window after I press a key. Again I choose Ubuntu, and it goes black and then it comes to the login window. After I log in it works. My question is: Is what happens before the login window normal or not (when using wubi)?

    Read the article

  • ArchBeat Link-o-Rama for 2012-08-29

    - by Bob Rhubart
    ORCLville: OOW 2012 - Crystal BallOracle ACE Director Floyd Teter cooks up some tongue-in-cheek predictions for news and announcements that might come out of Oracle OpenWorld 2012. What's your prediction? Oracle Optimized Solutions at Oracle OpenWorld 2012 | Oracle Hardware Hardware matters, too! The people behind the Oracle Hardware blog have put together a list of Oracle Openworld 2012 sessions focused Oracle Optimized Solutions, "designed, pre-tested, tuned and fully documented architectures for optimal performance and availability." Just plug the session ID numbers into Schedule Builder and you're good to go. AIX Checklist for stable OBIEE deployment | Dick Dunbar "OBIEE is a complicated system with many moving parts and connection points," according to Oracle Business Inteligence escalation engineer Dick Dunbar. "The purpose of this article is to provide a checklist to discuss OBIEE deployment with your systems administrators." Demo for OPN: Coherence Management with EM Cloud Control 12c Oracle Partner Network members can check out a new Coherence Management demo that showcases some of the key capabilities of Management Pack for Oracle Coherence and JVM Diagnostics. "The demo flow showcases the key enhancements made in Enterprise Manager 12c release which includes new customizable performance summary, cache data management and configuration management," according to the WebLogic Partner Community EMEA blog. The Pragmatic Architect: To Boldly Go Where No One Has Gone Before | Frank Buschmann "Many architects have technical knowledge that's both impressive and sound, which is indeed an inevitable basis for design success," says Frank Buschmann. "Yet, a lot of software projects fail or suffer due to severe challenges in their architecture. The key to mastery is how architects approach design, what they value, and where they focus their attention and work." As retail dies, whom will be the winners? | Peter Evans-Greenwood "The problem for many retailers is that how consumers shop has changed but the the retailers haven't adapted, " says Peter Evans-Greenwood. "Their sole virtue was to be the last step in a supply chain delivering somebody else's products to the consumer. However, being the last step in the supply chain is no longer a virtue when consumers skip across channels and can reach around the globe, no longer dependant on or limited to what they can find locally." Thought for the Day "Brains require stimulation. If you're locked into a pattern of work, work, and more work, your brain soon habituates - the same way that it lets you stop hearing a clock ticking. So, if you want to be more effective at work, you must, paradoxically, be less single-minded in your devotion to work. Anything you do—anything—that stimulates new segments of your brain will make you a more effective programmer or analyst. I promise, with a money-back guarantee." — Gerald M. Weinberg Source: SoftwareQuotes.com

    Read the article

  • Who should map physical keys to abstract keys?

    - by Paul Manta
    How do you bridge the gap between the library's low-level event system and your engine's high-level event system? (I'm not necessarily talking about key events, but also about quit events.) At the top level of my event system, I send out KeyPressedEvents, KeyRelesedEvents and others of this kind. These high-level events only contain the abstract values of the keys (they don't say that Space way pressed, but that the JumpKey was pressed, for example). Whose responsibility should it be to map the "JumpKey" to an actual key on the keyboard?

    Read the article

  • Unreal 3 Editor (Unreal Tournament 3) Why does the X Y Z translations now rotate along with my static meshes?

    - by Gareth Jones
    So I was making a map for UT3, using the Unreal 3 Editor provided, and all was going well. However I was doing some work with InterpActors and Vehicle Spawners, when I must have hit a key by mistake (or other wise somehow changed something) by mistake. Now the X Y Z translations that are used to move objects around in the editor will rotate along with the object (Ive put images down below to help show what I mean) - This is very annoying because it also changes the direction the arrow keys move a rotated object, in the example below, the Down arrow key will now move the object to the right. How can I fix this? (Note both images are taken from the same viewpoint) Before Rotation: After Rotation: P.S. If someone could please provide me with the correct / better name for the X Y Z "things" it would be much appreciated, thanks!

    Read the article

  • Make the Taskbar Buttons Switch to the Last Active Window in Windows 7

    - by The Geek
    The new Windows 7 taskbar’s Aero Peek feature, with the live thumbnails of every window, is awesome… but sometimes you just want to be able to click the taskbar button and have the last open window show up instead. Here’s a quick hack to make it work better. To better understand the problem, imagine having nine windows of the same type open on your screen, but you are primarily working in just one of the windows at a time. So every time you want to switch back, you have to click the taskbar button, and then choose the one you are using from the list, which can be pretty annoying… Now if you know your Windows 7 shortcuts, you’d know that you can simply hold down the Ctrl key while clicking on the taskbar button, and the last window will show up. In fact, you can keep holding down the Ctrl key and keep clicking, and Windows will cycle through the open windows. It’s a useful shortcut, but hardly something you want to do every single time. Instead, we’ll use a quick registry hack to make the normal click switch to the last open window—if you still want to see the thumbnail list, just hover your mouse over the button for half a second to see the full list. Manual Registry Hack for Last Active Window Open up regedit.exe through the start menu search or run box, and then head down to the following registry key: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced Once you’re there, create a new 32-bit DWORD value on the right hand side, give it the name LastActiveClick, and set the value to 1. Once you are done, it should look something like this: Once you are done, you’ll have to log off and back on, or you can kill Explorer.exe through Task Manager and re-open it. Download the Registry Hack Instead Since you probably don’t feel like registry hacking, we’ve provided you an easy downloadable version. You can simply download the file, extract it, and then double-click on the LastActiveClick.reg file. Once you are done, you’ll have to log off and back on, just like with the manual registry hack. Download LastActiveClick Registry Hack from howtogeek.com Similar Articles Productive Geek Tips Make the Windows 7 Taskbar Work More Like Windows XP or VistaStupid Geek Tricks: Select Multiple Windows on the TaskbarReorganize Your Taskbar Buttons and Tray Icons in XP/VistaKeyboard Ninja: Create a Hotkey to Switch to Your Open Outlook WindowTaskbar Eliminator Does What the Name Implies: Hides Your Windows Taskbar TouchFreeze Alternative in AutoHotkey The Icy Undertow Desktop Windows Home Server – Backup to LAN The Clear & Clean Desktop Use This Bookmarklet to Easily Get Albums Use AutoHotkey to Assign a Hotkey to a Specific Window Latest Software Reviews Tinyhacker Random Tips DVDFab 6 Revo Uninstaller Pro Registry Mechanic 9 for Windows PC Tools Internet Security Suite 2010 Gadfly is a cool Twitter/Silverlight app Enable DreamScene in Windows 7 Microsoft’s “How Do I ?” Videos Home Networks – How do they look like & the problems they cause Check Your IMAP Mail Offline In Thunderbird Follow Finder Finds You Twitter Users To Follow

    Read the article

  • Cloud Integration White Paper - Now Available

    - by Bruce Tierney
    Interested in expanding your existing application infrastructure to integrate with cloud applications?  Download the new Oracle White Paper "Cloud Integration - A Comprehensive Solution" to learn not just about connectivity but the other key aspects of successful cloud integration. The paper includes three technical examples of cloud integration with Oracle Fusion Applications, Saleforce, and Workday and follows with the importance of taking a comprehensive approach to also include service aggregation, service virtualization, cloud security considerations and the benefit of maintaining a unified approach to monitoring and management despite an increasingly distributed hybrid infrastructure. To keep the integration architecture from being defined "accidentally" as new business units subscribe to additional cloud vendors outside the participation of IT, a discussion on the "Accidental SOA Cloud Architecture" is included: As shown in the table of contents below, the white paper provides a combination of high-level awareness about key considerations as well as a technical deep dive of the steps needed for cloud integration connectivity: Hope you find the White Paper valuable.  Please download from the following link

    Read the article

  • efficient collision detection - tile based html5/javascript game

    - by Tom Burman
    Im building a basic rpg game and onto collisions/pickups etc now. Its tile based and im using html5 and javascript. i use a 2d array to create my tilemap. Im currently using a switch statement for whatever key has been pressed to move the player, inside the switch statement. I have if statements to stop the player going off the edge of the map and viewport and also if they player is about to land on a tile with tileID 3 then the player stops. Here is the statement: canvas.addEventListener('keydown', function(e) { console.log(e); var key = null; switch (e.which) { case 37: // Left if (playerX > 0) { playerX--; } if(board[playerX][playerY] == 3){ playerX++; } break; case 38: // Up if (playerY > 0) playerY--; if(board[playerX][playerY] == 3){ playerY++; } break; case 39: // Right if (playerX < worldWidth) { playerX++; } if(board[playerX][playerY] == 3){ playerX--; } break; case 40: // Down if (playerY < worldHeight) playerY++; if(board[playerX][playerY] == 3){ playerY--; } break; } viewX = playerX - Math.floor(0.5 * viewWidth); if (viewX < 0) viewX = 0; if (viewX+viewWidth > worldWidth) viewX = worldWidth - viewWidth; viewY = playerY - Math.floor(0.5 * viewHeight); if (viewY < 0) viewY = 0; if (viewY+viewHeight > worldHeight) viewY = worldHeight - viewHeight; }, false); My question is, is there a more efficient way of handling collisions, then loads of if statements for each key? The reason i ask is because i plan on having many items that the player will need to be able to pickup or not walk through like walls cliffs etc. Thanks for your time and help Tom

    Read the article

  • Upgrade failed, now impossible to restart

    - by Jean Claude Dispaux
    I have an Aspire One with Ubuntu, that I use only when traveling, i.e. seldom. Yesterday I tried to start it, it informed me that I had to install a new release of Ubuntu. The download went fine, then I left it for the night. In the morning I found error messages. I tried to restart, but nothing works any longer. The only backup I have is two USB keys made by the person who installed Ubuntu, that say Recovery Ubuntu 8 and Ubuntu 9.10 respectively. Right now I plugged the "8", selected F12 and instructed to boot from the USB key. It has been running for an hour, the screen still says ubuntu, the USB key flashes red. By the way, I have no precious data on this machine, I do not care about losing data. Please advise on what to do now. Thanks.

    Read the article

  • How can I install canon pixma ip100 driver for Ubuntu 12.04LTS 64bit?

    - by kina
    I tried installing the driver by typing the following commands in the terminal: sudo add-apt-repository ppa:michael-gruz/canon - the result was the following: You are about to add the following PPA to your system: More info: https://launchpad.net/~michael-gruz/+archive/canon Press [ENTER] to continue or ctrl-c to cancel adding it Then I typed: sudo apt-get update - the result was the following: Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.HDuHmOSJ0l --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver hkp://keyserver.ubuntu.com:80/ --recv 84E550CD36EC35430A66AC5A03396E1C3F7B4A1D gpg: requesting key 3F7B4A1D from hkp server keyserver.ubuntu.com gpg: key 3F7B4A1D: "Launchpad Misakovi" not changed gpg: Total number processed: 1 gpg: unchanged: 1 I typed the next command: sudo apt-get install cnijfilter-ip100series The return response was: Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package cnijfilter-ip100series Does anyone know the solution? Kina

    Read the article

  • How to drag from a background window to the front window

    - by Luis Alvarado
    Is the following I will explain possible with a key combination? Here is the image: As you can see, the terminal is the focus window (Front window) and Nautilus is in the background (Back Window). How can I grab a folder or file from Nautilus without loosing focus on the terminal (Without making the terminal go to the background and Nautilus to the front) and drop it in the terminal?. What I want is not to have to ALT+TAB again just to do this. Options like resizing the windows to fit the screen are not what I am looking for. Like in the image, we have a fullscreen window that we want it to stay like that. We can drag the terminal window around but anytime I access the background nautilus window, I should not loose focus on the terminal (It should not go to the background every time I access Nautilus). Maybe like a key combination that freezes the current focus windows positions and I can drag from background windows to background windows or background windows to the front focused one.

    Read the article

  • iwconfig usage for WEP access point?

    - by johan elmander
    I would like to use my wifi doggle in my pc (ubuntu 12.04). I am able to connect to my access point through the GUI. I would like to do the same in the terminal. My access point uses WEP. So I typed the following commands iwconfig wlan0 mode managed key 6d6f6e6579 iwconfig wlan0 essid "AccessPoint" dhclient wlan0 after typing dhclient wlan0 it waits like 1-2 min then outputs nothing and cannot connect to the Access Point. iwconfig output: wlan0 IEEE 802.11bgn ESSID:"AccessPoint" Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm Retry long timit:7 RTS thr=2347 B Fragment thr:off Encryption key:6D6F-6E65-79 Power Management:off I would appreciate any suggestion

    Read the article

  • Breaking 1NF to model subset constraints. Does this sound sane?

    - by Chris Travers
    My first question here. Appologize if it is in the wrong forum but this seems pretty conceptual. I am looking at doing something that goes against conventional wisdom and want to get some feedback as to whether this is totally insane or will result in problems, so critique away! I am on PostgreSQL 9.1 but may be moving to 9.2 for this part of this project. To re-iterate: Does it seem sane to break 1NF in this way? I am not looking for debugging code so much as where people see problems that this might lead. The Problem In double entry accounting, financial transactions are journal entries with an arbitrary number of lines. Each line has either a left value (debit) or a right value (credit) which can be modelled as a single value with negatives as debits and positives as credits or vice versa. The sum of all debits and credits must equal zero (so if we go with a single amount field, sum(amount) must equal zero for each financial journal entry). SQL-based databases, pretty much required for this sort of work, have no way to express this sort of constraint natively and so any approach to enforcing it in the database seems rather complex. The Write Model The journal entries are append only. There is a possibility we will add a delete model but it will be subject to a different set of restrictions and so is not applicable here. If and when we allow deletes, we will probably do them using a simple ON DELETE CASCADE designation on the foreign key, and require that deletes go through a dedicated stored procedure which can enforce the other constraints. So inserts and selects have to be accommodated but updates and deletes do not for this task. My Proposed Solution My proposed solution is to break first normal form and model constraints on arrays of tuples, with a trigger that breaks the rows out into another table. CREATE TABLE journal_line ( entry_id bigserial primary key, account_id int not null references account(id), journal_entry_id bigint not null, -- adding references later amount numeric not null ); I would then add "table methods" to extract debits and credits for reporting purposes: CREATE OR REPLACE FUNCTION debits(journal_line) RETURNS numeric LANGUAGE sql IMMUTABLE AS $$ SELECT CASE WHEN $1.amount < 0 THEN $1.amount * -1 ELSE NULL END; $$; CREATE OR REPLACE FUNCTION credits(journal_line) RETURNS numeric LANGUAGE sql IMMUTABLE AS $$ SELECT CASE WHEN $1.amount > 0 THEN $1.amount ELSE NULL END; $$; Then the journal entry table (simplified for this example): CREATE TABLE journal_entry ( entry_id bigserial primary key, -- no natural keys :-( journal_id int not null references journal(id), date_posted date not null, reference text not null, description text not null, journal_lines journal_line[] not null ); Then a table method and and check constraints: CREATE OR REPLACE FUNCTION running_total(journal_entry) returns numeric language sql immutable as $$ SELECT sum(amount) FROM unnest($1.journal_lines); $$; ALTER TABLE journal_entry ADD CONSTRAINT CHECK (((journal_entry.running_total) = 0)); ALTER TABLE journal_line ADD FOREIGN KEY journal_entry_id REFERENCES journal_entry(entry_id); And finally we'd have a breakout trigger: CREATE OR REPLACE FUNCTION je_breakout() RETURNS TRIGGER LANGUAGE PLPGSQL AS $$ BEGIN IF TG_OP = 'INSERT' THEN INSERT INTO journal_line (journal_entry_id, account_id, amount) SELECT NEW.id, account_id, amount FROM unnest(NEW.journal_lines); RETURN NEW; ELSE RAISE EXCEPTION 'Operation Not Allowed'; END IF; END; $$; And finally CREATE TRIGGER AFTER INSERT OR UPDATE OR DELETE ON journal_entry FOR EACH ROW EXECUTE_PROCEDURE je_breaout(); Of course the example above is simplified. There will be a status table that will track approval status allowing for separation of duties, etc. However the goal here is to prevent unbalanced transactions. Any feedback? Does this sound entirely insane? Standard Solutions? In getting to this point I have to say I have looked at four different current ERP solutions to this problems: Represent every line item as a debit and a credit against different accounts. Use of foreign keys against the line item table to enforce an eventual running total of 0 Use of constraint triggers in PostgreSQL Forcing all validation here solely through the app logic. My concerns are that #1 is pretty limiting and very hard to audit internally. It's not programmer transparent and so it strikes me as being difficult to work with in the future. The second strikes me as being very complex and required a series of contraints and foreign keys against self to make work, and therefore it strikes me as complex, hard to sort out at least in my mind, and thus hard to work with. The fourth could be done as we force all access through stored procedures anyway and this is the most common solution (have the app total things up and throw an error otherwise). However, I think proof that a constraint is followed is superior to test cases, and so the question becomes whether this in fact generates insert anomilies rather than solving them. If this is a solved problem it isn't the case that everyone agrees on the solution....

    Read the article

  • Silverlight 4 Training Course

    - by guybarrette
    A Silverlight 4 training course is now available on Channel 9.  Here’s the course description: The Silverlight 4 Training Course includes a whitepaper explaining all of the new Silverlight 4 RC features, several hands-on-labs that explain the features, and a 8 unit course for building business applications with Silverlight 4. The business applications course includes 8 modules with extensive hands on labs as well as 25 accompanying videos that walk you through key aspects of building a business application with Silverlight. Key aspects in this course are working with numerous sandboxed and elevated out of browser features, the new RichTextBox control, implicit styling, webcam, drag and drop, multi touch, validation, authentication, MEF, WCF RIA Services, right mouse click, and much more! You can download it here var addthis_pub="guybarrette";

    Read the article

  • What's New & Cool in NetBeans IDE 7.x

    - by Geertjan
    Loads of new features have been added to NetBeans IDE during the NetBeans IDE 7.x release cycle, i.e., 7.0 together with all the minor releases that have come after that, up to 7.4, which was released during the last few days. Hard to keep track of everything added over all those releases, so instead of making a "What's New in NetBeans IDE 7.4" slide deck (which would only cover the highlights of the NetBeans IDE 7.4 Release Notes), as we would normally do, we've instead produced "What's New in NetBeans IDE 7.x", which is around 50 slides presenting all the key features of the IDE, together with all the key newest features. Here it is: If you want to present the wonderful world that is the NetBeans ecosystem to your JUG or school or university or colleagues in your company, just download the above slide deck (either PDF or the PowerPoint sources) here: https://netbeans.org/community/teams/evangelism And happy NetBeans IDE 7.4 to everyone using NetBeans IDE everywhere in the world!

    Read the article

  • Uninstalling GRUB from MacBook Air

    - by James Brooke
    So... I have a MacBook Air and I recently tried to install Ubuntu on my external HD. I booted Ubuntu from a flash drive and everything had gone fine. I turned off my computer and when I turned it on again I got a message of error and a "grub rescue" line to enter some code. I rebooted holding the "option" key and I selected the Mac partition and everything is fine with my system, but every time I start my system and I don't hold the "option" key, I get the same error and the grub rescue message. I just want things to go back to normal, as they were before I installed Ubuntu on my external HD (which, btw, presented a message that said there was no boot loader). What do I do?

    Read the article

  • 81% of European Shoppers Willing to Pay More for Better Customer Experience

    - by Richard Lefebvre
    Customer Experience provides strategic driver for business growth Research released today from Oracle has revealed that customer experience is now a key driver for revenue growth in Europe, and an effective channel for brand differentiation in a globalized economy where products and services are increasingly commoditized. The research report, “Why Customer Satisfaction is No Longer Good Enough,” reveals that 81% of consumers surveyed are willing to pay more for superior customer experience. With nearly half (44%) willing to pay a premium of more than 5%. Improvement of the overall customer experience (40%), providing quick access to information and making it easier for customers to ask questions (35%) were cited as key drivers for spending more with a brand. The pan-European research, carried out in June 2012 by independent research company Loudhouse, surveyed 1400 online shoppers (50% female, 50% male) who had made a complaint or enquiry to a customer service department in the last 12 months. For full research findings please go to: http://bit.ly/UwmB3j or check the Press Release

    Read the article

< Previous Page | 235 236 237 238 239 240 241 242 243 244 245 246  | Next Page >