<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4204263630323974137</id><updated>2012-01-20T22:07:50.203-08:00</updated><category term='Haskell'/><category term='TreeCache'/><category term='Cabal'/><category term='JBoss'/><category term='jQuery'/><category term='Firefox'/><category term='Jetty'/><category term='SQL'/><category term='EJB3'/><category term='web'/><category term='Maven'/><category term='Eclipse'/><category term='SQL Server'/><category term='Hibernate'/><category term='Sybase'/><category term='performance'/><category term='GHC'/><category term='WIndows'/><category term='gzip'/><category term='wget'/><category term='training'/><category term='.NET'/><category term='Telnet'/><title type='text'>Collection&lt;Solution&gt;</title><subtitle type='html'>This is a simple collection of coding headaches and their solutions, for the future reference of myself and others.  They are primarily JEE-related.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://collectionofsolutions.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4204263630323974137/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://collectionofsolutions.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Daniel Young</name><uri>https://profiles.google.com/108047347901203119438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-Cqb1EUIu8ug/AAAAAAAAAAI/AAAAAAAAAEQ/Y4uzomy2sGo/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4204263630323974137.post-5197818607540857164</id><published>2011-10-05T03:33:00.000-07:00</published><updated>2011-10-05T03:33:03.663-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>How to change your own password in SQL Server using ALTER LOGIN</title><content type='html'>This isn't documented very well. &amp;nbsp;If you are using ALTER LOGIN to change your own password, you need to supply your existing password as OLD_PASSWORD:&lt;br /&gt;&lt;br /&gt;Alter Login [my_login] WITH PASSWORD = 'newpassword' OLD_PASSWORD = 'oldpassword'&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4204263630323974137-5197818607540857164?l=collectionofsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://collectionofsolutions.blogspot.com/feeds/5197818607540857164/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4204263630323974137&amp;postID=5197818607540857164' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4204263630323974137/posts/default/5197818607540857164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4204263630323974137/posts/default/5197818607540857164'/><link rel='alternate' type='text/html' href='http://collectionofsolutions.blogspot.com/2011/10/how-to-change-your-own-password-in-sql.html' title='How to change your own password in SQL Server using ALTER LOGIN'/><author><name>Daniel Young</name><uri>https://profiles.google.com/108047347901203119438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-Cqb1EUIu8ug/AAAAAAAAAAI/AAAAAAAAAEQ/Y4uzomy2sGo/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4204263630323974137.post-7100368380832562157</id><published>2011-09-08T04:04:00.000-07:00</published><updated>2011-09-08T04:04:50.758-07:00</updated><title type='text'>Fixed-point combinator in Java</title><content type='html'>Well it's not short enough to fit in a twitter post, ala Haskell, fix f = f (fix f). &amp;nbsp;But I enjoyed this post on&amp;nbsp;&lt;a href="http://strofuncons.blogspot.com/2010/05/fixed-point-combinator-in-java_08.html"&gt;Stream of Unconsciousness&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4204263630323974137-7100368380832562157?l=collectionofsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://collectionofsolutions.blogspot.com/feeds/7100368380832562157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4204263630323974137&amp;postID=7100368380832562157' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4204263630323974137/posts/default/7100368380832562157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4204263630323974137/posts/default/7100368380832562157'/><link rel='alternate' type='text/html' href='http://collectionofsolutions.blogspot.com/2011/09/fixed-point-combinator-in-java.html' title='Fixed-point combinator in Java'/><author><name>Daniel Young</name><uri>https://profiles.google.com/108047347901203119438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-Cqb1EUIu8ug/AAAAAAAAAAI/AAAAAAAAAEQ/Y4uzomy2sGo/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4204263630323974137.post-6819798715744209808</id><published>2010-12-23T03:54:00.000-08:00</published><updated>2010-12-23T04:02:05.950-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Sybase'/><title type='text'>Running out of syslog space on sybase</title><content type='html'>&lt;span style="font-family:courier new;"&gt;dump tran &lt;span style="font-style: italic;"&gt;db_name&lt;/span&gt; &lt;db_name&gt; with no_log&lt;br /&gt;go&lt;br /&gt;&lt;/db_name&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4204263630323974137-6819798715744209808?l=collectionofsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://collectionofsolutions.blogspot.com/feeds/6819798715744209808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4204263630323974137&amp;postID=6819798715744209808' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4204263630323974137/posts/default/6819798715744209808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4204263630323974137/posts/default/6819798715744209808'/><link rel='alternate' type='text/html' href='http://collectionofsolutions.blogspot.com/2010/12/running-out-of-syslog-space-on-sybase.html' title='Running out of syslog space on sybase'/><author><name>Daniel Young</name><uri>https://profiles.google.com/108047347901203119438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-Cqb1EUIu8ug/AAAAAAAAAAI/AAAAAAAAAEQ/Y4uzomy2sGo/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4204263630323974137.post-7818658094740999494</id><published>2009-07-05T05:30:00.001-07:00</published><updated>2009-07-16T02:24:02.607-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Telnet'/><category scheme='http://www.blogger.com/atom/ns#' term='Haskell'/><title type='text'>Haskell telnet client to run a command on a remote system</title><content type='html'>I've written a very simple little program using the Haskell Network.Socket library, that logs in to a remote system via telnet and runs a single command.  It's the first Haskell that I've written in quite a long time, and it's nothing very impressive.  In fact the hard part was getting the Socket library built on Windows Vista, it was all quite simple on Ubuntu.&lt;br /&gt;&lt;br /&gt;Anyway, here's the current version of the code:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;module Main where&lt;br /&gt;&lt;pre&gt;import Control.Concurrent&lt;br /&gt;import Data.Char&lt;br /&gt;import Network&lt;br /&gt;import Network.Socket&lt;br /&gt;import System.IO&lt;br /&gt;import System(getArgs)&lt;br /&gt;&lt;br /&gt;telnetIAC :: Int&lt;br /&gt;telnetIAC = 255&lt;br /&gt;&lt;br /&gt;telnetWONT :: Int&lt;br /&gt;telnetWONT = 252&lt;br /&gt;&lt;br /&gt;newtype Credentials = Credential (String, String)&lt;br /&gt;&lt;br /&gt;password :: Handle -&gt; String -&gt; IO ()&lt;br /&gt;password h pwd = do&lt;br /&gt;char &lt;- hGetChar h      &lt;br /&gt;case char of&lt;br /&gt;  ':' -&gt; do hPutStrLn h pwd&lt;br /&gt;            hFlush h&lt;br /&gt;  otherwise -&gt; password h pwd&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;login :: Handle -&gt; Credentials -&gt; IO ()&lt;br /&gt;login h c@(Credential (user, pwd)) = do&lt;br /&gt;hPutStrLn h user&lt;br /&gt;hFlush h&lt;br /&gt;password h pwd&lt;br /&gt;putStrLn "Logged in"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;declineHandshakeOption :: Handle -&gt; Credentials -&gt; IO ()&lt;br /&gt;declineHandshakeOption h c = do&lt;br /&gt;ignoreChar &lt;- hGetChar h      &lt;br /&gt;optionChar &lt;- hGetChar h&lt;br /&gt;hPutChar h $ chr telnetIAC      &lt;br /&gt;hPutChar h $ chr telnetWONT      &lt;br /&gt;hPutChar h $ optionChar      &lt;br /&gt;hFlush h      &lt;br /&gt;handshakeAndLogin h c   &lt;br /&gt;&lt;br /&gt;handleHandshakeInput :: Handle -&gt; Char -&gt; Credentials -&gt; IO()&lt;br /&gt;handleHandshakeInput h char credentials&lt;br /&gt;| ord char == telnetIAC        = declineHandshakeOption h credentials&lt;br /&gt;| char == ':'                  = login h credentials&lt;br /&gt;| otherwise                    = handshakeAndLogin h credentials&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;handshakeAndLogin :: Handle -&gt; Credentials -&gt; IO ()&lt;br /&gt;handshakeAndLogin h credentials = do&lt;br /&gt;char &lt;- hGetChar h     &lt;br /&gt;handleHandshakeInput h char credentials    &lt;br /&gt;&lt;br /&gt;main :: IO ()&lt;br /&gt;main = withSocketsDo $ do       &lt;br /&gt; args &lt;- getArgs      &lt;br /&gt; addrinfos &lt;- getAddrInfo Nothing (Just (args !! 0)) (Just "23")       &lt;br /&gt; let serveraddr = head addrinfos       &lt;br /&gt; sock &lt;- socket (addrFamily serveraddr) Stream defaultProtocol       &lt;br /&gt; connect sock (addrAddress serveraddr)       &lt;br /&gt; putStrLn "Connected"       &lt;br /&gt; h &lt;- socketToHandle sock ReadWriteMode       &lt;br /&gt; hSetBuffering h (BlockBuffering Nothing)       &lt;br /&gt; handshakeAndLogin h $ Credential (args !! 1, args !! 2)       &lt;br /&gt; hPutStrLn h (args !! 3)       &lt;br /&gt; hFlush h       &lt;br /&gt; putStrLn "Command sent"       &lt;br /&gt; threadDelay 1000000 &lt;/pre&gt;&lt;/span&gt;To compile:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ghc -package network -o TelnetClient TelnetClient.hs&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To run:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;./TelnetClient localhost username password "./command.sh"&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4204263630323974137-7818658094740999494?l=collectionofsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://collectionofsolutions.blogspot.com/feeds/7818658094740999494/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4204263630323974137&amp;postID=7818658094740999494' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4204263630323974137/posts/default/7818658094740999494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4204263630323974137/posts/default/7818658094740999494'/><link rel='alternate' type='text/html' href='http://collectionofsolutions.blogspot.com/2009/07/haskell-telnet-client-to-run-command-on.html' title='Haskell telnet client to run a command on a remote system'/><author><name>Daniel Young</name><uri>https://profiles.google.com/108047347901203119438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-Cqb1EUIu8ug/AAAAAAAAAAI/AAAAAAAAAEQ/Y4uzomy2sGo/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4204263630323974137.post-3599780406993450161</id><published>2009-07-05T02:49:00.000-07:00</published><updated>2009-07-05T02:52:36.024-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cabal'/><category scheme='http://www.blogger.com/atom/ns#' term='WIndows'/><category scheme='http://www.blogger.com/atom/ns#' term='GHC'/><category scheme='http://www.blogger.com/atom/ns#' term='Haskell'/><title type='text'>Problems building Haskell packages on Windows</title><content type='html'>I made a silly mistake today, and wasted quite a long time trying to build the Haskell network package using "cabal install" via cygwin.  I eventually found out that in most cases you should use MingW and MSYS rather than cygwin (&lt;a href="http://haskell.org/haskellwiki/Windows"&gt;http://haskell.org/haskellwiki/Windows&lt;/a&gt;).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4204263630323974137-3599780406993450161?l=collectionofsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://collectionofsolutions.blogspot.com/feeds/3599780406993450161/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4204263630323974137&amp;postID=3599780406993450161' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4204263630323974137/posts/default/3599780406993450161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4204263630323974137/posts/default/3599780406993450161'/><link rel='alternate' type='text/html' href='http://collectionofsolutions.blogspot.com/2009/07/problems-building-haskell-packages-on.html' title='Problems building Haskell packages on Windows'/><author><name>Daniel Young</name><uri>https://profiles.google.com/108047347901203119438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-Cqb1EUIu8ug/AAAAAAAAAAI/AAAAAAAAAEQ/Y4uzomy2sGo/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4204263630323974137.post-6564499852079041134</id><published>2009-06-14T22:33:00.001-07:00</published><updated>2009-06-14T22:36:15.923-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>Where does Eclipse store its launch configurations?</title><content type='html'>It's a simple question, and the answer is out there on the net, but it took me awhile to find it.  Eclipse launch configurations at the workspace level are stored in .metadata\.plugins\org.eclipse.debug.core\.launches.&lt;br /&gt;&lt;br /&gt;I had assumed they were in org.eclipse.jdt.core and completely bypassed the debug package while searching around for it on my filesystem.  Obviously that was a mistake!&lt;br /&gt;&lt;br /&gt;Note that this refers to launch configurations saved by Eclipse as you work.  You can also save your configurations to an external file, using the "common" tab of the run dialog, and saving to a "shared file".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4204263630323974137-6564499852079041134?l=collectionofsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://collectionofsolutions.blogspot.com/feeds/6564499852079041134/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4204263630323974137&amp;postID=6564499852079041134' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4204263630323974137/posts/default/6564499852079041134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4204263630323974137/posts/default/6564499852079041134'/><link rel='alternate' type='text/html' href='http://collectionofsolutions.blogspot.com/2009/06/where-does-eclipse-store-its-launch.html' title='Where does Eclipse store its launch configurations?'/><author><name>Daniel Young</name><uri>https://profiles.google.com/108047347901203119438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-Cqb1EUIu8ug/AAAAAAAAAAI/AAAAAAAAAEQ/Y4uzomy2sGo/s512-c/photo.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4204263630323974137.post-2560563436726276463</id><published>2009-06-03T16:58:00.000-07:00</published><updated>2009-06-03T17:07:30.985-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>Firefox 3 crashing when using jQuery 1.3+ and ASP.Net</title><content type='html'>Well, I had a very interesting problem today.  I upgraded from jQuery 1.2.6 to 1.3.2, to fix some problems using jQuery in IE8.  The 1.2.x series of jQuery does browser sniffing to determine how to do certain things, and since IE8 is now "more standards-compliant", some of these hacks do not work unless the "compatibility view" is used.&lt;br /&gt;&lt;br /&gt;jQuery 1.3.x fixed all of this by using JavaScript object detection rather than browser sniffing, so that's great.&lt;br /&gt;&lt;br /&gt;However..  due to the design of the buttons in our application, they are in fact a div that contain both text and an ASP.Net image button.  The onclick handler for the div locates the image button using a jQuery selector and clicks it via javascript.&lt;br /&gt;&lt;br /&gt;With jQuery 1.3.2 and Firefox 3, this causes a browser crash that can't be recovered from, you have to kill the browser in task manager.  The interesting thing is, the postback does occur, my ASP.Net event handler runs, but the browser crashes completely, hogging the CPU until you have to kill it.  Lovely!&lt;br /&gt;&lt;br /&gt;What I found is that if you call .click() on the DOM element directly, the problem is solved -- I was calling .click() on the collection returned by the jQuery selector.&lt;br /&gt;&lt;br /&gt;Changed from this:  &lt;span style="font-family: courier new;"&gt;$('#saveButton').click()&lt;/span&gt;&lt;br /&gt;To this: &lt;span style="font-family: courier new;"&gt;$('#saveButton')[0].click()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;phew, problem solved!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4204263630323974137-2560563436726276463?l=collectionofsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://collectionofsolutions.blogspot.com/feeds/2560563436726276463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4204263630323974137&amp;postID=2560563436726276463' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4204263630323974137/posts/default/2560563436726276463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4204263630323974137/posts/default/2560563436726276463'/><link rel='alternate' type='text/html' href='http://collectionofsolutions.blogspot.com/2009/06/firefox-3-crashing-when-using-jquery-13.html' title='Firefox 3 crashing when using jQuery 1.3+ and ASP.Net'/><author><name>Daniel Young</name><uri>https://profiles.google.com/108047347901203119438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-Cqb1EUIu8ug/AAAAAAAAAAI/AAAAAAAAAEQ/Y4uzomy2sGo/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4204263630323974137.post-2012496816186314364</id><published>2009-05-26T03:14:00.000-07:00</published><updated>2009-05-26T03:24:44.152-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='training'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>SQL tuning training slides</title><content type='html'>I'm writing this post so I can share the slides for a training session I gave to some colleagues last year about SQL statement and performance tuning.&lt;br /&gt;&lt;br /&gt;Unfortunately the examples are missing, which includes the most useful part of the presentation -- particularly, how to generate and interpret MySQL explain plans.&lt;br /&gt;&lt;br /&gt;However, somebody might still find this useful one day.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe src="http://docs.google.com/EmbedSlideshow?id=dhc88xbx_2g7zn25g3" frameborder="0" height="342" width="410"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4204263630323974137-2012496816186314364?l=collectionofsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://collectionofsolutions.blogspot.com/feeds/2012496816186314364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4204263630323974137&amp;postID=2012496816186314364' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4204263630323974137/posts/default/2012496816186314364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4204263630323974137/posts/default/2012496816186314364'/><link rel='alternate' type='text/html' href='http://collectionofsolutions.blogspot.com/2009/05/sql-tuning-training-slides.html' title='SQL tuning training slides'/><author><name>Daniel Young</name><uri>https://profiles.google.com/108047347901203119438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-Cqb1EUIu8ug/AAAAAAAAAAI/AAAAAAAAAEQ/Y4uzomy2sGo/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4204263630323974137.post-3394523333688379567</id><published>2009-04-05T17:38:00.000-07:00</published><updated>2009-04-05T17:42:03.284-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><title type='text'>No protocol binding matches the given address</title><content type='html'>If you see the following error when trying to call a WCF web service in the ASP.Net Development Web Server...&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;System.ServiceModel.ServiceActivationException: No protocol binding matches the given address 'http://0.0.0.0:2825/Services/Blah.svc/jsdebug'. Protocol bindings are configured at the Site level in IIS or WAS configuration. ---&gt; System.InvalidOperationException: No protocol binding matches the given address 'http://0.0.0.0:2825/Services/Blah.svc/jsdebug'. Protocol bindings are configured at the Site level in IIS or WAS configuration.&lt;br /&gt; --- End of inner exception stack trace ---&lt;br /&gt; at System.ServiceModel.AsyncResult.End[TAsyncResult](IAsyncResult result)&lt;br /&gt; at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result)&lt;br /&gt; at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.ExecuteSynchronous(HttpApplication context, Boolean flowContext)&lt;br /&gt; at System.ServiceModel.Activation.HttpHandler.ProcessRequest(HttpContext context)&lt;br /&gt; at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()&lt;br /&gt; at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp;amp; completedSynchronously)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Try rebooting your machine.  Yes, seriously.  I found no other information to help me solve this problem, and a simple reboot fixed it.  A colleague of mine has also had the same problem before, with the same "fix".&lt;br /&gt;&lt;br /&gt;I miss Java.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4204263630323974137-3394523333688379567?l=collectionofsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://collectionofsolutions.blogspot.com/feeds/3394523333688379567/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4204263630323974137&amp;postID=3394523333688379567' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4204263630323974137/posts/default/3394523333688379567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4204263630323974137/posts/default/3394523333688379567'/><link rel='alternate' type='text/html' href='http://collectionofsolutions.blogspot.com/2009/04/no-protocol-binding-matches-given.html' title='No protocol binding matches the given address'/><author><name>Daniel Young</name><uri>https://profiles.google.com/108047347901203119438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-Cqb1EUIu8ug/AAAAAAAAAAI/AAAAAAAAAEQ/Y4uzomy2sGo/s512-c/photo.jpg'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4204263630323974137.post-2568073757240204280</id><published>2008-08-31T15:56:00.000-07:00</published><updated>2008-08-31T16:00:53.859-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Jetty'/><category scheme='http://www.blogger.com/atom/ns#' term='Maven'/><title type='text'>Maven Jetty Plugin - Embedded error: Bad temp directory</title><content type='html'>For the record, this error is caused by running mvn jetty:run-war from the top-level directory of a modular project, rather than your web project directory.&lt;br /&gt;&lt;br /&gt;http://markmail.org/message/ubjlpzebsgv5idxz&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4204263630323974137-2568073757240204280?l=collectionofsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://collectionofsolutions.blogspot.com/feeds/2568073757240204280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4204263630323974137&amp;postID=2568073757240204280' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4204263630323974137/posts/default/2568073757240204280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4204263630323974137/posts/default/2568073757240204280'/><link rel='alternate' type='text/html' href='http://collectionofsolutions.blogspot.com/2008/08/maven-jetty-plugin-embedded-error-bad.html' title='Maven Jetty Plugin - Embedded error: Bad temp directory'/><author><name>Daniel Young</name><uri>https://profiles.google.com/108047347901203119438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-Cqb1EUIu8ug/AAAAAAAAAAI/AAAAAAAAAEQ/Y4uzomy2sGo/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4204263630323974137.post-7731123814562457651</id><published>2008-05-27T15:12:00.000-07:00</published><updated>2008-05-27T15:15:04.464-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='gzip'/><category scheme='http://www.blogger.com/atom/ns#' term='wget'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>Making sure that GZIP encoding is turned on, using wget</title><content type='html'>Something I've had to do many times, but I always seem to forget the syntax:&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;wget --header="accept-encoding: gzip" "http://&lt;your_url&gt;"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If the saved response you get back is in binary gzip format instead of text/html, then you know that your gzip encoding is turned on and functioning correctly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4204263630323974137-7731123814562457651?l=collectionofsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://collectionofsolutions.blogspot.com/feeds/7731123814562457651/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4204263630323974137&amp;postID=7731123814562457651' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4204263630323974137/posts/default/7731123814562457651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4204263630323974137/posts/default/7731123814562457651'/><link rel='alternate' type='text/html' href='http://collectionofsolutions.blogspot.com/2008/05/making-sure-that-gzip-encoding-is.html' title='Making sure that GZIP encoding is turned on, using wget'/><author><name>Daniel Young</name><uri>https://profiles.google.com/108047347901203119438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-Cqb1EUIu8ug/AAAAAAAAAAI/AAAAAAAAAEQ/Y4uzomy2sGo/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4204263630323974137.post-8260919815738224136</id><published>2008-04-22T02:41:00.000-07:00</published><updated>2008-04-22T03:06:58.379-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TreeCache'/><category scheme='http://www.blogger.com/atom/ns#' term='EJB3'/><category scheme='http://www.blogger.com/atom/ns#' term='JBoss'/><category scheme='http://www.blogger.com/atom/ns#' term='Hibernate'/><title type='text'>org.jboss.cache.CacheException: failed to get global transaction</title><content type='html'>Today I found out the hard way that JBoss TreeCache as a second-level cache provider in Hibernate can only be used with the READ_ONLY and TRANSACTIONAL caching strategies.  This is clearly listed in the Hibernate documentation, but when you are using the EJB3 Hibernate EntityManager on top of Hibernate it becomes easy to lose track of these kinds of things.&lt;br /&gt;&lt;br /&gt;I was receiving the above exception in a BMT Stateful Session Bean when it tried to commit the UserTransaction.  I attempted to fix it with a bit of worthwhile refactoring into CMT with a RequiresNew method, and was sure the problem would be solved -- no such luck.&lt;br /&gt;&lt;br /&gt;I eventually stumbled on the relevant bit of the Hibernate docs, but it still didn't click until I remembered back months ago when I had studiously annotated many of our entities with @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE).  Replacing this with the TRANSACTIONAL strategy had me smiling in no time.&lt;br /&gt;&lt;br /&gt;w00t!&lt;br /&gt;&lt;br /&gt;However, I really am starting to think that I should have stuck with &lt;a href="http://ehcache.sf.net/"&gt;ehcache&lt;/a&gt;.  I'll see how things go for now, and how painful the clustering setup becomes when we decide to test it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4204263630323974137-8260919815738224136?l=collectionofsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://collectionofsolutions.blogspot.com/feeds/8260919815738224136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4204263630323974137&amp;postID=8260919815738224136' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4204263630323974137/posts/default/8260919815738224136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4204263630323974137/posts/default/8260919815738224136'/><link rel='alternate' type='text/html' href='http://collectionofsolutions.blogspot.com/2008/04/orgjbosscachecacheexception-failed-to.html' title='org.jboss.cache.CacheException: failed to get global transaction'/><author><name>Daniel Young</name><uri>https://profiles.google.com/108047347901203119438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-Cqb1EUIu8ug/AAAAAAAAAAI/AAAAAAAAAEQ/Y4uzomy2sGo/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry></feed>
