<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-1136203510236851154</atom:id><lastBuildDate>Thu, 19 Dec 2024 03:30:16 +0000</lastBuildDate><category>sql</category><category>debugging</category><category>iphone</category><category>jailbreak</category><category>humana festival</category><category>physics</category><category>theatre</category><category>CONDG</category><category>asp.net</category><category>drm</category><category>me</category><category>rock band</category><category>tdci</category><title>erlösung</title><description>t-sql ninja / sophisticato/ wanderlust</description><link>http://bdemuth.blogspot.com/</link><managingEditor>noreply@blogger.com (Anonymous)</managingEditor><generator>Blogger</generator><openSearch:totalResults>30</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1136203510236851154.post-4500151254509379860</guid><pubDate>Thu, 18 Feb 2016 12:38:00 +0000</pubDate><atom:updated>2016-12-06T07:55:47.764-05:00</atom:updated><title>going dark part one</title><description>my mom and my stepdad live in a retirement community in the tampa, florida area. one of their neighbors is a married couple, both the husband and wife of whom made their careers in the federal intelligence community. the husband is still an active CIA agent who spends long periods of time in the middle east. the wife worked for the FBI but is now retired. at some point, she and my mom were discussing social media and my mom brought up having to use her friends&#39; accounts to snoop around since my brother and i forbade her from joining facebook. her friend laughed and said we had done her a favor. when my mom asked what she meant, she replied &quot;if you are on facebook or twitter, get off. that&#39;s all i can say.&quot;&lt;br /&gt;
&lt;br /&gt;
i have been anti-facebook for a long time but not always for the same reasons. facebook appeals to the narcissist in you. if you can&#39;t admit to that, you should know that they are in the intelligence business but more in the google sense of collecting every bit of information on as many people as possible rather than only spying on &#39;bad guys&#39; like the my mom&#39;s neighbors. i always considered myself the paranoid brother between matty and i but something triggered a change in him and he started making me aware of all of the different ways sites collect your information (i&#39;ll write about this in a different post). i stopped using google as a search engine in favor of &lt;a href=&quot;https://duckduckgo.com/about&quot;&gt;duckduckgo&lt;/a&gt;&amp;nbsp;but there was far more work to be done&lt;br /&gt;
&lt;br /&gt;
back to facebook - i had quit previously but always came back, usually while drunk and powerless against my impulses to spy on someone or post something inappropriate but hilarious. since i quit drinking, this was no longer a factor and so i quit facebook and instagram months ago and haven&#39;t returned. this left twitter (which i couldn&#39;t tell you the last time that i used - probably humanafest last year), foursquare, swarm and linkedin. unlike facebook which retains your data seemingly indefinitely, twitter deletes your handle, history and all information after 30 days. i don&#39;t know why this made me hesitant but it did. i love swarm but not for any good reasons. i like being the mayor of places, especially where i work where it has always been an active competition between my coworkers. yesterday i decided that neither the public availability of my twitter history nor the prestige of mayorship were really adding anything beneficial to my life so i left facebook, swarm and twitter. linkedin is a colossal annoyance except for when you are looking for a new job or entertaining job offerings to get a feel for the market when you are negotiating your salary. if anyone from dynamit is reading this, meet me at the current median going rate of a software developer in the columbus area with thirteen years of experience and i will leave linkedin immediately and complete the circle&lt;br /&gt;
&lt;br /&gt;
that&#39;s the history that led me to write this. next will be why going dark was important to me and why i take pride in having done it (with the one exception already stated)</description><link>http://bdemuth.blogspot.com/2016/02/going-dark-part-one.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1136203510236851154.post-1470767108006976861</guid><pubDate>Fri, 14 Dec 2012 20:21:00 +0000</pubDate><atom:updated>2012-12-14T15:21:45.759-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">sql</category><title>be wary of the results of sys.dm_db_index_physical_stats</title><description>my coworker (@developingjim) and his team was troubleshooting a client database production down issue this past weekend and discovered something that neither he nor i were aware of -&amp;nbsp;the sys.dm_db_index_physical_stats function only scans index parent-level pages (leaf-level +1). the results of this versus running the function in DETAILED mode (which scans all pages and returns all statistics) can be drastically different. The image below shows two queries and the results for each:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUyeSkyjubbUknGFusJ8_jfv79Ipyj1SRdti48TXoUYqj633iTSW7uQ7BhZUait-xNSyBc3ft9MuFcXgQtXklL4KkvPKQ0GFvmf6mWUISiXwzdnZ3SkpailTTa-klezGq2xqOtj8atnh8/s1600/12-14-2012+15-15-26.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;488&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUyeSkyjubbUknGFusJ8_jfv79Ipyj1SRdti48TXoUYqj633iTSW7uQ7BhZUait-xNSyBc3ft9MuFcXgQtXklL4KkvPKQ0GFvmf6mWUISiXwzdnZ3SkpailTTa-klezGq2xqOtj8atnh8/s640/12-14-2012+15-15-26.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
The first query lead the team to believe that index fragmentation was not an issue; the second revealed that this was far from the truth and the crisis was resolved after the massive fragmentation was addressed</description><link>http://bdemuth.blogspot.com/2012/12/be-wary-of-results-of.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUyeSkyjubbUknGFusJ8_jfv79Ipyj1SRdti48TXoUYqj633iTSW7uQ7BhZUait-xNSyBc3ft9MuFcXgQtXklL4KkvPKQ0GFvmf6mWUISiXwzdnZ3SkpailTTa-klezGq2xqOtj8atnh8/s72-c/12-14-2012+15-15-26.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1136203510236851154.post-7126627309186841247</guid><pubDate>Thu, 26 Jul 2012 21:31:00 +0000</pubDate><atom:updated>2012-07-26T17:31:07.340-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">debugging</category><title>windbg - issues loading sos for .net framework v4</title><description>from &lt;a href=&quot;http://stackoverflow.com/questions/4373683/unable-to-load-sos-in-windbg&quot;&gt;stack overflow&lt;/a&gt;: &lt;br /&gt;
&quot;The CLR runtime dll was renamed to &lt;code&gt;clr.dll&lt;/code&gt; with .NET 4. So in order to load the correct version of SOS you need to adjust your &lt;code&gt;.loadby&lt;/code&gt; command. I.e.&lt;br /&gt;
&lt;pre class=&quot;default prettyprint&quot;&gt;&lt;code&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;loadby sos clr&quot;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;</description><link>http://bdemuth.blogspot.com/2012/07/windbg-issues-loading-sos-for-net.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1136203510236851154.post-2783057805062268430</guid><pubDate>Thu, 05 Apr 2012 18:01:00 +0000</pubDate><atom:updated>2012-04-05T14:01:11.382-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">sql</category><title>sql server best practices: disk configuration</title><description>&lt;ul&gt;
&lt;li&gt;store the data and the log on different physical drives&lt;/li&gt;
&lt;li&gt;use the appropriate RAID level depending on the importance of performance and redundancy&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;performance only - RAID 0&lt;/li&gt;
&lt;li&gt;redundancy only - RAID 1&lt;/li&gt;
&lt;li&gt;performance and redundancy - RAID 5 or RAID 10&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;place files on subsystem connected to different controllers&lt;/li&gt;
&lt;li&gt;mirror the transaction log&lt;/li&gt;
&lt;li&gt;mirror the master and model system databases&lt;/li&gt;
&lt;li&gt;stripe the tempdb database&lt;/li&gt;
&lt;li&gt;store the user database files on a different physical drive from the master , model and tempdb system databases&lt;/li&gt;
&lt;li&gt;monitor the default filegroup or allow for automatic growth&lt;/li&gt;
&lt;li&gt;RAID, SAN and NAS appear as driver letters&lt;/li&gt;
&lt;li&gt;use direct-connected hard drivers or SAN instead of NAS or network file shares&lt;/li&gt;
&lt;li&gt;use NTFS&lt;/li&gt;
&lt;/ul&gt;</description><link>http://bdemuth.blogspot.com/2012/04/sql-server-best-practices-disk.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1136203510236851154.post-3176133019210025316</guid><pubDate>Wed, 04 Apr 2012 19:34:00 +0000</pubDate><atom:updated>2012-04-04T15:40:08.537-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">humana festival</category><category domain="http://www.blogger.com/atom/ns#">theatre</category><title>humana fest 2012 review: the veri**on play</title><description>&lt;br /&gt;
&lt;u&gt;writer&lt;/u&gt;: lisa kron&lt;br /&gt;
&lt;u&gt;director&lt;/u&gt;: nicholas martin&lt;br /&gt;
&lt;u&gt;summary&lt;/u&gt;: jenni made a minor mistake three months ago on the payment of her cell phone bill and cannot get it resolved no matter how many times she speaks with customer service and is assured that it is taken care of. she eventually reaches the breaking point and joins a support group for others dealing with similar life-altering experiences with evil, incompetent customer service departments&lt;br /&gt;
&lt;u&gt;grade&lt;/u&gt;: B&lt;br /&gt;
&lt;u&gt;comments&lt;/u&gt;: basically a one hour and twenty minute bashing of the pathetic quality of modern customer service. &amp;nbsp;verizon wireless is the main focus of the insults and rants but shots are also fired at other companies and industries (anthem blue cross/blue shield, greyhound, credit agencies, mortgage brokers, etc.). the actors that played jenni and her sister did a very good job but i would not say the same about the rest of the crew. if you take it for what it is - a comedy dealing with modern day frustrations that mixes intelligent and funny dialog with over-the-top, intentionally dumb humor - you will probably enjoy it</description><link>http://bdemuth.blogspot.com/2012/04/humana-fest-2012-review-verion-play.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1136203510236851154.post-7129715946121781727</guid><pubDate>Wed, 04 Apr 2012 19:07:00 +0000</pubDate><atom:updated>2012-04-04T15:07:29.715-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">humana festival</category><category domain="http://www.blogger.com/atom/ns#">theatre</category><title>humana fest 2012 review: the hour of feeling</title><description>&lt;br /&gt;
&lt;u&gt;writer&lt;/u&gt;: mona mansour&lt;br /&gt;
&lt;u&gt;director&lt;/u&gt;: mark wing-davey&lt;br /&gt;
&lt;u&gt;summary&lt;/u&gt;: a young palestinian man (adham) who recently received his doctorate in english romantic poetry meets some bumpkin broad (abir), quickly marries her and then the couple moves to london where a prestigious university has asked him to give a lecture. &amp;nbsp;the lecture is a success but abir speaks no english and doesn&#39;t fit in well in the company of academia so their marriage struggles almost immediately. &amp;nbsp;war breaks out in the middle east and adham must choose whether to stay and pursue his career or return home with his wife&lt;br /&gt;
&lt;u&gt;grade&lt;/u&gt;: a-&lt;br /&gt;
&lt;u&gt;comments&lt;/u&gt;: i thought the play was engaging, very well written and did a good job of mixing in comedy with the drama. &amp;nbsp;i was very impressed with how the way the writer tied events from the beginning of the play and discussions of poetry between adham and his colleagues with the final scene&lt;br /&gt;</description><link>http://bdemuth.blogspot.com/2012/04/humana-fest-2012-review-hour-of-feeling.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1136203510236851154.post-8961381994543425975</guid><pubDate>Wed, 04 Apr 2012 19:04:00 +0000</pubDate><atom:updated>2012-04-04T15:04:55.755-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">humana festival</category><category domain="http://www.blogger.com/atom/ns#">theatre</category><title>humana festival of new america plays 2012 reviews</title><description>i saw six plays this year: &lt;i&gt;the hour of feeling&lt;/i&gt;, &lt;i&gt;death tax&lt;/i&gt;, &lt;i&gt;michael von siebenburg melts through the floorboards&lt;/i&gt;, &lt;i&gt;oh, gastronomy!&lt;/i&gt;,&lt;i&gt; the veri**on play&lt;/i&gt; and &lt;i&gt;how we got on&lt;/i&gt;. &amp;nbsp;overall i would consider this collection of plays the second best i&#39;ve seen in the four years that i&#39;ve attended the festival. &amp;nbsp;i was also happy to see such a wide variety topics in the plays as opposed to the last two years where the overriding theme was male homosexuality and each year it seemed like the directors and/or writers competed to see who could edgier starting with the abundance of live dude dick i saw two years ago and escalating to full-fledged cock-in-ass last year. &amp;nbsp;rather than reviewing every play in a single post, im going to write about each individually since i don&#39;t know how long it will take me to get through them all and i want to publish my thoughts on the ones that really stick out in my mind while the memory is fresh</description><link>http://bdemuth.blogspot.com/2012/04/humana-festival-of-new-america-plays.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1136203510236851154.post-2547977852988237290</guid><pubDate>Fri, 16 Mar 2012 18:13:00 +0000</pubDate><atom:updated>2012-03-16T14:21:30.923-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">jailbreak</category><title>how to fix screen shrinking problem on jailbroken iphone</title><description>&lt;span &gt;&lt;span style=&quot;font-size: 100%;&quot;&gt;there seems to be a bug in the absinthe jailbreak for iphone os 5.0.1.  occasionally when you open an app it will shrink into the upper-left corner of the screen.  i know of no permanent fix for this, but since it doesn&#39;t seem to happen very often, i figured out a way to temporarily fix this when it occurs:&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;span &gt;download sbsettings from cydia if you haven&#39;t already (note: if you can&#39;t get cydia to appear in a normal window, try rebooting until it does).  reboot/respring if necessary&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;swipe from left-to-right or right-to-left across the top of the screen to get the sbsettings menu to drop-down.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;click the power button&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;click &#39;safe mode&#39;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;when you reboot in safe mode, open an app.  it will either immediately open in a normal sized screen or appear shrunken again and then restore to normal size.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;click &#39;exit safe mode&#39; at the top of the screen&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;click to restart to return to normal mode and the problem should be fixed&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;span &gt;you&#39;re welcome, alyssa&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</description><link>http://bdemuth.blogspot.com/2012/03/how-to-fix-screen-shrinking-problem-on.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1136203510236851154.post-325111301457407307</guid><pubDate>Thu, 02 Feb 2012 20:13:00 +0000</pubDate><atom:updated>2012-02-02T15:22:18.228-05:00</atom:updated><title>untethered jailbreak for iPhone 4s</title><description>the wait is finally over - the chronic dev team released &lt;a href=&quot;http://greenpois0n.com/?p=173&quot;&gt;absinthe&lt;/a&gt; for Linux, Mac and Windows operating systems.  For Windows 7 users the process is very simple - download the application from the absinthe link, log in as the local administrator account (required - absinthe won&#39;t run if you are logged in as any other account, even if they belong to the local administrators group), plug in your phone and run the application.  make sure to disable the passcode lock on the phone if one is set and it is highly recommended to back up the device before you jailbreak it.  i have 15 GB of data on my phone and the whole process took ~5 mins</description><link>http://bdemuth.blogspot.com/2012/02/untethered-jailbreak-for-iphone-4s.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1136203510236851154.post-4409737362904090686</guid><pubDate>Wed, 20 Jul 2011 14:15:00 +0000</pubDate><atom:updated>2011-07-20T11:13:49.565-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">sql</category><title>sql server best practices: database creation</title><description>when you create a new database in with the default options, sql server creates two files, the data file and the log file, in a single filegroup called PRIMARY.  the files are created in the DATA sub-folder of the directory where you installed sql server unless you override the defaults (as you should).  the state of the PRIMARY filegroup determines the state of the database&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;why this is bad: by only having one data file, user databases are stored in the same location as system databases.  the majority of data changes occur in the the user databases.  if the drive fails in the middle of a write operation, your data file becomes corrupt and all databases within become unusable.  while having separate data files for your system and user databases avoids the previous situation, corruption to any file in the PRIMARY filegroup makes the database unusable.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;what to do instead: minimally, all new databases should be created with two filegroups, two data files and a log file.  the filegroups and the log file should all ideally be located on separate drives (which are hopefully RAID drives but more on best practices for RAID configurations for data log files in a future post).  place one data file in the PRIMARY filegroup.  this data file will contain the system databases and has a file extension of .mdf by convention.  place the other data file in the second file group.  this data file will contain user databases and has a file extension of .ndf by convention.  change the default filegroup from PRIMARY to the second filegroup so new objects are created in the .ndf data file.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</description><link>http://bdemuth.blogspot.com/2011/07/sql-server-best-practices-database.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1136203510236851154.post-4517951701036815385</guid><pubDate>Fri, 29 Apr 2011 13:36:00 +0000</pubDate><atom:updated>2011-04-29T10:18:28.189-04:00</atom:updated><title>how to make soap</title><description>disclaimer/warning - this soap is for clothing.  i have no idea what would happen if you put it on your person but i know what the individual ingredients do so i don&#39;t recommend it&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;granny&#39;s homemade soap&lt;/div&gt;&lt;div&gt;1 3/4 quart lard&lt;/div&gt;&lt;div&gt;1 quart water&lt;/div&gt;&lt;div&gt;1 can lye&lt;/div&gt;&lt;div&gt;1 cup ammonia&lt;/div&gt;&lt;div&gt;3 tablespoons borax&lt;/div&gt;&lt;div&gt;cooking pan (2 inch sides)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;dissolve borax in 1 cup boiling water&lt;/div&gt;&lt;div&gt;put lye in granite kettle and cover with water&lt;/div&gt;&lt;div&gt;allow to cool, then add the dissolved borax, lard and ammonia.  stir for five minutes&lt;/div&gt;&lt;div&gt;pour mixture into pan with two inch sides  and set in cool, dark place to harden&lt;/div&gt;&lt;div&gt;cut into bars and let sit for at least three weeks before using&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</description><link>http://bdemuth.blogspot.com/2011/04/how-to-make-soap.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1136203510236851154.post-5029316588053253286</guid><pubDate>Fri, 11 Mar 2011 20:28:00 +0000</pubDate><atom:updated>2012-05-23T11:49:46.431-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">sql</category><title>sql server best practices: tempdb</title><description>despite all of my lovely certifications and ten years of experience as the company dba, i am constantly faced with sql server performance issues (deadlocking more than anything else) that challenge or completely go against what i thought i knew about best practices.  today, i learned that the default settings for the tembdb system database are far from adequate; the settings need to be changed based on the server environment.  this is something that i&#39;ve known and preached about with user databases (optimal hard disk RAID configurations, separation of physical and log files, etc. -  i will cover this in another post), but i only really knew that the tempdb is recreated whenever the server is started and that the default size of the database files should be set large enough such that auto-growth never occurs.  the following are some things i didn&#39;t know:&lt;br /&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;the number of tempdb physical files should be equal to the number of processors or cores on the server.  as the name implies, the tempdb stores temporary information required by sql server to complete some operation such as intermediate result sets and temporary tables created in queries.  if there is only one tempdb data file, only one processor will be used to read and write information.  to make use of all of the available processors, create one physical file per processor and set them all to be the same size.&lt;/li&gt;
&lt;li&gt;since the tempdb is recreated every time the server starts, redundancy is pointless.  put the tempdb files on the fastest drives available&lt;/li&gt;
&lt;li&gt;auto-growth of the tempdb is bad for the same reasons that auto-growth is bad for user databases (file fragmentation, processing halts while the file grows, etc.) but, since the tempdb is constantly used for operations, the heinousness of auto-growth of the files grows exponentially with server load.  don&#39;t be stingy with the default size - allocate enough disk space to ensure that there will always be enough available without depending on growth&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;edit: divide the maximum amount of memory allocated to sql server (server properties -&amp;gt; memory) by the number of logical processors to get the recommended size of each tempdb physical file&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;div&gt;
edit: &lt;a href=&quot;http://blogs.msdn.com/b/sqlserverstorageengine/archive/2009/01/04/managing-tempdb-in-sql-server-tempdb-configuration.aspx&quot;&gt;great reference&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;</description><link>http://bdemuth.blogspot.com/2011/03/sql-server-best-practices-tempdb.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1136203510236851154.post-5927220724265774618</guid><pubDate>Thu, 12 Aug 2010 15:14:00 +0000</pubDate><atom:updated>2010-08-12T12:32:15.328-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">physics</category><title>understanding physics 01: derivation of fundamental linear motion equations (cont&#39;d)</title><description>i finally got around to doing some of the work this morning (note: since i don&#39;t know how to insert the integral symbol, i&#39;ll use an ampersand instead):&lt;div&gt;&lt;ul&gt;&lt;li&gt;v = &lt;i&gt;dx&lt;/i&gt;/&lt;i&gt;dt&lt;/i&gt;, v&lt;i&gt;dt&lt;/i&gt; = &lt;i&gt;dx&lt;/i&gt;, &amp;amp;v&lt;i&gt;dt&lt;/i&gt; = &amp;amp;&lt;i&gt;dx -&gt; &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-style: normal;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;/i&gt;&lt;u&gt;&lt;b&gt;&lt;i&gt;v&lt;/i&gt;t = x&lt;/b&gt;&lt;/u&gt;&lt;b&gt; &lt;/b&gt;(assuming x0 is zero, &lt;i&gt;v&lt;/i&gt; is avg velocity)&lt;/li&gt;&lt;li&gt;a = &lt;i&gt;dv&lt;/i&gt;/&lt;i&gt;dt&lt;/i&gt;, a&lt;i&gt;dt&lt;/i&gt; = &lt;i&gt;dv&lt;/i&gt;, &amp;amp;a&lt;i&gt;dt&lt;/i&gt; = &amp;amp;&lt;i&gt;dv&lt;/i&gt; -&gt;&lt;b&gt; &lt;/b&gt;&lt;u&gt;&lt;b&gt;at + v0 = v&lt;/b&gt;&lt;/u&gt;&lt;/li&gt;&lt;li&gt;distance (w/o vf): x2 - x1 = v2t - v1t, v2t = (1/2)at^2 -&gt; &lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal; &quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;u&gt;x2 = x1 -v1t + (1/2)at^2&lt;/u&gt;&lt;/b&gt;&lt;u&gt;&lt;/u&gt;&lt;/li&gt;&lt;li&gt;velocity (w/o t): x = &lt;i&gt;v&lt;/i&gt;t, &lt;i&gt;v&lt;/i&gt; = [(v + v1)/2], t = (v - v0)/a -&gt; x = [(v + v0)/2][(v - v0)/a] = [v^2 - (v)(v0) + (v)(v0) - v0^2]/2a = (v^2 - v0^2)/2a, 2ax = v^2 - v0^2, &lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal; &quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;u&gt;v^2 = v0^2 + 2ax&lt;/u&gt;&lt;/b&gt;&lt;u&gt;&lt;/u&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</description><link>http://bdemuth.blogspot.com/2010/08/understanding-physics-01-derivation-of_12.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1136203510236851154.post-4447171489002923544</guid><pubDate>Wed, 04 Aug 2010 16:54:00 +0000</pubDate><atom:updated>2010-08-04T13:25:45.763-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">physics</category><title>understanding physics 01: derivation of fundamental linear motion equations</title><description>i&#39;m tutoring someone in physics again and i was thinking about how to explain why conservation of energy is so fundamental in physics but specifically in classical mechanics while driving to work this morning.  one of the reasons i love physics more than other sciences is that it conceptual understanding doesn&#39;t require excessive blind memorization of symbols, constants, tables, taxonomic ranks, etc.  If you can remember Newton&#39;s laws, understand that energy is conserved, know how work relates to force, distance and direction, you pretty much just need two equations and basic calculus to solve any problem through intermediate mechanics: F=ma and v=dx/dt.  there are numerous equations you could memorize to solve problems involving linear and angular motion, but all of them are derived from v=dx/dt (i guess you also need to know that there are 2pi radians in a circle for angular motion problems).  i remember that at the start of every exam, i would derive the equations for distance, velocity, acceleration and time and, for whatever reason, this would always calm me down.  i&#39;ve decided to see if i can still do it and will post my notes when i finish or give up</description><link>http://bdemuth.blogspot.com/2010/08/understanding-physics-01-derivation-of.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1136203510236851154.post-2712908115591717007</guid><pubDate>Mon, 02 Aug 2010 14:11:00 +0000</pubDate><atom:updated>2010-08-02T12:28:20.847-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">iphone</category><category domain="http://www.blogger.com/atom/ns#">jailbreak</category><title>jailbreak the iphone 3GS OS 4.01</title><description>if you made the terrible, terrible mistake of upgrading your iphone 3GS to OS 4.0 before a jailbreak was released, the day of salvation has arrived.  an ingenious 17 year old has released the first OTA (over the air) jailbreak for the iphone which will finally give freedom back to the poor souls on OS 4.0.  backup your iphone and then open safari and navigate to http://jailbreakme.com.  note that it took me three tries before the download started so don&#39;t give up if it doesn&#39;t appear to work the first time.  a progress bar and status message will inform you when the download is complete and then once the jailbreak is complete and cydia is installed.  if you have not already done so, allow cydia to store your ECID</description><link>http://bdemuth.blogspot.com/2010/08/jailbreak-iphone-3gs-os-401.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1136203510236851154.post-3814190862962641652</guid><pubDate>Fri, 14 May 2010 19:32:00 +0000</pubDate><atom:updated>2010-08-02T12:28:20.848-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">iphone</category><category domain="http://www.blogger.com/atom/ns#">jailbreak</category><title>jailbreak the ipad or iphone 3G/S OS 3.1.3</title><description>&lt;div&gt;it is again possible to jailbreak your iphone if you made the mistake of upgrading the OS to 3.1.3 (or broke your phone and had to buy a new one that already had the damn thing on there).  &lt;a href=&quot;http://www.spiritjb.com/&quot;&gt;spirit&lt;/a&gt; is a small (4,464 KB), free application that jailbreaks your iphone with the click of one button in ~30 seconds including the reboot.  it will also jailbreak your ipad but i won&#39;t know the amount of time that it takes until mine arrives next week :) (edit: ipad jailbreak ~15 seconds)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;recommended applications once your device is free from the controlling, icy grips of apple:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;infinidock - dock as many applications as you please (well worth the $.99 cents)&lt;/li&gt;&lt;li&gt;five column springboard - five columns of apps on every screen instead of four (free) (edit: note - do not install this on an ipad.  it will add a fifth column but all of your icons will squish together)&lt;/li&gt;&lt;li&gt;sbsettings - bossprefs 2.0.  slide your finger across the top of the screen to access all of your phone information and change configure any setting you can imagine (free)&lt;/li&gt;&lt;li&gt;backgrounder - run applications in the background.  from experience, this is much more useful if you have a 3GS that can handle it (free)&lt;/li&gt;&lt;li&gt;mxtube - save youtube videos to your phone (free)&lt;/li&gt;&lt;li&gt;yourtube - like mxtube but integrated with existing youtube app ($2.00)&lt;/li&gt;&lt;li&gt;lockdock - launch applications from your lock screen ($2.00)&lt;/li&gt;&lt;li&gt;installous -don&#39;t feel like paying for that appstore application?  get it for free using installous (free)&lt;/li&gt;&lt;li&gt;appsync -include cracked applications when you backup/restore your iphone (free)&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;the latter two apps require you to first add the &lt;a href=&quot;http://hackulo.us/&quot;&gt;hackulo&lt;/a&gt; repository (from cydia: manage -&gt; sources -&gt; edit -&gt; add, enter cydia.hackulo.us and click &#39;add source&#39;)&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;all thanks to &lt;a href=&quot;http://twitter.com/Lavarsicious&quot;&gt;@Lavarsicious&lt;/a&gt; for this information</description><link>http://bdemuth.blogspot.com/2010/05/jailbreak-ipad-or-iphone-3gs-os-313.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1136203510236851154.post-8313532131413157908</guid><pubDate>Wed, 01 Jul 2009 16:10:00 +0000</pubDate><atom:updated>2010-08-02T12:28:20.848-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">iphone</category><category domain="http://www.blogger.com/atom/ns#">jailbreak</category><title>jailbreak the iphone 3G OS 3.0</title><description>jailbreaking an iphone is a process that allows you to install applications without having apple approve them first - it&#39;s your phone, you should be able to put whatever you want on it.  having said that, the freedom you gain by jailbreaking comes at the cost of being kicked out of the nest and out from under the protective wing of apple.  i don&#39;t know but doubt there are possible legal ramifications for jailbreaking but i can guarantee that shiny icare protection plan you bought isn&#39;t worth the cardboard it came in if you send in a hacked phone and ask apple to please fix the booboo.  get the facts, weigh the pros and cons and know why you are doing this before you start.&lt;br /&gt;&lt;br /&gt;...or you could be reckless and cavalier like me and just do it because it sounds cool&lt;br /&gt;&lt;br /&gt;i used the information found &lt;a href=&quot;http://www.readwriteweb.com/archives/how_to_jailbreak_your_iphone_to_os_30.php&quot;&gt;here&lt;/a&gt; as a guide and highly recommend it; however, if you understand what you&#39;re about to do and/or you&#39;ve been reading about the experiences of others, you should realize that jailbreaking doesn&#39;t always go as planned.  i you didn&#39;t realize that, you should and you do now, but you should also realize that as long as you don&#39;t freak out or at least refrain from physically stopping the process (e.g. disconnecting the pc power cord or turning off your laptop, disconnecting the phone from the pc, formatting your hard drive during the jailbreak, etc.), at worst you should have your phone back to where it was before you started toying with it in an hour or two.  here is my interpretation of the information presented in the link above and how i&#39;d walk someone through the jailbreak (draft one since work is calling):&lt;br /&gt;&lt;ol&gt;&lt;li&gt;connect your iphone to your pc and allow it to fully synchronize.  this gives you a point-in-time backup of your phone and later allows you to automatically recover all of your apps/contacts/settings/etc. and keep the jailbreak.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-6578.20090617.VfgtU/iPhone1,2_3.0_7A341_Restore.ipsw&quot;&gt;download&lt;/a&gt; the 3.0 installation package manually.  you will have one locally if you upgraded to 3.0 through iTunes, but i was unable to get through the first reboot of the jailbreak using this file.&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://blog.iphone-dev.org/post/126908912/redsn0w-in-june&quot;&gt;download&lt;/a&gt; and extract redsn0w (i&#39;d do as they say and use the torrent they certify).  it doesn&#39;t matter where you place or what you name the folder that will contain the extracted files.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;run redsn0w and browse to and select the .ipsw file you downloaded.  i don&#39;t know if your phone has to be on and attached to your pc at this point but i would assume so since the application appears to verify that the OS version on your phone matches the one from the file.&lt;/li&gt;&lt;li&gt;(edit: i seem to have issues with redsn0w completing if my phone is password protected.  to be on the safe side, i would disable this feature before continuing) do as redsn0w says but don&#39;t freak out if you don&#39;t time something perfectly.  your phone will visibly react to both the initial two second hold of the power button and the following ten second hold of both the power button and the home button; however, it never took more than 13 seconds on the final step of holding just the power button for redsn0w to take over (the screen will flash and display an image and a message stating that installation started).  once you see this you can let go of the home button and let redsn0w do the work from there.&lt;/li&gt;&lt;li&gt;occupy yourself with something else for the next twenty or thirty minutes because the install takes time.  if you sit there and stare at it, you run the risk of worrying that it is taking too long and freaking out and doing something stupid and possibly dangerous to your phone.&lt;/li&gt;&lt;ul&gt;b. if the phone never comes back from rebooting (i.e. stays powered off), just cancel the jailbreak, detach the phone from the pc (probably optional) and turn it back on - you will see it is perfectly fine and looks exactly like it did before you initiated the jailbreak.&lt;/ul&gt;&lt;li&gt;once you can get back to your home screen, detach and then reattach your phone to the pc.  this will confuse itunes and it will ask you if it should treat the phone as new or if it should restore the phone from a backup.  select the backup you created in step 1. and continue.  this will likely take longer than the actual jailbreak but you are in the clear at this point.&lt;/li&gt;&lt;li&gt;after itunes finishes restoring the backup and synchronizing, you will have a phone that does everything you loved before but is no longer under the all-seeing eye of the apple gestapo.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;post any questions and i&#39;ll do my best to help as soon as i can</description><link>http://bdemuth.blogspot.com/2009/07/jailbreak-iphone-3g-os-30.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1136203510236851154.post-3757443795332224845</guid><pubDate>Fri, 25 Apr 2008 14:41:00 +0000</pubDate><atom:updated>2008-04-25T11:06:18.738-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">CONDG</category><title>CONDG Presentation</title><description>I&#39;m very grateful to all those who attended the presentation &lt;a href=&quot;http://pragma-tech.blogspot.com/&quot;&gt;Scott&lt;/a&gt; and I gave last night. I will be doing a screencast next week of the demo that I was unable to get to due to technical difficulties. I guess I need to clear up something that I said last night because I was asked about this more than anything else:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Johnny_Cash&quot;&gt;Johnny Cash&lt;/a&gt; was an immensely influential American singer and song writer and is probably the most recognized country musician of all time. His &#39;calling card&#39; and what most people associate with him was the dark clothing he wore, usually all black, hence the crack on myself before I gave my presentation</description><link>http://bdemuth.blogspot.com/2008/04/condg-presentation.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1136203510236851154.post-3153285491618517328</guid><pubDate>Tue, 15 Apr 2008 11:58:00 +0000</pubDate><atom:updated>2008-04-17T13:46:36.105-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">debugging</category><title>.NET Garbage Collection PopQuiz Quick Answers</title><description>all credit to &lt;a href=&quot;http://blogs.msdn.com/tess/&quot;&gt;Tess&lt;/a&gt; for this.&lt;br /&gt;&lt;br /&gt;the original quiz can be found &lt;a href=&quot;http://blogs.msdn.com/tess/archive/2007/04/02/net-garbage-collection-popquiz.aspx&quot;&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Tess&#39;s answers and further explanation can be found &lt;a href=&quot;http://blogs.msdn.com/tess/archive/2007/04/10/net-garbage-collector-popquiz-followup.aspx&quot;&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;1. How many GC threads do we have in a .NET process running the Server version of the GC on a dual-core machine?&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;A: server version = one thread per logical processor = two threads (four if hyper threaded)&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;2. What GC mode is used in the web development server (cassini) on a quad proc machine? Why? (you can choose from server, workstation or concurrent-workstation)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;A: cassini = windows forms app = user interaction = use concurrent-workstation&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;3. How many finalizer threads do we have in a .NET process running the Server version of the GC on a quad proc machine?&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;A: Tess states that the answer is one per process. further investigation only lead to more confusion - server version of GC on a quad proc machine means four GC threads (eight if hyper threaded). i believe the answer is either one or four/eight. i&#39;ll keep reading and update this when i find an explanation that makes sense to me&lt;br /&gt;&lt;br /&gt;UPDATE: the gentleman &lt;a href=&quot;http://pragma-tech.blogspot.com/&quot;&gt;walker&lt;/a&gt; looked into this and found that, at a given time, there is one per .NET process with a maximum equal to the sum of the number of worker process allocated to each application pool.  the process will only show up in taskman if the associated app pool/web site is in use&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;4. When is an object garbage collected?&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;A: when the object is no longer referenced and a GC occurs for the generation your object is in&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;5. What causes an object to move from Generation 0 to Generation 1 or to Generation 2?&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;A: the object is still referenced when a GC occurs for the generation the object is in&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;6. If you look at the GC sizes for Generation 0, 1 and 2 in perfmon, why is most of the memory in the process in Gen 2?&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;A: gen 0 and gen 1 have small sizes (though these sizes are not fixed); gen 2 does not. since GC occurs when gen 0 and gen 1 are nearly &#39;full&#39;, referenced objects will eventually end up in gen 2 where they will remain for the remainder of their life (i.e. until they are no longer referenced and eventually cleaned up)&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;7. How many heaps will you have at startup on a 4 proc machine running the server GC? How many would you have if the same machine was running the workstation GC? Will the memory used for these show up in private bytes or virtual bytes in perfmon or both?&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;A: one small object heap and one large object heap per logical processor for server GC; one small object heap and one large object heap in workstation GC. as far as the memory part of the question, this is how i understand it - virtual bytes corresponds to memory reserved by a process, whereas private bytes is the memory actually being used by the process. if all goes smoothly, the graphs for these will follow each other which means the process is allocating memory correctly. at startup, virtual bytes may be a lot larger than private because the reserved memory hasn&#39;t been used it, but private bytes should eventually catch up to an extent and both should smooth out in perfmon&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;8. (Leading question:)) Is the fact that you have mscorwks.dll loaded in the process in 2.0 an indication of that you are running the workstation version of the GC?&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;A: no; in 2.0, both the server and workstation versions of the GC reside in mscorwks.dll&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;9. Can you manually switch GC modes for a process? If so, how and under what circumstances?&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;A: the answer is &quot;yes, but...&quot;. i&#39;ll leave Tess to explain the restrictions:&lt;br /&gt;&lt;br /&gt;a) you can not run the server version on a single proc box, it will default to workstation&lt;br /&gt;&lt;br /&gt;b) you can not run concurrent while also running server&lt;br /&gt;&lt;br /&gt;c) if the runtime is hosted, the hosts GC mode will override the configuration&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;10. Name at least 2 ways to make objects survive GC collections unnecessarily.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;A: create an unnecessary finalize method. create a objects within a method and then have the method perform some action for a long time, preferably one that causes memory pressure which will trigger a GC and the referenced objects will not be collected&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;11. Can a .NET application have a *real* memory leak? In the C++ sense where we allocate a chunk of memory and throw away the handle/pointer to it?&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;A: not in the C++ sense, but leaking memory is quite possible. see Tess lab 6 (which was also covered in my presentation)&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;12. Why is it important to close database connections and dispose of objects? Doesn&#39;t the GC take care of that for me? &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;A: disposing the objects releases their resources and makes them available for GC immediately (note: calling dispose on an object does not trigger a GC)&lt;/strong&gt;</description><link>http://bdemuth.blogspot.com/2008/04/net-garbage-collection-popquiz-quick.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1136203510236851154.post-2615755856676788614</guid><pubDate>Wed, 12 Mar 2008 18:43:00 +0000</pubDate><atom:updated>2010-08-02T12:28:05.715-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">drm</category><category domain="http://www.blogger.com/atom/ns#">iphone</category><title>iTunes and QTFairUse</title><description>if you&#39;re like me and simply prefer the .m4a file extension to the .m4p file extension that hangs from the end of files newly purchased from iTunes, you probably use either QTFairUse (QT) or myFairTunes. to continue to purchase music from the iTunes store, i was forced to upgrade to at least version 7.4. i also noticed earlier that QT was no longer functioning correctly - it would just spit out the name of all the songs on my list preceded by the test &#39;could not play track&#39;. i figured an upgrade/reinstall wouldn&#39;t hurt and may actually solve both problems. the download page for the iTunes installer only allows you to download version 7.6; however, the latest version that QT 2.5 supports (despite the readme file saying that the max is 7.0.2) is 7.5. luckily, i always keep a local copy of the iTunes installer for the latest version supported by QT.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&amp;lttangent&amp;gt&lt;/em&gt;&lt;br /&gt;am i the only one to notice a strange correlation between the timing of QT supporting the most current version of iTunes and iTunes prompting me to upgrade to a newer version that contains just fuckloads of new features. ever wonder why iTunes seems to be the only product that doesn&#39;t come with a &#39;what&#39;s new&#39; document, or why you can&#39;t find any reference to this on their website? that&#39;s because, as far as i can tell, nothing new has been added since 6.0 - maybe even somewhere in the 5.x realm. why can&#39;t the assholes just admit that the only new feature is a new encryption key to keep the crackers (the computing type, not white people in general) off their tails for a few months?&lt;br /&gt;&lt;em&gt;&amp;lt/tangent&amp;gt&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;that was the background, here is the problem: i upgraded to 7.5 and was able to download my music, but QT kept saying it couldn&#39;t find my music library. i navigated to my music folder and found an assload of .itl and .xml files with &#39; - copy (n)&#39; and even some &#39; - copy (n) copy&#39; appended to the filename, where n went as high as five or six. i assumed these were created by QT since there is an option to backup the current library and this option is selected by default. what i couldn&#39;t find was the non-copied version of my library, which is what QT was looking for. i moved all of these .itl and .xml files to a backup folder thinking that iTunes would prompt me for the location of my library and i could just rename my latest copy to the default name and put it back in the original location and everyone would be happy. this didn&#39;t happen. iTunes instead created a new .itl and .xml file with &#39; - copy (x)&#39; (can&#39;t remember which it was) in the default location and the application came up with nothing in my music library.&lt;br /&gt;&lt;br /&gt;solution: close iTunes, then hold down shift and launch it again. it will prompt you to use an existing library or create a new one. at this point, you can copy one of the backups to the default location, give it the default library name, and you will have all your music back in your library and the ability to strip your songs of evil, evil copyright protection once again&lt;br /&gt;&lt;br /&gt;p.s if anyone needs either the installer for iTunes or QT, feel free to contact me.</description><link>http://bdemuth.blogspot.com/2008/03/itunes-and-qtfairuse.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1136203510236851154.post-5298111009490649006</guid><pubDate>Wed, 13 Feb 2008 15:26:00 +0000</pubDate><atom:updated>2008-02-13T10:57:02.502-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">physics</category><title>classical mechanics problem: box on an incline</title><description>for some reason i&#39;m in a physics mood so i thought i&#39;d share a classic problem that anyone that took elementary mechanics would come across at some point and how to solve it .&lt;br /&gt;&lt;br /&gt;Q: a box of mass m sits motionless on an incline. what is the maximum angle Θ of the incline before the box begins to slide down?&lt;br /&gt;&lt;br /&gt;A: all good little physics students know the first step is to draw a diagram and then add forces:&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixmwqrk2bpdp6bXj4nTZX8bWLGaqAG_aRZvaUc1tRMO9qghzuZFezw3Jy1vElNnrhz_Z7ZTEuKVI4cpmmsCrdwtGqMBRQ4fV5gLrF17XRHMOys356z0-7PK_p4cZBaEWmFAH_D9i2FwkY/s1600-h/physics_2.jpg&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5166488369660513602&quot; style=&quot;MARGIN: 0px 0px 10px 10px; CURSOR: hand&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixmwqrk2bpdp6bXj4nTZX8bWLGaqAG_aRZvaUc1tRMO9qghzuZFezw3Jy1vElNnrhz_Z7ZTEuKVI4cpmmsCrdwtGqMBRQ4fV5gLrF17XRHMOys356z0-7PK_p4cZBaEWmFAH_D9i2FwkY/s320/physics_2.jpg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;where Θ is the angle of the incline, μ is the coefficient of friction and N is the normal force&lt;br /&gt;&lt;br /&gt;now lets disect the horizontal and vertical forces on the box:&lt;br /&gt;&lt;br /&gt;ΣFx = horizontal component of gravity - friction = mgsin(Θ) - μN = 0 (box is stationary)&lt;br /&gt;&lt;br /&gt;-&gt; mgsin(Θ) = μN&lt;br /&gt;&lt;br /&gt;ΣFy = vertical component of gravity - normal force = mgcos(Θ) - N = 0 (box is stationary)&lt;br /&gt;&lt;br /&gt;-&gt; mgcos(Θ) = N&lt;br /&gt;&lt;br /&gt;we have two equations and three unknowns (Θ, μ, and N). the second equation gives us a N in terms of Θ, so let&#39;s plug it into the first equation and then solve for Θ:&lt;br /&gt;&lt;br /&gt;mgsin(Θ) = μ(mgcos(Θ))&lt;br /&gt;&lt;br /&gt;cancel out mg on both sides and get μ by itself:&lt;br /&gt;&lt;br /&gt;μ = sin(Θ)/cos(Θ) = tan(Θ)&lt;br /&gt;&lt;br /&gt;bring tan to the other side and we are done:&lt;br /&gt;&lt;br /&gt;Θ = arctan(μ)&lt;br /&gt;&lt;br /&gt;the solution tells us that the largest angle of incline before the box moves is dependent on the coefficient of friction of the incline.&lt;br /&gt;&lt;br /&gt;mercy i loves me some classic mechanics :)</description><link>http://bdemuth.blogspot.com/2008/02/classical-mechanics-problem-box-on.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixmwqrk2bpdp6bXj4nTZX8bWLGaqAG_aRZvaUc1tRMO9qghzuZFezw3Jy1vElNnrhz_Z7ZTEuKVI4cpmmsCrdwtGqMBRQ4fV5gLrF17XRHMOys356z0-7PK_p4cZBaEWmFAH_D9i2FwkY/s72-c/physics_2.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1136203510236851154.post-4318152000368958960</guid><pubDate>Wed, 13 Feb 2008 13:51:00 +0000</pubDate><atom:updated>2008-02-14T10:00:30.522-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">me</category><category domain="http://www.blogger.com/atom/ns#">rock band</category><category domain="http://www.blogger.com/atom/ns#">tdci</category><title>bubu made the rock band hall of fame</title><description>on a personal note, i would like to congratulate bubu on their induction into the rock band hall of fame. most of the credit goes to my singer, YEAHYEAH (who also happens to be the computing services/IT/network guy where i &lt;a href=&quot;http://www.tdci.com/&quot;&gt;work&lt;/a&gt;) and, or course, me, who is most proficient with the axe (both lead and bass) but is also more than competent with the sticks (drums) and has had to take that role when friends with no rhythm whatsoever come over and want to play. a special thanks goes to maneet and good sir thomas playing bass and lead guitar respectively for assisting YEAHYEAH and i on that fateful night. i&#39;d also like to thank diiiiiiiiiidddtttyy, good sir thomas, lonlon and YEAHYEAH for helping the band regain several hundred thousand fans that we lost when i had too much to drink and repeatedly played and failed the song &#39;gimme shelter&#39; by the stones (alcohol gives me sausage fingers). i&#39;d also like to thank &lt;a href=&quot;http://pulse.plaxo.com/pulse/profile/show/180389629708?pk=f84fc4f80cb831300aae3563fe5800e7eb14a7b7&quot;&gt;alex&lt;/a&gt; (who is a phenom with the sticks), &lt;a href=&quot;http://pulse.plaxo.com/pulse/profile/show/103080939906?pk=8bb78146baef31581eed8650f31b113bb53002dd&quot;&gt;tha dream&lt;/a&gt; (who really isn&#39;t that good with the sticks), &lt;a href=&quot;http://pragma-tech.blogspot.com/&quot;&gt;superman&lt;/a&gt;, and winnie (who recently became tha dream&#39;s wife), for their help along the way.&lt;br /&gt;&lt;br /&gt;come to think of it, all the above mentioned people with the exception of good sir and winnie work with YEAHYEAH and i. i think this is one of the reasons that i love where i work - i like to hang out with my coworkers, be it going out boating, going out to a bar, hanging out late at work late and discussing business over a beer or just having everyone come over for some rock band jam&#39;ins. at least half of tha dream&#39;s wedding last week was composed of coworkers. i genuinely consider these people friends and am eternally grateful that i work for a company that encourages this kind of environment.</description><link>http://bdemuth.blogspot.com/2008/02/bubu-made-rock-band-hall-of-fame.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1136203510236851154.post-4954867167456985792</guid><pubDate>Wed, 13 Feb 2008 13:29:00 +0000</pubDate><atom:updated>2008-02-13T08:50:35.624-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">sql</category><title>the effects of changing a machine&#39;s name on sql server</title><description>i decided to post about this because, i shit you not, every single member of our solution delivery department (aka our consultants) and a good number of our developers have approached me with issues after renaming their machine. one may be wondering why so many people are renaming their computer in the first place. simple - in my neck of the woods, we have several baseline virtual machine images built up for anyone to use. when someone begins using it, they typically give the &#39;computer&#39; a new name (especially if they want to join it to the domain). the problem is that sql server doesn&#39;t pick up on this and programs that try to connect to the server by referencing it by the new name (or new name\instance name) will get errors along the lines of &#39;the server could not be found in the sysservers list. try adding the server using sp_addlinkedserver&#39;. don&#39;t do that; it won&#39;t work. try running this command against the master database instead:&lt;br /&gt;&lt;br /&gt;SELECT @@servername&lt;br /&gt;&lt;br /&gt;it will probably return the name of the machine (\instance name) before you renamed it. the fix is this:&lt;br /&gt;&lt;br /&gt;sp_dropserver &#39;{oldname}&#39;&lt;br /&gt;&lt;br /&gt;where {oldname} is whatever was returned by your first query. after that, run this:&lt;br /&gt;&lt;br /&gt;sp_addserver &#39;{newname}(\instancename)&#39;, &#39;LOCAL&#39;&lt;br /&gt;&lt;br /&gt;obviously only include (\instancename) if it is a named instance of sql server. restart the sql server service, then re-run your original query and it should return the correct name (you will have to either open a new query editor or re-connect the query editor screen you originally used as restarting the service will cause a disconnect).</description><link>http://bdemuth.blogspot.com/2008/02/effects-of-changing-machines-name-on.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1136203510236851154.post-7639792187547204407</guid><pubDate>Tue, 12 Feb 2008 16:42:00 +0000</pubDate><atom:updated>2008-02-13T09:28:33.607-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">sql</category><title>damned system named constraints</title><description>problem: you need to write a script to alter or drop a column as part of a hotfix for your clients. this column was created with a default constraint, but this default constraint was not explicitly named, thus a system-generated name was given (which looks something like &#39;DF__(partialtablename)__(partialcolumnname)__(random numbers and letters)&#39; in SQL Server 2005). since the name of the constraint will be different on every client, you can&#39;t write a straight forward &#39;ALTER TABLE DROP CONSTRAINT &lt;name&gt;&#39; statement.&lt;br /&gt;&lt;br /&gt;solution: system tables aaaaaaaand ...&lt;br /&gt;&lt;br /&gt;dynamic sql!!! weeeeeeeeeeeeeeeee&lt;br /&gt;&lt;br /&gt;(i don&#39;t know why i got excited about something i genearlly preach against, but, as i&#39;ve said before, dynamic sql is a necessary evil and can be very useful)&lt;br /&gt;&lt;br /&gt;/*1. i think it is good practice to validate that something exists before dropping it (or does not exist before adding it). that way if a sql query that is part of a hotfix is accidentally run more than once, no errors should occur. this script simply checks to see if there is a constraint on a column named &#39;col_a&#39; in table_a:*/&lt;br /&gt;&lt;br /&gt;IF EXISTS (SELECT OBJECT_NAME(constid) FROM sysconstraints CN&lt;br /&gt;INNER JOIN syscolumns CO&lt;br /&gt;ON CN.id = OBJECT_ID(&#39;table_a&#39;) AND CO.id = CN.id AND&lt;br /&gt;CO.name = &#39;col_a&#39; AND CN.colid = CO.colorder)&lt;br /&gt;BEGIN&lt;br /&gt;&lt;br /&gt;/*2. the following sample then removes the constraint from the column:*/&lt;br /&gt;&lt;br /&gt;DECLARE @Sql AS NVARCHAR(2000)&lt;br /&gt;&lt;br /&gt;SELECT @Sql = &#39;ALTER TABLE table_a DROP CONSTRAINT &#39; + OBJECT_NAME(constid)&lt;br /&gt;FROM sysconstraints CN&lt;br /&gt;INNER JOIN syscolumns CO&lt;br /&gt;ON CN.id = OBJECT_ID(&#39;table_a&#39;) AND CO.id = CN.id AND&lt;br /&gt;CO.name = &#39;col_a&#39; AND CN.coldid = CO.colorder&lt;br /&gt;&lt;br /&gt;EXEC(@Sql)&lt;br /&gt;&lt;br /&gt;END&lt;br /&gt;&lt;br /&gt;/* to be extra safe, you may want to include the type of constraint you are dropping as part of the join. the type of constraint is contained in the pseudo-bit-mask value of the sysconstraints &#39;status&#39; column. as an example, a default constraint will have a status value of &#39;133141&#39; */</description><link>http://bdemuth.blogspot.com/2008/02/damn-system-named-constraints.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1136203510236851154.post-6686910597599733973</guid><pubDate>Tue, 29 Jan 2008 18:19:00 +0000</pubDate><atom:updated>2008-01-29T13:56:42.232-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">debugging</category><title>preserving the stack trace when handling exceptions</title><description>i just now stumbled across something that i didn&#39;t realize (though it makes sense) about the difference between throw and throw ex within a &lt;em&gt;try...catch...finally&lt;/em&gt; block and i thought i&#39;d share the wealth. i have the feeling this may be one of the &quot;holes&quot; in my coding knowledge/fundamentals that everyone else knows except for me since i was a &lt;a href=&quot;http://www.physics.ohio-state.edu/&quot;&gt;physics major&lt;/a&gt; and only took 16 hours worth of computer science back in college. if so, you can politely skip this post and be happy for me that i learned something valuable. if you think i&#39;m dumb for not knowing this, just know that i think you&#39;re dumb for not knowing that an operator that commutes with the Hamiltonian does not evolve with time. yeah, what now??&lt;br /&gt;&lt;br /&gt;here&#39;s the gist:&lt;br /&gt;&lt;b&gt;case i)&lt;/b&gt; if a method call within a &lt;em&gt;try...catch&lt;/em&gt; block results in an exception, calling &lt;em&gt;throw&lt;/em&gt;(with or without an exception instance) causes any code in the &lt;em&gt;...finally&lt;/em&gt; block to immediately execute and then execution continues on its jolly way up the call stack. if you want to log anything about the error, do so before calling &lt;em&gt;throw&lt;/em&gt;. furthermore, calling &lt;em&gt;throw&lt;/em&gt; by itself preserves the call stack, whereas calling &lt;em&gt;throw&lt;/em&gt; with an exception instance causes the stack trace to restart from the method that re-throws the exception and you lose whatever precious debugging information you had about what was going on before the call.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;case ii)&lt;/b&gt; if procedural code within a &lt;em&gt;try...catch&lt;/em&gt; block results in an exception, you lose the stack trace whether you &lt;em&gt;throw&lt;/em&gt; with an exception instance or without. you should log what you need to know about the error before you &lt;em&gt;throw&lt;/em&gt; as suggested in case i) and additionally log the stack trace.&lt;br /&gt;&lt;br /&gt;if you are truly masochistic/sadistic (not sure which but i&#39;d lean towards the former), you can follow what some bloke by the name of Chris Taylor outlines &lt;a href=&quot;http://dotnetjunkies.com/WebLog/chris.taylor/archive/2004/03/03/8353.aspx&quot;&gt;here&lt;/a&gt;</description><link>http://bdemuth.blogspot.com/2008/01/preserving-stack-trace-when-handling.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item></channel></rss>