I’ve been using PHPUnit recently to test a Kohana application I’m developing as my last semester project for my bachelor’s degree.
At some point during the development, code coverage generation decided to stop working on my desktop (my remote CI still had no problem).
I started diagnosing the problem, being on Windows, I thought it could be due to the “poor job” I had done on installing php, pear and phpunit. I didn’t want to go through the trouble or reinstalling everything though and just did the minimum: uninstall and reinstall phpunit. No success at that point.
I decided to go back a week or two in my SVN revisions, have it generate code coverage and get to the point were code coverage generation would fail. Took around 2 SVN “update to” to get to that point. After that, I tried updating the tests, but the new tests were using new features. So I updated the code first, then started updating the test files one by one. After a couple of files, I hit an interesting message:
ErrorException [ 1 ]: Allowed memory size of 134217728 bytes exhausted (tried to allocate 543278 bytes) ~ C:\php\pear\Text\Template.php [ 134 ]
I never had that message show up before, which is kind of strange. I would have expected PHP to tell me that same message everytime it tried to generate the documentation but couldn’t…
So, quick fix was for me to edit my php.ini so that the memory_limit = 256M instead of 128M.
I was recently interested in getting C# objects to serialize into XML so that I could save and load a configuration out of a file. Sadly, C# support for XML and serialization is far from the best stuff I’ve seen in programming. But anyway, here’s what this post is about: using DataContract with a bit of extension magic to get anything to be serializable into XML!
One small problem when you use the Serializable attribute of C# is that you cannot serialize dictionary directly and we all know dictionaries are a VERY useful structure to have serialized. One easy way to have serializable dictionaries is to use the DataContract attribute instead. It implies a bit more code compared to the version where you use the Serializable attribute, but not that much more (mostly the WriteObject and ReadObject lines).
I haven’t coded any of this, so thanks to user
Loudenvier from
Stackoverflow.com! This solution allows you to turn ANY object into an XML string representation. It also allows you to turn that string back into an object representation. Very useful.
public static class SerializationExtensions
{
public static string Serialize<T>(this T obj)
{
var serializer = new DataContractSerializer(obj.GetType());
using (var writer = new StringWriter())
using (var stm = new XmlTextWriter(writer))
{
serializer.WriteObject(stm, obj);
return writer.ToString();
}
}
public static T Deserialize<T>(this string serialized)
{
var serializer = new DataContractSerializer(typeof(T));
using (var reader = new StringReader(serialized))
using (var stm = new XmlTextReader(reader))
{
return (T)serializer.ReadObject(stm);
}
}
}
How to use example
// dictionary to serialize to string
Dictionary<string, object> myDict = new Dictionary<string, object>();
// add items to the dictionary...
myDict.Add(...);
// serialization is straight-forward
string serialized = myDict.Serialize();
...
// deserialization is just as simple
Dictionary<string, object> myDictCopy = serialized.Deserialize<Dictionary<string,object>>();
Source:
http://www.stackoverflow.com
Since I’ve upgraded to Leopard, I couldn’t connect to my Windows network anymore. Browsing through various websites looking for answers, I tried pretty much all of them with no success. Not until I found
this page. Is explanation is pretty simple and indeed makes my shared network show up once again!
Here’s the explanation and instructions on how to fix it:
You have plenty of suggestions for fixing the Leopard Windows sharing issue, that I see are all a bit hit or miss. I think the reason for this is because a lot of the things people are trying are fixing the real root issue by accident.
The Leopard advanced network settings has a WINS tab, and in this there is a NETBIOS name field. This is auto-generated by Leopard - it looks like it uses the MAC address to generate it. However, if what is put in there is not compliant with the NETBIOS settings of the Windows network you are connected to, then browsing will not work, because the WINS server will not acknowledge the WINS requests coming from Leopard.
The actual NETBIOS name requirements supported vary depending on the flavour of OS running on the WINS servers on the network. I would suspect the best route to success is to use the most basic NETBIOS name requirements, back from the old Windows NT 4.0 days - stick in no more than an 8-character alphanumeric into the NETBIOS field, and all Windows browsing will be restored.
I had two Leopard machines, one which would browse and one which would not. The browsing one had an 8-character WINS setting, and the non- browsing one had a MAC address in the WINS field. Removing the MAC address and putting in a simple word in the WINS field IMMEDIATELY reinstated browsing.
If you’re having a hard time getting Boot Camp to correctly install Windows and you’re getting either a “disk error” or “hal.dll missing” error, here’s how to actually fix it.
First, you’ll have to restore your disk to a full Mac OS X partition.
Then, you’ll reformat it to be a Mac OS X partition and a Windows partition (using Boot Camp).
This is now the important step. You must write over the partition. So load up the Terminal and enter
sudo dd if=/dev/zero of=/dev/rdisk0s3 bs=1m count=100
Where rdisk0s3 is the disk where the Windows Partition is. To know the name of your Windows partition, you can go to the Disk Utility (Applications-Utilies) and look for a partition under your hard drive.
When that is done, you can restart your computer with your Windows CD and install it. Everything should be fine now.
PS. Use at your own risk. The command involve writting 0’s to your partition table, which might screw it up if done unproperly.
PPS. I cannot be held responsible for anything happening to you or your computer.
If you’ve been having some problems with your connection or especially with firefox, check if you have FasterFox. If you indeed do, please uninstall this crap. I was on dnsstuff.com and got blocked by one of their script telling me I had FasterFox (which in that case was true, even though I generally don’t install that thing). I was having a hard time loading pages for no reason but I had good internet download speed using FlashGet.
In the end, I removed FasterFox, restarted FireFox, everything is back fast and furious :).
If you’re having trouble with your DVD not being detected in Windows XP while being detected in the BIOS, this is THE solution you’ve been looking for.
This problem is generally caused by the Adaptec ASPI drivers needing to be updated. The best way to fix this problem is to download the latest Adaptec aspi_471a2 drivers. You can download them at
Softpedia.com.
Good luck!
“richtx32.ocx” is not an executable file and no registration helper is registered for this file type.
I had this thing always appearing while using my FTP software so I had to fix it. I looked all over the internet to find any possible fix but no one gave me the answer I was looking for. After a while I decided I would try to find out the latest version of this file and almost every place I went to, I found the version 6.0.88.4 which was the one not working for me. Then I went to
http://www.martin2k.co.uk/ and grabbed his Microsoft Rich Textbox Control 6.0 (SP4) (richtx32.ocx) which was version 6.0.88.77. By executing regsvr32 c:\windows\system32\RICHTX32.OCX on my winXP computer, the damn thing finally registered itself!