Search Results

Search found 344 results on 14 pages for 'gary mcgill'.

Page 2/14 | < Previous Page | 1 2 3 4 5 6 7 8 9 10 11 12  | Next Page >

  • How should I start with Lisp?

    - by Gary Rowe
    I've been programming for years now, working my way through various iterations of Blub (BASIC, Assembler, C, C++, Visual Basic, Java, Ruby in no particular order of "Blub-ness") and I'd like to learn Lisp. However, I have a lot of intertia what with limited time (family, full time job etc) and a comfortable happiness with my current Blub (Java). So my question is this, given that I'm someone who would really like to learn Lisp, what would be the initial steps to get a good result that demonstrates the superiority of Lisp in web development? Maybe I'm missing the point, but that's how I would initially see the application of my Lisp knowledge. I'm thinking "use dialect A, use IDE B, follow instructions on page C, question your sanity after monads using counsellor D". I'd just like to know what people here consider to be an optimal set of values for A, B, C and perhaps D. Also some discussion on the relative merit of learning such a powerful language as opposed to, say, becoming a Rails expert. Just to add some more detail, I'll be developing on MacOS (or a Linux VM) - no Windows based approaches will be necessary, thanks. Notes for those just browsing by I'm going to keep this question open for a while so that I can offer feedback on the suggestions after I've been able to explore them. If you happen to be browsing by and feel you have something to add, please do. I would really welcome your feedback. Interesting links Assuming you're coming at Lisp from a Java background, this set of links will get you started quickly. Using Intellij's La Clojure plugin to integrate Lisp (videocast) Lisp for the Web Online version of Practical Common Lisp (c/o Frank Shearar) Land of Lisp a (+ (+ very quirky) game based) way in but makes it all so straightforward

    Read the article

  • Preventing Users From Accessing wp-admin

    - by Gary Pendergast
    If you have a WordPress site that you allow people to sign up for, you often don’t want them to be able to access wp-admin. It’s not that there are any security issues, you just want to ensure that your users are accessing your site in a predictable manner.To block non-admin users from getting into wp-admin, you just need to add the following code to your functions.php, or somewhere similar:add_action( 'init', 'blockusers_init' );   function blockusers_init() { if ( is_admin() && ! current_user_can( 'administrator' ) ) { wp_redirect( home_url() ); exit; } }Ta-da! Now, only administrator users can access wp-admin, everyone else will be re-directed to the homepage.

    Read the article

  • Linux Learning curve for a 'Lifetime' windows user [closed]

    - by gary
    I am using windows for almost 8-10 years and have never worked on linux. Mostly i used to work in VB, VC++ MFC and little bit of .NET(C# and VB) so i didn't bother about Linux. But now when i got an opportunity to work with linux i dont want to miss it, here are my questions : Where can i find useful resources for Linux newbies? Which books/Tutorials will you suggest to start? Which distro shall i use? What was your experience while moving from Windows to Linux?

    Read the article

  • Diabetic trying to use Ubuntu with Medtronic Carelink insulin pump support USB device

    - by Gary C.
    I am taking a wild shot here: I am a type 1 diabetic who is going on the Insulin pump. Unfortunately, the Medtronic Carelink USB device that uploads data from the pump online only has windows drivers. Has anybody managed to get this working under Ubuntu using Wine or by any other method: lsusb yields: Bus 001 Device 014: ID 0a21:8001 Medtronic Physio Control Corp. MMT-7305WW [Medtronic Minimed CareLink] I really don't want to buy a windows machine just for this, but it's probably one in a million that somebody else has managed to make this work under Linux.

    Read the article

  • What are the design decisions involved in choosing how to expose a Java web application?

    - by Gary Rowe
    There are many ways to expose a Java web application to the consumer: application container (JBoss etc), servlet container (Tomcat etc), OSGi (Knopflerfish etc), self-executable WAR (Winstone etc) and so on. Are there any clear considerations where one approach should be favoured over another? As an example, could a collection of self-executable WARs running as raw Unix processes outperform the same applications deployed within Tomcat taking into account administration and scalability concerns?

    Read the article

  • Alt Tab with xdotool and xkeybind

    - by Gary
    I'm trying to map alt tab behavior to a mouse button using xdotool in my .xbindkeysrc. What I want to do is map something like "xdotools keydown alt key Tab" release b:7 but by doing this the alt key gets stuck, and it prevents my other mappings from working until I press the alt key on the keyboard. Is there a way to do this without having to press the alt key to get things unstuck? Without keydown it just switches back and forth between two windows, with keydown it behaves like I want (displaying the alt-tab switcher) but the alt key is stuck. Is there a way to unstick the key after using the alt tab switcher using xdotools?

    Read the article

  • When should I use AtomPub?

    - by Gary Rowe
    I have been conducting some research into RESTful web service design and I've reached what I think is a key decision point so I thought I'd offer it up to the community to get some advice. In keeping with the principles of a RESTful architecture I want to present a discoverable API, so I will be supporting the various HTTP verbs as fully as possible. My difficulty comes with the choice of representation of those resources. You see, it would be easy for me to come up with my own API that covers how search results are to be presented and how links to other resources are provided, but this would be unique to my application. I've read about the Atom Publishing Protocol (RFC 5023), and how OData promotes its use, but it seems to add an extra level of abstraction over what is (currently) a rather simple API. So my question is, when should a developer select AtomPub as their choice of representation - if at all? And if not, what is the current recommended approach?

    Read the article

  • How to replace nss with new version 11.10 64bit

    - by Gary S
    I need a specific version of NSS 3.12.4. I have a simple java crypto (Sun-pkcs11) test and it works with the default nss setup from Ubuntu 11. (pointing to /usr/lib/x86_64-linux-gnu where all the libnss*.so files live) But when I point specifically to the custom 3.12.4 lib folder, it doesn't work. The only way to get it to work is to set the LD_LIBRARY_PATH to point to the new folder. So what is the preferred way to 'swap in' a new nss module? Do I need to overwrite any matching .so files in /usr/lib and /usr/lib/x86_64-linux-gnu? Should I use an install command? Point is, I don't think I should have to use LD_LIBRARY_PATH.

    Read the article

  • WCF web service with Neural Network

    - by Gary Frank
    I am developing a web service that performs object recognition. It will be available for testing as soon as enough code has been developed, and then officially when it is finished. It is based on a radically new type of artificial neural network that I designed. Its goal is to recognize any type of object within an image. Besides the WCF web service, the project will also create a website to test and demonstrate the web service. Here is a link with more information. http://www.indiegogo.com/VOR

    Read the article

  • MMORPG game balancing

    - by Gary Paluk
    I've seen a couple of examples of some game balancing techniques in books yet they are not comprehensive and not particularly aimed at MMORPGs but I'm looking for practical examples of game balancing techniques for MMORPGs. I am interested to know if anyone has documented the techniques used in popular games with proven success in this area. Ideally, any resource would cover most common types of stats and include layman mathematical models or techniques used to balance game mechanics found in advanced MMORPGs (I know it's a cliché, but WoW style) Any help would be great!

    Read the article

  • Installing Ubuntu 12.04 on a single GPT SSD which contains Windows 7

    - by Gary
    I recently bought a brand new 64 bit PC with a (ASUS) motherboard that supports UEFI and a GPT formatted 240Gb SSD, which contains Windows 7 in the first of 3 (80Gb) partitions. When the system arrived, it booted into Windows 7 like a dream, with no problems. I did not originally want Windows, but the manufacturer does not work with Linux (of any flavour), so I thought I would install Ubuntu into the second partition and dual boot. I downloaded the 12.04 64bit version and proceeded to install. Having selected to 'install', the screen became corrupted, with multicoloured garbage across the middle third of the screen !! So, I rebooted and --- MISSING OPERATING SYSTEM !!! The only way I can now get into Windows is via Super Grub2. First question - what went wrong ? 2nd - Will Ubuntu install on a GPT disk partition ? 3rd - Will it install alongside Windows 7 without screwing the boot mechanism ? 4th - How do I do it ? I have scoured the internet looking for appropriate answers and found NONE ! Please help.......

    Read the article

  • Possible automated Bing Ads fraud?

    - by Gary Joynes
    I run a website that generates life insurance leads. The site is very simple a) there is a form for capturing the user's details, life insurance requirements etc b) A quote comparison feature We drive traffic to our site using conventional Google Adwords and Bing Ads campaigns. Since the 6th January we have received 30-40 dodgy leads which have the following in common: All created between 2 and 8 AM Phone number always in the format "123 1234 1234' Name, Date Of Birth, Policy details, Address all seem valid and are unique across the leads Email addresses from "disposable" email accounts including dodgit.com, mailinator.com, trashymail.com, pookmail.com Some leads come from the customer form, some via the quote comparison feature All come from different IP addresses We get the keyword information passed through from the URLs All look to be coming from Bing Ads All come from Internet Explorer v7 and v8 The consistency of the data and the random IP addresses seem to suggest an automated approach but I'm not sure of the intent. We can handle identifying these leads within our database but is there anyway of stopping this at the Ad level i.e. before the click through.

    Read the article

  • What is your preferred font for working with code and data?

    - by Gary
    The features I would look for in a 'programmers' font are Monospaced (maybe less important for code, but more important for data) Distinguishable characters. Often I (uppercase i), 1 (one) and l (lower-case L) can be confusing, as can O (upper-case o) and 0 (zero). I'd be interested other character issues, especially in accented or extended character sets. Free Windows / Linux / OSX Legible on screen and printouts at smaller sizes I've community wiki'd this. I'm really looking for a list of fonts that qualify. From that list, people can pick what looks good to them.

    Read the article

  • pointer jumping about Lubuntu 12.04

    - by Gary Kirkpatrick
    Using 12.04 on a Samsung NC110. If I disable Touchpad, the cursor does not jump about while typing. This is very very annoying. Tried this tutorial, but this does not help. The problem occurs even when my fingers are well away from the Touchpad. I wonder if another key or key combination causes this problem? I sure could use some help on this. I have had this problem with various versions of Ubuntu and now Lubuntu.

    Read the article

  • How to Organize Subdirectories? [closed]

    - by Gary Iverson
    I am working on my first major (several hundred pages) website design and development project. I want to create subdirectories for each of the website's categories, which in turn have their own subdirectories for easy user navigation. Example: website.com/directory. I am aware that by placing an index.html file within each directory, the browser automatically detects and navigates to that page, but that seems like a messy solution (having multiple index.html files, albeit in distinct folders), and I cannot imagine everyone does that. So my question is...how do you properly organize and use subdirectories?

    Read the article

  • Wifi not working after upgrading from 12.04 to 13.10

    - by Gary
    I went through loads of posts looking for an answer to my WiFi problems but can't seem to fix it. I had Ubuntu 12.04 installed and WiFi worked fine with no issues whatsoever but then I upgraded to 13.10 it has stopped working. It shows the available networks but I can't connect to any of them it just does that animation thing then stops working. Update Heres the link to pastebin: http://pastebin.com/GyMMEYhv And heres what wifi card i have and driver lspci: 01:00.2 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 0a) Subsystem: Hewlett-Packard Company Device [103c:18de] Kernel driver in use: r8169 02:00.0 Network controller [0280]: Ralink corp. RT3290 Wireless 802.11n 1T/1R PCIe [1814:3290] Subsystem: Hewlett-Packard Company Device [103c:18ec] Kernel driver in use: rt2800pci

    Read the article

  • How to read data from a large number of files in a folder? [closed]

    - by Gary Dhillon
    I seem to be having some trouble figuring out a solution for a problem. See the thing is, my code is supposed to read a lot of data from a bunch of files. I've been thinking of two different approaches: 1) the first one seems simpler, I ask the user if they would like to examine the next file or just quit out of the program.( I believe this is simpler and would take less time to run through.) 2)It reads through all the files and outputs the results for each of them, and then a shared result for all of them.( I think this would be better for what I've been asked to do and it saves the user some hassle.) If anyone can tell me how to code either of these in C++, I would be very grateful. Here is a sample of the file: 0 -- 19 weight 0 -- 20 weight I use this to determine density and possibly ignore the weights which is a number.

    Read the article

  • How can I access old KMail emails after upgrading to Ubuntu 11.10?

    - by Gary Kleppe
    I initially installed Ubuntu 11.04 and used KMail for my email. All well and good. Then I upgraded to Ubuntu 11.10. Presumably an upgrade of KMail took place as part of this. Now KMail won't even run; when I try, it tells me "Failed to fetch the resource collection" and crashes. I don't mind switching to another email client, but I'd very much like to be able to recover all of the emails I have stored in KMail. Any suggestions on how to do this? Thanks for any help anyone can provide.

    Read the article

  • Updated Business Activity Monitoring (BAM) Class

    - by Gary Barg
    We have just completed an extensive upgrade to the Business Activity Monitoring course, bringing it up to PS5 level and doing some major rework of content and topic flow. This should be a GREAT course for anyone needing to learn to use BAM effectively to analyze their SOA data. Details of the Course This course explains how to use Oracle BAM to monitor enterprise business activities across an enterprise in real time. You can measure your key performance indicators (KPIs), determine whether you are meeting service-level agreements (SLAs), and take corrective action in real time. Learn To: Create dashboards and alerts using a business-friendly, wizard-based design environment Monitor BPM and BPEL processes Configure drilling, driving, and time-based filtering Create alerts Build applications with a dynamic user interface Manage BAM users and roles In addition to learning Oracle BAM architecture, you learn how to perform administrative tasks related to Oracle BAM. You create and work with the different types of message sources that send data into Oracle BAM. You build interactive, real-time, actionable dashboards, and you configure alerts on abnormal conditions. You learn how to monitor both BPEL and BPM composite applications with Oracle BAM. Lastly, you create and use Oracle BAM data control to build applications with a dynamic user interface that changes based on real-time business events. Registration The Oracle University course page with more course details and registration information, is here. The next scheduled class: Date: 5-Dec-2012 Duration: 3 days Hours: 9:00 AM – 5:00 PM CT Location: Chicago, IL Class ID: 3325708

    Read the article

  • Apprentice Boot Camp in South Africa (Part 1)

    - by Tim Koekkoek
    By Maximilian Michel (DE), Jorge Garnacho (ES), Daniel Maull (UK), Adam Griffiths (UK), Guillermo De Las Nieves (ES), Catriona McGill (UK), Ed Dunlop (UK) The Boot Camp in South Africa was an amazing experience for all of us. The minute we landed, we were made to feel at home from our host Patrick Fitzgerald. The whole family who run the Guest House were also very friendly and always keen to help us. Since we had people from South Africa to show us all the amazing sights and their traditional ways to live their lives, the two weeks were very enjoyable for all of us and we came much closer together as a group. You can read this in the following parts of this report. Enjoy! The first group of Apprentices in Oracle (from left to right): Maximilian Michel (DE), Jorge Garnacho (ES), Daniel Maull (UK), Adam Griffiths (UK), Guillermo De Las Nieves (ES), Catriona McGill (UK), Ed Dunlop (UK) The Training Well, it’s time to talk about the main purpose of our trip to South Africa: the training. Two weeks, two courses. Servers and Storage. Two weeks to learn as much as possible and get the certificate. First week: Eben Pretorius with Servers Boot Camp. Learning about: • Machines: T1000, T2000, T3, T4, M series; • How to connect to the machines: serial and network connections; • Levels of software: ALOM, ILOM, OBP and of course the operating system, Solaris Combined with the practical part (screwdriver in one hand, and antistatic wristband on the other) makes quite a lot of stuff! But fortunately, Eben was able to tell us about everything without making our brains explode. For the second week: Storage Boot Camp with Deon Van Vuuren. Taking a look at the content: • Storage machines; • Connectors and protocols: SCSi, SAS, SATA Fiber Channel. Again, huge amounts of information, but Deon definitely did a great job and helped us learn it all. At the end, there was just one question left. Were we able to pass the exam and get the certificate? Well, what can we say? Just take a closer look at the picture above and make your conclusions! Our lovely Oracle office in Woodmead (near Johannesburg) We are all very proud to receive certification in “Server and Storage Support Fundamentals” together with our trainer Deon Van Vuuren. In summary, in case that you don't remember any of the above, the allies for a field engineer are: • System Handbook • EIS-DVD • A proper toolkit With these tools by our side, we’ll be unbeatable!  In the next article later this week, you can find part 2 of our experiences!

    Read the article

  • Get Exchange Online Mailbox Size in GB

    - by Brian Jackett
    As mentioned in my previous post I was recently working with a customer to get started with Exchange Online PowerShell commandlets.  In this post I wanted to follow up and show one example of a difference in output from commandlets in Exchange 2010 on-premises vs. Exchange Online.   Problem    The customer was interested in getting the size of mailboxes in GB.  For Exchange on-premises this is fairly easy.  A fellow PFE Gary Siepser wrote an article explaining how to accomplish this (click here).  Note that Gary’s script will not work when remoting from a local machine that doesn’t have the Exchange object model installed.  A similar type of scenario exists if you are executing PowerShell against Exchange Online.  The data type for TotalItemSize  being returned (ByteQuantifiedSize) exists in the Exchange namespace.  If the PowerShell session doesn’t have access to that namespace (or hasn’t loaded it) PowerShell works with an approximation of that data type.    The customer found a sample script on this TechNet article that they attempted to use (minor edits by me to fit on page and remove references to deleted item size.)   Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | Select DisplayName,StorageLimitStatus, ` @{name="TotalItemSize (MB)"; expression={[math]::Round( ` ($_.TotalItemSize.Split("(")[1].Split(" ")[0].Replace(",","")/1MB),2)}}, ` ItemCount | Sort "TotalItemSize (MB)" -Descending | Export-CSV "C:\My Documents\All Mailboxes.csv" -NoTypeInformation     The script is targeted to Exchange 2010 but fails for Exchange Online.  In Exchange Online when referencing the TotalItemSize property though it does not have a Split method which ultimately causes the script to fail.   Solution    A simple solution would be to add a call to the ToString method off of the TotalItemSize property (in bold on line 5 below).   Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | Select DisplayName,StorageLimitStatus, ` @{name="TotalItemSize (MB)"; expression={[math]::Round( ` ($_.TotalItemSize.ToString().Split("(")[1].Split(" ")[0].Replace(",","")/1MB),2)}}, ` ItemCount | Sort "TotalItemSize (MB)" -Descending | Export-CSV "C:\My Documents\All Mailboxes.csv" -NoTypeInformation      This fixes the script to run but the numerous string replacements and splits are an eye sore to me.  I attempted to simplify the string manipulation with a regular expression (more info on regular expressions in PowerShell click here).  The result is a workable script that does one nice feature of adding a new member to the mailbox statistics called TotalItemSizeInBytes.  With this member you can then convert into any byte level (KB, MB, GB, etc.) that suits your needs.  You can download the full version of this script below (includes commands to connect to Exchange Online session). $UserMailboxStats = Get-Mailbox -RecipientTypeDetails UserMailbox ` -ResultSize Unlimited | Get-MailboxStatistics $UserMailboxStats | Add-Member -MemberType ScriptProperty -Name TotalItemSizeInBytes ` -Value {$this.TotalItemSize -replace "(.*\()|,| [a-z]*\)", ""} $UserMailboxStats | Select-Object DisplayName,@{Name="TotalItemSize (GB)"; ` Expression={[math]::Round($_.TotalItemSizeInBytes/1GB,2)}}   Conclusion    Moving from on-premises to the cloud with PowerShell (and PowerShell remoting in general) can sometimes present some new challenges due to what you have access to.  This means that you must always test your code / scripts.  I still believe that not having to physically RDP to a server is a huge gain over some of the small hurdles you may encounter during the transition.  Scripting is the future of administration and makes you more valuable.  Hopefully this script and the concepts presented help you be a better admin / developer.         -Frog Out     Links The Get-MailboxStatistics Cmdlet, the TotalitemSize Property, and that pesky little “b” http://blogs.technet.com/b/gary/archive/2010/02/20/the-get-mailboxstatistics-cmdlet-the-totalitemsize-property-and-that-pesky-little-b.aspx   View Mailbox Sizes and Mailbox Quotas Using Windows PowerShell http://technet.microsoft.com/en-us/exchangelabshelp/gg576861#ViewAllMailboxes   Regular Expressions with Windows PowerShell http://www.regular-expressions.info/powershell.html   “I don’t always test my code…” image http://blogs.pinkelephant.com/images/uploads/conferences/I-dont-always-test-my-code-But-when-I-do-I-do-it-in-production.jpg   The One Thing: Brian Jackett and SharePoint 2010 http://www.youtube.com/watch?v=Sg_h66HMP9o

    Read the article

  • JQuery Tools Overlay for modal dialog broken under IE8

    - by Gary McGill
    I've been developing a website that has several modal dialog boxes. I've been using jQuery Tools Overlay for the dialog boxes. However, I've just discovered that it doesn't seem to work properly on IE8. In Chrome (and I presume other browsers), the dialog is highlighted by darkening the rest of the page "below" it, but on IE8 the page "below" is obliterated - all you get is the dialog on a black background. This appears to be nothing to do with the way I've configured it - the same problem is evident on the jQuery Tools website itself. If you click the link above and then click one of the two buttons headed "For User Interactions", then you'll see what I mean. What's the deal? Does it simply not support IE8? If so, (a) grrrr... and (b) what else should I use?

    Read the article

  • How can I install asp.net mvc 2 on IIS7?

    - by Gary McGill
    I have developed an ASP.NET MVC 2 website, and now need to deploy it to my web server. I've overcome some hurdles already, since ASP.NET was not installed etc. but I've now got to the point where I can serve up plain content files, and if I try to hit one of my MVC URLs I get this: Could not load file or assembly 'System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. Not surprising, that, as I've not installed MVC2. Problem is, I can't find any good information about how to install it! The Microsoft Download Center lists 3 files, none of which look promising: ASP.NET-MVC-2-RTM-Release-Notes.doc AspNetMVC2_VS2008.exe mvc2-ms-pl.zip The site doesn't bother to explain what the files actually are, but I assume that the last file is the source code. That's what it looks like, anyway. The release notes are no help whatsoever, since they're all about installing on your development machine, and indeed the name of the EXE makes it clear that that's all about Visual Studio integration too. So how do I actually deploy the darn thing? The other option linked to from Scott Gu's blog is the Microsoft Web Platform Installer. Now, I don't want to install more than just MVC2, and I already have IIS etc. set up, so this seems a bit heavy. But it's all academic, as it refuses to run on my server, saying "your system is not supported" or words to that effect. (The server is Windows Server 2008 Standard SP2, so I really don't know what it's problem is). Help! [It's ridiculous that this should be so hard - or perhaps not hard at all, but certainly a well-kept secret!]

    Read the article

  • ASP.NET MVC 2 RC2 Routing - How to clear low-level values when using ActionLink to refer to a higher

    - by Gary McGill
    [NOTE: I'm using ASP.NET MVC2 RC2.] I have URLs like this: /customer/123/order/456/item/index /customer/123/order/456/item/789/edit My routing table lists the most-specific routes first, so I've got: // customer/123/order/456/item/789/edit routes.MapRoute( "item", // Route name "customer/{customerId}/order/{orderId}/item/{itemId}/{action}", // URL with parameters new { controller = "Items", action = "Details" }, // Parameter defaults new { customerId = @"\d+", orderId = @"\d+", itemId = @"\d+" } // Constraints ); // customer/123/order/456/item/index routes.MapRoute( "items", // Route name "customer/{customerId}/order/{orderId}/item/{action}", // URL with parameters new { controller = "Items", action = "Index" }, // Parameter defaults new { customerId = @"\d+", orderId = @"\d+" } // Constraints ); When I'm in the "Edit" page, I want a link back up to the "Index" page. So, I use: ActionLink("Back to Index", "index") However, because there's an ambient order ID, this results in the URL: /Customer/123/Order/456/Item/789/Index ...whereas I want it to "forget" the order ID and just use: /Customer/123/Order/456/Item/Index I've tried overriding the order ID like so: ActionLink("Back to Index", "index", new { orderId=string.empty }) ...but that doesn't work. How can I persuade ActionLink to "forget" the order ID?

    Read the article

  • How to avoid using duplicate savepoint names in nested transactions in nested stored procs?

    - by Gary McGill
    I have a pattern that I almost always follow, where if I need to wrap up an operation in a transaction, I do this: BEGIN TRANSACTION SAVE TRANSACTION TX -- Stuff IF @error <> 0 ROLLBACK TRANSACTION TX COMMIT TRANSACTION That's served me well enough in the past, but after years of using this pattern (and copy-pasting the above code), I've suddenly discovered a flaw which comes as a complete shock. Quite often, I'll have a stored procedure calling other stored procedures, all of which use this same pattern. What I've discovered (to my cost) is that because I'm using the same savepoint name everywhere, I can get into a situation where my outer transaction is partially committed - precisely the opposite of the atomicity that I'm trying to achieve. I've put together an example that exhibits the problem. This is a single batch (no nested stored procs), and so it looks a little odd in that you probably wouldn't use the same savepoint name twice in the same batch, but my real-world scenario would be too confusing to post. CREATE TABLE Test (test INTEGER NOT NULL) BEGIN TRAN SAVE TRAN TX BEGIN TRAN SAVE TRAN TX INSERT INTO Test(test) VALUES (1) COMMIT TRAN TX BEGIN TRAN SAVE TRAN TX INSERT INTO Test(test) VALUES (2) COMMIT TRAN TX DELETE FROM Test ROLLBACK TRAN TX COMMIT TRAN TX SELECT * FROM Test DROP TABLE Test When I execute this, it lists one record, with value "1". In other words, even though I rolled back my outer transaction, a record was added to the table. What's happening is that the ROLLBACK TRANSACTION TX at the outer level is rolling back as far as the last SAVE TRANSACTION TX at the inner level. Now that I write this all out, I can see the logic behind it: the server is looking back through the log file, treating it as a linear stream of transactions; it doesn't understand the nesting/hierarchy implied by either the nesting of the transactions (or, in my real-world scenario, by the calls to other stored procedures). So, clearly, I need to start using unique savepoint names instead of blindly using "TX" everywhere. But - and this is where I finally get to the point - is there a way to do this in a copy-pastable way so that I can still use the same code everywhere? Can I auto-generate the savepoint name on the fly somehow? Is there a convention or best-practice for doing this sort of thing? It's not exactly hard to come up with a unique name every time you start a transaction (could base it off the SP name, or somesuch), but I do worry that eventually there would be a conflict - and you wouldn't know about it because rather than causing an error it just silently destroys your data... :-(

    Read the article

< Previous Page | 1 2 3 4 5 6 7 8 9 10 11 12  | Next Page >