Tuesday, May 24, 2011

CloudFoundry OpenSource PaaS

One of most promissing technology this year - one execution environment for different development frameworks (ruby, rails, spring and other JVM frameworks)

http://cloudfoundry.org/

Monday, June 28, 2010

Tuesday, May 25, 2010

Fetching Hardware ID UUID in Linux

Fetching UUID in linux can be done through dmidecode command:
dmidecode -s system-uuid

if the previous command is unsupported:
dmidecode -t system|grep UUID| awk '{print $2}'

Thursday, May 20, 2010

Android 2D development

Recently, I finished to develop 2D graphics application for android. I was surprised by powerful tools which SDK provides. The most noticable downside is that some exceptions aren't handled properly by OS and it results in more time to spend on trace/debug a source.
The profiler is pretty good and it allows to find what objects are mostly used and cache them in order to win more performance. If you are using the profiling tool don't forget to include SD card permissions in the application manifest.

Advantages:
Really liked multy-threading handling. Message object is very comfortable to use, because it contains an option to pass 2 arguments and one object so no need for extra code.

Tuesday, May 11, 2010

VMware Acquires GemStone For Building Cloud Computing Applications

Data availability across cluster
[InformationWeek] http://feeds.informationweek.com/click.phdo?i=5938291b7b048352551c51325bdf141e

[Android] 2D graphics

Recently, I've developed an application for android. Since, i used an emulator so at some point of time i have discovered that draw text on Arc/Cicrle is requiring a lot of CPU time. My solution was to cache everything on load.

Thursday, August 6, 2009

[APPV] Solving VFS sequencing problems by implementing directory link between virtualized directories and actual directories

Some applications have hardcoded paths which require special efforts for redirecting them to the proper location. There are cases, in which tools can’t be redirected to the new location and “Junction” utility from Microsoft (By Mark Russinovich) helps to solve it. “Junction” creates symbolic directory link from Virtual Application to the actual file system. By using it, the package creator won’t spend his time for looking and changing the hardcoded paths to the new location.

How it can be implemented

The method could be implemented by attaching script which will execute “junction.exe” with the required parameters within the virtualized application environment. For example: junction.exe c:\app q:\app, by executing this command all applications’ requests referring to c:\app will actually be forwarded to q:\app.

*Tested on XP

** The Author cannot and will not be liable for any loss or damage arising from this article

*** "Junction.exe" http://technet.microsoft.com/en-us/sysinternals/bb896768.aspx

Boris Mikhailovski

IT Architect @SAP Israel

Sunday, June 28, 2009

Changing the managing server destination for Med-V Client (Formerly Kidaro)

Recently, i've installed MedV and pointed it to my old server. It doesn't trivial to change url to the new server, but i was lucky enough. By having AppV experience, i located the profile's file and it's located at %USERPROFILE%\Local Settings\Application Data\MED-V\Profile
The filename is ProfileInfo.xml

The defaullt profile for all users is located @C:\Documents and Settings\All Users\Application Data\MED-V\Profile

Cheers,
Boris

Thursday, April 30, 2009

Multiple zip extracter

