<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-30194369</id><updated>2011-11-22T06:42:27.838-08:00</updated><category term='fedora 13'/><category term='show desktop'/><category term='pathbar buttons'/><category term='location entry'/><category term='ldap'/><category term='ApacheDS'/><category term='git'/><category term='backup linux rsync'/><category term='Linux Fedora Show Disks Drives'/><category term='gerrit'/><category term='Nautilus address bar'/><title type='text'>Проблематики</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>38</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-30194369.post-9134595818046988604</id><published>2011-11-22T06:20:00.001-08:00</published><updated>2011-11-22T06:42:27.846-08:00</updated><title type='text'>Toplink throws NullPointerException in method _toplink.getXXX_vh()</title><content type='html'>If you persist JPA entities from another JVM sometimes Toplink throws very strange exception like:&lt;pre&gt;&lt;br /&gt;Caused by: javax.persistence.EntityExistsException: &lt;br /&gt;Exception Description: The method [_toplink_getscore_vh] on the object [com.mycompany.data.GameEntity] triggered an exception.&lt;br /&gt;Internal Exception: java.lang.reflect.InvocationTargetException&lt;br /&gt;Target Invocation Exception: java.lang.NullPointerException&lt;br /&gt;Mapping: oracle.toplink.essentials.mappings.OneToOneMapping[score]&lt;br /&gt;Descriptor: RelationalDescriptor(com.mycompany.data.GameEntity --&gt; [DatabaseTable(GAME_TABLE)])&lt;br /&gt; at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerImpl.persist(EntityManagerImpl.java:224)&lt;br /&gt; at com.sun.enterprise.util.EntityManagerWrapper.persist(EntityManagerWrapper.java:440)&lt;br /&gt; at com.mycompany.MyEjbBean.create(MyEjbBean.java:1647)&lt;br /&gt; ... 26 more&lt;br /&gt;Caused by: Exception [TOPLINK-99] (Oracle TopLink Essentials - 2.1 (Build b31g-fcs (10/19/2009))): oracle.toplink.essentials.exceptions.DescriptorException&lt;br /&gt;Exception Description: The method [_toplink_getscore_vh] on the object [com.mycompany.data.GameEntity] triggered an exception.&lt;br /&gt;Internal Exception: java.lang.reflect.InvocationTargetException&lt;br /&gt;Target Invocation Exception: java.lang.NullPointerException&lt;br /&gt; at oracle.toplink.essentials.exceptions.DescriptorException.targetInvocationWhileGettingValueThruMethodAccessor(DescriptorException.java:1598)&lt;br /&gt; at oracle.toplink.essentials.internal.descriptors.MethodAttributeAccessor.getAttributeValueFromObject(MethodAttributeAccessor.java:98)&lt;br /&gt; at oracle.toplink.essentials.mappings.DatabaseMapping.getAttributeValueFromObject(DatabaseMapping.java:372)&lt;br /&gt; at oracle.toplink.essentials.mappings.ForeignReferenceMapping.getAttributeValueFromObject(ForeignReferenceMapping.java:322)&lt;br /&gt; at oracle.toplink.essentials.mappings.ObjectReferenceMapping.cascadeRegisterNewIfRequired(ObjectReferenceMapping.java:676)&lt;br /&gt; at oracle.toplink.essentials.internal.descriptors.ObjectBuilder.cascadeRegisterNewForCreate(ObjectBuilder.java:1294)&lt;br /&gt; at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.registerNewObjectForPersist(UnitOfWorkImpl.java:3228)&lt;br /&gt; at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerImpl.persist(EntityManagerImpl.java:221)&lt;br /&gt; ... 28 more&lt;br /&gt;Caused by: java.lang.reflect.InvocationTargetException&lt;br /&gt; at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)&lt;br /&gt; at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)&lt;br /&gt; at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)&lt;br /&gt; at java.lang.reflect.Method.invoke(Method.java:597)&lt;br /&gt; at oracle.toplink.essentials.internal.security.PrivilegedAccessHelper.invokeMethod(PrivilegedAccessHelper.java:322)&lt;br /&gt; at oracle.toplink.essentials.internal.descriptors.MethodAttributeAccessor.getAttributeValueFromObject(MethodAttributeAccessor.java:91)&lt;br /&gt; ... 34 more&lt;br /&gt;Caused by: java.lang.NullPointerException&lt;br /&gt; at com.mycompany.data.GameEntity._toplink_getscore_vh(GameEntity.java)&lt;br /&gt; ... 40 more&lt;br /&gt;javax.ejb.EJBException: nested exception is: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: &lt;br /&gt; java.rmi.RemoteException: null; nested exception is: &lt;br /&gt; java.lang.RuntimeException: &lt;br /&gt; at com.mycompany._MyEjbBean_Wrapper.create(com/mycompany/_MyEjbBean_Wrapper.java)&lt;br /&gt; at com.mycompany.GameTest.testGameScores(GameTest.java:62)&lt;br /&gt; at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)&lt;br /&gt; at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)&lt;br /&gt; at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)&lt;br /&gt; at java.lang.reflect.Method.invoke(Unknown Source)&lt;br /&gt; at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)&lt;br /&gt; at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)&lt;br /&gt; at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)&lt;br /&gt; at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)&lt;br /&gt; at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)&lt;br /&gt; at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)&lt;br /&gt; at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:73)&lt;br /&gt; at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:46)&lt;br /&gt; at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180)&lt;br /&gt; at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41)&lt;br /&gt; at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173)&lt;br /&gt; at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)&lt;br /&gt; at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)&lt;br /&gt; at org.junit.runners.ParentRunner.run(ParentRunner.java:220)&lt;br /&gt; at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)&lt;br /&gt; at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)&lt;br /&gt; at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)&lt;br /&gt; at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)&lt;br /&gt; at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)&lt;br /&gt; at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)&lt;br /&gt;&lt;/pre&gt;The solution I found is to change the score property to be eager "@ManyToOne(fetch = FetchType.EAGER)"What I belive happens beneath is that Toplink uses bytecode to creates some additional methods for entity classes - see oracle.toplink.essentials.internal.weaving.TopLinkClassWeaver. For each field that is in relation, Toplink creates a new method called _toplink.getFIELDNAME_vh() and a class field called _toplink.getFIELDNAME_vh. VH stands for ValueHolder. I guess this additional methods/fields are used for fetching related objects later.If you examine the exception more closely it is thrown from inside _toplink.getscore_vh() which according to the javadoc in TopLinkClassWeaver should looks like:&lt;pre class="brush: java"&gt;&lt;br /&gt;public WeavedAttributeValueHolderInterface _toplink_getscore_vh(){&lt;br /&gt;  if (_toplink_score_vh.isCoordinatedWithProperty() || _toplink_score_vh.isNewlyWeavedValueHolder()){&lt;br /&gt;    EntityC object = getScore();&lt;br /&gt;    if (object != _toplink_score_vh.getValue()){&lt;br /&gt;      setScore(object);&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;  return _toplink_score_vh;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;Obviously the only way to throw an exception is if _toplink_score_vh is null which after debuging is confirmed to be null.My guess is that because this is entity is transferred from another JVM (the JUnit test) and you are persisting it inside server JVM the value of _toplink_score_vh is not correctly transfered, which causes the above exception. I didn't dig up too much into the problem but the solution I found is - just make the field (in my case the "score") eager and the exception will go away.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-9134595818046988604?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/9134595818046988604/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=9134595818046988604' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/9134595818046988604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/9134595818046988604'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2011/11/toplink-throws-nullpointerexception-in.html' title='Toplink throws NullPointerException in method _toplink.getXXX_vh()'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-3579201944004015241</id><published>2011-09-15T12:07:00.000-07:00</published><updated>2011-09-15T12:24:04.366-07:00</updated><title type='text'>Forget to add administrators group to SQL server 2008</title><content type='html'>Yep shit happens...&lt;br /&gt;If you forget to add the administrator group (or at least the current user) to admin groups, and do not know the SA password then you have only two options&lt;br /&gt;- reinstall SQL server&lt;br /&gt;- use single-user-mode to add the accounts&lt;br /&gt;&lt;br /&gt;Ok now the single-user-mode procedure.&lt;br /&gt;0) login with Administrator (exactly the Administrator user, with another administrator account there will be problems)&lt;br /&gt;1) open services.msc &lt;br /&gt;2) go the "SQL Server (xxx)" service and stop it&lt;br /&gt;3) open "Sql server configuration manager" from the start menu and make sure that the protocols "Shared memory", "Named pipes", "TCP/IP" are enabled&lt;br /&gt;4) Go back to the services console right click "SQL Server (xxx)" and select properties and then enter "-m" as parameter. Click start&lt;br /&gt;5) Now the server is started in single-user mode&lt;br /&gt;6) Open command prompt and execute following command "sqlcmd -S &lt;hostname&gt;\&lt;instance name&gt; -E", where -S specifies server and instance name, -E specifies to use windows credentials&lt;br /&gt;&lt;pre class="brush: bash"&gt;&lt;br /&gt;sqlcmd -S MYMACHINE\SQLEXPRESS -E&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;7) Execute following commands for each windows account that you want to add&lt;br /&gt;&lt;pre class="brush: bash"&gt;&lt;br /&gt;CREATE LOGIN [MYMACHINE\Administrator] FROM WINDOWS&lt;br /&gt;GO&lt;br /&gt;exec sp_addsrvrolemember @loginame='MYMACHINE\Administrator', @rolename = 'sysadmin' &lt;br /&gt;GO&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;8) Stop the SQL service and restart it without -m parameter.&lt;br /&gt;9) Now you are able to log-in with Administrator user and you do have administrator rights on SQL server&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-3579201944004015241?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/3579201944004015241/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=3579201944004015241' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/3579201944004015241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/3579201944004015241'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2011/09/forget-to-add-administrators-group-to.html' title='Forget to add administrators group to SQL server 2008'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-8513171221595264999</id><published>2011-09-12T06:52:00.000-07:00</published><updated>2011-09-12T07:02:39.780-07:00</updated><title type='text'>Using older Java on Windows</title><content type='html'>When JDK 7 is installed it became the default java on the machine. However if you try to set different JDK (by JAVA_HOME and PATH variables) it won't change. The reason is that there is a &lt;span style="font-weight:bold;"&gt;c:\windows\system32\java.exe&lt;/span&gt; wrapper that reads the system registry and executes the java. If you try to change &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\CurrentVersion&lt;/span&gt; to 1.6 you will get the following error:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: bash"&gt;&lt;br /&gt;C:\Windows\System32&gt;java -help&lt;br /&gt;Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion'&lt;br /&gt;&lt;br /&gt;has value '1.6', but '1.7' is required.&lt;br /&gt;Error: could not find java.dll&lt;br /&gt;Error: Could not find Java SE Runtime Environment.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I found two solutions on this problem:&lt;br /&gt;1) use &lt;span style="font-weight:bold;"&gt;-version:1.6&lt;/span&gt; as parameter&lt;br /&gt;&lt;pre class="brush: bash"&gt;&lt;br /&gt;java -version:1.6 -jar myprogram.jar&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;It will run the jar with version 1.6&lt;br /&gt;Of course you can set it into some system property like JAVA_OPT (for tomcat)&lt;br /&gt;&lt;br /&gt;2) Add JAVA_HOME environment variable, and put %JAVA_HOME%\bin before %SystemRoot%\system32.&lt;br /&gt;So the JAVA_HOME\bin\java.exe will be found before the c:\windows\system32\java.exe wrapper.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-8513171221595264999?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/8513171221595264999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=8513171221595264999' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/8513171221595264999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/8513171221595264999'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2011/09/using-older-java-on-windows.html' title='Using older Java on Windows'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-5746257067553499631</id><published>2011-08-26T02:11:00.001-07:00</published><updated>2011-08-26T04:17:20.732-07:00</updated><title type='text'>Java 7 - project coin</title><content type='html'>Java 7 language syntax changes in nutshell (Project coin).&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Strings in switch&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Binary integral literals and underscores in numeric literals&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Multi-catch and more precise rethrow&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Improved type inference for generic instance creation (diamond)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;try-with-resources statement&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Simplified varargs method invocation&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Strings in switch&lt;/h3&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;public static boolean getBoolean(String s) { &lt;br /&gt;   switch(s.toLowerCase()) { &lt;br /&gt;      case "true" : return true; &lt;br /&gt;      case "false" : return false; &lt;br /&gt;      default: throw new IllegalArgumentException("Invalid value. Only strings 'true' and 'false' are acceptable"); &lt;br /&gt;   } &lt;br /&gt;} &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Binary integral literals and underscores in numeric literals&lt;/h3&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;&lt;br /&gt;public static final int binaryNumber = 0b11111111_11111111;// 65535&lt;br /&gt;public static final int hexNumber = 0xFF_FF;// 65535&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Multi-catch and more precise rethrow&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Multi-catch&lt;/h4&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;&lt;br /&gt;try {    &lt;br /&gt;    Class&amp;lt;?&amp;gt; c = Class.forName("java.lang.String");&lt;br /&gt;    Object o = c.newInstance();&lt;br /&gt;    Method m = c.getMethod("length");&lt;br /&gt;    System.out.println("Length = " + m.invoke(o));        &lt;br /&gt;} catch (ClassNotFoundException | IllegalAccessException | InstantiationException &lt;br /&gt;         | InvocationTargetException | IllegalArgumentException | NoSuchMethodException ex ) {&lt;br /&gt;   ex.printStackTrace();&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;ReflectiveOperationException&lt;/h4&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;&lt;br /&gt;try {    &lt;br /&gt;    Class&amp;lt;?&amp;gt; c = Class.forName("java.lang.String");&lt;br /&gt;    Object o = c.newInstance();&lt;br /&gt;    Method m = c.getMethod("length");&lt;br /&gt;    System.out.println("Length = " + m.invoke(o));        &lt;br /&gt;} catch (ReflectiveOperationException ex ) {&lt;br /&gt;   // Now all reflection exception have super class ReflectiveOperationException&lt;br /&gt;   ex.printStackTrace();&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;more precise rethrow&lt;/h4&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;&lt;br /&gt;public static class Exception1 extends Exception {}&lt;br /&gt;public static class Exception2 extends Exception {}&lt;br /&gt;    &lt;br /&gt;public void morePreciseExceptionRethrow() throws Exception1, Exception2 {&lt;br /&gt;    try {&lt;br /&gt;        if (1==2) {&lt;br /&gt;            throw new Exception1();&lt;br /&gt;        } else {&lt;br /&gt;            throw new Exception2();&lt;br /&gt;        }&lt;br /&gt;    } catch (Exception ex) {&lt;br /&gt;// here the compiler knows that only Exception1 and Exception2 are thrown from the code above. In JDK 1.6 you need to declare that the method is throwing Exception, but in JDK 1.7 you may declare only the exceptions really thrown.&lt;br /&gt;        throw ex; &lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Improved type inference for generic instance creation (diamond)&lt;/h3&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;&lt;br /&gt;List&lt;String&gt; list = new ArrayList&lt;&gt;();&lt;br /&gt;Map&lt;String, Set&lt;String&gt;&gt; map = new TreeMap&lt;&gt;();&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;try-with-resources statement&lt;/h3&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;&lt;br /&gt;public void copy(String srcFileName, String destFileName) throws IOException {&lt;br /&gt;   try(InputStream in = new FileInputStream(srcFileName); OutputStream out = new FileOutputStream(destFileName)){&lt;br /&gt;      byte[] buff = new byte[1024];&lt;br /&gt;      int n;&lt;br /&gt;      while ((n = in.read(buff)) != -1) {&lt;br /&gt;          out.write(buff, 0, n);&lt;br /&gt;      }&lt;br /&gt;   }&lt;br /&gt;   // here the in and out are closed&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Simplified varargs method invocation&lt;/h3&gt;&lt;br /&gt;&lt;a href="http://mail.openjdk.java.net/pipermail/coin-dev/2009-March/000217.html"&gt;More details&lt;/a&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-5746257067553499631?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/5746257067553499631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=5746257067553499631' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/5746257067553499631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/5746257067553499631'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2011/08/java-7-project-coin.html' title='Java 7 - project coin'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-8810380079674471825</id><published>2011-07-04T14:33:00.000-07:00</published><updated>2011-07-04T15:00:35.895-07:00</updated><title type='text'>Creating GIT projects based on SVN dumps</title><content type='html'>Following script will create new GIT projects based on SVN dump files.&lt;br /&gt;As prerequisite you must have setup Gerrit codereview system. You need to allow the Gerrit user to directly push to master branch, otherwise all SVN commits need to be reviewed/verified, and for existing project this could means hundreds of commits.&lt;br /&gt;&lt;br /&gt;Script:&lt;br /&gt;&lt;div class="code"&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;#!/bin/bash&lt;br /&gt;GERRIT_IP=10.1.1.1&lt;br /&gt;GERRIT_USER=xxx&lt;br /&gt;GERRIT_PORT=29418&lt;br /&gt;&lt;br /&gt;if [ -z "$1" ]; then&lt;br /&gt;  echo "Provide SVN dump file as first argument"&lt;br /&gt;  exit -1&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if [ ! -f $1  ]; then&lt;br /&gt;  echo "SVN dump $1 doesn't exists"&lt;br /&gt;  exit -1&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if [ -z "$2" ]; then&lt;br /&gt;  echo "Provide project name (that will be created in GIT) as second argument"&lt;br /&gt;  exit -2&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if [ -e $2 ]; then&lt;br /&gt;  echo "File or directory with name $2 already exists"&lt;br /&gt;  exit -2&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CURR_DIR=`pwd`&lt;br /&gt;&lt;br /&gt;rm -Rf svnrepo&lt;br /&gt;svnadmin create svnrepo/&lt;br /&gt;&lt;br /&gt;svnadmin load svnrepo/ &lt; $1&lt;br /&gt;git svn clone file://$CURR_DIR/svnrepo/ $2&lt;br /&gt;ssh -p $GERRIT_PORT -l $GERRIT_USER $GERRIT_IP gerrit create-project --name $2&lt;br /&gt;&lt;br /&gt;# add origin &lt;br /&gt;echo -e "[remote \"origin\"]" &gt;&gt; $2/.git/config&lt;br /&gt;echo -e "\tfetch = +refs/heads/*:refs/remotes/origin/*" &gt;&gt; $2/.git/config&lt;br /&gt;echo -e "\turl = ssh://$GERRIT_USER@$GERRIT_IP:$GERRIT_PORT/$2" &gt;&gt; $2/.git/config&lt;br /&gt;echo -e "\tpush = HEAD:refs/for/master" &gt;&gt; $2/.git/config&lt;br /&gt;&lt;br /&gt;# add originmaster&lt;br /&gt;echo -e "[remote \"originmaster\"]" &gt;&gt; $2/.git/config&lt;br /&gt;echo -e "\tfetch = +refs/heads/*:refs/remotes/origin/*" &gt;&gt; $2/.git/config&lt;br /&gt;echo -e "\turl = ssh://$GERRIT_USER@$GERRIT_IP:$GERRIT_PORT/$2" &gt;&gt; $2/.git/config&lt;br /&gt;echo -e "\tpush = HEAD:refs/heads/master" &gt;&gt; $2/.git/config&lt;br /&gt;&lt;br /&gt;# add master branch config&lt;br /&gt;echo -e "[branch \"master\"]" &gt;&gt; $2/.git/config&lt;br /&gt;echo -e "\tremote = originmaster" &gt;&gt; $2/.git/config&lt;br /&gt;echo -e "\tmerge = refs/heads/master" &gt;&gt; $2/.git/config&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;cd $2&lt;br /&gt;git push originmaster&lt;br /&gt;cd ..&lt;br /&gt;&lt;/div&gt; &lt;br /&gt;&lt;br /&gt;In nutshell The script creates a dummy SVN repository, then use git-svn command to create local git project, creates a new project in Gerrit, adds Gerrit as remote repository to the local GIT configuration and finally pushes the changes to Gerrit&lt;br /&gt;&lt;br /&gt;In order to use the script you need to provide a SVN dump file as first argument, and GIT project name as second argument&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-8810380079674471825?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/8810380079674471825/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=8810380079674471825' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/8810380079674471825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/8810380079674471825'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2011/07/creating-git-projects-based-on-svn.html' title='Creating GIT projects based on SVN dumps'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-7790303199248447839</id><published>2011-07-02T07:17:00.000-07:00</published><updated>2011-07-02T14:03:42.481-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='git'/><category scheme='http://www.blogger.com/atom/ns#' term='gerrit'/><category scheme='http://www.blogger.com/atom/ns#' term='ldap'/><category scheme='http://www.blogger.com/atom/ns#' term='ApacheDS'/><title type='text'>Install Gerrit</title><content type='html'>1) Install tomcat.&lt;br /&gt;&lt;br /&gt;2) Download/build gerrit.war to tomcat websapps directory&lt;br /&gt;&lt;br /&gt;3) Create gerrit directory&lt;br /&gt;&lt;div class="code"&gt;mkdir /usr/share/gerrit&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;4) Initialize gerrit configurations&lt;br /&gt;&lt;div class="code"&gt;java -jar gerrit.war init -d /usr/share/gerrit&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;- Choose default values for all configuration except&lt;br /&gt;- Choose authentication method HTTP&lt;br /&gt;- Enter tomcat as "run-as user"&lt;br /&gt;- Choose to Update/copy gerrit.war&lt;br /&gt;- Choose to use Bouncy Castle&lt;br /&gt;&lt;br /&gt;5) Edit /usr/share/gerrit/etc/gerrit.conf&lt;br /&gt;and it modify it to looks like this:&lt;br /&gt;&lt;div class="code"&gt;&lt;br /&gt;[gerrit]&lt;br /&gt; basePath = git&lt;br /&gt;[database]&lt;br /&gt; type = H2&lt;br /&gt; database = db/ReviewDB&lt;br /&gt;[auth]&lt;br /&gt; type = LDAP&lt;br /&gt;[sendemail]&lt;br /&gt; smtpServer = localhost&lt;br /&gt;[container]&lt;br /&gt; user = tomcat&lt;br /&gt; javaHome = /usr/lib/jvm/jdk1.6.0_26/jre&lt;br /&gt;[sshd]&lt;br /&gt; listenAddress = MYIP:8418&lt;br /&gt;[httpd]&lt;br /&gt; listenUrl = http://*:8282/&lt;br /&gt;[cache]&lt;br /&gt; directory = cache&lt;br /&gt;[ldap]&lt;br /&gt; server = ldap://MYIP:10389&lt;br /&gt;        username = uid=gerrit,ou=users,ou=system&lt;br /&gt;        password = gerrit&lt;br /&gt; accountBase = ou=Users,dc=MYHOST&lt;br /&gt; accountPattern = (&amp;(objectClass=person)(uid=${username}))&lt;br /&gt; accountFullName = displayName&lt;br /&gt; accountEmailAddress = mail&lt;br /&gt; &lt;br /&gt; groupBase = ou=Groups,dc=MYHOST&lt;br /&gt; groupMemberPattern = (&amp;(objectClass=groupOfUniqueNames)(uniquemember=${dn}))&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Where you need to replace MYIP, MYHOST with the IP and the host name of the machine.&lt;br /&gt;Note the LDAP configuration. We need to add gerrit user to ou=system and create the MYHOST domain structure.&lt;br /&gt;&lt;br /&gt;6) Install ApacheDS LDAP server for user management. (There is a RPM package for Fedora, so just download and follow installation instructions).&lt;br /&gt;&lt;br /&gt;7) We need to configure ApacheDS.&lt;br /&gt;Open /var/lib/apacheds/default/conf/server.xml and add new partition&lt;br /&gt;&lt;div class="code"&gt;&amp;lt;jdbmPartition id="MYHOST" suffix="dc=MYHOST" optimizerEnabled="true" syncOnWrite="true" cacheSize="100"/gt;&lt;/div&gt;&lt;br /&gt;Replace MYHOST with machine hostname.&lt;br /&gt;&lt;br /&gt;Remove anonymous access&lt;br /&gt;&lt;div class="code"&gt;&amp;lt;defaultDirectoryService ... allowAnonymousAccess="false" ... &amp;gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;7) Start the service&lt;br /&gt;&lt;div class="code"&gt;service apacheds start default&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;8) Install and Apache Directory Studio and connect to LDAP server&lt;br /&gt;&lt;div class="code"&gt;ldap://MYHOST:10389&lt;/div&gt;&lt;br /&gt;where MYHOST is the hostname/IP address of the machine&lt;br /&gt;The default username is "uid=admin,ou=system" and password is "secred"&lt;br /&gt;&lt;br /&gt;Go to ou=system, and select uid=admin. Change the userPassword attribute with new password&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;9) Add new user to ApacheDS. Open Apache Directory Studio and import following LDIF&lt;br /&gt;&lt;div class="code"&gt;&lt;br /&gt;dn: uid=gerrit,ou=users,ou=system&lt;br /&gt;objectClass: organizationalPerson&lt;br /&gt;objectClass: person&lt;br /&gt;objectClass: inetOrgPerson&lt;br /&gt;objectClass: top&lt;br /&gt;cn: gerrit administrator&lt;br /&gt;sn: gerrit&lt;br /&gt;displayName: Gerrit administrator&lt;br /&gt;uid: gerrit&lt;br /&gt;userPassword:: e1NIQX1PNWNIRFViTTFtUWlxT2U0UG1sbjdZUjRCVGc9&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;It contains a user gerrit and password gerrit&lt;br /&gt;&lt;br /&gt;9) Create init.ldif file containing&lt;br /&gt;&lt;div class="code"&gt;&lt;br /&gt;#########################################################&lt;br /&gt;# Root node for domain&lt;br /&gt;#########################################################&lt;br /&gt;dn: dc=MYHOST&lt;br /&gt;objectClass: domain&lt;br /&gt;objectClass: extensibleObject&lt;br /&gt;objectClass: top&lt;br /&gt;dc: MYHOST&lt;br /&gt;&lt;br /&gt;#########################################################&lt;br /&gt;# Root node for Users&lt;br /&gt;#########################################################&lt;br /&gt;# The node contains all users&lt;br /&gt;dn: ou=Users,dc=MYHOST&lt;br /&gt;objectClass: organizationalUnit&lt;br /&gt;objectClass: top&lt;br /&gt;ou: Users&lt;br /&gt;&lt;br /&gt;#########################################################&lt;br /&gt;# Root node for Groups&lt;br /&gt;#########################################################&lt;br /&gt;# Each group contains the user Ids assigned to the group&lt;br /&gt;dn: ou=Groups,dc=MYHOST&lt;br /&gt;objectClass: organizationalUnit&lt;br /&gt;objectClass: top&lt;br /&gt;ou: Groups&lt;br /&gt;&lt;br /&gt;#########################################################&lt;br /&gt;# Groups&lt;br /&gt;#########################################################&lt;br /&gt;dn: cn=admins,ou=Groups,dc=MYHOST&lt;br /&gt;objectClass: groupOfUniqueNames&lt;br /&gt;objectClass: top&lt;br /&gt;cn: admins&lt;br /&gt;description: Administrators group&lt;br /&gt;uniquemember: uid=user1,ou=Users,dc=MYHOST&lt;br /&gt;&lt;br /&gt;dn: cn=developers,ou=Groups,dc=MYHOST&lt;br /&gt;objectClass: groupOfUniqueNames&lt;br /&gt;objectClass: top&lt;br /&gt;cn: developers&lt;br /&gt;description: Developers group&lt;br /&gt;uniquemember: uid=admin,ou=system&lt;br /&gt;uniquemember: uid=user1,ou=Users,dc=MYHOST&lt;br /&gt;uniquemember: uid=user1,ou=Users,dc=MYHOST&lt;br /&gt;&lt;br /&gt;dn: cn=guests,ou=Groups,dc=MYHOST&lt;br /&gt;objectClass: groupOfUniqueNames&lt;br /&gt;objectClass: top&lt;br /&gt;cn: guests&lt;br /&gt;description: Guests group&lt;br /&gt;uniquemember: uid=admin, ou=system&lt;br /&gt;&lt;br /&gt;#########################################################&lt;br /&gt;# Users&lt;br /&gt;#########################################################&lt;br /&gt;dn: uid=user1,ou=Users,dc=MYHOST&lt;br /&gt;objectClass: organizationalPerson&lt;br /&gt;objectClass: person&lt;br /&gt;objectClass: extensibleObject&lt;br /&gt;objectClass: uidObject&lt;br /&gt;objectClass: inetOrgPerson&lt;br /&gt;objectClass: top&lt;br /&gt;cn: John Smith&lt;br /&gt;givenname: John&lt;br /&gt;sn: Smith&lt;br /&gt;displayName: John Smith Jr.&lt;br /&gt;mail: johnsmith@MYHOST&lt;br /&gt;ou: Users&lt;br /&gt;uid: user1&lt;br /&gt;userpassword:: e1NIQX1zOXFuZTB3RXFWVWJoNEhRTVpIK0NZOHlYbWM9&lt;br /&gt;&lt;br /&gt;dn: uid=user2,ou=Users,dc=MYHOST&lt;br /&gt;objectClass: organizationalPerson&lt;br /&gt;objectClass: person&lt;br /&gt;objectClass: extensibleObject&lt;br /&gt;objectClass: uidObject&lt;br /&gt;objectClass: inetOrgPerson&lt;br /&gt;objectClass: top&lt;br /&gt;cn: Joe Doe&lt;br /&gt;givenname: Joe&lt;br /&gt;sn: Doe&lt;br /&gt;displayName: terminator&lt;br /&gt;mail: JoeDoe@MYHOST&lt;br /&gt;ou: Users&lt;br /&gt;uid: user2&lt;br /&gt;userpassword:: e1NIQX1vWWdjQnU3SmJibVFISHUvNUJ4Q28vQ09uTFE9&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Replace MYHOST with the name of the host. If your host have full domain name, then replace dc=MYHOST, with dc=mysubdomain,dc=mydomain,dc=com &lt;br /&gt;&lt;br /&gt;The file describes a simple Groups/User hierarchy with 3 groups: admins,developers,users and 2 users: user1 (password:user1) and user2 (password:user2)&lt;br /&gt;&lt;br /&gt;10) Using Apache Directory Studio import init.LDIF into LDAP server&lt;br /&gt;&lt;br /&gt;11) Start tomcat service&lt;br /&gt;&lt;div class="code"&gt;service tomcat7 start&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;12) Stop tomcat service&lt;br /&gt;&lt;div class="code"&gt;service tomcat7 stop&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;13) Copy Bouncy castle jars to /usr/share/tomcat7/webapps/gerrit/WEB-INF/libs&lt;br /&gt;&lt;div class="code"&gt;cp /usr/share/gerrit/lib/bcprov-jdk16-144.jar  /usr/share/tomcat7/webapps/gerrit/WEB-INF/lib&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;14) Start tomcat service and now you must be able to login to gerrit system with user1/user1 or user2/user2&lt;br /&gt;&lt;br /&gt;15) Generating public/private keys. &lt;br /&gt;Windows:&lt;br /&gt;Download puttygen.exe and use it to generate a new private/public key. Use the menu Conversion / Export OpenSSH key to export the private key. Copy the OpenSHH public key (from the textbox)&lt;br /&gt;&lt;br /&gt;Linux:&lt;br /&gt;&lt;div class="code"&gt;ssh-keygen -t rsa&lt;/div&gt;&lt;br /&gt;Will generate /home/user/.ssh/id_rsa and /home/user/.ssh/id_rsa.pub&lt;br /&gt;Copy the content of id_rsa.pub&lt;br /&gt;&lt;br /&gt;16) Login into gerrit go to settigs, SSH key and paste the OpenSSH key (generated from the puttygen or ssh-keygen). Don't forget to click "Add"&lt;br /&gt;&lt;br /&gt;17) Testing ssh connection. From Linux shell (or cygwin on windows boxes)&lt;br /&gt;&lt;div class="code"&gt;ssh -p 8418 -i &amp;lt;path to the private key&amp;gt; &amp;lt;gerrit IP/host&amp;gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;18) Creating new project. &lt;br /&gt;&lt;div class="code"&gt;ssh -p 8418 -i &amp;lt;path to the private key&amp;gt; &amp;lt;gerrit IP/host&amp;gt; gerrit create-project -n &amp;lt;project name&amp;gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;19) Go to Gerrit, choose "Admin" / "Projects" and select the newly created project.&lt;br /&gt;Go to "Access" and add Submit,Push,Read permissions to "Registered Users" group&lt;br /&gt;&lt;br /&gt;20) Cloning the newly created project for the first time.&lt;br /&gt;&lt;div class="code"&gt;&lt;br /&gt;git config --global user.name "Your Name"&lt;br /&gt;git config --global user.email you@example.com&lt;br /&gt;git config --global core.autocrlf false&lt;br /&gt;&lt;br /&gt;git clone ssh://GERRIT_HOST:8418/PROJECT_NAME.git&lt;br /&gt;cd PROJECT_NAME&lt;br /&gt;git config remote.origin.push HEAD:refs/for/master&lt;br /&gt;git config branch.master.remote origin&lt;br /&gt;git config branch.master.merge refs/heads/master&lt;br /&gt;echo Hello &gt; readme.txt&lt;br /&gt;git add readme.txt&lt;br /&gt;git commit -m "Initial commit"&lt;br /&gt;git push&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;After that the warning messages "You appear to have cloned an empty repository." or "remote HEAD refers to nonexistent ref, unable to checkout." will disappear.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-7790303199248447839?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/7790303199248447839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=7790303199248447839' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/7790303199248447839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/7790303199248447839'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2011/07/install-gerrit.html' title='Install Gerrit'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-4827386692972153439</id><published>2011-05-30T10:58:00.000-07:00</published><updated>2011-11-09T15:27:56.139-08:00</updated><title type='text'>FC15 post installation steps</title><content type='html'>&lt;h1&gt;Gnome shell 3&lt;/h1&gt;&lt;h2&gt;Showing date in taskbar&lt;/h2&gt;&lt;pre class="brush: bash"&gt;gsettings set org.gnome.shell.clock show-date true&lt;/pre&gt;&lt;h2&gt;Showing date in taskbar&lt;/h2&gt;&lt;pre class="brush: bash"&gt;gsettings set org.gnome.shell.calendar show-weekdate true&lt;/pre&gt;&lt;h2&gt;Show week numbers in calendar&lt;/h2&gt;&lt;pre class="brush: bash"&gt;gsettings set org.gnome.shell.calendar show-weekdate true&lt;/pre&gt;&lt;h2&gt;Show minimize, maximize buttons&lt;/h2&gt;&lt;pre class="brush: bash"&gt;gconftool-2 -s -t string /desktop/gnome/shell/windows/button_layout "menu:minimize,maximize,close"&lt;/pre&gt;&lt;h2&gt;Always show power off in menu&lt;/h2&gt;&lt;pre class="brush: bash"&gt;yum install gnome-shell-extensions-alternative-status-menu&lt;/pre&gt;More info about available extensions can be found &lt;a href="http://smashingweb.ge6.org/gnome-shell-extensions-for-fedora-15-open-suse-11-4-arch-linux/"&gt;here&lt;/a&gt;&lt;h2&gt;Tweak-tool&lt;/h2&gt;&lt;pre class="brush: bash"&gt;yum install gnome-tweak-tool&lt;/pre&gt;Then use start it go to Desktop and enable "Have file manager handle the desktop"&lt;h2&gt;Taskbar&lt;/h2&gt;&lt;pre class="brush: bash"&gt;yum install tint2&lt;/pre&gt;Then use gnome-session-properties utility to add tint2 to gnome auto start programs (/usr/bin/tint2)&lt;br /&gt;&lt;h1&gt;Nautilus&lt;/h1&gt;&lt;h2&gt;Show hidden files&lt;/h2&gt;&lt;pre class="brush: bash"&gt;gsettings set org.gnome.nautilus.preferences show-hidden-files true&lt;/pre&gt;&lt;h2&gt;Show address bar instead of buttons for file path&lt;/h2&gt;&lt;pre class="brush: bash"&gt;gsettings set org.gnome.nautilus.preferences always-use-location-entry true&lt;/pre&gt;&lt;h1&gt;Configurations&lt;/h1&gt;&lt;h2&gt;Additional repositories&lt;/h2&gt;Add RPM fusion repos:&lt;br /&gt;&lt;pre class="brush: bash"&gt;su -c 'yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm'&lt;/pre&gt;&lt;h2&gt;Admin rights&lt;/h2&gt;Add sudo capabilities to current user:&lt;br /&gt;&lt;pre class="brush: bash"&gt;usermod -a -G wheel `whoami`&lt;/pre&gt;&lt;h2&gt;Startup theme&lt;/h2&gt;Change the startup theme:&lt;br /&gt;&lt;pre class="brush: bash"&gt;sudo yum install plymouth-theme*&lt;br /&gt;&lt;br /&gt;sudo plymouth-set-default-theme --list&lt;br /&gt;&lt;br /&gt;sudo plymouth-set-default-theme solar -R&lt;/pre&gt;&lt;h2&gt;Keyboard mappings&lt;/h2&gt;Install gconf-editor:&lt;br /&gt;&lt;pre class="brush: bash"&gt;sudo yum install gconf-editor&lt;/pre&gt;Now open gconf-editor from command line and do following modifications: &lt;br /&gt;&lt;h3&gt;windows + D to show desktop&lt;/h3&gt;Find the key "/apps/metacity/global_keybindings/show_desktop" and set the value to "&amp;lt;mod4&amp;gt;D"&lt;br /&gt;&lt;h3&gt;windows + R to run command&lt;/h3&gt;Find the key "/apps/metacity/global_keybindings/panel_run_dialog" and set the value to ""&amp;lt;mod4&amp;gt;R"&lt;br /&gt;&lt;h3&gt;windows + L to lock screen&lt;/h3&gt;Find the key "/apps/metacity/global_keybindings/run_command_1" (or any other number and set the value to ""&amp;lt;mod4&amp;gt;L". Find the key "/apps/metacity/keybinding_commands/command_1" and set the value to "gnome-screensaver-command -l"&lt;br /&gt;&lt;h2&gt;Windows aliases&lt;/h2&gt;&lt;h3&gt;notepad&lt;/h3&gt;&lt;pre class="brush: bash"&gt;sudo alternatives --install /usr/bin/notepad notepad /usr/bin/gedit 1&lt;/pre&gt;&lt;h3&gt;explorer&lt;/h3&gt;&lt;pre class="brush: bash"&gt;sudo alternatives --install /usr/bin/explorer explorer /usr/bin/nautilus 1&lt;/pre&gt;&lt;h3&gt;cmd&lt;/h3&gt;&lt;pre class="brush: bash"&gt;sudo alternatives --install /usr/bin/cmd cmd /usr/bin/gnome-terminal 1&lt;/pre&gt;&lt;h1&gt;Installing additional software&lt;/h1&gt;&lt;h2&gt;Music player - XMMS&lt;/h2&gt;&lt;pre class="brush: bash"&gt;sudo yum install xmms xmms-faad2 xmms-mp3 xmms-pulse xmms-skins&lt;/pre&gt;&lt;h2&gt;Video players&lt;/h2&gt;&lt;h3&gt;mplayyer&lt;/h3&gt;&lt;pre class="brush: bash"&gt;sudo yum install mplayer gecko-mediaplayer mplayer-gui mencoder&lt;/pre&gt;&lt;h3&gt;VLC&lt;/h3&gt;&lt;pre class="brush: bash"&gt;sudo yum install vlc&lt;/pre&gt;&lt;h3&gt;Gnome-tweak-tool&lt;/h3&gt;&lt;pre class="brush: bash"&gt;sudo yum install gnome-tweak-tool&lt;/pre&gt;It can be used to change variety of options.Go to "Windows" and change "Current theme" to "Crux".Go to "File manager" and change "Have file manager handle desktop" to "Yes".&lt;br /&gt;&lt;h2&gt;MS fonts&lt;/h2&gt;&lt;pre class="brush: bash"&gt;sudo yum install rpm-build cabextract ttmkfdir wget xfs&lt;br /&gt;&lt;br /&gt;sudo rpm -ih http://dl.atrpms.net/all/chkfontpath-1.10.1-2.fc14.x86_64.rpm&lt;br /&gt;&lt;br /&gt;sudo wget http://corefonts.sourceforge.net/msttcorefonts-2.0-1.spec&lt;br /&gt;&lt;br /&gt;sudo rpmbuild -ba msttcorefonts-2.0-1.spec&lt;br /&gt;&lt;br /&gt;sudo yum install --nogpgcheck /root/rpmbuild/RPMS/noarch/msttcorefonts-2.0-1.noarch.rpm&lt;/pre&gt;&lt;h2&gt;Chrome&lt;/h2&gt;Go to &lt;a href="http://www.blogger.com/www.google.com/chrome"&gt;www.google.com/chrome&lt;/a&gt; and follow instructions&lt;br /&gt;&lt;h2&gt;Flash&lt;/h2&gt;Go to &lt;a href="http://get.adobe.com/flashplayer"&gt;Adobe flash&lt;/a&gt; and choose linux 64 (Step1) and YUM 64 (Step2)Install the downloaded RPM it will add the adobe YUM repos.Install the real flash player with:&lt;pre class="brush: bash"&gt;yum install flash-plugin nspluginwrapper.x86_64 nspluginwrapper.i686 alsa-plugins-pulseaudio.i686 libcurl.i686&lt;/pre&gt;Now Firefox should be able to play flash video (try it with youtube)In order to make Chrome playing flash videos executes following commands:&lt;pre class="brush: bash"&gt;mkdir /opt/google/chrome/plugins&lt;br/&gt;&lt;br /&gt;ln -s /usr/lib64/mozilla/plugins/libflashplayer.so /opt/google/chrome/plugins/libflashplayer.so&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;h2&gt;Skype&lt;/h2&gt;Go to &lt;a href="http://www.skype.com/intl/en/get-skype/on-your-computer/linux/downloading.fedora"&gt;http://www.skype.com/intl/en/get-skype/on-your-computer/linux/downloading.fedora&lt;/a&gt; and follow instructions&lt;br /&gt;&lt;h2&gt;Show system information as background - conky &lt;/h2&gt;&lt;pre class="brush: bash"&gt;sudo yum install conky&lt;/pre&gt;Then use gnome-session-properties utility to add conky to gnome auto start programs (/usr/bin/conky)A simple configuration file /etc/conky/conky.conf&lt;br /&gt;&lt;pre class="brush: bash"&gt;alignment top_right&lt;br /&gt;&lt;br /&gt;background no&lt;br /&gt;&lt;br /&gt;border_width 1&lt;br /&gt;&lt;br /&gt;cpu_avg_samples 2&lt;br /&gt;&lt;br /&gt;default_color white&lt;br /&gt;&lt;br /&gt;default_outline_color white&lt;br /&gt;&lt;br /&gt;default_shade_color white&lt;br /&gt;&lt;br /&gt;draw_borders no&lt;br /&gt;&lt;br /&gt;draw_graph_borders yes&lt;br /&gt;&lt;br /&gt;draw_outline no&lt;br /&gt;&lt;br /&gt;draw_shades no&lt;br /&gt;&lt;br /&gt;use_xft yes&lt;br /&gt;&lt;br /&gt;xftfont DejaVu Sans Mono:size=12&lt;br /&gt;&lt;br /&gt;gap_x 5&lt;br /&gt;&lt;br /&gt;gap_y 60&lt;br /&gt;&lt;br /&gt;minimum_size 5 5&lt;br /&gt;&lt;br /&gt;net_avg_samples 2&lt;br /&gt;&lt;br /&gt;no_buffers yes&lt;br /&gt;&lt;br /&gt;out_to_console no&lt;br /&gt;&lt;br /&gt;out_to_stderr no&lt;br /&gt;&lt;br /&gt;extra_newline no&lt;br /&gt;&lt;br /&gt;own_window_transparent yes&lt;br /&gt;&lt;br /&gt;own_window yes&lt;br /&gt;&lt;br /&gt;own_window_class Conky&lt;br /&gt;&lt;br /&gt;own_window_type desktop&lt;br /&gt;&lt;br /&gt;stippled_borders 0&lt;br /&gt;&lt;br /&gt;update_interval 1.0&lt;br /&gt;&lt;br /&gt;uppercase no&lt;br /&gt;&lt;br /&gt;use_spacer none&lt;br /&gt;&lt;br /&gt;show_graph_scale no&lt;br /&gt;&lt;br /&gt;show_graph_range noTEXT&lt;br /&gt;&lt;br /&gt;#${scroll 32 $nodename - $sysname $kernel on $machine | }&lt;br /&gt;&lt;br /&gt;$nodename - $sysname $kernel&lt;br /&gt;&lt;br /&gt;$hr&lt;br /&gt;&lt;br /&gt;${color grey}Uptime:$color $uptime&lt;br /&gt;&lt;br /&gt;${color grey}Frequency (in GHz):$color $freq_g&lt;br /&gt;&lt;br /&gt;${color grey}RAM Usage:$color $mem/$memmax - $memperc% ${membar 4}&lt;br /&gt;&lt;br /&gt;${color grey}Swap Usage:$color $swap/$swapmax - $swapperc% ${swapbar 4}&lt;br /&gt;&lt;br /&gt;${color grey}CPU Usage:$color $cpu% ${cpubar 4}&lt;br /&gt;&lt;br /&gt;${color grey}Temperature:$color $acpitemp% ${color grey}Fan speed:$color $acpifan&lt;br /&gt;&lt;br /&gt;${color grey}Processes:$color $processes  ${color grey}Running:$color $running_processes&lt;br /&gt;&lt;br /&gt;$hr&lt;br /&gt;&lt;br /&gt;${color grey}File systems:&lt;br /&gt;&lt;br /&gt;/ $color${fs_used /}/${fs_size /} ${fs_bar 6 /}&lt;br /&gt;&lt;br /&gt;${color grey}Networking:&lt;br /&gt;&lt;br /&gt;Up:$color ${upspeed eth0} ${color grey} - Down:$color ${downspeed eth0}&lt;br /&gt;&lt;br /&gt;$hr&lt;br /&gt;&lt;br /&gt;${color grey}Name              PID   CPU%   MEM%&lt;br /&gt;&lt;br /&gt;${color lightgrey} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}&lt;br /&gt;&lt;br /&gt;${color lightgrey} ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}&lt;br /&gt;&lt;br /&gt;${color lightgrey} ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}&lt;br /&gt;&lt;br /&gt;${color lightgrey} ${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;All the information is found by googling. You can find some very useful tips &lt;a href="http://www.blogger.com/blogger.g?blogID=30194369" mjm-fedora-f14.html"="" ref-"http:="" resources="" www.mjmwired.net=""&gt;here&lt;/a&gt; and &lt;a href="http://www.fedorafaq.org/"&gt;here&lt;/a&gt; and&lt;a href="http://blog.fpmurphy.com/2011/03/customizing-the-gnome-3-shell.html"&gt;here&lt;/a&gt;&lt;br /&gt;Thanks guys!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-4827386692972153439?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/4827386692972153439/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=4827386692972153439' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/4827386692972153439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/4827386692972153439'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2011/05/fc15-post-installation-steps.html' title='FC15 post installation steps'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-5957110998916250692</id><published>2011-03-29T12:46:00.001-07:00</published><updated>2011-03-29T12:55:57.712-07:00</updated><title type='text'>VNC server under F14</title><content type='html'>1) Install the vnc server by suing following command:&lt;br /&gt;&lt;div style="width: 100%; margin: 1em auto; border: 1px dashed; padding: 4px; background-color: rgb(239, 239, 239); color: black; font-family: 'Courier New' Courier  monospace "&gt;yum install tigervnc tigervnc-server&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;2) Under the user that will be used to login execute:&lt;br /&gt;&lt;div style="width: 100%; margin: 1em auto; border: 1px dashed; padding: 4px; background-color: rgb(239, 239, 239); color: black; font-family: 'Courier New' Courier  monospace "&gt;vncpasswd&lt;/div&gt;&lt;br /&gt;This is the password that you will use to connect to the server&lt;br /&gt;&lt;br /&gt;3) Configure the displays by editing /etc/sysconfig/vncservers&lt;br /&gt;&lt;div style="width: 100%; margin: 1em auto; border: 1px dashed; padding: 4px; background-color: rgb(239, 239, 239); color: black; font-family: 'Courier New' Courier  monospace "&gt;nano /etc/sysconfig/vncservers&lt;/div&gt;&lt;br /&gt;Make sure that you have something like this&lt;br /&gt;&lt;div style="width: 100%; margin: 1em auto; border: 1px dashed; padding: 4px; background-color: rgb(239, 239, 239); color: black; font-family: 'Courier New' Courier  monospace "&gt;VNCSERVERS="1:the_user_that_is_used_for_vnc"&lt;br /&gt;VNCSERVERARGS[1]="-geometry 1280x1024"&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;4) Then start the service for the first time:&lt;br /&gt;&lt;div style="width: 100%; margin: 1em auto; border: 1px dashed; padding: 4px; background-color: rgb(239, 239, 239); color: black; font-family: 'Courier New' Courier  monospace "&gt;service vncserver start&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;5) And make sure that the service is starting everytime you restart your machine:&lt;br /&gt;&lt;div style="width: 100%; margin: 1em auto; border: 1px dashed; padding: 4px; background-color: rgb(239, 239, 239); color: black; font-family: 'Courier New' Courier  monospace "&gt;chkconfig vncserver on&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;6) also don't forget to add firewall rules - use gnome tools from System / Administration / Firewall... Allow connections to port 5901&lt;br /&gt;&lt;br /&gt;7) Now you can connect to the VNC server with ip and the display number e.g.: 192.160.0.254:1&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-5957110998916250692?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/5957110998916250692/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=5957110998916250692' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/5957110998916250692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/5957110998916250692'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2011/03/vnc-server-under-f14.html' title='VNC server under F14'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-6452267587266275447</id><published>2011-03-01T04:32:00.001-08:00</published><updated>2011-03-01T04:35:24.590-08:00</updated><title type='text'>How to list registered EJB beans in Glassfish</title><content type='html'>http://www.myeclipseide.com/PNphpBB2-viewtopic-t-18850.html&lt;br /&gt;&lt;br /&gt;1) Open the Glassfish Admin Console&lt;br /&gt;2) Select the "Application Server" tree node&lt;br /&gt;3) In the "General" tab under "General Information" choose JNDI browsing&lt;br /&gt;4) Under the "ejb" tree you can find all registered EJB beans&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-6452267587266275447?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/6452267587266275447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=6452267587266275447' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/6452267587266275447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/6452267587266275447'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2011/03/how-to-list-registered-ejb-beans-in.html' title='How to list registered EJB beans in Glassfish'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-3723482382571873839</id><published>2011-02-26T11:56:00.000-08:00</published><updated>2011-02-26T11:59:12.795-08:00</updated><title type='text'>How to enable Remote Desktop on remote machine</title><content type='html'>http://oreilly.com/windows/archive/server-hacks-remote-desktop.html&lt;br /&gt;1) connect on the machine using regedit.exe (from File / Connect Network Registry)&lt;br /&gt;2) Go to the key HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server&lt;br /&gt;3) Change fDenyTSConnection from 1 (Remote desktop disabled) to 0 (Remote desktop enabled)&lt;br /&gt;4) Restart the system by using the command&lt;br /&gt;shutdown -m \\&lt;ip address&gt; -r&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-3723482382571873839?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/3723482382571873839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=3723482382571873839' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/3723482382571873839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/3723482382571873839'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2011/02/how-to-enable-remote-desktop-on-remote.html' title='How to enable Remote Desktop on remote machine'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-7217698466897172846</id><published>2011-02-17T15:25:00.000-08:00</published><updated>2011-02-17T15:44:17.182-08:00</updated><title type='text'>Installing OpenId-server on mysql</title><content type='html'>1) Download the JosID war file.&lt;br /&gt;wget http://mirrors.redv.com/pub/jos/jos-1.2.1/jos-webapp-1.2.1.war&lt;br /&gt;2) Deploy it on tomcat server&lt;br /&gt;cp jos-webapp-1.2.1.war /usr/share/tomcat7/webapps/josid.war&lt;br /&gt;3) start tomcat and stop it in order to extract the war content.&lt;br /&gt;5) Copy the context.xml from the WAR to the tomcat/conf dir&lt;br /&gt;cp /usr/share/tomcat7/webapps/josid/META-INF/context.xml /usr/share/tomcat7/conf/Catalina/localhost/josid.xml&lt;br /&gt;6) Edit /usr/share/tomcat7/conf/Catalina/localhost/josid.xml and change the jdbc/jos resource and the Hybernate dialect:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;Resource&lt;br /&gt;  name="jdbc/jos"&lt;br /&gt;  type="javax.sql.DataSource"&lt;br /&gt;  driverClassName="com.mysql.jdbc.Driver"&lt;br /&gt;  url="jdbc:mysql://localhost:3306/jos"&lt;br /&gt;  username="jos"&lt;br /&gt;  password="secret" /&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;Environment&lt;br /&gt;  name="hibernate.dialect"&lt;br /&gt;  type="java.lang.String"&lt;br /&gt;  value="org.hibernate.dialect.MySQL5Dialect" /&amp;gt;&lt;br /&gt;&lt;br /&gt;Also change the password&lt;br /&gt; &amp;lt;Environment&lt;br /&gt;  name="domain.configurator.password"&lt;br /&gt;  type="java.lang.String"&lt;br /&gt;  value="secret"&lt;br /&gt;  override="false" /&amp;gt;&lt;br /&gt;&lt;br /&gt;7) Download the mysql-connector and put it in tomcat/lib directory&lt;br /&gt;8) Create the mysql database&lt;br /&gt;  CREATE USER 'jos'@'localhost' IDENTIFIED BY 'secret';&lt;br /&gt;  CREATE DATABASE jos;&lt;br /&gt;  GRANT ALL ON jos.* TO 'jos'@'localhost';&lt;br /&gt;  FLUSH PRIVILEGES;&lt;br /&gt;9) start tomcat&lt;br /&gt;10) open the josid URL and use the password previously configured in josid.xml&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-7217698466897172846?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/7217698466897172846/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=7217698466897172846' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/7217698466897172846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/7217698466897172846'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2011/02/installing-openid-server-on-mysql.html' title='Installing OpenId-server on mysql'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-8488708066141389435</id><published>2011-02-17T13:14:00.000-08:00</published><updated>2011-02-17T13:22:44.539-08:00</updated><title type='text'>Maven on F14</title><content type='html'>1) wget http://apache.online.bg//maven/binaries/apache-maven-3.0.2-bin.tar.gz&lt;br /&gt;2) tar -zxvf apache-maven-3.0.2-bin.tar.gz&lt;br /&gt;3) cp -R apache-maven-3.0.2 /usr/share/&lt;br /&gt;4) ln -s /usr/share/apache-maven-3.0.2/ /usr/share/maven&lt;br /&gt;5) update-alternatives --install /usr/bin/mvn mvn /usr/share/maven/bin/mvn 1&lt;br /&gt;6) update-alternatives --config mvn &lt;br /&gt;Just to make sure that it is using the correct path.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-8488708066141389435?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/8488708066141389435/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=8488708066141389435' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/8488708066141389435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/8488708066141389435'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2011/02/maven-on-f14.html' title='Maven on F14'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-6501038141593840923</id><published>2011-02-16T11:35:00.000-08:00</published><updated>2011-02-16T12:20:58.901-08:00</updated><title type='text'>Tomcat 7 on Fedora 14</title><content type='html'>First let install tomcat6 so we have some template from where to copy the scripts:&lt;br /&gt;0) yum install tomcat6&lt;br /&gt;&lt;br /&gt;Now lets configure the service:&lt;br /&gt;1) cp -R /etc/init.d/tomcat6 /etc/init.d/tomcat7&lt;br /&gt;2) Edit /etc/init.d/tomcat7 and change all occurrences of &lt;span style="font-style:italic;"&gt;tomcat6&lt;/span&gt; to &lt;span style="font-style:italic;"&gt;tomcat7&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now lets configure the script that actually starts the tomcat:&lt;br /&gt;3) cp -R /usr/sbin/tomcat6 /usr/sbin/tomcat7&lt;br /&gt;4) Edit /usr/sbin/tomcat7 and change all occurrences of &lt;span style="font-style:italic;"&gt;tomcat6&lt;/span&gt; to &lt;span style="font-style:italic;"&gt;tomcat7&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Next let's make the configuration &amp; log directories:&lt;br /&gt;5) mkdir /etc/tomcat7&lt;br /&gt;6) mkdir /var/log/tomcat7&lt;br /&gt;&lt;br /&gt;Now download the tomcat archive distribution:&lt;br /&gt;7) Download tomcat7.tar.gz and extract it into /usr/share/tomcat7 &lt;br /&gt;&lt;br /&gt;Copy the configuration files in Fedora standart config dir:&lt;br /&gt;8) cp -R /usr/share/tomcat7/conf /etc/tomcat7&lt;br /&gt;9) rm -Rf /usr/share/tomcat7/conf&lt;br /&gt;10) ln -s /etc/tomcat7 /usr/share/tomcat7/conf&lt;br /&gt;&lt;br /&gt;Make the tomcat7 to use the standard Fedora log directory:&lt;br /&gt;11) rm -Rf /usr/share/tomcat7/logs&lt;br /&gt;12) ln -s /var/log/tomcat7 /usr/share/tomcat7/logs&lt;br /&gt;&lt;br /&gt;Configure the tomcat7 options:&lt;br /&gt;13) cp /etc/tomcat6/tomcat6.conf /etc/tomcat7/tomcat7.conf&lt;br /&gt;14) Edit /etc/tomcat7/tomcat7.conf and change all occurrences of &lt;span style="font-style:italic;"&gt;tomcat6&lt;/span&gt; to &lt;span style="font-style:italic;"&gt;tomcat7&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Specify temp &amp; work dirs:&lt;br /&gt;15) mkdir -p /var/cache/tomcat7/work&lt;br /&gt;16) mkdir -p /var/cache/tomcat7/temp&lt;br /&gt;17) rm -Rf /usr/share/tomcat7/work&lt;br /&gt;18) rm -Rf /usr/share/tomcat7/temp&lt;br /&gt;19) ln -s /var/cache/tomcat7/work /usr/share/tomcat7/work&lt;br /&gt;20) ln -s /var/cache/tomcat7/temp /usr/share/tomcat7/temp&lt;br /&gt;&lt;br /&gt;Fix the permissions:&lt;br /&gt;21) chgrp -R tomcat /usr/share/tomcat7&lt;br /&gt;22) chmod -R ug+rwx /usr/share/tomcat7&lt;br /&gt;23) chgrp -R tomcat /var/log/tomcat7&lt;br /&gt;24) chmod -R ug+rwx /var/log/tomcat7&lt;br /&gt;25) chgrp -R tomcat /var/cache/tomcat7&lt;br /&gt;26) chmod -R ug+rwx /var/cache/tomcat7&lt;br /&gt;&lt;br /&gt;Add administrator user so you can manage the server:&lt;br /&gt;27) Edit /etc/tomcat7/tomcat7.conf and following lines&lt;br /&gt;&lt;span style="font-style:italic;"&gt;&amp;lt;role rolename="admin"/&amp;gt;&lt;br /&gt;&amp;lt;role rolename="admin-gui"/&amp;gt;&lt;br /&gt;&amp;lt;role rolename="admin-script"/&amp;gt;&lt;br /&gt;&amp;lt;role rolename="manager"/&amp;gt;&lt;br /&gt;&amp;lt;role rolename="manager-gui"/&amp;gt;&lt;br /&gt;&amp;lt;role rolename="manager-script"/&amp;gt;&lt;br /&gt;&amp;lt;role rolename="manager-jmx"/&amp;gt;&lt;br /&gt;&amp;lt;role rolename="manager-status"/&amp;gt;&lt;br /&gt;&amp;lt;user name="admin" password="adminadmin" roles="admin,manager,admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status" /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now start the service and everything should works fine:&lt;br /&gt;28) service tomcat7 start&lt;br /&gt;&lt;br /&gt;Finally you can start the service on everyboot&lt;br /&gt;29) chkconfig tomcat7 on&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-6501038141593840923?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/6501038141593840923/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=6501038141593840923' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/6501038141593840923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/6501038141593840923'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2011/02/tomcat-7-on-fedora-14.html' title='Tomcat 7 on Fedora 14'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-2927188078735321608</id><published>2011-02-13T13:05:00.000-08:00</published><updated>2011-02-13T13:29:56.674-08:00</updated><title type='text'>NVidia driver F14 x86_64</title><content type='html'>По default F14 идва с nouveau драйвер зa видео картата. Ако искате да сложите нов дравер направете следното:&lt;br /&gt;1. Сваляне на драйвера от www.nvidia.com (NVIDIA-Linux-x86_64-260-19.36.run)&lt;br /&gt;2. Reboot и по време на GRUB избирате опция за допълнителни параметри към kernel (от менюто избирате 'a'). Добавяте параметъра single накрая на реда. &lt;br /&gt;3. Когато се стартира системата, няма да ви иска парола. &lt;br /&gt;Изпълнявате init 3&lt;br /&gt;4. Логвате се с root &lt;br /&gt;5. Изпълнявате NVIDIA-Linux-x86_64-260-19.36.run. Най-вероятно ще излезе грешка, че nouveau е активен.&lt;br /&gt;6. Изберете yes за modprobe disable стъпката.&lt;br /&gt;7. Изпълнете 2-5 отново. Ако пак възникне грешка, тогава трябва да се направи едно от двете:&lt;br /&gt;7а. Редактирате /boot/grub/grub.conf и на реда в който започва с kernel накрая добавяте параметъра rdblacklist=nouveau (това е същия ред който редактирате от GRUB-a)&lt;br /&gt;7b. Променяте initramfs като изпълните командите &lt;br /&gt;mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img&lt;br /&gt;dracut /boot/initramfs-$(uname -r).img $(uname -r)&lt;br /&gt;8. Повтаряте стъпките от 2-5 и този път не трябва да ви даде грешка за nouveau. Избирате да инсталирате opengl32 и да конфигурирате X средата&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-2927188078735321608?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/2927188078735321608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=2927188078735321608' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/2927188078735321608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/2927188078735321608'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2011/02/nvidia-driver-f14-x8664.html' title='NVidia driver F14 x86_64'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-2371356040904130108</id><published>2011-02-13T01:35:00.000-08:00</published><updated>2011-02-13T01:50:21.411-08:00</updated><title type='text'>Как да инсталираме skype под F14</title><content type='html'>http://yunustj.wordpress.com/2010/07/18/how-to-install-skype-on-to-fedora-13-x86_64/&lt;br /&gt;&lt;br /&gt;&lt;div style="width: 100%; margin: 1em auto; border: 1px dashed; padding: 4px; background-color: rgb(239, 239, 239); color: black; font-family: 'Courier New' Courier  monospace "&gt;&lt;br /&gt;yum whatprovides &lt;library&gt; &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;ни дава информация кой пакет да инсталираме за да имаме дадената библиотека.&lt;br /&gt;&lt;br /&gt;&lt;div style="width: 100%; margin: 1em auto; border: 1px dashed; padding: 4px; background-color: rgb(239, 239, 239); color: black; font-family: 'Courier New' Courier  monospace "&gt;&lt;br /&gt;E: skype: error while loading shared libraries: libasound.so.2: cannot open shared object file: No such file or directory&lt;br /&gt;S: yum install alsa-lib.i686&lt;br /&gt;&lt;br /&gt;E: skype: error while loading shared libraries: libXv.so.1: cannot open shared object file: No such file or directory&lt;br /&gt;S: yum install libXv.i686&lt;br /&gt;&lt;br /&gt;E: skype: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory&lt;br /&gt;S: yum install libXScrnSaver.i686&lt;br /&gt;&lt;br /&gt;E: skype: error while loading shared libraries: libQtDBus.so.4: cannot open shared object file: No such file or directory&lt;br /&gt;S: yum install qt.i686&lt;br /&gt;&lt;br /&gt;E: skype: error while loading shared libraries: libQtGui.so.4: cannot open shared object file: No such file or directory&lt;br /&gt;S: yum install qt-x11.i686&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;На стъпката с libQtDBus.so.4 имах доста проблеми, защото имаше конфликти с вече инсталирани пакети. Това което си спомням, че направих е да инсталирам qt.x86_64, т.е.:&lt;br /&gt;&lt;br /&gt;&lt;div style="width: 100%; margin: 1em auto; border: 1px dashed; padding: 4px; background-color: rgb(239, 239, 239); color: black; font-family: 'Courier New' Courier  monospace "&gt;&lt;br /&gt;yum install qt.x86_64&lt;br /&gt;yum install qt.i686&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;И по някакъв магически начин след това нямаше конфликти :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-2371356040904130108?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/2371356040904130108/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=2371356040904130108' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/2371356040904130108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/2371356040904130108'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2011/02/skype-f14.html' title='Как да инсталираме skype под F14'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-6406990549018445345</id><published>2011-01-09T12:52:00.000-08:00</published><updated>2011-01-09T12:54:38.028-08:00</updated><title type='text'>Активни транзакции в Oracle</title><content type='html'>Ето и едно скрипче което показва активните транзакции в Oracle.&lt;br /&gt;&lt;br /&gt;&lt;div style="width: 100%; margin: 1em auto; border: 1px dashed; padding: 4px; background-color: rgb(239, 239, 239); color: black; font-family: 'Courier New' Courier  monospace "&gt;&lt;br /&gt;SELECT&lt;br /&gt;   s.osuser, vp.spid as os_pid, S.BLOCKING_SESSION blocker,&lt;br /&gt;   S.SID, S.SERIAL#, S.USERNAME, S.MACHINE,&lt;br /&gt;   Q.SQL_FULLTEXT cur_sql, PQ.SQL_FULLTEXT prev_sql, &lt;br /&gt;   vt.used_urec, vt.start_date&lt;br /&gt;FROM &lt;br /&gt;   v$session S&lt;br /&gt;   LEFT JOIN v$sqlarea Q on S.SQL_ID = Q.SQL_ID&lt;br /&gt;   LEFT JOIN v$sqlarea PQ on S.PREV_SQL_ID = PQ.SQL_ID&lt;br /&gt;   LEFT JOIN v$process vp on s.paddr = vp.addr&lt;br /&gt;   LEFT JOIN v$transaction vt on s.saddr = vt.ses_addr&lt;br /&gt;WHERE&lt;br /&gt;   vt.start_date &lt; SYSDATE - (5/1440)&lt;br /&gt;--   AND&lt;br /&gt;--   s.machine = 'machine.name'&lt;br /&gt;ORDER BY &lt;br /&gt;   S.SID&lt;br /&gt;; &lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-6406990549018445345?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/6406990549018445345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=6406990549018445345' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/6406990549018445345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/6406990549018445345'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2011/01/oracle.html' title='Активни транзакции в Oracle'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-5671479024781016678</id><published>2011-01-09T12:45:00.000-08:00</published><updated>2011-01-09T12:52:45.220-08:00</updated><title type='text'>Thread dump на Glassfish</title><content type='html'>Понякога се налага да се проверят разни продъкшан системи защо забиват и т.н.&lt;br /&gt;Един добър начин това да се направи, е чрез използването на JMX менидмънт бийновете.&lt;br /&gt;&lt;br /&gt;Ot &lt;JDK home&gt;\bin се пуска jconsole въвежда се следния remote process &lt;blockquote&gt;service:jmx:rmi:///jndi/rmi://127.0.0.1:8686/jmxrmi&lt;/blockquote&gt; и се въвеждат администраторските пароли за glassfish-а.&lt;br /&gt;&lt;br /&gt;След това се следва туторияла за jconsole-ата&lt;br /&gt;http://download.oracle.com/javase/6/docs/technotes/guides/management/jconsole.html&lt;br /&gt;&lt;br /&gt;Интересното е таба Threads и отдолу има списък с тредовете и техния stacktrace&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-5671479024781016678?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/5671479024781016678/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=5671479024781016678' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/5671479024781016678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/5671479024781016678'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2011/01/thread-dump-glassfish.html' title='Thread dump на Glassfish'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-8614124123472863963</id><published>2011-01-09T12:41:00.000-08:00</published><updated>2011-01-09T12:45:11.305-08:00</updated><title type='text'>Пълно форматиране на харда от Windows 7 DVD</title><content type='html'>Може би някои са забелязали, новият инсталатор нa Windows вече няма full format, а само quick. Това супер, ако все пак не се нуждаете от проверка за лоши сектори или искате тотално да затриете информацията. Следната процедура позволява пълно форматиране&lt;br /&gt;&lt;br /&gt;1. Започнете инсталиране от DVD-то&lt;br /&gt;2. На екрана "Where do you want to install Windows" изтрийте всичките партишъни и създайте нов празен.&lt;br /&gt;3. Форматирайте го - това е quick формата&lt;br /&gt;4. Натиснете Shift + F10 (ще се отвори конзола)&lt;br /&gt;6. От команд промпта напишете "format c:". Параметъра /P:&lt;число&gt; ще занули съдържанието на секторите.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-8614124123472863963?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/8614124123472863963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=8614124123472863963' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/8614124123472863963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/8614124123472863963'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2011/01/windows-7-dvd.html' title='Пълно форматиране на харда от Windows 7 DVD'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-9018517594569757897</id><published>2010-06-23T10:47:00.000-07:00</published><updated>2010-06-23T11:08:44.269-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Fedora Show Disks Drives'/><title type='text'>Show available disks drives under Linux (Fedora)</title><content type='html'>Somebody wondering how to show all attached hard disks / CD DVD drives under Linux?&lt;br /&gt;&lt;br /&gt;Here is a small program that do just that. It works perfectly under Fedora 13. Copy/Past the text in file called &lt;span style="font-weight:bold;"&gt;/usr/bin/lshdd&lt;/span&gt; &lt;br /&gt;&lt;div style="width: 100%; margin: 1em auto; border: 1px dashed; padding: 4px; background-color: rgb(239, 239, 239); color: black; font-family: 'Courier New' Courier  monospace "&gt;#!/bin/bash&lt;br /&gt;if [ "$1" == "-v" ]; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;verbose="true"&lt;br /&gt;else &lt;br /&gt;&amp;nbsp;&amp;nbsp;verbose="false"&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;lshal | awk -v verbose=$verbose 'BEGIN {&lt;br /&gt;&amp;nbsp;&amp;nbsp;name=""&lt;br /&gt;}&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;if ($0~"^udi = ") {name=""}&lt;br /&gt;&amp;nbsp;&amp;nbsp;if ($0~"^udi = ./org/freedesktop/Hal/devices/storage_serial_.*") {    &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;match($3, "/org/freedesktop/Hal/devices/storage_serial_(.*).", arr);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;name=arr[1]    &lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;if ($0~"^udi = ./org/freedesktop/Hal/devices/storage_model.*") {    &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;match($3, "/org/freedesktop/Hal/devices/storage_model_(.*).", arr);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;name=arr[1]    &lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;if (name!="" &amp;&amp; $0~"block.device") {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;match($3, "(/dev/.*).", arr);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (verbose~"true") {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print arr[1] " = "  name&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print arr[1]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;name = ""&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}' &lt;br /&gt;&lt;/div&gt;Change the file permissions:&lt;br /&gt;&lt;div style="width: 100%; margin: 1em auto; border: 1px dashed; padding: 4px; background-color: rgb(239, 239, 239); color: black; font-family: 'Courier New' Courier  monospace "&gt;chmod a+x /usr/bin/lshdd&lt;/div&gt;Then you can list your hard &amp; dvd drives:&lt;div style="width: 100%; margin: 1em auto; border: 1px dashed; padding: 4px; background-color: rgb(239, 239, 239); color: black; font-family: 'Courier New' Courier  monospace "&gt;lshdd -v&lt;/div&gt;and the output looks like:&lt;div style="width: 100%; margin: 1em auto; border: 1px dashed; padding: 4px; background-color: rgb(239, 239, 239); color: black; font-family: 'Courier New' Courier  monospace "&gt;/dev/sr0 = DVD__RW_TS_L632D&lt;br /&gt;/dev/sdb = WDC_WD50_00AAVS_00ZTB0_D577A3503523_0_0&lt;br /&gt;/dev/sda = SAMSUNG_HM400LI_S1PSJ10Q710844&lt;/div&gt;&lt;br /&gt;You can easily find the partitions of specific drive&lt;br /&gt;&lt;div style="width: 100%; margin: 1em auto; border: 1px dashed; padding: 4px; background-color: rgb(239, 239, 239); color: black; font-family: 'Courier New' Courier  monospace "&gt;fdisk -l /dev/sdb&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;P.S. It is my first awk script, so it really looks ugly, I know ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-9018517594569757897?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/9018517594569757897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=9018517594569757897' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/9018517594569757897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/9018517594569757897'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2010/06/show-available-disks-under-linux-fedora.html' title='Show available disks drives under Linux (Fedora)'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-5905354772595774546</id><published>2010-06-08T17:21:00.000-07:00</published><updated>2010-09-23T13:48:36.340-07:00</updated><title type='text'>Fedora startup theme</title><content type='html'>Федора ползва plymouth за да покаже анимацията по-време на бутването, преди да се е заредло Х-а. Готиното е, че plymouth може да се наглася и да се слагат различни теми ;-)&lt;br /&gt;&lt;br /&gt;&lt;div style="width: 100%; margin: 1em auto; border: 1px dashed; padding: 4px; background-color: rgb(239, 239, 239); color: black; font-family: 'Courier New' Courier  monospace "&gt;yum install plymouth-theme*&lt;br /&gt;plymouth-set-default-theme --list&lt;br /&gt;plymouth-set-default-theme solar -R&lt;br /&gt;#plymouth-set-default-theme solar --rebuild-initrd&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-5905354772595774546?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/5905354772595774546/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=5905354772595774546' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/5905354772595774546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/5905354772595774546'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2010/06/fedora-startup-theme.html' title='Fedora startup theme'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-7207574502434573833</id><published>2010-06-06T04:35:00.000-07:00</published><updated>2010-06-06T04:41:25.469-07:00</updated><title type='text'>Mount-ване на windows shares</title><content type='html'>&lt;div style="width: 100%; margin: 1em auto; border: 1px dashed; padding: 4px; background-color: rgb(239, 239, 239); color: black; font-family: 'Courier New' Courier  monospace "&gt;sudo mount -t cifs -o username=myuser,password=secret,uid=myuser,gid=mygroup //10.1.52.25/c$ /mnt&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Параметри са: &lt;br /&gt;username,password са Windows credential &lt;br /&gt;uid,gid потребителят и групата на owner-а на /mnt&lt;br /&gt;&lt;br /&gt;Част от параметрите може и да се пропуснат:&lt;br /&gt;&lt;div style="width: 100%; margin: 1em auto; border: 1px dashed; padding: 4px; background-color: rgb(239, 239, 239); color: black; font-family: 'Courier New' Courier  monospace "&gt;sudo mount -t cifs -o username=myuser,uid=myuser //10.1.52.25/c$ /mnt&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-7207574502434573833?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/7207574502434573833/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=7207574502434573833' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/7207574502434573833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/7207574502434573833'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2010/06/mount-windows-shares.html' title='Mount-ване на windows shares'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-9013653218529478279</id><published>2010-06-06T04:21:00.000-07:00</published><updated>2010-06-06T04:26:26.018-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='location entry'/><category scheme='http://www.blogger.com/atom/ns#' term='pathbar buttons'/><category scheme='http://www.blogger.com/atom/ns#' term='Nautilus address bar'/><title type='text'>Nautilus address bar</title><content type='html'>Nautilus може да показва пътят до файла като бутони или като стринг. По подразбиране се ползват бутони. За да се промени тази настройка трябва да се промени стойността на полето (unchecked) &lt;br /&gt;/apps/nautilus/preferences/always_use_location_entry от gconf-editor.&lt;br /&gt;&lt;br /&gt;Ако gconf-editor, трябва да се инсталира с yum install gconf-editor*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-9013653218529478279?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/9013653218529478279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=9013653218529478279' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/9013653218529478279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/9013653218529478279'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2010/06/nautilus-address-bar.html' title='Nautilus address bar'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-3582263912762274094</id><published>2010-06-06T03:52:00.000-07:00</published><updated>2010-06-06T04:12:08.855-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='show desktop'/><category scheme='http://www.blogger.com/atom/ns#' term='fedora 13'/><title type='text'>Show desktop</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_zSYfo0GtMTI/TAuB21lhf_I/AAAAAAAAACA/zRg0aSjK9kM/s1600/ShowDesktop_48x48.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 16px; height: 16px;" src="http://2.bp.blogspot.com/_zSYfo0GtMTI/TAuB21lhf_I/AAAAAAAAACA/zRg0aSjK9kM/s320/ShowDesktop_48x48.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5479616150723723250" /&gt;&lt;/a&gt;&lt;br /&gt;След като си инсталирах новата Fedora 13 ми се прииска да си имам любимият Show Desktop бутон, който да показва десктопа. В самата дистрибуция има такъв бутон, но логиката му е странна и не ми харесва - първо първо натискане прави restore all hidden windows, второто натискане hide all windows. Това което на мене ми трябва е: при натискане да показва десктопа.&lt;br /&gt;&lt;br /&gt;Ето как става това:&lt;br /&gt;&lt;div style="width: 100%; margin: 1em auto; border: 1px dashed; padding: 4px; background-color: rgb(239, 239, 239); color: black; font-family: 'Courier New' Courier  monospace "&gt;&lt;br /&gt;1. yum install wmctrl*&lt;br /&gt;2. Right click on the panel and choose Add to panel &gt; Custom application launcher&lt;br /&gt;3. Type: Application,  &lt;br /&gt;   Name: Show Desktop&lt;br /&gt;   Command: wmctrl -k on   &lt;br /&gt;4. choose the icon&lt;br /&gt;5. click OK.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-3582263912762274094?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/3582263912762274094/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=3582263912762274094' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/3582263912762274094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/3582263912762274094'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2010/06/show-desktop.html' title='Show desktop'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_zSYfo0GtMTI/TAuB21lhf_I/AAAAAAAAACA/zRg0aSjK9kM/s72-c/ShowDesktop_48x48.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-8571369381686660330</id><published>2010-05-07T17:53:00.000-07:00</published><updated>2010-05-07T18:10:51.350-07:00</updated><title type='text'>Инсталиране на Sun JDK на Fedora</title><content type='html'>1) Сваляте Sun-ското JDK от java.sun.com като bin файл&lt;br /&gt;2) &lt;span style="font-weight:bold;"&gt;chmod a+x &lt;jdk.bin.file&gt;&lt;/span&gt; на bin файла и го стартирате&lt;br /&gt;3) копирате съдържанието на разархивираната директория (например jdk1.6.0_20) в &lt;span style="font-weight:bold;"&gt;/usr/lib/jvm/jdk-1.6.0_20-sun&lt;/span&gt; (която трябва да създадете)&lt;br /&gt;4) използвате командата &lt;span style="font-weight:bold;"&gt;update-alternatives&lt;/span&gt; за да добавите новата java&lt;br /&gt;5) &lt;span style="font-weight:bold;"&gt;update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-1.6.0_20-sun/bin/java 1&lt;/span&gt;&lt;br /&gt;6) &lt;span style="font-weight:bold;"&gt;update-alternatives --config java &lt;/span&gt;&lt;br /&gt;и избирате нововъведения път&lt;br /&gt;7) изпълнявате &lt;span style="font-weight:bold;"&gt;java -version&lt;/span&gt; и проверявате дали е правилната java на Sun&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-8571369381686660330?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/8571369381686660330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=8571369381686660330' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/8571369381686660330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/8571369381686660330'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2010/05/sun-jdk-fedora.html' title='Инсталиране на Sun JDK на Fedora'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-4353399596161461672</id><published>2009-08-28T14:07:00.000-07:00</published><updated>2009-08-28T15:22:29.432-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='backup linux rsync'/><title type='text'>Как да си направим backup на диска под Линукс</title><content type='html'>Въпреки, че хардовете в днешно време са доста надеждни (поне на мен лично не ми е горял хард все още), не е зле човек да се потдотви и да си прави бакъпи редовно. &lt;br /&gt;Понеже основната ми машинка която ползвам за SCM, Continuous integration, Issue trackig и т.н. е под линукс, затова реших да си напиша няколко скриптчета с които да си правя бакъпите. Изискванията ми не са кой знае какви - просто трябва да мога да си възтановя SCM и issue tracking даните без загуби и много труд. При евентуален срив и загуба на хард не очаквам да мога да възтановя цялата система. Пък и какъв е смисълът? Така никога няма да седна да инсталирам нова версия на софтуера! Всъщност от тази гледна точка сривовете са даже нещо много полезно... помагат ти да си разчистиш старите данни и боклуци, които са се насъбрали с години, кара те да качиш нови програмки и т.н. :-D Просто трябва да се случват в подходящ момент :-) когато имаш достатъчно време да си сетъпнеш нова система!...&lt;br /&gt;Та да се върнем на въпроса - скриптът за бакъп трябва да може да копира някои директории, да ги архивира и да пази копия на тях. Също така е хубаво да може да се следи и история...случайно, ако се прецакат някакви настройки да могат да се проверят кога са променени, и да се възтановят правилните конфигурации. Та скрипта трябва да може да пази архив на старите бекъпи. В основата на всичко е &lt;a href="http://en.wikipedia.org/wiki/Rsync"&gt;rsync&lt;/a&gt;, която се използва за създаване на самите файлове. За да сработи скрипта трябва да се създаде една директория /etc/backup където са всички конфигурации включително и самият скрипт:&lt;br /&gt;&lt;br /&gt;&lt;div style="width: 100%; margin: 1em auto; border: 1px dashed; padding: 4px; background-color: rgb(239, 239, 239); color: black; font-family: 'Courier New' Courier  monospace "&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;VERBOSE=0&lt;br /&gt;SCOPE=""&lt;br /&gt;CONFIG="/etc/backup/backup.conf"&lt;br /&gt;&lt;br /&gt;# Outputs the help message how to use the script&lt;br /&gt;print_help() &lt;br /&gt;{&lt;br /&gt; echo "Usage: backup [-v | --verbose] &lt;-s | --scope&gt; &lt;SCOPE NAME&gt;" &gt;&amp;2&lt;br /&gt; echo "       -v or --verbose  switch verbose mode on" &gt;&amp;2&lt;br /&gt; echo "       -s or --scope    reads the list of directories to backup for " &gt;&amp;2&lt;br /&gt; echo "                      the &lt;SCOPE NAME&gt; from the /etc/backup.conf " &gt;&amp;2&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;# Parses the passed command line and defines the backup scope, verbose mode, etc.&lt;br /&gt;parse_command_line() &lt;br /&gt;{&lt;br /&gt; PREV_SCOPE=0&lt;br /&gt; for p in "$@"; do&lt;br /&gt;  if [ $PREV_SCOPE -eq 1 ]; then&lt;br /&gt;   SCOPE=$p  &lt;br /&gt;   PREV_SCOPE=0&lt;br /&gt;  else&lt;br /&gt;   if [ '--verbose' == $p -o '-v' == $p ]; then&lt;br /&gt;    VERBOSE=1  &lt;br /&gt;   fi&lt;br /&gt; &lt;br /&gt;   if [ '--scope' == $p -o '-s' == $p ]; then&lt;br /&gt;    PREV_SCOPE=1  &lt;br /&gt;   fi&lt;br /&gt;  fi&lt;br /&gt; done&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;# Outputs message to the console if the verbose mode is selected&lt;br /&gt;print() &lt;br /&gt;{&lt;br /&gt; if [ $VERBOSE -eq 1 ]; then &lt;br /&gt;  echo "$1"&lt;br /&gt; fi &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;read_configuration() &lt;br /&gt;{ &lt;br /&gt;# @author Michael Klier &lt;chi@chimeric.de&gt; &lt;br /&gt; match=0&lt;br /&gt; &lt;br /&gt;    while read line; do&lt;br /&gt;        # skip comments&lt;br /&gt;        [[ ${line:0:1} == "#" ]] &amp;&amp; continue&lt;br /&gt; &lt;br /&gt;        # skip empty lines&lt;br /&gt;        [[ -z "$line" ]] &amp;&amp; continue&lt;br /&gt; &lt;br /&gt;        # still no match? lets check again&lt;br /&gt;        if [ $match == 0 ]; then&lt;br /&gt; &lt;br /&gt;            # do we have an opening tag ?&lt;br /&gt;            if [[ ${line:$((${#line}-1))} == "{" ]]; then&lt;br /&gt; &lt;br /&gt;                # strip "{"&lt;br /&gt;                group=${line:0:$((${#line}-1))}&lt;br /&gt;                # strip whitespace&lt;br /&gt;                group=${group// /}&lt;br /&gt; &lt;br /&gt;                # do we have a match ?&lt;br /&gt;                if [[ "$group" == "$1" ]]; then&lt;br /&gt;                    match=1&lt;br /&gt;                    continue&lt;br /&gt;                fi&lt;br /&gt; &lt;br /&gt;                continue&lt;br /&gt;            fi&lt;br /&gt; &lt;br /&gt;        # found closing tag after config was read - exit loop&lt;br /&gt;        elif [[ ${line:0} == "}" &amp;&amp; $match == 1 ]]; then&lt;br /&gt;            break&lt;br /&gt; &lt;br /&gt;        # got a config line eval it&lt;br /&gt;        else&lt;br /&gt;            eval $line&lt;br /&gt;        fi&lt;br /&gt; &lt;br /&gt;    done &lt; "$CONFIG"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;#&lt;br /&gt;# The main script starts here&lt;br /&gt;#&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;START_TIME=`date +%s`&lt;br /&gt;&lt;br /&gt;# Parse the command line parameters&lt;br /&gt;parse_command_line $@&lt;br /&gt;&lt;br /&gt;if [ -z $SCOPE ]; then&lt;br /&gt; print_help&lt;br /&gt; echo $"Please enter the name of the backup scope" &gt;&amp;2&lt;br /&gt; exit 1&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;# Read LIST variable from the configuration file&lt;br /&gt;read_configuration $SCOPE&lt;br /&gt;&lt;br /&gt;# Example how the LIST variable should looks like&lt;br /&gt;# LIST="etc root usr home var"&lt;br /&gt;&lt;br /&gt;# Waits at 1 seconds, so if the user starts the script too fast the TIME_STAMP directory will be different&lt;br /&gt;sleep 1&lt;br /&gt;&lt;br /&gt;BACKUP_DIR="/backup/$SCOPE"&lt;br /&gt;&lt;br /&gt;# Output the configuration information&lt;br /&gt;print "Backup scope: $SCOPE"&lt;br /&gt;print "Backup directory list: $LIST"&lt;br /&gt;print "Exclude file: $EXCLUDE_FILE"&lt;br /&gt;print "Backup dir is $BACKUP_DIR"&lt;br /&gt;&lt;br /&gt;# Creates the backup directory&lt;br /&gt;if [ ! -d $BACKUP_DIR ]; then&lt;br /&gt; mkdir $BACKUP_DIR &lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;#&lt;br /&gt;# Rotate backups, so we keep only the last 100 &lt;br /&gt;#&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;# Maximum number of backups to keep&lt;br /&gt;maxInd=20&lt;br /&gt;&lt;br /&gt;# Gets the oldest backup canonical path (it is a symbolic link to a time-stamped tar file)&lt;br /&gt;REAL_PATH=`readlink -f $BACKUP_DIR/b.$maxInd.tar.gz`&lt;br /&gt;&lt;br /&gt;# Remove the oldest backup&lt;br /&gt;if [ -e $REAL_PATH ]; then&lt;br /&gt; print "Removing tar file $REAL_PATH" &lt;br /&gt; rm -rf $REAL_PATH&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;# Remove the symbolic link&lt;br /&gt;rm -rf $BACKUP_DIR/b.$maxInd.tar.gz&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Rotate backups from $ind to $ind+1&lt;br /&gt;for ((ind = $maxInd-1; ind &gt;= 0; ind--)); do&lt;br /&gt; let nextInd=$ind+1 &lt;br /&gt; if [ -e $BACKUP_DIR/b.$ind.tar.gz ]; then&lt;br /&gt;  print "Rotating $BACKUP_DIR/b.$ind.tar.gz to $BACKUP_DIR/b.$nextInd.tar.gz"&lt;br /&gt;  mv $BACKUP_DIR/b.$ind.tar.gz $BACKUP_DIR/b.$nextInd.tar.gz &lt;br /&gt; fi &lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;# Delete the first backup (it must already be rotated, but just to be sure that the file doesn't exists)&lt;br /&gt;rm -f $BACKUP_DIR/b.0.tar.gz&lt;br /&gt;&lt;br /&gt;# Generate new timestamp for the new backup&lt;br /&gt;TIME_STAMP=`date "+%F_%H-%M-%S"`&lt;br /&gt;&lt;br /&gt;# Create the backup folder using the timestamp&lt;br /&gt;mkdir $BACKUP_DIR/$TIME_STAMP&lt;br /&gt;&lt;br /&gt;# Backup all files in the backup-list&lt;br /&gt;for d in $LIST; do&lt;br /&gt; print "Backuping /$d/ to $BACKUP_DIR/$TIME_STAMP/$d/"&lt;br /&gt; mkdir -p $BACKUP_DIR/$TIME_STAMP/$d/&lt;br /&gt; if [ $VERBOSE -eq 1 ]; then &lt;br /&gt;  rsync -vv -a --delete --exclude-from=$EXCLUDE_FILE /$d/ $BACKUP_DIR/$TIME_STAMP/$d/&lt;br /&gt; else&lt;br /&gt;  rsync -a --delete --exclude-from=$EXCLUDE_FILE /$d/ $BACKUP_DIR/$TIME_STAMP/$d/&lt;br /&gt; fi&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;# Go to the backup directory, so we could tar the content&lt;br /&gt;pushd $BACKUP_DIR/$TIME_STAMP &gt; /dev/null&lt;br /&gt;&lt;br /&gt;# Archive the entire directory into single tar file&lt;br /&gt;tar -c -z -f $BACKUP_DIR/$TIME_STAMP.tar.gz .&lt;br /&gt;&lt;br /&gt;# Restore the current directory&lt;br /&gt;popd &gt; /dev/null&lt;br /&gt;&lt;br /&gt;# Remove the backup directory&lt;br /&gt;rm -rf $BACKUP_DIR/$TIME_STAMP&lt;br /&gt;&lt;br /&gt;# Create a symbolic link to the directory&lt;br /&gt;ln -s $BACKUP_DIR/$TIME_STAMP.tar.gz $BACKUP_DIR/b.0.tar.gz&lt;br /&gt;&lt;br /&gt;FINISH_TIME=`date +%s`&lt;br /&gt;&lt;br /&gt;FILE_SIZE=`ls -lrt $BACKUP_DIR/$TIME_STAMP.tar.gz | awk '{print $5}'`&lt;br /&gt;&lt;br /&gt;printf "Completed! Execution time: $((FINISH_TIME - START_TIME)) seconds. Backup file size: $FILE_SIZE bytes."&lt;br /&gt;printf "\n"&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;И така този скрипт се ползва по следния начин:&lt;br /&gt;&lt;div style="width: 100%; margin: 1em auto; border: 1px dashed; padding: 4px; background-color: rgb(239, 239, 239); color: black; font-family: 'Courier New' Courier  monospace "&gt;/etc/backup -s SCOPE_NAME&lt;/div&gt;&lt;br /&gt;SCOPE_NAME се чете от конфигурационият файл &lt;span style="font-weight:bold;"&gt;/etc/backup.conf&lt;/span&gt; в който се описват кои директории да се копират. Ето и примерен такъв:&lt;br /&gt;&lt;div style="width: 100%; margin: 1em auto; border: 1px dashed; padding: 4px; background-color: rgb(239, 239, 239); color: black; font-family: 'Courier New' Courier  monospace "&gt;# &lt;br /&gt;# In order to define a new scope of backup items uncomment following lines&lt;br /&gt;#&lt;br /&gt;#&lt;br /&gt;#&lt;br /&gt;# scope_name {&lt;br /&gt;# LIST="etc root usr home var"&lt;br /&gt;# EXCLUDE_FILE="/etc/backup/backup.excludes"&lt;br /&gt;# }&lt;br /&gt;#&lt;br /&gt;# No leading ot trailing / in the directory names. &lt;br /&gt;# The directories are sub directories of the /&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;weekly {&lt;br /&gt;LIST="etc root usr home var"&lt;br /&gt;EXCLUDE_FILE="/etc/backup/backup.excludes"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;daily {&lt;br /&gt;LIST="etc usr/red5/conf usr/red5/webapps usr/share/tomcat6/conf usr/share/tomcat6/webapps var/svn var/trac"&lt;br /&gt;EXCLUDE_FILE="/etc/backup/backup.excludes"&lt;br /&gt;}&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Всеки scope си има списък от директории (LIST) и EXCLUDE_FILE в който се описват, коит файлове от тези директории да се пропуснат. Примерен backup.excludes:&lt;br /&gt;&lt;div style="width: 100%; margin: 1em auto; border: 1px dashed; padding: 4px; background-color: rgb(239, 239, 239); color: black; font-family: 'Courier New' Courier  monospace "&gt;#Excluding subdirs from /usr/&lt;br /&gt;&lt;br /&gt;/bin/***&lt;br /&gt;/java/***&lt;br /&gt;/games/***&lt;br /&gt;/kerberos/***&lt;br /&gt;/sbin/***&lt;br /&gt;/libexec/***&lt;br /&gt;/lib/***&lt;br /&gt;/tmp&lt;br /&gt;/tmp/***&lt;br /&gt;/include/***&lt;br /&gt;&lt;br /&gt;# Excluding subdirs from /var/&lt;br /&gt;&lt;br /&gt;/tmp/***&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Така целият скрипт очаква, че ще има директория /backup (която е добре да  моунтната на друг хард диск)&lt;br /&gt;&lt;br /&gt;Хубаво е да се направят и cron task-ове които да правят дневен или седмичен бекъп.&lt;br /&gt;Ето няколко примерни такива:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;/etc/cron.daily/backup_daily&lt;/span&gt;&lt;br /&gt;&lt;div style="width: 100%; margin: 1em auto; border: 1px dashed; padding: 4px; background-color: rgb(239, 239, 239); color: black; font-family: 'Courier New' Courier  monospace "&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;TIME_STAMP=`date "+%F_%H-%M-%S"`&lt;br /&gt;&lt;br /&gt;echo "Starting daily backup $TIME_STAMP" &gt; /var/log/backup/$TIME_STAMP.log&lt;br /&gt;&lt;br /&gt;/usr/bin/backup --verbose --scope daily &gt; /var/log/backup/$TIME_STAMP.log 2&gt; /var/log/backup/$TIME_STAMP.err&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt; /etc/cron.weekly/backup_weekly&lt;/span&gt;&lt;br /&gt;&lt;div style="width: 100%; margin: 1em auto; border: 1px dashed; padding: 4px; background-color: rgb(239, 239, 239); color: black; font-family: 'Courier New' Courier  monospace "&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;TIME_STAMP=`date "+%F_%H-%M-%S"`&lt;br /&gt;&lt;br /&gt;echo "Starting weekly backup $TIME_STAMP" &gt; /var/log/backup/$TIME_STAMP.log&lt;br /&gt;&lt;br /&gt;/usr/bin/backup --verbose --scope weekly &gt; /var/log/backup/$TIME_STAMP.log 2&gt; /var/log/backup/$TIME_STAMP.err&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;И така това е целият скрипт. Успех!&lt;br /&gt;&lt;br /&gt;~Киро  :-)&lt;br /&gt;&lt;br /&gt;Many thanks to Michael Klier for his article &lt;br /&gt;&lt;a href="http://www.chimeric.de/blog/2007/1122_parsing_simple_config_files_in_bash"&gt; Parsing Simple Config Files In Bash&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-4353399596161461672?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/4353399596161461672/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=4353399596161461672' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/4353399596161461672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/4353399596161461672'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2009/08/backup.html' title='Как да си направим backup на диска под Линукс'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-974558675625302282</id><published>2009-01-08T17:29:00.000-08:00</published><updated>2009-01-08T17:56:26.134-08:00</updated><title type='text'>Red5 service за Линукс</title><content type='html'>Red5 е едно много хубаво сървърче за флаш. Инсталацията му под Windows е елементарна - има си setup.exe, което прави всичко. Под линукс обаче нещата не са толкова лесни - разархивираш tar файл, слагаш на необходимото място, инсталираш Sun-ска Java и т.н. Има доста форуми по въпроса. Единствения проблем е, ако трябва Red5 да се пуска като service. За Fedora 10 това се прави по следния начин:&lt;br /&gt;1) добавя се един файл /etc/init.d/red5&lt;br /&gt;2) chmod a+rx /etc/init.d/red5&lt;br /&gt;3) съдържанието му е:&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;#! /bin/sh&lt;br /&gt;#&lt;br /&gt;# red5&lt;br /&gt;# &lt;br /&gt;# chkconfig: - 80 20&lt;br /&gt;#&lt;br /&gt;# Author: Kiril Arabadzhiyski&lt;br /&gt;#&lt;br /&gt;### BEGIN INIT INFO&lt;br /&gt;# Provides: red5&lt;br /&gt;# Required-Start: $network $syslog&lt;br /&gt;# Required-Stop: $network $syslog&lt;br /&gt;# Default-Start:&lt;br /&gt;# Default-Stop:&lt;br /&gt;# Description: Red5 - Open Source Flash Server&lt;br /&gt;# Short-Description: start and stop red5&lt;br /&gt;### END INIT INFO&lt;br /&gt;#&lt;br /&gt;# File location: /etc/init.d/red5&lt;br /&gt;#&lt;br /&gt;#&lt;br /&gt;RED5_DIR=/usr/red5&lt;br /&gt;test -x $RED5_DIR/red5.sh || exit 5&lt;br /&gt;&lt;br /&gt;RED5_USER=red5&lt;br /&gt;RED5_LOG_DIR=/var/log/red5&lt;br /&gt;&lt;br /&gt;STDERR_LOG=$RED5_LOG_DIR/stderr.log&lt;br /&gt;STDOUT_LOG=$RED5_LOG_DIR/stdout.log&lt;br /&gt;&lt;br /&gt;if [ -r /lib/lsb/init-functions ]; then&lt;br /&gt;    . /lib/lsb/init-functions&lt;br /&gt;else&lt;br /&gt;    exit 1&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;function startCmdExec() {&lt;br /&gt; su -s /bin/bash -c "${RED5_DIR}/red5.sh &gt;&gt; ${STDOUT_LOG} 2&gt;&gt; ${STDERR_LOG} &amp;" ${RED5_USER} &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function stopCmdExec() {&lt;br /&gt; su -s /bin/bash -c "${RED5_DIR}/red5-shutdown.sh &gt; /dev/null 2&gt; /dev/null &amp;" ${RED5_USER}        &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function start() {&lt;br /&gt; echo -n "Starting Red5:"&lt;br /&gt; cd $RED5_DIR&lt;br /&gt; &lt;br /&gt; pid="$(pgrep -u ${RED5_USER} -G ${RED5_USER} java)"&lt;br /&gt; if [ -z "$pid" ]; then  &lt;br /&gt;  startCmdExec&lt;br /&gt;  sleep 2&lt;br /&gt;  pid="$(pgrep -u ${RED5_USER} -G ${RED5_USER} java)"&lt;br /&gt; fi&lt;br /&gt;&lt;br /&gt; if [ -n "$pid" ]; then&lt;br /&gt;  log_success_msg&lt;br /&gt; else&lt;br /&gt;  log_failure_msg &lt;br /&gt; fi&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;function stop() {&lt;br /&gt; echo -n "Stopping Red5:"&lt;br /&gt; echo -n " "&lt;br /&gt; cd $RED5_DIR&lt;br /&gt; stopCmdExec&lt;br /&gt; sleep 5&lt;br /&gt; pid="$(pgrep -u ${RED5_USER} -G ${RED5_USER} java)"&lt;br /&gt; if [ -z "$pid" ]; then&lt;br /&gt;  log_success_msg &lt;br /&gt; else&lt;br /&gt;  log_failure_msg&lt;br /&gt; fi&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function killIt() {&lt;br /&gt; echo -n "Killing Red5:"&lt;br /&gt; echo -n " " &lt;br /&gt; su -s /bin/bash -c "killall -q -u ${RED5_USER} java" ${RED5_USER}&lt;br /&gt; sleep 2&lt;br /&gt; pid="$(pgrep -u ${RED5_USER} -G ${RED5_USER} java)"&lt;br /&gt; if [ -z "$pid" ]; then&lt;br /&gt;  log_success_msg&lt;br /&gt; else&lt;br /&gt;  log_failure_msg &lt;br /&gt; fi&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function status() {&lt;br /&gt; pid="$(pgrep -u ${RED5_USER} -G ${RED5_USER} java)"&lt;br /&gt; if [ -n "$pid" ]; then&lt;br /&gt;  echo "Red5 (pid ${pid}) is running..."&lt;br /&gt;  RETVAL="0"&lt;br /&gt; else&lt;br /&gt;  echo "Red5 is stopped"&lt;br /&gt; fi&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function restart() {&lt;br /&gt; stop&lt;br /&gt; pid="$(pgrep -u ${RED5_USER} -G ${RED5_USER} java)"&lt;br /&gt; if [ -n "$pid" ]; then&lt;br /&gt;  killIt&lt;br /&gt; fi&lt;br /&gt;        start&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;case "$1" in&lt;br /&gt;    start)&lt;br /&gt; start&lt;br /&gt;        ;;&lt;br /&gt;    stop)&lt;br /&gt; stop&lt;br /&gt;  ;;&lt;br /&gt;    kill)&lt;br /&gt; killIt &lt;br /&gt;        ;;&lt;br /&gt;    restart)&lt;br /&gt; restart&lt;br /&gt;        ;;&lt;br /&gt;    status)&lt;br /&gt; status&lt;br /&gt; ;;&lt;br /&gt;esac&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;4) chkconfig --add red5&lt;br /&gt;5) chkconfig red5 on&lt;br /&gt;6) service red5 start&lt;br /&gt;&lt;br /&gt;Ха честито!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-974558675625302282?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/974558675625302282/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=974558675625302282' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/974558675625302282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/974558675625302282'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2009/01/red5-service.html' title='Red5 service за Линукс'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-7917944689836525032</id><published>2008-03-03T05:27:00.000-08:00</published><updated>2008-03-03T05:36:49.575-08:00</updated><title type='text'>Nero Direct show filters</title><content type='html'>&lt;span style="color: rgb(0, 0, 0);"&gt;Както всички знаем Nero беше една много добра програмка за печене на дискове. Клоючовата дума тук е &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;беше&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.  Незнам какво си мислят момчетата от Nero AG, но тази програмка стана твърде &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(0, 0, 0);"&gt;enterprise.  &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Имат включени разни DirectShow  филтри който създават един милион проблеми. Ето и един лесен начин да бъдат изключени - един batch файл който трябва да бъде стартиран.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new; color: rgb(102, 102, 102);"&gt;&lt;/span&gt;&lt;span style="font-family: courier new; color: rgb(102, 102, 102);"&gt;@echo Unregistering nero burning rom filters&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new; color: rgb(102, 102, 102);"&gt;cd \Program Files\Common Files\Ahead\DSFilter&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new; color: rgb(102, 102, 102);"&gt;regsvr32 /u NDParser.ax&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new; color: rgb(102, 102, 102);"&gt;regsvr32 /u NeAudio.ax&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new; color: rgb(102, 102, 102);"&gt;regsvr32 /u NeFileSrc.ax&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new; color: rgb(102, 102, 102);"&gt;regsvr32 /u NeQTDec.ax&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new; color: rgb(102, 102, 102);"&gt;regsvr32 /u NeRender.ax&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new; color: rgb(102, 102, 102);"&gt;regsvr32 /u NeVideo.ax&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-7917944689836525032?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/7917944689836525032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=7917944689836525032' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/7917944689836525032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/7917944689836525032'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2008/03/nero-direct-show-filters.html' title='Nero Direct show filters'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-6673849885478553630</id><published>2008-02-17T18:04:00.000-08:00</published><updated>2008-02-17T18:12:34.105-08:00</updated><title type='text'>Windows service</title><content type='html'>Незнам дали на някого му се е налагало да ползва windows services или още повече да подава на съответния сървис command line parameters, но това си е голяма главоблъсканица.&lt;br /&gt;Интересното е, че има някакъв key HKLM\SYSTEM\CurrentControlSet\Services\service_name&lt;service&gt;\Parameters който не е ясно за какво е..но определено не е за command line параметрите. Истинските command line параметрите се подават от&lt;br /&gt;&lt;br /&gt;&lt;/service&gt;HKLM&lt;service&gt;\SYSTEM\CurrentControlSet\Services\service_name&lt;service&gt; и ImagePath = "&lt;path&gt;path_to_exe command_line_parameters &lt;parameters&gt;"&lt;br /&gt;&lt;br /&gt;Най-добрия пример е: &lt;/parameters&gt;&lt;/path&gt;&lt;/service&gt;&lt;/service&gt;HKLM&lt;service&gt;&lt;service&gt;&lt;path&gt;&lt;parameters&gt;\SYSTEM\CurrentControlSet\Services\EventSystem&lt;br /&gt;&lt;br /&gt;За да се изтестват параметрите може да се ползва Service MMC GUI-to, като се щтракне с десния бутон върху сървиса и се появява едно прозорче и отдолу има "Start parameters". Те обаче са само за текущото пускане, и не се запазват.&lt;/parameters&gt;&lt;/path&gt;&lt;/service&gt;&lt;/service&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-6673849885478553630?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/6673849885478553630/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=6673849885478553630' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/6673849885478553630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/6673849885478553630'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2008/02/windows-service.html' title='Windows service'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-8360369962686600254</id><published>2007-07-30T16:34:00.000-07:00</published><updated>2007-07-30T16:53:36.306-07:00</updated><title type='text'>BEA WebLogic 10 под Fedora</title><content type='html'>Известно време се мъчих да подкарам Tomcat под Fedora 7..той си работеше ма аз нещо барнах и сега трябва бая да задълбая, за да го оправя. Пък и нещо не ми се занимава :-) Затова реших радикално проблема... взех че качих BEA WebLogic. Честно казано бях потресен колко лесно стана всичко... свалих един 700Mb-тов bin файл и само го пуснах...  оправих директорията в която да се инталира и всичко мина като по-вода (next, next,next,next, finish)&lt;br /&gt;Въпреки, че BEA имат официален  съпорт само за RedHat linux, явно нямат проблеми продуктите им да работят и под Fedora 7 :-) Още разучав&lt;a href="javascript:void(0)" onclick="return false;" tabindex="10"&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;ам точно какво инсталирах, ама май ще бъде интересно. Чудя се има ли някаква база отдолу, или е само jee server... нещо ме мързи да чета, както и да е, ще го разгледам по-подробно тия дни, че трябва да пиша и дипломна работа. Може би ще го ползвам за да ми хоства jsp-тата :-)&lt;br /&gt;Направо съм удивен, колко лесно го инсталирах.. бях се подготвил за няколко часова борба с хиляда скрипт хака и разни страни exception-и - все пак бях изтеглил версия за Redhat, а не за Fedora... обаче се оказа че съм приключил за 10 мин. :-) Много се кефя!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-8360369962686600254?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/8360369962686600254/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=8360369962686600254' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/8360369962686600254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/8360369962686600254'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2007/07/bea-linux.html' title='BEA WebLogic 10 под Fedora'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-8191691626537028850</id><published>2007-06-06T15:29:00.000-07:00</published><updated>2007-06-06T15:41:27.978-07:00</updated><title type='text'>Fedora 7</title><content type='html'>Ми освен да попиша малко за моя досег до новата Fedora 7. Общо взето бях може би един от първите които си я свалиха и качиха....даже БГ мирорите още я нямаха та я свалях от някви мирори в Европа...бая чакане си падна. Първите ми впечатления бяха: брех много fancy шаренийка ала бала... Инсталирането беше супер лесно всичко си детектна ок. След това гледам какъв софтуерм има.... и понеже нали съм си лаком реших да инсталирам всичко де що има като цъкалка :-) Е почахак около 2 часа да се download-не всичко за да получа великия всичко обяснвящ надпи...&lt;span style="font-weight: bold;"&gt;package xxxxx is not verified... &lt;/span&gt;Уау! Нали уж от официялния сайт инсталирам...Я един рестарт и да пробвам пак...все пак може да има някъв скрипт който не се е пуснал след първия рестарт веднага след инсталацията...знам ли.. Още 2 часа и пак същата грешка. Явно нещо има...деселектирам проблемния пакет и си мисля това сигурно е нещо недогледано на всеки му се случва....още 2 часа и бамм...същата грешка със друг пакет! Брех м*** му. Нали уж 4 фази на тестване и незнам си кво още. Тоя път не ми се чакаше пак 2 часа за това малко по-малко селектирани пакети и да пробваме пак...почнаха да гърмят един по един ...на 10тия се отказах. Гоогълнах половин час и гледам има няква опция на yum нещо като pgp check или нещо такова...явно тука се крие разковничето...сложих го на 0 в кофигурацията на yum и поне взеха че се инсталираха част от пакетите. Викам си щом на тест пц-то се инстална, да взема да пробвам и на лаптопа...той и е с 6-тицата да взема да го ъпгрейдна...да ама не.....детектна старта инсталация почна да анализира пакетите и каза "package %s ......" debug / restart....еми явно ще си остана със 6тицата.... а пък F8 трябва да има повечко тестване !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-8191691626537028850?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/8191691626537028850/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=8191691626537028850' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/8191691626537028850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/8191691626537028850'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2007/06/fedora-7.html' title='Fedora 7'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-956324992920813376</id><published>2007-05-09T11:31:00.000-07:00</published><updated>2007-05-09T11:41:46.430-07:00</updated><title type='text'>В дебрите на DirectShow или как да ползваме ISampleGrabber</title><content type='html'>Днеска за пореден път се сблъсках с добре структурираната и позотворна информация за DirectShow. Целта беше да ползвам ISampleGrabber филтърът за да направя няколко картинки от филмче. Example-и има много за това... обаче тайната как да ги компилираш я няма абсолютно никъде. Проблема е, че освен стандартното PlatformSDK трябва и DirectX SDK заради един header файл. След това обаче се набозват някакви недекларирани макроси и става яко мазало. Грешката която се получава е:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;...mmstream.h(332) : error C2061: syntax error : identifier '__RPC__deref_out_opt'"&lt;br /&gt;...mmstream.h(335) : error C2061: syntax error : identifier '__RPC__out'&lt;br /&gt;...mmstream.h(339) : error C2061: syntax error : identifier '__RPC__in_opt'&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;и така още около 102 пъти :-)&lt;br /&gt;&lt;br /&gt;В крайна сметка печелившата комбинация от include-и е следната:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;rpcsal.h&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;dxtrans.h&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;qedit.h&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Първият &lt;span style="font-weight: bold; font-style: italic;"&gt;rpcsal.h &lt;/span&gt;е най-важен за тези макроси.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-956324992920813376?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/956324992920813376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=956324992920813376' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/956324992920813376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/956324992920813376'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2007/05/directshow-isamplegrabber.html' title='В дебрите на DirectShow или как да ползваме ISampleGrabber'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-116722233861301932</id><published>2006-12-27T04:18:00.000-08:00</published><updated>2006-12-27T04:25:38.630-08:00</updated><title type='text'>Защо Windows Explorer-а зависва</title><content type='html'>Мда учудващо но факт често ми се случваше да си отворя един explorer и да чакам..чакам..чакам.. докато сепокаже великия прозорец (или поне да се рефрешне). Накрая реших да погледна к'во става, вирус ли, троянец ли кво има все пак... Пуснах си един ethereal и що да видя :-) При всяко отваряне на explorer прозорец се праща по един SYN пакет към порт 1666. Поразгледах малко какви програмки имам инсталирани и по-точно тия които са в контекстното меню (или file extension-ите) и гледам имам едно perforce..което има add  / sync и бла бла .. все необходими неща които иначе не мога да достъпна през Windows GUI клиента му :-) Ами решението беше:&lt;br /&gt;regsvr32 /u p4exp&lt;br /&gt;и всичко заспа... сега експлорера е бърз както никога :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-116722233861301932?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/116722233861301932/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=116722233861301932' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/116722233861301932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/116722233861301932'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2006/12/windows-explorer.html' title='Защо Windows Explorer-а зависва'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-116635959076142470</id><published>2006-12-17T04:37:00.000-08:00</published><updated>2006-12-17T04:46:30.773-08:00</updated><title type='text'>Microsoft Visual Studio freezes on "Add New Class" wizard</title><content type='html'>&lt;span style="font-family: arial;"&gt;Мда...Понякога и най-хубавите неща зависват...какво да говорим за останалите :-) Както и  да е... Проблема възниква когато във Visual Studio-to на един проект дадеш Add new class и се почва едно чакане... В краина сметка wizarda се появява но със доста закъснение. Решението на проблема е описано ето тук:&lt;/span&gt;&lt;br /&gt;&lt;a style="font-family: arial;" href="http://support.microsoft.com/kb/290398"&gt;http://support.microsoft.com/kb/290398&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;На кратко проблематиката е че &lt;/span&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt;MDM &lt;/span&gt;&lt;span style="font-family: arial;"&gt;s CLSID &lt;/span&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt;{0C0A3666-30C9-11D0-8F20-00805F2CD064}&lt;/span&gt;&lt;span style="font-family: arial;"&gt; няма необходимите permission-и. Решението:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;1) ot cmd-то пишете &lt;/span&gt;&lt;span style="font-family: arial;" class="userInput"&gt;&lt;span style="font-weight: bold;"&gt;dcomcnfg.exe&lt;/span&gt;&lt;br /&gt;2) отваряте &lt;span style="font-weight: bold;"&gt;DCOM &lt;/span&gt;обектите и намирате &lt;span style="font-weight: bold;"&gt;MDM &lt;/span&gt;(ако го няма пак от конзолата mdm.exe /regserver)&lt;br /&gt;3) отваряте &lt;span style="font-weight: bold;"&gt;properties &lt;/span&gt;и &lt;span style="font-weight: bold;"&gt;Security &lt;/span&gt;tab-а  click-вате на&lt;span style="font-style: italic;"&gt; Use custom permission&lt;/span&gt; (навсякъде където може).&lt;br /&gt;4) Добавяте следните user-и&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;          &lt;/span&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt;Interactive&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt;          System&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt;          Administrators&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt;          IWAM_&lt;&lt;/span&gt;&lt;i style="font-weight: bold; font-family: arial;"&gt;ComputerName&lt;/i&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-116635959076142470?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/116635959076142470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=116635959076142470' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/116635959076142470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/116635959076142470'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2006/12/microsoft-visual-studio-freezes-on-add.html' title='Microsoft Visual Studio freezes on &quot;Add New Class&quot; wizard'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-116492184626979852</id><published>2006-11-30T13:20:00.000-08:00</published><updated>2006-11-30T13:24:06.280-08:00</updated><title type='text'>Пускане на Remote desktop на remote машина</title><content type='html'>Хмм ами незнам ама е кофти да се прецакаш и да си загубиш един час да настройваш firewall-i, рутери ала бала портокала и накрая да отидеш на работа, за да установиш, че си забравил да пуснеш онова мъничко гадно checkbox-че Allow remote desktop connection :-)&lt;br /&gt;&lt;br /&gt;Добре, че микро-софт са помислили за всичко:)&lt;br /&gt;От конзолата сетваме remote-ното registry&lt;br /&gt;reg add HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server /v /t REG_DWORD /d 0 /f&lt;br /&gt;И вече всички са щастливи :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-116492184626979852?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/116492184626979852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=116492184626979852' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/116492184626979852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/116492184626979852'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2006/11/remote-desktop-remote.html' title='Пускане на Remote desktop на remote машина'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-116202781882161078</id><published>2006-10-28T02:30:00.000-07:00</published><updated>2006-11-13T12:34:54.540-08:00</updated><title type='text'>Mounting Windows shares under Linux</title><content type='html'>Напоследък много често ми се налагаше да трябва да ползвам windows файлове под Linux. Има една много интересна програмка smbclient която позволява да достъпвам Windows share-овете. Да ама тя е подобна на ftp клиент .. put , get, put, get ... оо да и mput *, mget *... и така докато ти се отели вола. За това още малко research и се откри едно прекрасно решение smbfs&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;mount -t smbfs -o username=laino //my_windows_server/my_share /mnt&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Всичко е прекрасно, докато не реших да си инсталирам новата Fedora Core 6 - опа няма smbfs. Още малко research и излезе следното:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;mount -t cifs -o username=laino //my_windows_server/my_share /mnt&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Накрая не трябва да се забравя да се umount -не share-a. Сега трябва да видя как да umout-на share-ове които вече не са активни...получава се едно хубаво зависване когато спреш windowsa или дръпнеш мрежовия кабел... еми явно няма перфектен софтуер все пак.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-116202781882161078?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/116202781882161078/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=116202781882161078' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/116202781882161078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/116202781882161078'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2006/10/mounting-windows-shares-un_116202781882161078.html' title='Mounting Windows shares under Linux'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-115481348468937946</id><published>2006-08-05T14:30:00.000-07:00</published><updated>2006-08-05T14:41:08.843-07:00</updated><title type='text'>Windows look &amp; fell under linux</title><content type='html'>Ами ето малко настройки за Linux, за хора които са привикнали на Windows shortcuts -ите,&lt;br /&gt;&lt;br /&gt;To assign WIN+D to show the desktop:&lt;br /&gt;1) SUPER_L should be assigned by default in FC4&lt;br /&gt;2) start "gconf-editor" from terminal&lt;br /&gt;3) Choose /apps/metacity/global_keybidings/show_desktop&lt;br /&gt;and enter "&amp;lt;mod4&amp;gt;D"&lt;br /&gt;&lt;br /&gt;To assign WIN+L to lock the workstation:&lt;br /&gt;1) SUPER_L should be assigned by default in FC4&lt;br /&gt;2) start "gconf-editor" from terminal&lt;br /&gt;&lt;mod4&gt;3) Choose /apps/metacity/keybinding_commands/commmand_2 (3,4,...)&lt;br /&gt;4) Enter value "xscreensaver-command -lock"&lt;br /&gt;5) Choose /apps/metacity/global_keybidings/run_command_2 (3,4...)&lt;br /&gt;6) Enter value "&lt;mod4&gt;&lt;mod4&gt;&lt;/mod4&gt;&lt;/mod4&gt;&lt;/mod4&gt;&amp;lt;mod4&amp;gt;&lt;mod4&gt;&lt;mod4&gt;&lt;mod4&gt;L"&lt;br /&gt;&lt;br /&gt;To assign WIN+R to run command:&lt;br /&gt;1) SUPER_L should be assigned by default in FC4&lt;br /&gt;&lt;/mod4&gt;&lt;/mod4&gt;2) start "gconf-editor" from terminal&lt;br /&gt;&lt;mod4&gt;&lt;mod4&gt;3) Choose /apps/metacity/global_keybidings/panel_run_dialog&lt;br /&gt;4) Enter value "&lt;mod4&gt;&lt;mod4&gt;&lt;/mod4&gt;&lt;/mod4&gt;&lt;/mod4&gt;&lt;/mod4&gt;&lt;/mod4&gt;&amp;lt;mod4&amp;gt;&lt;mod4&gt;&lt;mod4&gt;&lt;mod4&gt;&lt;mod4&gt;&lt;mod4&gt;R"&lt;br /&gt;5) Create a new file called "cmd" in /bin folder&lt;br /&gt;6) Add following text to it&lt;br /&gt;#!/bin/bash&lt;br /&gt;/usr/bin/gnome-terminal&lt;br /&gt;7) change the atrributes "chmod+x /bin/cmd"&lt;/mod4&gt;&lt;/mod4&gt;&lt;/mod4&gt;&lt;/mod4&gt;&lt;/mod4&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-115481348468937946?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/115481348468937946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=115481348468937946' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/115481348468937946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/115481348468937946'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2006/08/windows-look-fell-under-linux.html' title='Windows look &amp; fell under linux'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-115114869129465375</id><published>2006-06-24T03:56:00.000-07:00</published><updated>2006-06-24T04:31:31.306-07:00</updated><title type='text'>Wireless под Linux</title><content type='html'>Ами имам си аз една USB Wireless пишка която не работеше - Belkin 54g Wireless USB  Adapter (rt2500, rt2570). Трябваше да я подкарам под Linux. Първо на официалния сайт нямаше никакви драйвери, за тва след мноооого google-ване открих че има едно нещо наречено ndiswrapper, което позволява пускането на Windows Network драйвери под Linux. Инсталацията е супер лесна, сваляш, make, make install, и имаш едно ndiswrapper което може да инсталира Windows-ските драйвери. Най-хубавото е че тези които вървят към CD-то си работят. И така направих следното:&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;ndiswrapper -i /mnt/cdrom/drivers/rt2500usb.inf&lt;/span&gt; което ми инсталира драйверите във /etc/ndiswrapper/...,  след това проверка дали всичко е качено &lt;span style="color: rgb(51, 102, 255);"&gt;ndiswrapper -l&lt;/span&gt;,  проверка дали всичко е наред &lt;span style="color: rgb(51, 102, 255);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;ndiswrapper -m &lt;/span&gt;Това добави и alias във /etc/modprobe.conf&lt;/li&gt;&lt;li&gt;конфигуриране на Wirelless настройките&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;iwlist wlan0 scan&lt;br /&gt;iwconfig wlan0 essid ESSID_OF_THE_ACCESS_POINT&lt;br /&gt;iwconfig wlan0 mode Managed&lt;br /&gt;iwconfig wlan0 key restricted XXXXXXX&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: monospace;"&gt;&lt;/span&gt;ifconfig wlan0 up&lt;br /&gt;dhclient wlan0&lt;/li&gt;&lt;/ol&gt;Цялото това инфо го има на &lt;a href="http://ndiswrapper.sourceforge.net/mediawiki/index.php/Installation"&gt;http://ndiswrapper.sourceforge.net/mediawiki/index.php/Installation&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Всичко тръгна като по-вода.. да ама открих че има едни готини настройки с които можеш да слухтиш по мрежата за Beam сигнали ала бала...&lt;span style="color: rgb(51, 102, 255);"&gt;iwconfig wlan0 set mode Monitor&lt;/span&gt;, което обаче не работи с ndiswrapper-a.&lt;br /&gt;И така отново на изходна позиция, още малко google-ване и излиза едно &lt;a href="http://rt2x00.serialmonkey.com/wiki/index.php/Main_Page"&gt;rt2500 driver for linux&lt;/a&gt; Инсталирах го както си пишеше в README-то и всичко тръгна. (make, make install, добавяне на alias в /etc/modprobe.conf). Разликата спрямо ndiswrapper-а е че device-а се казва rausb0 а не wlan0.&lt;br /&gt;&lt;br /&gt;След това автоматизирах пускането на rausb0. За целта се добавя един файл &lt;span style="color: rgb(51, 102, 255);"&gt;ifcfg-rausb0&lt;/span&gt; в /etc/sysconfig/network-scripts/ifcfg-rausb0 който съдържа следното:&lt;br /&gt;    DEVICE='rausb0'&lt;br /&gt;    ONBOOT='no'&lt;br /&gt;    BOOTPROTO='dhcp'&lt;br /&gt;    ESSID='XXXXXXX'&lt;br /&gt;    MODE='Managed'&lt;br /&gt;    KEY='XXXXXX'&lt;br /&gt;И вече можех да си ползвам ifup rausb0 и ifdown rausb0&lt;br /&gt;Всичко това може да се види на &lt;a href="http://rt2x00.serialmonkey.com/wiki/index.php/Main_Page"&gt;http://rt2x00.serialmonkey.com/wiki/index.php/Main_Page&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;В допълнение една готина програмка за Wireless сканиране и т.н. &lt;a href="http://www.kismetwireless.net/"&gt;http://www.kismetwireless.net/&lt;/a&gt;&lt;br /&gt;   &lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: monospace;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-115114869129465375?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/115114869129465375/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=115114869129465375' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/115114869129465375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/115114869129465375'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2006/06/wireless-linux.html' title='Wireless под Linux'/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30194369.post-115114630193286718</id><published>2006-06-24T03:49:00.000-07:00</published><updated>2006-06-24T03:55:20.693-07:00</updated><title type='text'></title><content type='html'>Моят втори блог :-) Ами на кратко тука ще поствам някви лайна от сорта как съм си подкара  мишката и т.н.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: webdings;"&gt;&lt;span style="font-family: times new roman;"&gt;&lt;span style="font-family: lucida grande;"&gt;&lt;span style="font-family: webdings;"&gt;Иначе проверявайте ето тука : &lt;a href="http://kir0.blogspot.com/"&gt;http://kir0.blogspot.com/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30194369-115114630193286718?l=kir1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kir1.blogspot.com/feeds/115114630193286718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30194369&amp;postID=115114630193286718' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/115114630193286718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30194369/posts/default/115114630193286718'/><link rel='alternate' type='text/html' href='http://kir1.blogspot.com/2006/06/blog-post.html' title=''/><author><name>thexman</name><uri>http://www.blogger.com/profile/04803740233725361697</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/423/3233/1600/MyPic.jpg'/></author><thr:total>0</thr:total></entry></feed>
