-
Posts
3,659 -
Joined
-
Last visited
Content Type
Forums
News
20th
EduGeek EDIT Conference
Blogs
Everything posted by jinnantonnixx
-
Do you know what else sticks to itself? A deer.
-
It's a mongrel language, a mix of many languages over the years. https://en.wikipedia.org/wiki/History_of_English I have a fondness for old fashioned fonts, and If I may refer you to one of my more lowbrow posts, you'll be the better for it. http://www.edugeek.net/forums/jokes-interweb-things/79442-perils-medieval-fonts.html
-
Confusion between -ible and -able is understandible. Or should that be understandable? Do you know your -ibles from your -ables? | OxfordWords blog My rule of thumb is if the word is complete, use -able, otherwise -ible.
-
This perplexed me - 'flammable' vs 'inflammable'. Flammable vs. inflammable - Grammarist
-
I had some builders round to molish a wall.
-
You should be more spondent. I can think of many more words
-
This piece of literature turbs and gusts me: It had been a rough day, so when I walked into the party I was very chalant, despite my efforts to appear gruntled and consolate. I was furling my wieldy umbrella for the coat check when I saw her standing alone in a corner. She was a descript person, a woman in a state of total array. Her hair was kempt, her clothing shevelled, and she moved in a gainly way. I wanted desperately to meet her, but I knew I'd have to make bones about it since I was travelling cognito. Beknownst to me, the hostess, whom I could see both hide and hair of, was very proper, so it would be skin off my nose if anything bad happened. And even though I had only swerving loyalty to her, my manners couldn't be peccable. Only toward and heard-of behavior would do. Fortunately, the embarrassment that my maculate appearance might cause was evitable. There were two ways about it, but the chances that someone as flappable as I would be ept enough to become persona grata or a sung hero were slim. I was, after all, something to sneeze at, someone you could easily hold a candle to, someone who usually aroused bridled passion. So I decided not to risk it. But then, all at once, for some apparent reason, she looked in my direction and smiled in a way that I could make heads and tails of. I was plussed. It was concerting to see that she was communicado, and it nerved me that she was interested in a pareil like me, sight seen. Normally, I had a domitable spirit, but, being corrigible, I felt capacitated - as if this were something I was great shakes at - and forgot that I had succeeded in situations like this only a told number of times. So, after a terminable delay, I acted with mitigated gall and made my way through the ruly crowd with strong givings. Nevertheless, since this was all new hat to me and I had no time to prepare a promptu speech, I was petuous. Wanting to make only called-for remarks, I started talking about the hors d'oeuvres, trying to abuse her of the notion that I was sipid, and perhaps even bunk a few myths about myself. She responded well, and I was mayed that she considered me a savory character who was up to some good. She told me who she was. "What a perfect nomer," I said, advertently. The conversation become more and more choate, and we spoke at length to much avail. But I was defatigable, so I had to leave at a godly hour. I asked if she wanted to come with me. To my delight, she was committal. We left the party together and have been together ever since. I have given her my love, and she has requited it.
- 39 replies
-
- 15
-
-
Did it hit you or did it fly pasteurise?
-
A magician was walking down the street when he suddenly turned into a shop.
-
I have very little interest in cars, but Mrs Tonnixx owned a 1970s Datsun 280Z before she met me. Google it. I'm sure you'll find their looks most agreeable. She sold it for peanuts and the bloke who bought it said it was a cracker. I bet it was.
-
Good question. Let's ask an expert, Richard Feynman. The answer is not straightforward, and a new one is ripped for the interviewer by Mr Feynman. Watch: Richard Feynman on why he can't tell you how magnets work - ScienceAlert Back on topic, I find some magnets very attractive, but some repulsive. To me, they're poles apart.
-
Laplink. Serial comms all those un-networked IBM AT machines. Magic! A treasured collection of IBM PS/2 reference disks, for those essential tasks on a model 50 Z. Norton utilities (boxed, with a picture of a crossed-armed Peter Norton), including defrag to sooth your OCD.
-
Was down, back up now.
-
[sims] Database errors and slow performance
jinnantonnixx replied to NickDay85's topic in MIS Systems
@minimoo No, it's not the same fault. However, it might be a different symptom of the same problem - failure to allocate handle due to too many handles being in play, rather than failure to allocate free memory from the heap. Both of these might have their roots in the same underlying cause - failure to release resources (Windows form elements, amongst others). I've submitted a fault report concerning the memory leak, by the way. -
SQL diagnostic tool - Database Health Monitor
jinnantonnixx replied to gglidden's topic in MIS Systems
-
SQL diagnostic tool - Database Health Monitor
jinnantonnixx replied to gglidden's topic in MIS Systems
This looks like a very useful tool. Definitely useful to keep on eye on when the stats were updated. If I may inject a caveat; it's to watch for red herrings. The index highlighted with high fragmentation is very small. Only 498 pages, and each page is only 8k. This is likely to be held in memory and the fragmentation practically irrelevant. Once you're into many thousands of pages, it's a different story. Even if you defragmented it, it would soon split (at least 50% fragmentation) when a new entry is inserted as it's a clustered index. -
Nice pun, Hun.
-
I bought a Lenovo Tab 2 A8 for my Dad at Christmas. It was £79 in Argos. He's very pleased with it and it seems a very good tablet for the price.
-
Your best bet is a WinDbg session. You'll need to download WinDbg WinDBG - Install & Configure - Windows 10 Forums When you get the crash, open taskmanager. Right-click the Pulsar process, then choose Create Dump File. Make a note of where the dump has been saved. Start WinDbg, then File>Open Crash Dump file> open the DMP file you previously saved. In the little one-line command prompt of WinDbg, type this: .loadby sos clr then !analyze -v There's a good chance this will give you a clue what's going on.
-
Here's one of my amps. A rather nice 1974 Marhsall JMP Superlead with a flat 4x12 cab loaded with Celestion Greenbacks. Yes, it's purple. Did I say it was signed by Jim Marshall? My current selection of axes: L - R: A 1980s Yamaha acoustic, A Burns Brian May, a cheapo Les Paul copy (which plays quite nicely) and my favourite 1985 Japanese Fender.
-
As @matt40k says, you should spend some time configuring your server according to best practices. That entails getting the most out of your disk subsystem, putting the OS, data, log and tempdb files on separate LUNs/disks. Does your backup system actually work? The golden rule is: if you haven't proven your backups by successfully restoring to a different machine - and you can access your data - then all you have are 'alleged backups'. This should be your primary concern. Downtime is OK, data loss is not OK. The MDF and LDF files are the working, live database files. You should not consider them to be part of your backup. As for backing up the actual SIMS SQL server software, any good backup software would see these static files as unchanging and only copy them during a full backup.
-
Ian Murdock, Debian GNU/Linux Founder, Passed Away
-
This seems a better approach. Swedish teachers and students often talk about religion as something outdated and strange | EurekAlert! Science News
-
[sims] Database errors and slow performance
jinnantonnixx replied to NickDay85's topic in MIS Systems
@minimoo - I think you're on to something. Long post coming up but I think I've spotted where SIMS is leaking. We suspect that SIMS has a memory leak. One of our busy users suffers from regular crashes. I asked the school tech to send me the process dump files so I could take a look. Running the DMP files through DebugDiag shows that, in every case, the exception thrown is ‘System.OutOfMemoryException’ and the GC Heap usage was between 1.0GB and 1.5GB. This is suggesting a memory leak, so let’s try and sniff it out. To check, we run SIMS and attach Process Explorer to the Pulsar process. Try this for yourself to see if I’m correct. Keep an eye on the #GC Handles count (in the .NET Performance tab) and the Private Bytes (in the Performance Graph tab). Leave the dust settle and establish a baseline. Now just open and close the Student Details window repeatedly. Don't browse any students, just open and close the Student Details window. See what happens. The Private Bytes memory increases. As does the count of GC Handles. If you do this enough, SIMS will crash. Before it does, you can attach WinDbg debugger to the Pulsar process to check a few things. Look at the finaliser queue object list: !FinalizeQueue ... 67defec0 36717 440604 System.WeakReference 0d0ab68c 3931 455996 SIMS.UserInterfaces.UIMenuItem 1910f8a0 1490 464880 SIMS.UserInterfaces.MaintainedListView 653435c0 4053 470148 System.Windows.Forms.ToolTip 0cbc2ed8 2139 581808 SIMS.UserInterfaces.ComboBox 0d0ac924 6403 614688 NETXP.Controls.Bars.CommandBarButtonItem 0d9096ec 1888 641920 NETXP.Controls.Bars.FloatingForm 1c220bfc 1623 701136 SIMS.UserInterfaces.ListView 0d9020a4 1888 717440 NETXP.Controls.Bars.CommandBar 0d90003c 6425 873800 SIMS.UserInterfaces.Label 65354f40 28309 1585304 System.Windows.Forms.Control+ControlNativeWindow Total 177295 objects Even after a short period of opening and closing the pupil browse window, we see huge numbers of Windows form controls. This seems very odd - could be a garbage collection problem??? Let’s look at the method table (MT) for these form controls: !dumpheap -mt 65354f40 ... 4d8e6294 65354f40 56 4d8e63c4 65354f40 56 4d8e7568 65354f40 56 4d8e79ac 65354f40 56 4d8e8cb8 65354f40 56 4d8e8ef0 65354f40 56 4d8e91b0 65354f40 56 4d8e93d4 65354f40 56 ... There are thousands of objects matching this method table, but we’ll just consider one at random. We can identify what’s keeping this object alive by checking its roots: 0:014> !gcroot 4d8e7568 Thread fb0: *** WARNING: Unable to verify checksum for C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Windows.Forms\b51470d7e909c4fab01a25fd1e1c42dc\System.Windows.Forms.ni.dll 0014f05c 6531fe48 System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr, Int32, Int32) ebp+50: 0014f088 -> 05836f54 System.Windows.Forms.Application+ComponentManager -> 05836f98 System.Collections.Hashtable -> 05836fcc System.Collections.Hashtable+bucket[] -> 05836f88 System.Windows.Forms.Application+ComponentManager+ComponentHashtableEntry -> 04f82900 System.Windows.Forms.Application+ThreadContext -> 05083f14 System.Windows.Forms.ApplicationContext -> 05077078 SIMS.UserInterfaces.MainContainer -> 05078638 System.ComponentModel.EventHandlerList -> 057b9698 System.ComponentModel.EventHandlerList+ListEntry -> 05084cd8 System.ComponentModel.EventHandlerList+ListEntry -> 05084b4c System.ComponentModel.EventHandlerList+ListEntry -> 05083f48 System.ComponentModel.EventHandlerList+ListEntry -> 6faeb490 System.EventHandler -> 6faeb380 System.Object[] -> 4d901624 System.EventHandler -> 4d89899c System.Windows.Forms.ToolTip -> 4d898a10 System.Collections.Hashtable -> 4d8f0b20 System.Collections.Hashtable+bucket[] -> 4d895f0c SIMS.UserInterfaces.TextBox -> 4d896070 System.ComponentModel.EventHandlerList -> 4d9210dc System.ComponentModel.EventHandlerList+ListEntry -> 4d9180e8 System.ComponentModel.EventHandlerList+ListEntry -> 4d9180b4 System.ComponentModel.EventHandlerList+ListEntry -> 4d918080 System.ComponentModel.EventHandlerList+ListEntry -> 4d918060 System.EventHandler -> 4d8752c0 SIMS.UserInterfaces.EditStudent -> 4d878570 SIMS.UserInterfaces.LinkBar -> 4d90abe4 SIMS.UserInterfaces.LinkBarLinkLabels -> 4d90e984 System.Collections.Hashtable+bucket[] -> 4d90e934 SIMS.UserInterfaces.LinkBarLinkLabel -> 4d8e7440 SIMS.UserInterfaces.DynamicAttributeGroupBox -> 4d8e7568 System.Windows.Forms.Control+ControlNativeWindow Found 1 unique roots (run '!GCRoot -all' to see all roots). We can see that this object is a group box, created by the EditStudent routine in SIMS. OK, let’s pick another object at random of the same MT. !gcroot 4e38aaac Thread fb0: 0014f05c 6531fe48 System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr, Int32, Int32) ebp+50: 0014f088 -> 05836f54 System.Windows.Forms.Application+ComponentManager -> 05836f98 System.Collections.Hashtable -> 05836fcc System.Collections.Hashtable+bucket[] -> 05836f88 System.Windows.Forms.Application+ComponentManager+ComponentHashtableEntry -> 04f82900 System.Windows.Forms.Application+ThreadContext -> 05083f14 System.Windows.Forms.ApplicationContext -> 05077078 SIMS.UserInterfaces.MainContainer -> 05078638 System.ComponentModel.EventHandlerList -> 057b9698 System.ComponentModel.EventHandlerList+ListEntry -> 05084cd8 System.ComponentModel.EventHandlerList+ListEntry -> 05084b4c System.ComponentModel.EventHandlerList+ListEntry -> 05083f48 System.ComponentModel.EventHandlerList+ListEntry -> 6fcf393c System.EventHandler -> 6fcf372c System.Object[] -> 4e3da748 System.EventHandler -> 4e36a3c8 System.Windows.Forms.ToolTip -> 4e36a43c System.Collections.Hashtable -> 4e3c5460 System.Collections.Hashtable+bucket[] -> 4e367aac SIMS.UserInterfaces.Button -> 4e367ccc System.ComponentModel.EventHandlerList -> 4e401cbc System.ComponentModel.EventHandlerList+ListEntry -> 4e3f8d10 System.ComponentModel.EventHandlerList+ListEntry -> 4e3f8cdc System.ComponentModel.EventHandlerList+ListEntry -> 4e3f8ca8 System.ComponentModel.EventHandlerList+ListEntry -> 4e3c53e4 System.ComponentModel.EventHandlerList+ListEntry -> 4e3c53b0 System.ComponentModel.EventHandlerList+ListEntry -> 4e36d064 System.ComponentModel.EventHandlerList+ListEntry -> 4e36d044 System.EventHandler -> 4e3570b0 SIMS.UserInterfaces.AdditionalDetailsControl -> 4e357374 System.ComponentModel.EventHandlerList -> 4e40122c System.ComponentModel.EventHandlerList+ListEntry -> 4e3f6ca8 System.ComponentModel.EventHandlerList+ListEntry -> 4e3f6c74 System.ComponentModel.EventHandlerList+ListEntry -> 4e3f6c40 System.ComponentModel.EventHandlerList+ListEntry -> 4e3f6c20 System.EventHandler -> 4e347064 SIMS.UserInterfaces.EditStudent -> 4e3ef3b4 SIMS.UserInterfaces.UserInterfaceManager -> 4e3ef3cc SIMS.UserInterfaces.ISIMSControls -> 4e3f011c System.Object[] -> 4e380fcc SIMS.UserInterfaces.MaintainedListView -> 4e3e1cac SIMS.UserInterfaces.MaintainedListViewDisplayItemDelegate -> 4e37fbd4 SIMS.UserInterfaces.MedicalDetailsControl -> 4e38a944 SIMS.UserInterfaces.DocumentListControl -> 4e38aaac System.Windows.Forms.Control+ControlNativeWindow Found 1 unique roots (run '!GCRoot -all' to see all roots). Simailarly, this is another Windows control (a document list control) created by SIMS. But are these objects going to be released? Just to be sure, we go back to debugger and run SIMS for a while, just opening and closing the pupil browse window. After a while, we break into SIMS with the debugger, and check if these two objects are still here - yes they are, so they haven’t been collected by the DotNet garbage collector. What do we actually know? We can be sure that SIMS is not releasing memory when the Student Details window is closed. We lose about 10MB of memory every time this happens. The memory used by the form objects is not being released. We can also see the inexorable rise in the handle count. For our busy users, we see that their machines crash. From analysing process dump files, we can see that the machines have run out of memory. There are no substantial contiguous segments of free memory left - a classic case of memory fragmentation. Normally this is resolved by the Finalizer (sic) thread. This runs in response to a garbage collection (GC) event. If you leave the machine untouched for hours, the GC doesn't run. The memory is never released. It's possible that the Dispose method is not freeing up all the objects created for the form. But as there are a humongous number of objects waiting to be finalised, it could be that the Finalizer thread is not being called.
