Wednesday, May 6, 2015

I still wonder how come that after so many years of HTML existence there is no easy way to output date/time values in local time. What could be as simple as having an element like <localdatetime value="2015-05-06 10:39:00" format="hh:mm"/> to make sure that user sees the time in the local timezone? (the value as you may have already guessed comes as UTC date/time and the format allows to control which parts of date/time have to appear in the result)
The problem is that even in the simplest case of a static page that, for example, now and then has to display a maintenance warning like "due to maintenance works the site will be unavailable till 10:00 of local time" the developer must use javascript or something else to render the time correctly. That's quite annoying.

Tuesday, November 27, 2012

Win7 Russian - RunAs command not working with error 1332: No mapping between account names and security IDs was done.

Spent a half day to find the reason for the problem. I am running Windows 7 Professional Russian on my box. Yesterday I discovered that RunAs command was not working. Neither was the "Run as different user" shell menu command. In any case the error message was the same - "No mapping between account names and security IDs was done.". In the case of the RunAs command some extra info was displayed in the console. It was the ERROR_NONE_MAPPED 1332(0x534) error code.

I searched and read Google for many hours, tried different command line arguments, created a new user to test with, double-checked that seclogon (Secondary Logon or "Вторичный вход в систему" in Russian) service is up and running, looked through local security policies to find anything related, even ran a malware detection utility. No luck. I even went so far as creating a small C# snippet that tried to run a process with different credentials:
var pswd = new System.Security.SecureString();
foreach(char ch in "test123")
   pswd.AppendChar(ch);
var psi = new ProcessStartInfo { 
    UserName = @"my-pc/testuser", 
    Password = pswd, 
    FileName = @"c:\windows\system32\notepad.exe",
    WorkingDirectory = @"c:\",
    UseShellExecute = false
    };
Process.Start(psi);
It failed with exactly the same error.

Finally, desperate and disappointed of wasting so much time, I found the cause - the Control Panel/"Clock, Language, and Region"/"Region and Language"/"Administrative"/"Language for non-Unicode programs"/"Change system locale" was set to "English" and that totally broke the internal user account mappings for the underlying system call.
Here is the screenshot of where it is in Russian version of Win7:

Once I had changed the setting to "Russian" and restarted the box everything started to work as expected.

What can I say about that experience? Now I hate localized versions of Windows even more than before.

Monday, September 26, 2011

Java, GC - object layout thoughts

Just some very draft thoughts - would it be possible to approach some of well-known GC-related memory problems by simply separating structure and data? What I mean is navigational links of an object, i.e. references to other objects, can be kept aside of the flat data associated with the object. In that case structural part of all objects will constitute a smaller memory region compared to the one created by how it is done currently. This may probably improve the efficiency of GC since the collector would need to scan smaller memory spaces with closer reference locality.
The data region would likely need lighter collection algorithms than it currently does. However, a certain side-effect of the approach is that the run-time would have to do an extra navigation every time when a reference has to be resolved into the corresponding data.
UPD 2012-07-16 Here is another experimentally-proven approach which relies on separating of pointer and data values at a finer grain. The key idea is again in that the pointer-data separation allows for building very efficient garbage collection algorithms.

Wednesday, April 27, 2011

Win7 Calc is cool!

Having recently upgraded Vista to Win7 I didn't notice firstly that Calc.exe has been renovated significantly. Now there are four different calculator types - Standard, Scientific, Programmer, and Statistics. Plus there are new panels for unit conversion and date calculations.

Monday, April 18, 2011

Follow-up: Why I consider these features missing in Java

Some time ago I created a list of features I consider missing in the current Java implementation. As I recently realized it makes sense to provide reasoning for some of them to be in the list.

Friday, March 18, 2011

Eclipse CDT crashes on jdk1.6.0_23/24

Just came across a known bug with the latest JVM releases 1.6.0_23 or 24 - Eclipse CDT crashes on start-up. Solution is to add -XX:-UseCompressedOops in the eclipse.ini file.
Oracle tracks the problem in this record. According to it a fix will be delivered with 1.6.0_25.

Sunday, February 27, 2011

Oracle: PL/SQL vs Java - one unconventional question

All the time since the introduction of Java engine within Oracle RDBMS people have been wondering how performance of Java stored procedures compare to orthodox ones written in PL/SQL. There are lots of performance tests demonstrating where things stand. Surprise! I am not going to discuss it here. What I am really curious about is what we may expect in future. Might it happen that one day PL/SQL will be fully replaced with the Java engine?