The Official Status Thread
-
@antiquarian said in The Official Status Thread:
@raceprouk said in The Official Status Thread:
Then again, this is Microsoft we're talking about here
...and standards are things that only happen to Microsoft's competitors.
Standards don't happen to ANY SQL vendors.
-
Status: A few years back, I noticed a patent deal between the just-purchased Nokia and Vuzix, involving waveguide lenses.
I had this feeling that I had discovered something amazing, the beginning of something I'd dreamed of.
Microsoft seems to have befriended Autodesk as well, convincing them to release some rather awesome drawing apps for Windows.
And then the announcement of Hololens came, and I was ecstatic: it was finally beginning. Okay, too pricey, but whatever, it was a start.
Then they announced that universal applications are just supported out of the box: very good news for me.
Then this year's Build announced controllers, and that VR and AR will share the same SDK, and the only real difference is what things are being superimposed over, and that the VR bit is just built into Windows now. That last bit came very quietly - I didn't even notice its arrival. They also announced their new design standards, which are very much in line with having MR devices in the mix.
This week, Microsoft announced that their friendship with Autodesk is going particularly well: Maya and 3ds Max rendering are now supported by Azure officially.
They've just been quietly building this project out since before the original Kinect. I seriously want to know where it's heading!
-
@weng
SELECT * FROM standards;
0 rows found.
-
@arantor said in The Official Status Thread:
@weng
SELECT * FROM standards;
0 rows found.
Isn't that:
Too many rows found. Please try again.
-
@arantor
I see your script started withUSE DATABASE [last_call_at_the_pub]
-
Status: Pondering what must be done in order to fix a mistake made at the beginning.
The person who created the Asp.Net-based user table decided that User IDs would be
NVARCHAR(128)
(because, you never know how many user id characters you need for a GUID I guess).Now that it's finally starting to cause issues (apparently Indexes can't exceed 900 bytes for the indexed column specification?), I'm looking to replace it with
CHAR(36)
(the apparent width of the GUIDs currently in the system) or maybe evenuniqueidentifier
, but I have NFC how that would affect the Asp.Net side of things so maybe not.If I did this, what would be the most effective method to smash through the hundred or so tables that foreign-key this column and fix this mess?
-
@tsaukpaetra
I mean, the bigger issue is that the ID is your clustering key. If you change the user table to PK UNCLUSTERED and set an identity INT to be your clustering key, you'll save a lot of width, get a much better performing clustering key, and keep your GUIDs for being FKs.(Though, if you're going to use an identity INT clustering key, you're even further ahead to get the FKs to refer to the identity INT key and change to that as a PK. But that's probably a bridge too far for a "simple" performance tuning)
Edit: As a note, though -- removing and recreating your clustering key is going to be hella lotta work for SQL to rebuild the table (twice) -- this isn't something to do hot in production.
-
@tsaukpaetra Map the foreign keys. Write or generate a script that:
- Takes a full DB lock (or at a minimum table locks on all affected tables)
- Drops all the constraints
- Alters all the tables
- Recreates all the constraints.
-
@weng said in The Official Status Thread:
@tsaukpaetra Map the foreign keys. Write or generate a script that:
- Takes a full DB lock (or at a minimum table locks on all affected tables)
- Drops all the constraints
- Alters all the tables
- Recreates all the constraints.
Yes, I know the steps, but... work....
@izzion said in The Official Status Thread:
@tsaukpaetra
I mean, the bigger issue is that the ID is your clustering key. If you change the user table to PK UNCLUSTERED and set an identity INT to be your clustering key, you'll save a lot of width, get a much better performing clustering key, and keep your GUIDs for being FKs.(Though, if you're going to use an identity INT clustering key, you're even further ahead to get the FKs to refer to the identity INT key and change to that as a PK. But that's probably a bridge too far for a "simple" performance tuning)
Edit: As a note, though -- removing and recreating your clustering key is going to be hella lotta work for SQL to rebuild the table (twice) -- this isn't something to do hot in production.
Hmm, point, but this is Asp.Net, I don't know if I can easily tell it "Well shucks, we're not using your GUIDs anymore. But it's fine, we got bigints for you instead!". And a lot of our obscurity apparently relies on the obnoxiousness of GUIDs...
Will definitely see about transparently moving the primary key to a normal IDENTITY column for this. This table overall is damn garish, the problem I'm currently trying to solve is the unnecessary overhead by the key's type (which forces all related tables to also use that if they want to be joinable).
-
@tsaukpaetra said in The Official Status Thread:
Hmm, point, but this is Asp.Net, I don't know if I can easily tell it "Well shucks, we're not using your GUIDs anymore. But it's fine, we got bigints for you instead!". And a lot of our obscurity apparently relies on the obnoxiousness of GUIDs...
Well, that's why I suggested keeping the GUID field as the PRIMARY KEY (which is simply a UNIQUE KEY that is non-nullable), and just recreating it as a NONCLUSTERED primary key, so that SQL isn't sorting the entire table by the GUID (and having to include the GUID as the row reference in any other nonclustered indexes you create).
Given the nature of the data in your user table, you're going to want a CLUSTERED index on it, for performance, but go ahead and create an IDENTITY INT (or BIGINT if 2 billion users isn't enough for you) and let that be the clustering key, since it's much narrower than a GUID and will be monotonically increasing, meaning SQL won't have to write 16KB worth of data every time you try to insert a row in the middle of the table.
-
Status: Wondering where the past six months have gone. Also not reading the 162 pages worth of Status Thread since then.
-
@izzion said in The Official Status Thread:
create an IDENTITY INT (or BIGINT if 2 billion users isn't enough for you) and let that be the clustering key,
So, wait, I can just ninja in an identity clustered key, but the primary key is something else?
I don't think I've ever thought to do that. Please wait while the explosions inside my mind subside...
-
@mott555 said in The Official Status Thread:
Status: Wondering where the past six months have gone. Also not reading the 162 pages worth of Status Thread since then.
Just set your page size higher, it should increase read performance.
-
@tsaukpaetra Ugh. The Likes Thread is alive again and I'm 4,000 posts behind. Why oh why did I create that monstrosity?
-
@mott555 said in The Official Status Thread:
The Likes Thread is alive again and I'm 4,000 posts behind.
That's nothing. I didn't visit that thread yet. When I do, I suspect I'll crash with the notifications
-
@tsaukpaetra
It requires creating your PRIMARY key in a specific way, to tell SQL it should not be the clustered key, but yes, you can do it:https://www.sqlskills.com/blogs/kimberly/guids-as-primary-keys-andor-the-clustering-key/
Edit: I had seen another post by the same blogger (via a SO link) specifying the actual syntax to do the NC PK, but I can't dredge it up again... my googlefu is weak today...
-
Status: FFS SSMS!
All I want to do is add a foreign key I forgot. Shouldn't be hard, but TIL the most effective way to do things is via text interface....
-
@tsaukpaetra said in The Official Status Thread:
via text interface....
I found out that apparently an inefficient query endpoint that just started getting used is causing us to exceed out Azure DTU limit of 5.
Apparently this would normally mean shit just runs slower, but in Visual Studio world it times out at the same rate as it would a local db, and obviously doesn't handle that very well...
-
Status: I've been waiting for days, but nothing is happening...
-
@tsaukpaetra said in The Official Status Thread:
Status: I've been waiting for days, but nothing is happening...
@tsaukpaetra said in The Official Status Thread:
Status: I've been waiting for days, but nothing is happening...
Crickets...
-
Status:
Just give up already!
-
-
Status: Apparently my 2015 tax return was wrong, missing earnings I guess, and whatever tax program had me claim stuff that I guess they thought was wrong.
So I owe $2k. I guess.
But according to the 7 page letter, the only method of payment is check or money order
Lets see if their website says otherwise...
-
@izzion said in The Official Status Thread:
Status: 10 level 70s in 3 days*
Why not level 80, and which profession did you double up on?
-
@tsaukpaetra said in The Official Status Thread:
their website says otherwise...
Oh for...
Well, lets see what their automated robots say when I call in...
-
@tsaukpaetra Huh. EFTPS doesn't have an option for the CP2000.
I included a check in my response. They got the response, but lost the check. I had to send another.
EDIT: Found it. Select "1040 US Individual Tax Return" and on the next page there's an option for "UnderReporter CP2000". But then you'll have EFTPS on you.
-
@greybeard said in The Official Status Thread:
@tsaukpaetra Huh. EFTPS doesn't have an option for the CP2000.
I included a check in my response. They got the response, but lost the check. I had to send another.
EDIT: Found it. Select "1040 US Individual Tax Return" and on the next page there's an option for "UnderReporter CP2000". But then you'll have EFTPS on you.
Oh shit. I selected the normal "Tax Return or Notice".
Looks like I'll be calling in regardless anyways.... :(
-
@tsaukpaetra I love how EFTPS is extra secure. You need a password and a PIN.
-
@tsaukpaetra said in The Official Status Thread:
Status: I've been waiting for days, but nothing is happening...
You're waiting for MS to implement a redirect?
-
@raceprouk said in The Official Status Thread:
You're waiting for MS to implement a redirect?
Their style is more to add a link to the top saying "this is outdated, click here for the current version" and have that link 404
-
@jaloopa said in The Official Status Thread:
@raceprouk said in The Official Status Thread:
You're waiting for MS to implement a redirect?
Their style is more to add a link to the top saying "this is outdated, click here for the current version" and have that link 404
Yeah, when I change the URL as directed, it just loops me back to that page. So helpful.
-
STATUS: Decided to give up on my virtualisation experiments for now and consider alternate solutions as performance ended up suffering once I tried moving out of testing. Dunno if it's because of my old hardware or because of the unavoidable performance penalties. Otoh, it's been a very good learning experience to work with so there's that!
Also, had some fun reinstalling Windows 10. It only managed to install 3 useless apps without my permission before I managed to disable that "feature", conveniently located deep in the registry. Also noticed that Candy Crush Soda Saga has been added to my Store account without my approval too. Seriously, why the fuck is that kind of retarded bullshit enabled by default and not easily disabled?
Next up: go back to planning for new computer(s) to replace my aging ones.
-
@tsaukpaetra said in The Official Status Thread:
Yeah, when I change the URL as directed, it just loops me back to that page. So helpful.
Much redirects. So helpful.
Wow!
-
@ben_lubar
It'll be 2 years before I can go to level 80. And they'll still have to reboot the servers once a day to prevent people from exploiting ways to avoid the 30 minute AFK kick.And I skipped CUL and FSH.
-
Status: Received a bug report about a booking voucher missing info. Diagnosed the issue as the person's printer converting red text to white. Now just waiting for the inevitable 'can you fix it?'.
The answer will of course be 'No'.
-
@raceprouk said in The Official Status Thread:
The answer will of course be 'No'.
Depends on them adding ink. Or mending the print head. (BTDT… )
-
@dkf Just two minor problems with that:
- The printer is black and white (or at least the scan i saw showing the voucher was black and white)
- The printer is in Poland, and I'm not
-
-
Status:
Goto(hangup,h,1); // 'h' extension from an included context doesn't work. Don't judge me.
-
Status: FUCK YOU GDI+ AND YOUR VAGEUBOOK ERRORS!
What do i have to do to satisfy1 you!?
[Reflection.Assembly]::LoadWithPartialName(“System.Windows.Forms”); $output= "output"; New-Item -ItemType Directory $output; foreach($tiff in Get-ChildItem -Recurse -Filter *.tiff ./input) { Write-Host $tiff.FullName $img = New-Object System.Drawing.Bitmap $tiff.FullName; $img.rotateflip("RotateNoneFlipNone") # Maybe i need to load the image fully? Write-Host "$output\$($tiff.Name).bmp" $img.Save("$output\$($tiff.Name).gif","GIF"); }; Get-Item -Path $output
Exception calling "Save" with "2" argument(s): "A generic error occurred in GDI+." At D:\MahProject\test.ps1:10 char:26 + $img.Save("$output\$($tiff.Name).gif","GIF"); + ~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : ExternalException
1: inb4 "Paging @Perverted_Vixen... "
-
@accalia said in The Official Status Thread:
What do i have to do to satisfy1 you!?
Paging @Per-
@accalia said in The Official Status Thread:
1: inb4 "Paging @Perverted_Vixen... "
-
Status: Enabled myself to upboat :D
a[component="post/upvote"] .fa.fa-chevron-up:before { content: '\f21a'; }
-
@accalia said in The Official Status Thread:
Status: FUCK YOU GDI+ AND YOUR VAGEUBOOK ERRORS!
What do i have to do to satisfy1 you!?
[Reflection.Assembly]::LoadWithPartialName(“System.Windows.Forms”); $output= "output"; New-Item -ItemType Directory $output; foreach($tiff in Get-ChildItem -Recurse -Filter *.tiff ./input) { Write-Host $tiff.FullName $img = New-Object System.Drawing.Bitmap $tiff.FullName; $img.rotateflip("RotateNoneFlipNone") # Maybe i need to load the image fully? Write-Host "$output\$($tiff.Name).bmp" $img.Save("$output\$($tiff.Name).gif","GIF"); }; Get-Item -Path $output
Exception calling "Save" with "2" argument(s): "A generic error occurred in GDI+." At D:\MahProject\test.ps1:10 char:26 + $img.Save("$output\$($tiff.Name).gif","GIF"); + ~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : ExternalException
1: inb4 "Paging @Perverted_Vixen... "
oh. you wanted a FULL path when i wanted to put it in a subdirectory..... YOU COULD HAVE SAID THAT WAS YOUR PROBLEM!
[Reflection.Assembly]::LoadWithPartialName(“System.Windows.Forms”); $output= "output"; $output = New-Item -ItemType Directory $output; foreach($tiff in Get-ChildItem -Recurse -Filter *.tif ./input) { $img = New-Object System.Drawing.Bitmap $tiff.FullName; $img.Save("$($output.FullName)\$($tiff.Name).gif", "GIF"); }; Get-Item -Path $output
-
Status: I've had the same desktop and laptop for the better part of a decade now. Finally going to upgrade/consolidate to an MSI GS43VR Pro laptop. It's amazing that a modern 14" laptop will be better for 4K gaming than my (admittedly old) watercooled overclocked desktop!
I'm going to replace the stupid 128 GB M.2 SATA drive with a 1 TB NVMe drive. Why anyone would put a SATA drive in a PCI Express-capable M.2 slot on a 2017 model year laptop is beyond me.
-
@mott555 said in The Official Status Thread:
Why anyone would put a SATA drive in a PCI Express-capable M.2 slot on a 2017 model year laptop is beyond me.
o/
i did that on my lenovo carbon x1 because i was going to reinstall Windows on receipt anyway and it was waaaaaaaay cheaper for me to buy a Samsung 960 evo 512GB and buy the laptop with a 128GB m.2 sata drive than it was to buy the laptop with the 512GB NVMe drive.
why? fuck if i know, but it saved me 250$ doing it this way around.
-
@accalia I'm going to swap the SSD myself because yeah it's cheaper. I'm just griping at the manufacturers. Don't ship a laptop with a 128 GB SATA drive in an M.2 slot. It'll bottleneck on the interface, it's so small it's useless, it's dumb and literally nobody in the world wants one.
-
Status: Scratching my head on how to make this lookup more efficient:
The orange one represents a query that looks like this:
(@p__linq__0 varchar(8000),@p__linq__1 nvarchar(4000))SELECT TOP (1) [Extent1].[SessionID] AS [SessionID], [Extent1].[AspNetUser] AS [AspNetUser], [Extent1].[Token] AS [Token], [Extent1].[Expires] AS [Expires], [Extent1].[Meta] AS [Meta] FROM [dbo].[AspNetSessions] AS [Extent1] WHERE ([Extent1].[Token] = @p__linq__0) AND ([Extent1].[AspNetUser] = @p__linq__1)
The blue one represents a query that looks like this:
(@p__linq__0 nvarchar(4000))SELECT [Extent1].[SessionID] AS [SessionID], [Extent1].[AspNetUser] AS [AspNetUser], [Extent1].[Token] AS [Token], [Extent1].[Expires] AS [Expires], [Extent1].[Meta] AS [Meta] FROM [dbo].[AspNetSessions] AS [Extent1] WHERE [Extent1].[AspNetUser] = @p__linq__0
Why is the second one so more computationally expensive?
-
@tsaukpaetra said in The Official Status Thread:
Why is the second one so more computationally expensive?
Getting all rows rather than top 1? How many is it?
-
@jaloopa said in The Official Status Thread:
@tsaukpaetra said in The Official Status Thread:
Why is the second one so more computationally expensive?
Getting all rows rather than top 1? How many is it?
Between 1 and maybe 10?
-
@mott555 said in The Official Status Thread:
Don't ship a laptop with a 128 GB SATA drive in an M.2 slot. It'll bottleneck on the interface, it's so small it's useless, it's dumb and literally nobody in the world wants one.
If the laptop also has space for a regular laptop drive, it could be an easy upgrade.
I've read some laptop reviews recently and one of the ones I looked at came with an empty M.2 slot and the OS pre-installed on a regular-sized spinning disk. The reviewer added an M.2 SSD and reinstalled the OS, which unsurprisingly improved the performance
, and then the boobs came out.