tag:blogger.com,1999:blog-11316318047386374952024-02-28T18:43:14.074-05:00A Mind in Transition. A Heart Open.Your presence here is welcome.Unknownnoreply@blogger.comBlogger289125tag:blogger.com,1999:blog-1131631804738637495.post-13339134374164773862023-12-27T12:15:00.001-05:002023-12-27T12:15:04.275-05:00HTTPS now enabled<p> This is a blog that I don't really update too often, but now that I'm bothering to do so, I'm alerting that HTTPS links are now enabled and likely required. This probably will break very old things, but hey, at least I'm <i>finally</i> bothering with https, and searching works accordingly.</p><p>Yay.</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1131631804738637495.post-13603852540250406562023-07-03T12:34:00.001-04:002023-07-03T12:34:59.833-04:00SQL Server 2014 installation issues on Windows 10, etc.<p> You're installing SQL Server 2014 (because it's the last 32-bit SQL)</p><p>You can't get SQL services to run and get an error like:</p><p>Operating system error 2(The system cannot find the file specified.) occurred while creating or opening file 'E:\sql12_main_t.obj.x86Release\sql\mkmastr\databases\mkmastr.proj\modellog.ldf'. Diagnose and correct the operating system error, and retry the operation.</p><p>This is firstly because of TLS 1.0 not being enabled because of security. And because of that, the installation of the instance goes awry.</p><p>Your options are to enable TLS 1.0 or upgrade SQL Server 2014 to a more recent cumulative update. (You'll still want to apply the latest cumulative update for SQL Server 2014 to enable TLS 1.2 support, or else you'll <i>have</i> to enable TLS 1.0 every reboot). You <i>don't </i> want to enable TLS 1.0 permanently as this is not secure for your system, and if it's enabled and in use, is as secure as plain text. </p><p>https://support.microsoft.com/en-us/topic/kb2936603-sql-server-2014-build-versions-6f75da99-d86f-53fa-23ce-3d2b4825eccb</p><p>Make sure to choose the SQL Server 2014 SP Cumulative Update for your environment. They are not interchangeable. They won't cross upgrade instances on different Service Packs. You must download and install each Cumulative Update (CU) for each SP instance. As it's a Cumulative Update, you can typically install the latest/most recent Cumulative Update for each Service Pack regardless of the current Cumulative Update installed. (Back up your system prior to applying any updates. Your data is your responsibility).</p><p>For information on enabling TLS 1.0 </p><p>https://learn.microsoft.com/en-us/windows-server/security/tls/tls-registry-settings?tabs=diffie-hellman</p>HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server<br />Enabled: 1<br /><br />HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client<div>Enabled: 1</div><div><br /></div><div>Just make sure TLS 1.0 is enabled prior to installing a fresh SQL Server 2014 instance. Once the CU has been applied, TLS 1.0 should no longer be necessary to enable for the instance to start after reboot.</div><div><div><span style="color: white;">gh</span></div><div><span style="color: white;"><br /></span></div></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1131631804738637495.post-37058224271997432232016-09-10T17:33:00.000-04:002016-09-10T17:33:04.246-04:00Alienware Alpha HiveMind Battle.net launcher fixHiveMind launcher Battle.net seems to keep asking for installation every time it's selected.<br />
<br />
There's a way to manually add a Battle.Net launcher that works:<br />
<br />
In the HiveMind interface, go to Programs<br />
<br />
Go to All Programs<br />
<br />
Click Add Program, Programs, Windows Application, Add Existing application<br />
<br />
If you're lucky, you can browse and find Battle.Net in the list (probably not), so<br />
<br />Select executable file<br />
<br />
Wherever Battle.Net is installed, likely:<br />
<br />
C:<br />
<br />
Program Files (x86)<br />
<br />
Battle.net<br />
<br />
Battle.net.exe<br />
<br />
Enable mouse/kb on load (up to you) I enabled<br />
<br />
Launch without Administrator privileges (up to you) I did this one because I don't want to be bothered with UAC.<br />
<br />
Do not start at boot (enabled)<br />
<br />
Would you like to save this launcher? [Yes]<br />
<br />
If you're in Mouse mode, you can B or right-click on the icon to swap these settings.<br />
<br />
This doesn't show up in "Games", but does show up in "Programs".<br />
<br />
However, you can Add to favorites with Right-Click or B<br />
<br />
In this way, pressing the right joystick (in joystick mode) will give you quick access to the Battle.net without having to find it in Games.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1131631804738637495.post-63132314219455407602014-12-29T11:33:00.000-05:002014-12-29T11:33:11.963-05:00Skylanders Trap Team - What I didn't know. What you should know.First: If you want the Kaos Trap, the way to be sure to get it is to buy the Winter Bundle pack if you can find it. At about $100 retail, it's a bit of a bite to take, especially if you've already spent for the "Starter Pack".<br />
<br />
This is not a review of the game play. In my opinion, it's really fun, and I like the physical interface with the game.<br />
<br />
What I didn't know:<br />
<br />
Elements: As you progress through the game, you'll be encountering certain areas where bonuses apply to attacks by Skylanders that match the battle zone element, or "trapped" Villains.<br />
<br />
Traps: These retail for about $6 each. Your starter pack likely comes with one Water Trap and one Life Trap. When you defeat a Villain, and you have a trap that matches the element of the Villain, you may temporarily use that Villain to do battle. If you complete the Villain's quest (the Villain must be trapped), the villain changes color and acquires a new attack/ability. Each trap can hold one villain at a time. Some strategies might be useful to swap between villains of the same element, so multiple traps of the same element may be desired. Most of the traps support swapping between 3-6 villains within the same element (one element per trap, one villain at a time per trap). Only when you're at the home stage, can you swap out villains within an element (the exception being an opportunity to swap a newly captured Villain within a currently occupied trap).<br />
<br />
Trap Masters: These retail for about $16 each and they are the only way to unlock certain areas with matching elements.<br />
<br />
Skylanders: These retail for about $10 each and each have its own attacks/abilities and element. These cannot open the locked areas, but they are useful for different attack reasons, including being the only practical way of continuing a battle as an "extra life".<br />
<br />
Availability of pieces:<br />
<br />
You'll find out that some traps in particular are harder to find at the store than others. At a local Wal-Mart, I found a bunch of water and life, some magic, a couple each of fire, earth, and tech, and no air. Also, no dark or undead unless purchased in the set. Certainly, no Kaos Trap on its own, but it was included in the Holiday Bundle.<br />
<br />
Likewise, a similarly sparse number of Trap Masters: Tech, Air, Fire, Water were available as stand alone, while Dark and Undead were available as add-ons (bundles).<br />
<br />
How much money will you eventually need to spend?<br />
<br />
It depends on if you want to be able to complete all goals or just play. There is plenty to do without needing to spend beyond the starter pack. Certain areas and quests just won't be able to be accomplished without the tools to unlock the quest or areas. The figures are very cool to play with and look at and are cross-platform between consoles. The character stats apply to the specific figure in use, so two of the same figures will have different stats.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1131631804738637495.post-43109911399576039692014-06-23T15:27:00.003-04:002014-06-23T15:27:58.344-04:00Move WSUS content to a UNC pathYes, it's possible to do this.<br />
<br />
It's fairly easy to do, doesn't require any weird mappings or software downloads, and best of all, it's not that hard.<br />
<br />
http://blogs.technet.com/b/sus/archive/2008/05/19/wsus-how-to-change-the-location-where-wsus-stores-updates-locally.aspx<br />
<br />
Yes, you absolutely can use a UNC path for destination of data.<br />
<br />
But .. you have one more step after the location is moved:<br />
<br />
Go to IIS Manager<br />
Your server,<br />
WSUS Administrator<br />
Content<br />
Basic settings (on the right)<br />
<br />
(See? The physical path is now the new UNC path but ...)<br />
Test Settings<br />
If you have green checks for both Authentication and Authorization, you're done.<br />
If not, close this<br />
Click Connect as ...<br />
Change to (*) Specific user<br />
Set the domain\username<br />
password<br />
password<br />
<br />
and test again. If both checks are now green, you're done. If not, figure out the credentials needed to connect to the UNC path. The only downside I've seen so far is that you *must* connect with a domain login.<br />
<br />
Your results may vary. Don't blindly trust things on the Internet from people you don't know. If you don't like this, don't do it :).Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1131631804738637495.post-78314860554124925932014-05-27T14:06:00.000-04:002014-05-27T14:06:56.493-04:00Bertrand's Box puzzleBasically, the puzzle is:<br />
You have three boxes, each with 2 coins:<br />
<br />
Gold/Gold<br />
Gold/Silver<br />
Silver/Silver<br />
<br />
Assuming you chose a Gold Coin first, what is the probability that the second coin is also Gold?<br />
The answer appears to be 1/2, but is actually 2/3<br />
<br />
How?<br />
<br />
After all of the machinations, the problem comes down to this: You have twice as much likelihood to choose Gold/Gold as you do Gold/Silver. (There are two gold vs one gold). And three boxes? Not relevant (if you look at it from the question after the first gold coin is pulled.) You have a 50/50 chance after a 3/4 chance of getting a gold coin.<br />
<br />
Or, another way to look at it: out of the three remaining coins that are possible, two of them are Gold.<br />
<br />
(Three coins? But only one box of two!)<br />
<br />
But not really: the coin you grabbed must be one of three available gold coins (out of 4 possible coins to pick). There are now two available gold coins in that original set (of 3 remaining coins) = 2/3.<br />
<br />
No, you don't go to 1/2 just because the box is chosen and there is one other coin left. Your original choice is one of 4 coins, three of which are Gold. Assuming that the first pick is gold (a 3 in 4 chance), there are now three coins that are left from what you could have chosen. Two of those are Gold. (2/3).<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1131631804738637495.post-59314104503970229252014-05-04T18:39:00.000-04:002014-05-04T22:50:21.721-04:002048<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2RamEnmX-PRG2t9gXdagKvO4Mh1q9nag3u5FlfcJJQl-22g1ofA3mFwbGNecwOa-g_XJa7kJi0-C1Aj22ehozg0LWnWrWZ6EPuTie7cvQOoINb6E9D2YhxIiD7oYojH2ozCj5O6u2JDA/s1600/2048x2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2RamEnmX-PRG2t9gXdagKvO4Mh1q9nag3u5FlfcJJQl-22g1ofA3mFwbGNecwOa-g_XJa7kJi0-C1Aj22ehozg0LWnWrWZ6EPuTie7cvQOoINb6E9D2YhxIiD7oYojH2ozCj5O6u2JDA/s1600/2048x2.png" height="320" width="234" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjj-uvSp5Al9U8uASmzoB9qPpvYdaH6oc1mMfw7AEecD8nEoWffRMfpwQapA7bm5_NLwDn25XA0j7DXN4ayC_SRA2IBzL2rsdyLwaSFtAC7JhtvFWGB5w14evvxxlwByCL7D6-0GV_BGWM/s1600/4096.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjj-uvSp5Al9U8uASmzoB9qPpvYdaH6oc1mMfw7AEecD8nEoWffRMfpwQapA7bm5_NLwDn25XA0j7DXN4ayC_SRA2IBzL2rsdyLwaSFtAC7JhtvFWGB5w14evvxxlwByCL7D6-0GV_BGWM/s1600/4096.png" height="320" width="239" /></a></div>
Play 2048 <a href="http://gabrielecirulli.github.io/2048/">here</a>.<br />
<br />
Another 4096 - same day (today).<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDDvayCbvKIqITKNYiS94vGe9_U5DPh-qSCGThvhHaqa5lo7NYt3q3c6e-YOM0fSnx3Hj_WCFXaPpv81AMGuFssQaDZHGNYyYtW2mienEJ4p3jwoVWSvq0jgGqLeb6B-jL9SzS971yoZo/s1600/2048x2b.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDDvayCbvKIqITKNYiS94vGe9_U5DPh-qSCGThvhHaqa5lo7NYt3q3c6e-YOM0fSnx3Hj_WCFXaPpv81AMGuFssQaDZHGNYyYtW2mienEJ4p3jwoVWSvq0jgGqLeb6B-jL9SzS971yoZo/s1600/2048x2b.png" height="320" width="254" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_Bd5b3OmB1ustJpS9L2Wp-eEuh7ABvlPkJcpC8JJygumuFYbNaXGbvCHEx1gybVmCLgl0uDjAzQ-F9yoGDt_LxlPErCXPIR8BvUFkIrfeFEiX7BphX83Gvc4LAH8TarU2H3gE28vmjR0/s1600/4096b.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_Bd5b3OmB1ustJpS9L2Wp-eEuh7ABvlPkJcpC8JJygumuFYbNaXGbvCHEx1gybVmCLgl0uDjAzQ-F9yoGDt_LxlPErCXPIR8BvUFkIrfeFEiX7BphX83Gvc4LAH8TarU2H3gE28vmjR0/s1600/4096b.png" height="320" width="243" /></a></div>
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1131631804738637495.post-68234780304010158792014-04-03T08:54:00.001-04:002014-04-03T08:54:57.823-04:00Reference/Dereference for languagesI get a bit confused on reference/dereference, etc... until I figured out an analogy that worked for my purposes.<br />
<br />
A ref/reference to an array, hash is where it is in memory. (use \ in perl to reference)<br />
Dereference is what the contents are.<br />
<a href="http://perldoc.perl.org/perlreftut.html">http://perldoc.perl.org/perlreftut.html</a><br />
<br />
In another environment, I've explained how, instead of automatically sending an attachment email, one should send a link to data, and not the data itself. "But why? Isn't that just another step for the end user?" Yes, but the key is ... it's cheaper for both parties to have knowledge of and access to where the attachment/data/array/hash is stored so it can be retrieved as often as necessary without having it take up space in email. "But the user has to click a link to download!" Yeah, but the user can do that when he's in a position to do that, and if you send *the link* again, the user won't have the [potentially large] attachment *again* in the inbox and the sender won't have the attachment *again* in Sent Items.<br />
<br />
So it is with programming. If you want to pass a variable's data to/as part of another variable, it's cheaper to point to the location of the data than to pass the entire structure of the contents of the variable.<br />
<br />
Think of it like symlinks or shortcuts to folders on another storage device. They are references to where data is stored, but you can make LOTS of symlinks, all having the same access to the same data, without duplicating the data.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1131631804738637495.post-60796172344948977212013-12-10T14:00:00.000-05:002013-12-10T14:00:16.618-05:00Combine wget plus git to reduce storage, maintain versions.Problem: You want to have backups of your huge website, but only new and changed, and yet have some way to recover any point in time restore of files. Meanwhile, you don't really want to have multiple entire site backups. Further, you only really have ftp access to download the website.<br />
<br />
Solution: So, here's what you can do...<br />
wget -r -N ftp://username:password@yoursite.com<br />
git add .<br />
git commit -m "daily backup"<br />
<br />
Basically, browse and no-clobber files (update if timestamp is newer) and then add and commit to a git repository.<br />
<br />
wget will only grab new files, git add will only add new files, and git commit stores the status of your folder structure with the new changes.<br />
<br />
git log will show you your transaction history and you can git checkout any previous backup.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1131631804738637495.post-56510805797115581162013-10-25T10:46:00.002-04:002013-10-25T10:46:41.218-04:00Here-doc literal @ (at symbol)So, you have a <a href="http://perl.about.com/od/perltutorials/qt/perlheredoc.htm">here-doc/heredoc</a> and need a literal @ at symbol for things like email addresses.<br />
Answer: Replace it with \100.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1131631804738637495.post-29726229539597856112013-10-11T20:02:00.002-04:002013-10-11T20:07:37.377-04:003CXPhone dial from web page<pre>Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\dial]
@="URL:Dial Protocol"
"EditFlags"="hex:02,00,00,00"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\dial\DefaultIcon]
@="C:\\Program Files (x86)\\Microsoft Lync\\Communicator.exe,0"
[HKEY_CLASSES_ROOT\dial\shell]
[HKEY_CLASSES_ROOT\dial\shell\open]
[HKEY_CLASSES_ROOT\dial\shell\open\command]
@="\"c:\\Program Files (x86)\\3CXPhone\\3CXPhone.exe\" %1"
</pre>
So, copy that, put it in a .reg file, import it.<br />
(NOTE THIS MODIFIES YOUR REGISTRY) Determine if you want to do this. <br />
Now, if you have a link that says:
<br />
<a href="dial:8005551212">8005551212</a><br />
<br />
3cxPhone will dial that link.<br />
<a href="dial:8005551212">8005551212</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1131631804738637495.post-10719047468995173412013-07-09T23:32:00.001-04:002013-07-09T23:32:38.062-04:00Network Choices WindowsWith Vista/Win7/8, you get the awful choice of Public/Work/Home for the *network* that you connect to.<br />
<br />
Unfortunately, this is easily confusing to people who read "Public/Work/Home" for the *computer* that they're using. As in, the first thing that one might think about re: "Public" is that they want their computer to be *Public* (See me!) rather than private (I want to be hidden).<br />
<br />
Frankly, I think this is a better question to ask... "You are on a new network. Do you want your computer to be Public (people can see and connect to your computer) or Private (people can't see your computer)." And that's about it.<br />
<br />
It takes the ambiguity away ... I realize this argument can be presented in the other manner, but I'm writing this from a perspective of working with people who honestly don't understand computers in the way that I do, and if I, the computer guy, can comprehend this confusion on the users' behalf, I don't think it's an unreasonable position to state. A user who doesn't know the difference between a network and a computer can't be asked what to do on their network.<br />
<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1131631804738637495.post-20962066277841398692013-05-07T13:13:00.001-04:002013-05-07T13:13:28.039-04:00Saturated Fat?NOTE: I AM NOT A NUTRITIONIST. Please consult people you trust about things related to your health.<br />
<br />
The common refrain: "This fat is bad for you because it's solid at room temperature".<br />
<br />
About this: If your body is room temperature, you don't really have to worry about the fat being solid in your system.<br />
<br />
Or, to put it another way: your body is probably going to like squishy things going through its system much better than things that dry it out. Squishy things are easier to push through than rough things and are easier to absorb nutrients from than fibrous items.<br />
<br />
Have you heard of saturated fat? What do you suppose the fat is saturated with? Could it possibly be things your body needs? "Cholesterol!!!" Yes, but your body needs cholesterol to actually build cells and think better.<br />
<br />
Why is juicing better than eating raw vegetables? Because it changes rough stuff to squishy stuff.<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1131631804738637495.post-15613086261079506732013-05-01T09:26:00.000-04:002013-07-01T08:44:13.170-04:00Solve AutoMySQLBackup warning mysql.eventFix for: -- Warning: Skipping the data of table mysql.event.
Specify the --events option explicitly.<br />
<br />
edit /usr/sbin/automysqlbackup (wherever your /etc/cron.daily/automysqlbackup points)<br />
find the OPT="--quote-names" line (about line 354)<br />
<br />
Change it to<br />
OPT="--quote-names --events --ignore-table=mysql.event"<br />
<br />
OR, (Based upon additional reading of responses):<br />
one of:<br />
OPT="--quote-names --events"<br />
<br />
OPT="--quote-names --ignore-table=mysql.event"<br />
<br />
The original line suppresses the warning and ignores the table (redundant).<br />
If you wish to have the table in your backup, don't ignore the table, just use --events<br />
If you don't care about the table, ignoring the table will also suppress the event message.<br />
<br />
What's optimal? Depends on if you use events and require them to be restored.<br />
<a href="http://dev.mysql.com/doc/refman/5.1/en/events-table.html">http://dev.mysql.com/doc/refman/5.1/en/events-table.html</a><br />
<br />
<br />
<br />
Reference: <a href="http://bugs.mysql.com/bug.php?id=68376">http://bugs.mysql.com/bug.php?id=68376</a><br />
<div class="MsoPlainText">
<o:p></o:p></div>
Unknownnoreply@blogger.com8tag:blogger.com,1999:blog-1131631804738637495.post-35847642225676863612013-04-26T09:51:00.000-04:002013-04-26T09:51:29.142-04:00Keep your vim plugins up to dateScenario:<br />
You go and download a plugin from a website but the website says, "Check GitHub for the most uptodate version."<br />
So you get the tarball or the file you need and all is good. If you're okay with this, stop reading. You don't need to know the rest.<br />
<br />
Method 1:<br />
cd ~/.vim<br />
mkdir gits<br />
cd gits<br />
git clone https://github.com/user/pluginname.git<br />
ln -s ~/.vim/gits/pluginname/plugin/something.vim ~/.vim/plugin/something.vim<br />
ln -s ~/.vim/gits/pluginname/doc/something.txt ~/.vim/doc/something.txt<br />
ln -s ~/.vim/gits/pluginname/autoload/something.vim ~/.vim/autoload/something.vim<br />
(if it exists -- editorconfig, for example)<br />
Check also for plugin/python folders for your plugins.<br />
<br />
Yes, I realize this is a bit more painful than just extract/install, but only slightly.<br />
Now, if you want the latest update from the plugin, you can<br />
cd ~/.vim/gits/pluginname/<br />
git pull<br />
<br />
Method 2:<br />
<br />
cd ~/.vim<br />
git init<br />
mkdir gits<br />
<br />
git submodule add https://github.com/user/pluginname.git gits/pluginname<br />
<br />
now do the linking.<br />
<br />
This second method allows you to version your changes across the entire .vim folder.<br />
<br />
You also can checkout specific branches of the plugin, etc.<br />
<div>
<br /></div>
<br />
<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1131631804738637495.post-83769952468293097132013-04-20T13:15:00.000-04:002013-04-20T13:16:27.180-04:00Git make "clean" pull request.Scenario: You've worked your tail off and *know* you're done with .. whatever you're working on, and can't be bothered to fixup/squash/commits properly to hide your work method to send upstream.<br />
<br />
you have the most recent git fetch from upstream and you're ready to do a pull request.<br />
<br />
git checkout upstream/master<br />
(you get a warning that you're in headless mode. In this case, great, let's do what it says:)<br />
<br />
git checkout -b mybranchforthispullrequest<br />
<br />
Now you're basically looking at plain upstream/master.<br />
<br />
you can either<br />
git merge mylocalworkingbranch (but this keeps the commit history)<br />
<br />
or, if you're *certain* you only want to add/replace files (hopefully, only add)<br />
git checkout mylocalworkingbranch myfileiwanttoadd.ext<br />
<br />
git add myfileiwanttoadd.ext<br />
<br />
git commit -m "Added myfileiwanttoadd.ext"<br />
<br />
and just send the branch to your origin or upstream<br />
git push origin mybranchforthispullrequest<br />
<br />
Optionally, go to github and do a pull request from mybranchforthispullrequest.<br />
<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1131631804738637495.post-61236556614748060382013-02-23T09:12:00.001-05:002013-02-26T10:22:47.487-05:00automysqlbackup error fixYou get this:<br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">mysqldump: Got error: 1142: SELECT,LOCK TABL command denied to user 'debian-sys-maint'@'localhost' for table 'cond_instances' when using LOCK TABLES</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;"><br /></span>
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">to fix it:</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">edit /etc/default/automysqlbackup</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">change the DNAMES line to this:</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;"><br /></span>
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;"><br /></span>
<br />
<pre>DBNAMES=`mysql --defaults-file=/etc/mysql/debian.cnf --execute="SHOW DATABASES" | awk '{print $1}' | grep -v ^Database$ | grep -v ^mysql$ | grep -v ^performance_schema$ | tr \\\r\\\n ,\ `</pre>
or, to be succinct:
add <br />
<pre> | grep -v ^performance_schema$ </pre>
into the list. If you're doing any different method of DBNAMES, just make sure to exclude performance_schema.<br />
<br />
<blockquote class="tr_bq">
Why is this happening?</blockquote>
automysqlbackup's default configuration attempts to lock tables before dumping. This error isn't specifically automysqlbackup's problem to fix, as much as it's a problem (or not) that performance_schema.cond_instances can't be locked [by debian-sys-maint] at the time of mysqldump, and mysqldump is what's throwing the error.<br />
<br />
<blockquote class="tr_bq">
Is it a problem of backing up or not backing up performance_schema?</blockquote>
I can't answer that for your situation, though if <a href="http://dev.mysql.com/doc/refman/5.6/en/performance-schema.html">you understand what the table does</a> and <a href="http://dev.mysql.com/doc/refman/5.6/en/performance-schema-quick-start.html">how to recreate it</a> you can be better informed about whether the backup is necessary to you. (hint: probably not unless corporately you need to keep all diagnostic logs on everything.) Also, this is not related to the other databases which actually hold your data and which you do want to back up.<br />
<blockquote class="tr_bq">
What does grep -v do?</blockquote>
It says, "don't include this in the list". Note, while you're here, that this also includes the "mysql" table. If you need to keep your users and permissions for disaster recovery reasons, you may wish to consider not excluding that table.<br />
<blockquote class="tr_bq">
What is "Database"? Why is that grep -v? I don't have a database called Database.</blockquote>
Database is the column title of the result of "SHOW DATABASES" SQL query.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1131631804738637495.post-53944546397366417752013-02-22T10:06:00.000-05:002013-02-23T09:30:29.591-05:00Ubuntu Waiting for network message on bootupSimple fix for this:<br />
edit /etc/network/interfaces<br />
make sure "auto" only points to network devices that actually will be and need to be on your network (for services) at boot time.<br />
<br />
For instance, wlan0 may *not* be online before your OS loads.<br />
<br />
Or, you might have other "auto" devices that obtain an ip address via DHCP. The failsafe allows sufficient time to get a DHCP address. You may decide whether you want to disable the failsafe or disable the auto, but note that some services depend on at least eth0 being "alive" before they start (or your eth<i>n</i> configured device).<br />
<br />
Since you're there, it's a good idea to check for legacy network devices you may have configured in the past and make sure they're not "auto".<br />
<br />
(If you're using DHCP and this configuration does not work for you, it's an issue with DHCP.)Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1131631804738637495.post-71747683017911535882013-01-18T14:39:00.003-05:002013-12-17T10:12:42.707-05:00git branch before pullThings are going well on your version of production/master and you'd like to pull the latest iteration. Oh, sure, you could tar your setup before doing that in case it breaks, but maybe you're stuck for time and too lazy. That's okay. Really it is. just<br />
git branch before-pull-todaysdate<br />
git pull<br />
<br />
PANIC! bad stuff, things crashing, etc... maybe that pull isn't nice.<br />
git checkout before-pull-todaysdate<br />
<br />
whew... sanity restored. ... OK, it's off hours and you really want to get back to the latest iteration. Managers aren't on your back and you can fix this.<br />
git checkout master<br />
<br />
errors, etc. but at least you're at the latest iteration.<br />
<br />
BETTER: don't pull. Just git fetch, then git merge when you're ready.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1131631804738637495.post-65164193560666170982013-01-14T09:46:00.000-05:002013-01-14T09:46:29.312-05:00git branch change oops wrong branchSpecific case:<br />
<br />
You're working on a feature but forgot to change branches. This feature is going to corrupt master, it seems, but you haven't committed yet.<br />
<br />
alternative to stash,<br />
git branch newbranchname<br />
git checkout newbranchname<br />
git add .<br />
git commit -m "I needed a branch for this before killing master"<br />
<br />
if you git checkout master, all these new previously uncommitted changes aren't there (whew) but git checkout newbranchname has the stuff you've been working on.<br />
<br />
when you're ready to put them back, just merge back to master.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1131631804738637495.post-82347464549773436972012-12-20T16:03:00.001-05:002012-12-20T16:03:12.388-05:00Vim search/replacesure, you know about s/foo/bar/ which replaces bar where foo exists.<br />
<br />
Let's say you want to find foo but only when it comes before bar, and you want to replace some but not all of it.<br />
<br />
s/\(foo\)bar/\1goo/<br />
Will replace foobar with foogoo<br />
will keep foodoo as is.<br />
<br />
You can use this to, for instance, insert something before a comma:<br />
s/\([a-z]\),/\1 = 0,/<br />
foo, is now foo = 0,<br />
or insert something between foo and bar<br />
s/\(foo\)\(bar\)/\1 nutty \2/<br />
changes foobar to foo nutty barUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-1131631804738637495.post-48020416657645100692012-12-01T11:14:00.003-05:002012-12-01T13:46:47.405-05:00Windows update error 80070005 quick resolutionIf you've been infected by malware that "hides everything", don't forget to unhide the folders under c:\windows\SoftwareDistribution\
<br />
open an administrative level command prompt
and type this:
<br />
cd \windows\SoftwareDistribution
<br />
attrib -r -s -h /s /d *.*
<br />
<br />
if you want to open the firehose (somewhat) safely, you might try this from c:\windows:<br />
attrib -r -h /s /d *.*<br />
<br />
You won't be able to unhide system files, but you will unhide everything that you otherwise have access to.<br />
<br />
(Be very certain you're in the SoftwareDistribution folder prior to runnning the attrib command line, otherwise you just unhid/unreadonly/unsystem the entire folder you're in.)
<br />
<br />
This should quickly fix the WindowsUpdate_80070005 error and allow you to download Windows Updates as well as Microsoft Security Essentials updates if you're encountering 0x80070005 error.<br />
<br />
There's no warranty about whether you try this stuff. It may make things work, but you should at least consider whether you're comfortable with this.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1131631804738637495.post-87096181694050002022012-11-15T14:00:00.000-05:002012-11-15T14:00:12.107-05:00Windows 7 NAS Shares can't connectThanks to this <a href="http://www.sevenforums.com/network-sharing/213344-samba-share-not-accessible-windows-7-client.html#post1794515">post</a>, I implemented a GPO that disabled the requirements of Microsoft signatures for network shares and the NAS (LaCIE, et al) I couldn't see from Windows 7 x64bit now could be seen (after reboot of workstation).<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1131631804738637495.post-54391037253236839852012-11-05T10:23:00.000-05:002012-11-05T10:23:06.823-05:00mysql cheat to check is numberIs that value a number or a string?<br />
<br />
select cast("2apple" AS UNSIGNED), cast("3 bananas" AS UNSIGNED), cast(0+ "4 cars" AS UNSIGNED), cast("100" AS UNSIGNED), cast("BAR" AS UNSIGNED), "5 bears" regexp "[A-Za-z]", "6" regexp "[A-Za-z]"<br />
<br />
Returns:<br />
<span style="display: block; overflow: hidden;">2, 3, 4, 100, 0, 1, 0</span><span style="display: block; overflow: hidden;"><br /></span><span style="display: block; overflow: hidden;">Summary: Best way to check if the value is (only) a number is to check if it doesn't contain letters (assuming that letters are adequate for this detection. If you're expecting symbols but no letters, you'll need to test for the symbols).</span><span style="display: block; overflow: hidden;">But, if you want to get the "Value" of the string (numbers before letters), CAST it as unsigned.</span><span style="display: block; overflow: hidden;">If you know there will *never* be numbers before characters, you can use the CAST and test if greater than zero.</span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1131631804738637495.post-51610878450313512462012-11-01T10:15:00.000-04:002012-11-01T10:15:24.181-04:00Linux log files various ways to loglet's say the application has a log output:<br />
Overwrite:<br />
wget -o logfilename.ext ...<br />
Append:<br />
wget -a logfilename.ext ...<br />
Overwrite with a date log:<br />
wget -o logfilename_`date +%Y-%m-%d`.ext ...<br />
This gives you a daily log output.<br />
<br />
Output goes to stdout:<br />
Overwrite:<br />
echo "something" > logfile<br />
Append: (creates if not exist)<br />
echo "something" >> logfile<br />
Daily log:<br />
echo "something" >> logfile_`date +%Y-%m-%d`<br />
<br />
Output (errors) goes to stderr<br />
include with your standard log:<br />
echo "something" > logfile 2>&1<br />
<br />Unknownnoreply@blogger.com0