Recently, I got 30 zips' files.Firstly, i tried to use winrar and it extracted file only from the first one.
So, i started to look for a new utility which can do it. I found an easy solution by using 7-zip file manager(http://www.7-zip.org/) and it's open source.

I discovered the following method:
1. launch 7-zip file manager
2. Select all your zip files
3. Right mouse click menu -> 7-zip->Extract

That's all

Friday, February 27, 2009

How to store XMLdocument @MSSQL 2005 as xml by using XSD

I was looking for a fast path to store XML in MSSQL 2005 by using XSD + VS2005.
For making life easier I created a stored procedure and imported it to Dataset:

I'm posting this code for other people which are looking for the fast solution:
MemoryStream xmlStream = new MemoryStream();
xmlDoc.Save(xmlStream);
SqlXml sqlXml = new SqlXml(xmlStream);
//here comes a table adaptor //
tblXYZTableAdapter xyzTableAdaptor = new tblXYZTableAdapter();
xyzTableAdaptor.SP_StoreProceure(sqlXml);

Tuesday, February 24, 2009

XSD & handling DBNull problem C#

The value for column xxx in table XXXXX is DBNull.
Recently, I started to use XSD for faster & easier object development in VS. One of obstacles which I discovered is DBNull which almost impossible to handle an exception via usual approach like . I posting this guide, because I saw many posts which propose non-trivial solutions.

I found two ways to make it easier:
1. To use try/catch mechanism, may result unnecessary slowness
2. The best: XSD class product for each object also a method for null/DBnull validation and by doing it helps to make a program in a very easy way.
Example: if objects name MyColumn so the method will be called IsMyColumnNameNull.

Thursday, February 19, 2009

EMC NPG advisor

EMC published new version on Networker Upgrade advisor. This version creates detailed step-by-step document for proper backup software upgrades

https://powerlink.emc.com/nsepn/webapps/btg548664833igtcuup4826/km/appmanager/km/secureDesktop?_nfpb=true&internalId=0b014066803d054d

Getting inventory + serials for DELL servers in OPENMANAGE

It's possible to obtain servers hw info throw Tools->Compliance tool

OpenSUSE 11.0 XDMCP enablement

As it appears, Configuring XDMCP protocol for making graphic network connections from remote X client is very tricky. I found the following article which explains, how it can be done:

Bear in mind,that 2 components should be evaluated:

1. XDMCP settings

2. Linux firewall settings

Configuring XDMCP on Linux

http://www.wmltd.co.uk/index.php/products/nomachine_thin_client/setting_up_x

Tuesday, January 27, 2009

Jbuilder 2008 crash with -1 error code

I found that JBuilder can fail during the first run with -1 code. After a short investigation, i discovered that there is a problem with JVM memory settings. In my case, max memory needed to be lowered due to -1 error code. I lowered the Xmx size to smaller one and it solved the problem. It can be done by changing -Xmx value in JBuilder.ini

Thursday, January 22, 2009

Sunday, December 21, 2008

AppV softgrid

I'm currently evaluating this product.
Useful tools:
Sft tool - great tool provides a look into internal structure of package

Tuesday, February 12, 2008

Unsupported encoding of VC 2.5

After upgrade to 2.5, I discovered that i can't start vmware virtual center. I checked the event viewer and found the following message:
The VMware Infrastructure Web Access service terminated unexpectedly , error number 7031.

After playing a lot with tomcat5 - i found out that it crashes on unsupported code page. In my case cp1255....

so i changed it to "ENGLISH (united states)" and this solved the problem
in case and this doesn't help - check the logs in this directory:

C:\Program Files\VMware\Infrastructure\VirtualCenter Server\tomcat\logs

Monday, January 28, 2008

C# accessing to fields/object by string

string vStringUnFiltered = Class.GetType().GetField(method_in).GetValue(Class_instance).ToString();

Regex + C# parsing IP into segments a.b.c.d to a./a.b./a.b.c

One of intresting features at C# .NET is Regular Expressions which is very handy and save time (similiar to perl style). It's possible to assign values to search items. Small example is:
void main()
{
.....

SortedList VLans_LIST = new SortedList();
foreach (string CurrRegex in new string[] { "^(?\\d+)\\.", "^(?\\d+\\.\\d+)\\.", "^(?\\d+\\.\\d+\\.\\d+)\\." })
{

string VLanValidated = RegEX_Validate(CurrRegex , "vlan", ipAddress);
if (VLanValidated == null)
{ //do nothing }
else if (!VLans_LIST.Contains(VLanValidated))
{
VLans_LIST.Add(VLanValidated, VLanValidated);
}
}
}

string RegEX_Validate(string RegexString, string RegexValueParam,string StringToVal)
{
Regex objNaturalPattern = new Regex(RegexString);
if (objNaturalPattern.Match(StringToVal).Success )
{
Match VMatch = objNaturalPattern.Match(StringToVal);
return VMatch.Groups[RegexValueParam].Value;
}
else return null;
}