Tuesday, July 30, 2019

SQL Server database went to Recovery Pending State


My SQL server went to "Recovery Pending" state after I mistakenly enabled folder compression for the folder where the database files are residing.
To recover,

  1. Stop SQL services
  2. Disable folder compression in the folder where SQL database files are stored
  3. Start SQL services
  4. Execute below recovery steps if still having trouble to use the DB. in case the DB went to single user mode, just the last step from below is needed

ALTER DATABASE [SQL-DB-Name] SET EMERGENCY;
GO

ALTER DATABASE [SQL-DB-Name] set single_user
GO

DBCC CHECKDB ([SQL-DB-Name], REPAIR_ALLOW_DATA_LOSS) WITH ALL_ERRORMSGS;
GO

ALTER DATABASE [SQL-DB-Name] set multi_user
GO

Thursday, June 13, 2019

MS Office - Opening Word/Excel/PowerPoint file shows file is corrupt or problem with content message


You may get a file corrupt message trying to open a file in Microsoft Office (365) Word, Office Excel or Microsoft Power Point

You may also see
"PowerPoint found a problem with content in 'file'. PowerPoint can attempt to repair the presentation. If you trust the source of the presentation, click Repair."

 And clicking Repair, will give message "Sorry, PowerPoint can't read 'file'"


Alternatively, you may also get a message "The operating system is not presently configured to run this application."




To Solve:
  1. Check the file properties (Right click file and select Properties)
  2. If you see the Option Unblock, check it and click Apply
  3. Open again and see if the error goes away


If the error persist, we can use the Inbuilt Excel (or Word or PowerPoint) repair tool to try to fix

  1. Open new instance of Excel (or Word or PowerPoint) - do not double click the file you need to fix
  2. In the menu, select Open on left
  3. Select Browse



4. Locate the file that need to be fixed and single click to select it
5. Click the down arrow next to the Open Button
6. Select "Open and Repair"


7.  Select Repair


 8. Click Close

9. Open the file again

Wednesday, June 5, 2019

GameMaker Studio 1/2 - replace black bars with sprite

To replace the standard black bars on side, that appear if the room/view size do not match the device size (resolution), do below

  1. Create a sprite with an image that can be tiled. ex: spr_tile_bg
  2. Create a object and place in room
  3. The object created should have just one event, "Pre-Draw" with this line draw_sprite_tiled(spr_tile_bg, 0, 0, 0);

This will tile the image as a background across the entire screen

Sunday, April 14, 2019

Youtube not showing dropdown menu (where you can switch to dark mode, etc...)

To enable drop down on your name after you sign in (top, right), go to https://www.youtube.com/new and enable the new youtube experience

After the page loads, you can switch to dark theme etc


Wednesday, April 3, 2019

Query a XML string for a specific field value in oracle SQL



1
select extractvalue(XMLTYPE(inputxml), '/ROOT/DATA/ELEMENT') "Value" from MYTABLE 


Where inputxml is a varchar2 column (storing xml as a string)
if you are storing data in a Xml datatype, you can remove XMLTYPE() function call

Tuesday, April 2, 2019

How to debug an aspx file with Visual Studio in IIS, that is not part of a project (or catch website exceptions with Visual Studio)

You have a file in IIS, you want to debug/step through

Open new instance of Visual studio (you may want to run it as Administrator)
File -> Open -> Web Site
In the left side, select Local IIS
Expand and locate the IIS Website your aspx file is part of

Any exception on this site will be caught now by VS

Monday, March 11, 2019

Unity capture animation to sprites (with transparency)

  1. Create a new Scene
  2. In game tab, set the resolution to be the same as your captured sprites should be
  3. Drag your prefab or gameobject for animation into your scene and position it as you like
  4. Save below code as FrameDump.cs
  5. Drag the FrameDump.cs to camera object
  6. Set the "frame count" to number of frames to capture. For, example, if you have created an animation with Samples 60 and it runs for 1 minute, set this to 60. Open your animation on your animation tab in Unity to see this
  7. Run your new Scene in editor by clicking Play
  8. You can stop after the "frame count" counts down to 0
  9. The files are saved to c:\temp\cap


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEngine;

public class FrameDump: MonoBehaviour {
 string folder = "C:\\temp\\cap";
 [SerializeField]
 int frameCount = 60;
 int MAXFRAMES = 0;

 // Initialization
 void Start() {
  // delete folder (and anything inside it) if it exists
  if (System.IO.Directory.Exists(folder)) {
   System.IO.Directory.Delete(folder, true);
  }
  // create the folder for dumps
  System.IO.Directory.CreateDirectory(folder);
  MAXFRAMES = frameCount;

 }

 private void OnPostRender() {
  if (frameCount <= 0)
   return;
  string filename = string.Format("{0:000000}", (MAXFRAMES - frameCount));
  Debug.Log("File: " + filename);
  //Create a new texture with the width and height of the screen
  Texture2D texture = new Texture2D(Screen.width, Screen.height, TextureFormat.ARGB32, false);
  //Read the pixels in the Rect starting at 0,0 and ending at the screen's width and height
  texture.ReadPixels(new Rect(0, 0, Screen.width, Screen.height), 0, 0, false);
  texture.Apply();
  File.WriteAllBytes(folder + "\\" + filename + ".png", texture.EncodeToPNG());
  Destroy(texture);
  frameCount--;
 }
}


Turn on Windows 11 Fast Boot

If windows starting is slow, to enable windows 11 fast startup/boot,  Press Windows + R, type powercfg.cpl, and hit Enter.  This will direct...