What does it take to learn a second language?

Recently I watched a nice video on language learning (How to learn any language in six months by Chris Lonsdale) – man claims that you can start talking in a new language in 6 months if you approach this problem right. I would say that this is overly optimistic and he means just some good conversational level, not perfect fluency, as according to my knowledge once you past your teens your chances to achieve perfect fluency are slim (though I personally never equate negligible chances to the “loud” word impossible :) ).

Well, current research tells us that if you started learning new language as an adult (past your teens) then, even after investing loads of time and maybe also given some gift/predisposition to the language, you hardly achieve perfect fluency – as you most likely will be imperfect in terms of handling pronunciation and some other aspects of your non native language especially in stressful situations or when you tired. But anyway it’s not an excuse or reason for not striving to perfection.

As I did some clean up in my house I decided that it’s high time to get rid of all these English textbooks which I amassed while learning this language. So if you are more on a visual side of perception (i.e. prefer pictures to text) here is what it takes to master a language:


Though this doesn’t include university textbook and a couple of very early textbooks from classes I did afterwards (those not survived the time), class handouts, notebooks and, you know, it’s difficult to take a picture of all the work/cool time you had with these books :)

Anyway it’s high time to arrange English text books give away so that I can focus on French (so far I have only 3 books :) ) which I’m currently learning.

VMware Workstation “Not enough physical memory is available” Error (when you have plenty of memory)

Today after recurrence of losing all my favorites Microsoft IE (I suppose it has something to do with OneDrive/Synchronization options, though could be updates related) I went on updates spree instead of properly and systematically researching the problem (kind of most tempting way when dealing with technical issues).

After installing bunch of Windows Updates along with refresh of laptop hardware drivers and BIOS firmware I ended up with VMware throwing following error at me:


And this is for VM which is previously worked fine and having about 30 GB of free RAM. At www.petri.com you can find quite good discussion of possible reasons and ways of addressing this problem, and in my case it was because of KB2995388, so I fixed it by removing this optional update.

How to deal with: “File not found: -SnapshotXXX.vmsn” This file is required to power on this virtual machine error

Due to nature of my work I’m using loads of virtual machines, using mainly VMWare Worksation these days (though I hope to get back to Hyper-V once I start working on my Microsoft certification refresh). In most cases IT Pros use resource demanding VM just because it is often necessary to have whole enterprise technology stack in your lab apart from that particular software on which you happen to be focused at the moment.

So your virtual environment usually involves enterprise technology stack (directory services, sometimes utility services like DNS, DHCP; messaging, databases, web services), and more often than not you end up running rather huge VM as it is preferably to have all this in one VM for the sake of portability and convenience. Such “self-contained” VM is going to require large chunk of your drive space (think snapshots), and as you want performance you likely will try to fit this on SSD, which is great technology by itself but still constrained by its high cost per megabyte of space.

So having said that I barely able to fit about 4 such VMs on my 500 GB SSD, it allows me to have no more than 3 snapshots and recently after deleting number of prior snapshots on the fly in some unsystematic way to free up space for new snapshot I ended up in situation when my paused VM (without recent snapshot) started throwing me this error message upon attempt to start it:

“File not found: <machine>-SnapshotXXX.vmsn” This file is required to power on this virtual machine. If this file was moved, please provide its new location. Cancel/Browse

So rather silly (not googling / researching this properly) I decided to revert to some old snapshot which was way back in terms of where I stopped with things I worked on in this VM, expecting that this will bring my VM backs to life at least. This was big mistake as after reverting to some other snapshot error didn’t gone, it rather continued to ask me about this missing file.

In fact proper solution was to make new snapshot (theoretically it should not be large if your previous existing snapshot was recent) – then copy newly created snapshot file and rename it so that it named as the one about which error message is complaining. The main thing here is not to rush and revert to previous snapshot and use this technique so that you don’t lost your work in progress as I did.

How to: Refresh the User Manager Cache in K2 blackpearl

Each change in the configuration of user managers in K2 requires user cache refresh which can be done by executing following SQL script against K2 database:

UPDATE [K2HostServer].[Identity].[Identity]
SET [ExpireOn] = GETDATE()
,[Resolved] = 0
,[ContainersResolved] = 0
,[ContainersExpireOn] = GETDATE()
,[MembersResolved] = 0
,[MembersExpireOn] = GETDATE()




How to: Remotely enable inbound Remote Desktop rule in Windows Server 2008 R2 firewall

In situations when you unable to connect to remote WS 2008 box via RDS due to Windows Firewall being enabled without inbound RDS rule enabled you may try to enable required firewall rule remotely.

If PS on machine in question is configured for remoting you may open remote PS session on this machine, using following command:

enter-pssession -computername REMOTE_COMPUTER_NAME

If remote PS session opened successfully you may run both PS commands and regular CLI commands for remote machine there. To check inbound RDS rule for Windows firewall use:

netsh advfirewall firewall show rule name=”Remote Desktop (TCP-IN)”

If this role not enabled issue following command to enable it:

netsh advfirewall firewall set rule name=”Remote Desktop (TCP-IN)” new enable=yes

Starting with Windows Server 2012 you may control Windows Firewall with PS commandlets which is much more convenient and easier.