tag:blogger.com,1999:blog-34305087314909606242024-03-14T08:39:41.384+01:00Zdanek devBlog+O programowaniu i o sprawach inszych...Anonymoushttp://www.blogger.com/profile/08958293854668062170noreply@blogger.comBlogger121125tag:blogger.com,1999:blog-3430508731490960624.post-82569517585756118872018-11-18T08:52:00.002+01:002018-11-18T08:52:23.316+01:00Ubuntu 17.04, readonly FS and failure after restart...I have AUSUS B451J (older ver of B451JA).<br />
<br />
I was working with my project and suddenly IntelliJ Idead reported problems with saving workspace. Quick check of free space left - 4GB, so it was not the cause but dmesg reported read-only filesystem. WTF?<br />
I restarted system and this appeared:<br />
<br />
<i>Couldn't get size: 0x800000000000000e<br />
MODSIGN: Couldn't get UEFI db list<br />
Couldn't get size: 0x800000000000000e<br />
</i>
<br />
<br />
with initramfs in Busybox. I write all those details because it might help others to find this post.<br />
<br />
It was a bit hard to check drive as I have encrypted LUKS partition so my old distros hanging around on old laptops couldn't decrypt it. I've used old laptop to prepare USB with Ubuntu 18.04.
<br />
<br />
I don't know which of my compulsive actions fixed it but I have<br />
<ul>
<li> booted from live CD (actually live USB ;) of Ubuntu 18.04)</li>
<li> fsck'ed hdd - it found dozens of problems</li>
<li> removed (commented out!) UEFI mount point from /etc/fstab: #UUID=6B6A-68B7 /boot/efi</li>
<li> restored defaults in BIOS</li>
</ul>
<br />
After rebooting it worked again. I don't know how, why or when. I think it's time for new Ubuntu 18 or laptop.<br />
<br />
Leave comment and twitt about this article if you found it helpful.Anonymoushttp://www.blogger.com/profile/08958293854668062170noreply@blogger.com0tag:blogger.com,1999:blog-3430508731490960624.post-17791997924773440192018-05-29T08:47:00.000+02:002018-05-29T08:47:25.602+02:00Share the knowledge - in a fun way (with pictures)At TouK we have so called <a href="https://twitter.com/search?q=%40touk_pl%20breakfast&src=typd" target="_blank">TouK's Thursday Breakfast.</a> It's name comes from <a href="https://en.wikipedia.org/wiki/Stanis%C5%82aw_August_Poniatowski" target="_blank">King Stanisław II August</a>'s idea of <a href="https://en.wikipedia.org/wiki/Thursday_Dinners" target="_blank">Thursday Dinners</a>. Our <i>implementation</i> is as a breakfast as it takes time at 10 am.<br />
We gather from time to time at Thursday to discuss some interesting topics that are non-technical. For example we summarize projects, discuss important events in company's life, etc.<br />
<br />
Technical topics we discuss on Fridays during <a href="https://twitter.com/search?f=tweets&q=%40touk_pl%20%20workshop&src=typd" target="_blank">TouK Weekly Workshops</a>.<br />
<br />
This time we tried to activate all our employees to share thier sources of knowledge - interesting Internet addresses: pages, blogs, vlogs etc. It could be done with an "ordinary" Google Forms poll but we love to do it differently. We've made a voting cards and voting box.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-XiLqGs0pdoQ/Wwv8UAoG5fI/AAAAAAAAtgk/3l_1jSWlC8AqzdxfkwvdmS7a2X5ylwFXgCLcBGAs/s1600/voting_cards.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="739" data-original-width="997" height="237" src="https://1.bp.blogspot.com/-XiLqGs0pdoQ/Wwv8UAoG5fI/AAAAAAAAtgk/3l_1jSWlC8AqzdxfkwvdmS7a2X5ylwFXgCLcBGAs/s320/voting_cards.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-0YnulH4Msz0/Wwv8WA0M-YI/AAAAAAAAtgo/2OaIunv8QP4EeuGMvmVKTa_LWjBEgAl1ACLcBGAs/s1600/voting_box.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="695" data-original-width="932" height="238" src="https://3.bp.blogspot.com/-0YnulH4Msz0/Wwv8WA0M-YI/AAAAAAAAtgo/2OaIunv8QP4EeuGMvmVKTa_LWjBEgAl1ACLcBGAs/s320/voting_box.jpg" width="320" /></a></div>
<br />
<br />
We've put it in the kitchen and made a call to action with special posters.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-XL5bTc0CWqI/Wwv8bIXSVtI/AAAAAAAAtgs/3HmnRWRQfyICuP5wI0uPtrS75UOO-mUlACLcBGAs/s1600/poster.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="593" data-original-width="937" height="202" src="https://2.bp.blogspot.com/-XL5bTc0CWqI/Wwv8bIXSVtI/AAAAAAAAtgs/3HmnRWRQfyICuP5wI0uPtrS75UOO-mUlACLcBGAs/s320/poster.jpg" width="320" /></a></div>
<br />
<br />
<br />
On that very day most of the company came and we've discussed all proposals.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-ryABrx4pENo/Wwv-jiJEQVI/AAAAAAAAthA/fXAvRh9BIkY3mje8b1hAJrTgf6fZVgWCwCLcBGAs/s1600/sniadanie.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="624" data-original-width="832" height="240" src="https://1.bp.blogspot.com/-ryABrx4pENo/Wwv-jiJEQVI/AAAAAAAAthA/fXAvRh9BIkY3mje8b1hAJrTgf6fZVgWCwCLcBGAs/s320/sniadanie.jpg" width="320" /></a></div>
<br />
<br />
There were two hosts - me and my colleague <a href="https://twitter.com/tkalkosinski" target="_blank">Tomasz</a>. We've pulled out every card and asked the author to say a few words about this particular knowledge source. We've also presented this page on projector wall. Lot's of new ideas appeared.<br />
<br />
<br />
<b>But where's the fun? </b><br />
This was a surprise for all. Me and Tomasz were disguised as company owners. We were acting like them even with some typical gestures. People were laughting all the time and it was really nice.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-H88N59EyWT8/WwwCf_PEQXI/AAAAAAAAthU/xHkTNL-9Pj4151FVxnPgFJQZyxwbs0J1ACLcBGAs/s1600/kuba_i_trombka_wiedza.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="749" data-original-width="562" height="320" src="https://2.bp.blogspot.com/-H88N59EyWT8/WwwCf_PEQXI/AAAAAAAAthU/xHkTNL-9Pj4151FVxnPgFJQZyxwbs0J1ACLcBGAs/s320/kuba_i_trombka_wiedza.jpg" width="240" /></a><a href="https://2.bp.blogspot.com/-kAm8MMY1VBI/WwwCaYlGHwI/AAAAAAAAthQ/vi6E-X3dqfADjlP2AnJVPjX6CnLJyXsDgCLcBGAs/s1600/kuba_i_trombka_wiedza2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="749" data-original-width="562" height="320" src="https://2.bp.blogspot.com/-kAm8MMY1VBI/WwwCaYlGHwI/AAAAAAAAthQ/vi6E-X3dqfADjlP2AnJVPjX6CnLJyXsDgCLcBGAs/s320/kuba_i_trombka_wiedza2.jpg" width="240" /></a></div>
<br />
<br />
<br />
<b>Some tips and takeaways?</b><br />
Sure!<br />
<br />
<br />
<ul>
<li>Prepare yourself. Take all results and visit them before to have a consistent list of pages. Let's waste no time on googling for proper resource. </li>
<li>Prepare poster or email everybody that the meeting will take place.</li>
<li>Have some snacks and/or soft-drinks. This should be a nice meeting. </li>
<li>Don't declaim. Have a chat and share opinions. Discuss. </li>
<li>Make jokes. Have fun.</li>
</ul>
<br />
<br />
<br />
<b>Grande finale</b><br />
I really encourage you to share knowledge. I doesn't have to be so serious and boring.<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-eRnquISAMuY/Wwv-ff9d9DI/AAAAAAAAtg8/97WaLAseNRU1_5jInI2t1LixyJ67chUpQCLcBGAs/s1600/Trombka_i_Kuba.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="942" data-original-width="598" height="320" src="https://2.bp.blogspot.com/-eRnquISAMuY/Wwv-ff9d9DI/AAAAAAAAtg8/97WaLAseNRU1_5jInI2t1LixyJ67chUpQCLcBGAs/s320/Trombka_i_Kuba.jpg" width="203" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Me and Tomasz :)</div>
<br />
<br />Anonymoushttp://www.blogger.com/profile/08958293854668062170noreply@blogger.com0Warszawa, Polska52.2296756 21.01222870000003751.9184766 20.366781700000036 52.5408746 21.657675700000038tag:blogger.com,1999:blog-3430508731490960624.post-27288792586803799002016-01-09T16:52:00.005+01:002016-01-09T16:52:56.598+01:00Error:(, ) java: package edu.umd.cs.findbugs.annotations does not exist using LombokIf you have an error during compilation in <a href="https://www.jetbrains.com/idea/" target="_blank">IntelliJ Idea</a> and/or maven/gradle<br />
<br />
<i>Error:(X, Y) java: package edu.umd.cs.findbugs.annotations does not exist</i><br />
<i><br /></i>
you've enabled FindBugs Suppress Warnings in lombok.config:<br />
<br />
<i>lombok.extern.findbugs.addSuppressFBWarnings = true</i><br />
<br />
but you forgot to add FindBugs to your maven/gradle config...<br />
<br />
You might either remove config directive or add FB dependency.Anonymoushttp://www.blogger.com/profile/08958293854668062170noreply@blogger.com2tag:blogger.com,1999:blog-3430508731490960624.post-371523831152298552015-09-04T09:51:00.000+02:002015-09-04T11:11:51.345+02:00What's the cause of your problem?Most of exceptions has a few constructors including those with cause exception.<br />
But what if you have to throw an exception that has no cause in constructor? You try to survive:<br />
<br />
<pre><code>
Exception cause = new Exception("I'm the cause!");
SSLHandshakeException noCauseExc = new SSLHandshakeException(String.format("SSL problem: [%s]", cause.getMessage()));
noCauseExc.printStackTrace();
</code></pre>
<br />
...and you <b>lose</b> stacktrace which is <b>cruicial</b>!<br />
<br />
There's a solution <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html#initCause(java.lang.Throwable)" target="_blank">Throwable::initCause()</a>. Check this code and have cause tailed to your exception<br />
<br />
<pre><code>
import javax.net.ssl.SSLHandshakeException;
/**
* Created by bartek on 04.09.15.
*/
public class Cause {
public static void main(String[] args) {
Exception cause = new Exception("I'm the cause!");
SSLHandshakeException noCauseExc = new SSLHandshakeException(String.format("SSL problem: [%s]", cause.getMessage()));
noCauseExc.printStackTrace();
SSLHandshakeException withCauseExc = new SSLHandshakeException("Another SSL problem");
withCauseExc.initCause(cause);
withCauseExc.printStackTrace();
}
}
</code></pre>
Anonymoushttp://www.blogger.com/profile/08958293854668062170noreply@blogger.com0tag:blogger.com,1999:blog-3430508731490960624.post-75224566921541074962015-08-25T10:55:00.005+02:002015-08-25T10:56:23.496+02:00Restart or power off Rasperry PI with REST callIf you need to restart or power off your RPi remotely (or through local application's call) here's a simple way<br />
<br />
<pre><code>http://raspberry.address:7000/reboot
http://raspberry.address:7000/power/off</code></pre>
<br />
Details and code at <a href="https://github.com/zdanek/raspiPowerServer" target="_blank">https://github.com/zdanek/raspiPowerServer</a>Anonymoushttp://www.blogger.com/profile/08958293854668062170noreply@blogger.com0tag:blogger.com,1999:blog-3430508731490960624.post-83240931164101095222015-04-20T11:29:00.003+02:002018-05-29T11:53:36.223+02:00Abstract method in EnumsDid you know that you can do that?<br />
<br />
<br />
<pre>
<code class="java hljs"> private static enum DynamicProperty {
cacheManagerName {
@Override
void applyChange(final PropertyChangeEvent evt, final RuntimeCfg config) {
config.cacheManagerName = (String) evt.getNewValue();
}
},
defaultCacheConfiguration {
@Override
void applyChange(final PropertyChangeEvent evt, final RuntimeCfg config) {
LOG.debug("Default Cache Configuration has changed, previously created caches remain untouched");
}
};
abstract void applyChange(PropertyChangeEvent evt, RuntimeCfg config);
}
</code>
</pre>
I think it's nice because it allows you to customize Enum's behavior or perform other actions on use.
<br />
<br />
<span style="font-size: x-small;">Piece of code taken from <a href="http://ehcache.org/" target="_blank">EhCache</a> <a href="https://fisheye2.atlassian.com/browse/ehcache/branches/ehcache-core-2.6.x/src/main/java/net/sf/ehcache/config/Configuration.java?hb=true" target="_blank">Configuration</a> (line 118 and further).</span>Anonymoushttp://www.blogger.com/profile/08958293854668062170noreply@blogger.com0tag:blogger.com,1999:blog-3430508731490960624.post-47585762536074673942015-04-16T16:23:00.003+02:002018-05-29T11:54:23.778+02:00EhCache config with BeanUtils<a href="http://commons.apache.org/proper/commons-beanutils/" target="_blank">BeanUtils</a> allows you to set Bean properties.<br />
If you have configuration stored in a Map it's tempting to use BeanUtils to automagically setup <a href="http://ehcache.org/" target="_blank">EhCache</a> configuration.<br />
Sadly this class has mixed types in setters and getter and thus BeanUtils that use Introspector behind won't get getter and setter pairs properly. It will get only getters and thus inform you that these properties are read only: "Skipping read-only property".<br />
<br />
My fast solution is to use BeanUtils and have a fallback to Reflection.<br />
<br />
<pre style="font-size: 10px;"><code class="java">public static void setProperty(Object obj, String propertyName, Object propertyValue, boolean silently) {
try {
PropertyDescriptor desc = PropertyUtils.getPropertyDescriptor(obj, propertyName);
Method writeMethod = desc.getWriteMethod();
if (writeMethod == null) {
writeMethod = getAlternativeWriteMethod(obj, propertyName, propertyValue.getClass());
}
if (writeMethod == null) {
if (silently) {
return;
}
throw new IllegalArgumentException("Can't find writerMethod for " + propertyName);
}
if (LOG.isTraceEnabled()) {
LOG.trace(String.format("Setting %s property of %s", propertyName, obj.getClass().getSimpleName()));
}
writeMethod.invoke(obj, propertyValue);
} catch (IllegalAccessException | NoSuchMethodException | InvocationTargetException e) {
throw new IllegalArgumentException("Error when setting object property.", e);
}
}
private static Method getAlternativeWriteMethod(Object obj, String propertyName, Class paramClass) throws NoSuchMethodException {
String setterMethod = "set" + propertyName.substring(0, 1).toUpperCase() + propertyName.substring(1);
Method m;
if ((m = getMethod(obj, paramClass, setterMethod)) != null) {
return m;
}
Class altClass = paramClass.isPrimitive() ? ClassUtils.primitiveToWrapper(paramClass) : ClassUtils.wrapperToPrimitive(paramClass);
if ((m = getMethod(obj, altClass, setterMethod)) != null) {
return m;
}
return null;
}
private static Method getMethod(Object obj, Class paramClass, String setterMethod) {
try {
return obj.getClass().getMethod(setterMethod, paramClass);
} catch (NoSuchMethodException e) {
return null;
}
}
</code>
</pre>
<br />
<br />
<br />
I will think about PR to Configuration class but it's complicated as EhCache 2.x is not present on <a href="https://github.com/ehcache" target="_blank">GitHub</a>.Anonymoushttp://www.blogger.com/profile/08958293854668062170noreply@blogger.com0tag:blogger.com,1999:blog-3430508731490960624.post-9221889405275059502013-09-05T13:27:00.004+02:002013-09-05T13:27:42.718+02:00DostawcyTouK zaangażował się w produkcje filmową.<br />
Polecam stronę <a href="http://www.dostawcyfilm.pl/">www.dostawcyfilm.pl</a>Anonymoushttp://www.blogger.com/profile/08958293854668062170noreply@blogger.com0tag:blogger.com,1999:blog-3430508731490960624.post-64227077481960214732013-06-28T14:38:00.003+02:002013-06-28T14:38:39.138+02:00Grails on Ubuntu 13.04 Raring RingtailIf you add grails ppa to your sources you still won't install grails. There's no packages ready yet.<br />
<br />
Instead of crying you could (temporarily) edit your apt sources and install packages for 12.10 Quantal Quetzal. So do this:<br />
<br />
<i>sudo add-apt-repository ppa:groovy-dev/grails</i><br />
<br />
<i>sudo vim /etc/apt/sources.list.d/groovy-dev-grails-raring.list</i><br />
and change path to<br />
<i>deb http://ppa.launchpad.net/groovy-dev/grails/ubuntu quantal main</i><br />
<i><br /></i>
<i>sudo apt-get update</i><br />
<i>sudo apt-get install grails-VERSION</i><br />
<i><br /></i>
If after typing grails if you press the tab key then it will show all available grails versions from 1.2.5 to 2.2.0 and beyond.<br />
<i><br /></i>
Remember that you can install several versions of grails and switch between them with<br />
<br />
<i> sudo update-alternatives --config grails</i>Anonymoushttp://www.blogger.com/profile/08958293854668062170noreply@blogger.com4tag:blogger.com,1999:blog-3430508731490960624.post-86497390069683993152013-06-11T18:12:00.001+02:002013-06-11T18:12:22.779+02:00Prezentacja jQuery z 4developersPrezentacja z konferencji <a href="http://4developers.org.pl/" target="_blank">4developers</a> jest całkiem interaktywna. Nie ma dema (gry Jeżyk), ale może kiedyś uda mi się je wrzucić. <br />
<a href="http://zdanek.github.io/jquery.html">http://zdanek.github.io/jquery.html</a>Anonymoushttp://www.blogger.com/profile/08958293854668062170noreply@blogger.com0tag:blogger.com,1999:blog-3430508731490960624.post-38109984158140068242013-04-29T11:27:00.001+02:002013-04-29T11:27:45.784+02:00Java encoding problem (in Tomcat and other servers)<br />
The problem with encoding of served files appears when there's something wrong with java configuration on system level. Even providing proper headers inside HTTP responses can't help because all files are read improperly.<br />
<div>
<br /></div>
<br />
If you have problems with tomcat or other server and your files are served with broken encoding, you should edit your start script and add to JAVA_OPTS<br />
<br />
<span style="font-size: small;"><i> -Dsun.jnu.encoding=UTF-<span style="color: black;">8</span> -Dfile.encoding=UTF-<span style="color: black;">8</span></i></span><br />
<span style="font-size: small;"><span style="color: black;"><br /></span></span>
<span style="font-size: small;"><span style="color: black;">I assume that you use utf8. If not, correct statement above with your encoding but please consider moving to utf8. </span></span><br />
<span style="font-size: small;"><span style="color: black;"><br /></span></span>
<br />Anonymoushttp://www.blogger.com/profile/08958293854668062170noreply@blogger.com0tag:blogger.com,1999:blog-3430508731490960624.post-22192111196674687262013-04-11T08:46:00.002+02:002013-04-11T08:46:56.107+02:00Jutro 4developers<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-D88Z-Grb0PU/UWZbejcKutI/AAAAAAAABew/4s-LJMZRN3I/s1600/4dev.png" imageanchor="1" style="clear: right; display: inline !important; float: right; margin-bottom: 1em; margin-left: 1em; text-align: center;"><img border="0" src="http://1.bp.blogspot.com/-D88Z-Grb0PU/UWZbejcKutI/AAAAAAAABew/4s-LJMZRN3I/s1600/4dev.png" /></a></div>
<br />
Jutro na Bobrowieckiej (tam gdzie była wielokrotnie Javarsovia i <a href="http://confitura.pl/" target="_blank">Confitura</a>), jutro, 12.04.2013, odbędzie się <a href="http://4developers.org.pl/" target="_blank">4developers</a>. Ja też tam będę z moim wykładem jak zacząć developować przy użyciu jQuery ("<a href="http://2013.4developers.org.pl/pl/program-pl/agenda" target="_blank">jQuery kickstart</a>"). Zapraszam na ścieżkę "<a href="http://2013.4developers.org.pl/pl/program-pl/agenda" target="_blank">Javascript & modern web</a>".<br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/08958293854668062170noreply@blogger.com2tag:blogger.com,1999:blog-3430508731490960624.post-13459648707212617782013-03-03T02:05:00.001+01:002013-03-03T02:05:14.770+01:00BitBucket push/pull keeps asking me for passwordIt does it even if you've added your ssh key?! Really?<br />
<br />
So edit <i>.git/config </i>and change repo url from https to <b>ssh</b>.<br />
<br />
It should look like this<br />
<br />
<i>url = git@bitbucket.org:your_login/your_project.git</i><br />
<br />
If you don't know the address then go to your <a href="http://bitbucket.org/" target="_blank">bitbucket</a> repo page and check SSH address on the project's Overvier tab.<br />
<br />
Don't forget to set up your name (bitbucket login) in [user] section. <a href="http://git-scm.com/book/en/Customizing-Git-Git-Configuration" target="_blank">Refer git manual</a> or just type<br />
<br />
<i>$ git config user.name your_login</i><br />
<i>$ git config user.email your_email</i>Anonymoushttp://www.blogger.com/profile/08958293854668062170noreply@blogger.com0tag:blogger.com,1999:blog-3430508731490960624.post-84209715047089811002013-02-05T19:45:00.000+01:002013-02-05T19:45:35.621+01:00Http server with PHP on RaspberryPITotally awesome guide is at <a href="http://rasberrypibeginnersguide.tumblr.com/post/27283563130/nginx-php5-on-raspberry-pi-debian-wheezy">http://rasberrypibeginnersguide.tumblr.com/post/27283563130/nginx-php5-on-raspberry-pi-debian-wheezy</a><br />
But instead using provided silex site config file, you should configure root folder of web server to serve php scripts. To do so please rm symlink to silex file and edit<br />
<br />
<i>/etc/nginx/sites-available/default</i><br />
<i><br /></i>
Set root folder to /var/www<br />
<br />
<br />
<i># root /usr/share/nginx/www;</i><br />
<i> root /var/www;</i><br />
<div>
<br /></div>
<div>
Add index.php as a index file</div>
<div>
<br /></div>
<div>
<i>index index.html index.htm index.php;</i></div>
<div>
<i><br /></i></div>
<div>
And configure all <i>php </i>files to be parsed by fastCGI php bridge set up on port 9000. Just put all below somewhere in <i>default</i> file</div>
<div>
<br /></div>
<div>
<div>
<i> ## Parse all .php file in the /var/www directory</i></div>
<div>
<i> location ~ \.php$ {</i></div>
<div>
<i> fastcgi_split_path_info ^(.+\.php)(.*)$;</i></div>
<div>
<i> fastcgi_pass 127.0.0.1:9000;</i></div>
<div>
<i> fastcgi_index index.php;</i></div>
<div>
<i> fastcgi_param SCRIPT_FILENAME /var/www/silex$fastcgi_script_name;</i></div>
<div>
<i> include fastcgi_params;</i></div>
<div>
<i> fastcgi_param QUERY_STRING $query_string;</i></div>
<div>
<i> fastcgi_param REQUEST_METHOD $request_method;</i></div>
<div>
<i> fastcgi_param CONTENT_TYPE $content_type;</i></div>
<div>
<i> fastcgi_param CONTENT_LENGTH $content_length;</i></div>
<div>
<i> fastcgi_intercept_errors on;</i></div>
<div>
<i> fastcgi_ignore_client_abort off;</i></div>
<div>
<i> fastcgi_connect_timeout 60;</i></div>
<div>
<i> fastcgi_send_timeout 180;</i></div>
<div>
<i> fastcgi_read_timeout 180;</i></div>
<div>
<i> fastcgi_buffer_size 128k;</i></div>
<div>
<i> fastcgi_buffers 4 256k;</i></div>
<div>
<i> fastcgi_busy_buffers_size 256k;</i></div>
<div>
<i> fastcgi_temp_file_write_size 256k;</i></div>
<div>
<i> }</i></div>
</div>
<div>
<br /></div>
<div>
Now restart ngix as mentioned in original article and enjoy PHP on RPi!</div>
Anonymoushttp://www.blogger.com/profile/08958293854668062170noreply@blogger.com1tag:blogger.com,1999:blog-3430508731490960624.post-7666207806286665942013-01-21T12:34:00.002+01:002013-01-21T12:34:40.723+01:00Virtual task board + info radiatorThere are some posts around about various task board solutions. Besides that we use white board to sketch some designs and exchange knowledge, we use virtual board as task board and info radiator.<br />
<br />
Simply we have a jQuery script that runs in a web browser that rotates some most important pages with our project status. These are JIRA/Greenhopper task board, Jenkins, Sonar and current app snapshot built and deployed automatically by Jenkins.<br />
<br />
And where this board stands? In front of us, at the windowsill where every team member sees it.<br />
<br />
What is it? An old computer with 20" display.<br />
<br />
Our colleagues from other project had ordered about 30" monitor but they have our company owner in team so this was obvious that they should have bigger and better display ;-)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-5ka6srs3LsA/UP0nSK0n_LI/AAAAAAAABcY/NkMXSmtmpj0/s1600/21012013(002).jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://2.bp.blogspot.com/-5ka6srs3LsA/UP0nSK0n_LI/AAAAAAAABcY/NkMXSmtmpj0/s320/21012013(002).jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-5Ej8aHiWSaQ/UP0nTwL1GHI/AAAAAAAABcg/BG28yoggBi0/s1600/21012013(001).jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://3.bp.blogspot.com/-5Ej8aHiWSaQ/UP0nTwL1GHI/AAAAAAAABcg/BG28yoggBi0/s320/21012013(001).jpg" width="320" /></a></div>
<br />Anonymoushttp://www.blogger.com/profile/08958293854668062170noreply@blogger.com1tag:blogger.com,1999:blog-3430508731490960624.post-6339902131935151952012-11-02T09:43:00.001+01:002012-11-26T11:55:22.685+01:00Rapid development z LiveviewFilm opisujący co i jak<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='640' height='532' src='https://www.youtube.com/embed/PAeLK6Yp2P0?feature=player_embedded' frameborder='0'></iframe></div>
<b>Update</b>: <a href="https://github.com/downloads/siasia/livereload-extensions/LiveReload-2.0.9.xpi" target="_blank">plugin do firefoxa</a>Anonymoushttp://www.blogger.com/profile/08958293854668062170noreply@blogger.com2tag:blogger.com,1999:blog-3430508731490960624.post-13484396765091432352012-10-27T18:18:00.000+02:002012-10-27T18:18:04.407+02:00Udana Warsjawa V - 100. spotkanie WJUGNigdy nie piszę relacji z imprez. Dzisiaj mam nastrój.<br />
<br />
To była V edycja. Dotychczas współorganizowałem edycje III i IV. Tej nie organizowałem i bardzo dobrze, bo powstała nowa zwarta grupa zdolna organizować imprezy WJUGowe. Super.<br />
<br />
<br />
Rozpoczęcie chwilę po 9 zawierało przemówienie Oćca WJUGa, czyli Jacka, który siedzi teraz na Ukrainie, ale przesłał nam wideo.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-GXmXiz-8OhU/UIv8rh9vfVI/AAAAAAAABWU/76i5ogw-Msk/s1600/DSC_7337.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="212" src="http://4.bp.blogspot.com/-GXmXiz-8OhU/UIv8rh9vfVI/AAAAAAAABWU/76i5ogw-Msk/s320/DSC_7337.JPG" width="320" /></a></div>
<br />
Potem ja wspominałem moją przygodę z WJUGiem i okolicami. W ramach tego miałem na sobie 10 T-shirtów, które zebrałem na imprezach, o których opowiadałem. Były to specjalne spotkania WJUG oraz m.in. kolejne wydania Warsjawy i Javarsovii/Confitury.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-66pJTseWBfg/UIv83CllZ4I/AAAAAAAABWc/NliU_D71o24/s1600/DSC_7341.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="212" src="http://2.bp.blogspot.com/-66pJTseWBfg/UIv83CllZ4I/AAAAAAAABWc/NliU_D71o24/s320/DSC_7341.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-9dh4zX2HSh8/UIv89A0CkvI/AAAAAAAABWk/eJZw4VxrWpE/s1600/DSC_7367.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="212" src="http://1.bp.blogspot.com/-9dh4zX2HSh8/UIv89A0CkvI/AAAAAAAABWk/eJZw4VxrWpE/s320/DSC_7367.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-gajyyYigBQA/UIwAUBm1NUI/AAAAAAAABW0/mp00ztTZaPY/s1600/DSC_7369.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="212" src="http://4.bp.blogspot.com/-gajyyYigBQA/UIwAUBm1NUI/AAAAAAAABW0/mp00ztTZaPY/s320/DSC_7369.JPG" width="320" /></a></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-agWD05I-XxI/UIwAhVMkAZI/AAAAAAAABXE/nkVoFAGn-FM/s1600/DSC_7373.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="212" src="http://3.bp.blogspot.com/-agWD05I-XxI/UIwAhVMkAZI/AAAAAAAABXE/nkVoFAGn-FM/s320/DSC_7373.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Zademonstrowałem też unikalną koszulką z okazji 100. JUG.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-PckZT_Bz2IU/UIwA0JvmseI/AAAAAAAABXg/AIzgh7nYxy4/s1600/DSC_7377.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="212" src="http://4.bp.blogspot.com/-PckZT_Bz2IU/UIwA0JvmseI/AAAAAAAABXg/AIzgh7nYxy4/s320/DSC_7377.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Po mnie wystąpiło jeszcze kilku kolegów, a następne Grzesiek Duda z 30 minutową opowieścią jak ważne są JUGi i angażowanie się w społeczność Javową.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-QDiB5KINz5M/UIwAubrDrhI/AAAAAAAABXY/F6XYHZivH2I/s1600/DSC_7378.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="212" src="http://2.bp.blogspot.com/-QDiB5KINz5M/UIwAubrDrhI/AAAAAAAABXY/F6XYHZivH2I/s320/DSC_7378.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-YGq-5MdYwTo/UIwA5wGG-AI/AAAAAAAABXo/8WqElRv5OH8/s1600/DSC_7381.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://2.bp.blogspot.com/-YGq-5MdYwTo/UIwA5wGG-AI/AAAAAAAABXo/8WqElRv5OH8/s320/DSC_7381.JPG" width="212" /></a></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-RBzzjUh6rrk/UIwA_b7CGmI/AAAAAAAABXw/E1PmNryGNuI/s1600/DSC_7382.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="212" src="http://1.bp.blogspot.com/-RBzzjUh6rrk/UIwA_b7CGmI/AAAAAAAABXw/E1PmNryGNuI/s320/DSC_7382.JPG" width="320" /></a></div>
<br />
<br />
Rozeszliśmy się do 10 sal, w których odbywały się warsztaty. Ja wybrałem Java + elektronika i było sympatycznie. Nauczyłem się podstaw programowania Arduino, ale i przekonałem się, że Java jest uruchomiona tylko na PC, a nie pakujemy jej do środka Arduino. Z tą Javą to nie taki głupi pomysł i możliwy, np. dzięki <a href="http://www.harbaum.org/till/nanovm/index.shtml" target="_blank">NanoVM</a>.<br />
<br />
Nie doczekałem do końca imprezy, bo tatowe obowiązki wzywały mnie z domu.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-N2Ic2iu8ASg/UIwBFlJKx_I/AAAAAAAABX8/L0kBLn3qx_Y/s1600/DSC_7387.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="212" src="http://1.bp.blogspot.com/-N2Ic2iu8ASg/UIwBFlJKx_I/AAAAAAAABX8/L0kBLn3qx_Y/s320/DSC_7387.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-84kNxlG4aLM/UIwBNrB13xI/AAAAAAAABYE/pynVD-1P7gw/s1600/DSC_7389.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="212" src="http://4.bp.blogspot.com/-84kNxlG4aLM/UIwBNrB13xI/AAAAAAAABYE/pynVD-1P7gw/s320/DSC_7389.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-CITpOEO5I-w/UIwBU1ix7GI/AAAAAAAABYM/70qfn0LVKF0/s1600/DSC_7390.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="212" src="http://2.bp.blogspot.com/-CITpOEO5I-w/UIwBU1ix7GI/AAAAAAAABYM/70qfn0LVKF0/s320/DSC_7390.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-kpEKd4LYcaA/UIwBbhwicWI/AAAAAAAABYU/gmEixaN78h0/s1600/DSC_7401.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="212" src="http://3.bp.blogspot.com/-kpEKd4LYcaA/UIwBbhwicWI/AAAAAAAABYU/gmEixaN78h0/s320/DSC_7401.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-ezSZI4mNq-g/UIwBh82axII/AAAAAAAABYc/6oI_1ZDOsjE/s1600/DSC_7403.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="212" src="http://1.bp.blogspot.com/-ezSZI4mNq-g/UIwBh82axII/AAAAAAAABYc/6oI_1ZDOsjE/s320/DSC_7403.JPG" width="320" /></a></div>
<br />
<br />
Program i szczegóły na <a href="http://www.warsjawa.pl/" target="_blank">www.warsjawa.pl</a><br />
<br />
Plusy:<br />
* mega dużo warsztatów (słownie 10 sztuk)<br />
* bezpłatny obiad w barze Kubuś, na Wydziale MIMUW<br />
* sprawna organizacja, żadnych wpadek<br />
<br />
Minusy:<br />
* słaba reklama poza WJUG<br />
* ciągłość zajęć (brak przerw) powodowała, że nie było kiedy porozmawiać<br />
<br />
Co do braku reklamy, to przyczyna była prosta - zanim organizatorzy zdążyli rozgłośnić imprezę gdzieś dalej, miejsca były wyczerpane. Cudownie, tylko ja jednak widzę tu problem, że impreza zrobiła się przez to i lokalna i zarezerwowana tylko dla Warszawiaków/WJUGowców.<br />
<br />
Martwiła mnie też absencja stoisk sponsorów, których nie brakowało, ale byli nieobecni, poza Outbox.<br />
<br />
Na miejscu organizujących bym przemyślał wskazane przeze mnie problemy. Na pewno będę miał okazje porozmawiać z nimi o tym. To jest coś, z czym i ja muszę się niejednokrotnie mierzyć podczas organizowania innych imprez.<br />
<br />
<b>Z punktu widzenia uczestnika 10pkt.</b><br />
<b>Z punktu widzenia organizatora 9pkt. ;)</b><br />
<div>
<br /></div>
Anonymoushttp://www.blogger.com/profile/08958293854668062170noreply@blogger.com0tag:blogger.com,1999:blog-3430508731490960624.post-75166152774287232492012-10-27T01:38:00.001+02:002012-10-27T01:38:12.279+02:00Za kilka godzin Warsjawa V - 100. wydanie WJUGO 9 zacznie się <a href="http://www.warsjawa.pl/" target="_blank">Warsjawa</a>. Czas iść spać. Muszę jeszcze tylko ostatni raz przejrzeć moją prezentację, którą właśnie skończyłem. Będzie niespodzianka.<br />
<br />
Jestem gotowy<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-Cm97hB1TSPk/UIsewRHuLYI/AAAAAAAABWE/3CUfLxhrLsk/s1600/wj12_zdanek_gotowy.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-Cm97hB1TSPk/UIsewRHuLYI/AAAAAAAABWE/3CUfLxhrLsk/s320/wj12_zdanek_gotowy.jpg" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Albo przypakowałem, albo coś kombinuję... </div>
Anonymoushttp://www.blogger.com/profile/08958293854668062170noreply@blogger.com0tag:blogger.com,1999:blog-3430508731490960624.post-79174892951371576312012-10-26T09:46:00.002+02:002012-10-26T09:46:44.367+02:00Mój wykład na Warszawa JUGWe wtorek (29.10.2012) pokażę podstawy budowania Front Endu przy użyciu <a href="http://twitter.github.com/bootstrap/" target="_blank">Twitter Bootstrap</a> i <a href="http://jquery.com/" target="_blank">jQuery</a>. Zbudujemy razem aplikację do zarządzania biblioteką <a href="http://warszawa.jug.pl/" target="_blank">Warszawa JUG</a>. Dlaczego warto przyjść? Bo będzie niedużo, ale powoli i ze zrozumieniem. Będzie to dobry fundament do dalszego rozwijania umiejętności związanych z budowanie FE.<br />
<br />
Przeklejam zapowiedź z WJUG:<br />
<br />
<br />
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">
W najbliższą sobotę 100. spotkanie warszawskiego JUGa w postaci warsztatowej,</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">
ale grupa nie zwalnia tempa i miło będzie nam gościć jednego z liderów grupy - <b>Bartka Zdanowskiego!</b></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">
Gorąco zapraszamy w najbliższy wtorek, 30 października o godzinie 18:00,</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">
na Wydziale Matematyki Informatyki i Mechaniki UW (Banacha 2), w sali 5440 (IV piętro).</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">
<div class="gmail_quote" style="border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
<span style="font-family: arial, helvetica, sans-serif;"><span style="border: 0px; color: #222222; margin: 0px; padding: 0px; vertical-align: baseline;"><b>Temat:</b> </span></span><span style="color: #222222; font-family: arial, helvetica, sans-serif;">Budowanie frontendu przy użyciu TwitterBootstrap i jQuery - Bartek Zdanowski</span></div>
<div class="gmail_quote" style="border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
<span style="border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="font-family: arial, helvetica, sans-serif;"><br /></span></span></div>
<div class="gmail_quote" style="border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
<span style="border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"><b><span style="font-family: arial, helvetica, sans-serif;">Bartek o wykładzie:</span></b></span></div>
<div class="gmail_quote" style="border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
<div class="gmail_quote" style="border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
<br /></div>
<div class="gmail_quote" style="border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
Podczas wykładu zrobię mały wstęp do JavaScriptu (niezbędne minimum),<br style="color: black; font-family: arial; font-size: small;" />pokaże jak używać TwitterBootstrap[1], aby zbudować layout i jak to<br />ożywić przy użyciu jQuery[2]. W przypadku jQ zobaczymy też jak<br />komunikować się z backendem. Postaramy się razem zbudować długo<br />oczekiwaną aplikację do zarządzania biblioteką WJUG. Pokażę Wam rapid<br />development przy użyciu liveview, czy automatycznego odświeżania<br />przeglądarki w miarę powstawiania layoutu.<br />Backend zapewni nam Grails[3], którego nie będę pokazywał, chyba, że<br />starczy nam czasu i będą chętni.<br />Poziom wykładu: początkujący.<br /><br />*<b>Uwaga</b>*: Jeśli pobijemy rekord frekwencji w październiku, to wśród<br />zebranych rozlosujemy licencję IntelliJ Idea lub dwie, jeśli przyjdzie<br />dostatecznie dużo ludzi! Na pewno do rozlosowania będzie roczna<br />licencja JRebel, bardzo dobrego narzędzia.</div>
<div class="gmail_quote" style="border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
<br /></div>
<div class="gmail_quote" style="border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
<div class="gmail_quote" style="border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
<b><span style="font-family: arial, helvetica, sans-serif;">O Bartku:</span></b></div>
<div class="gmail_quote" style="border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
<b><span style="font-family: arial, helvetica, sans-serif;"><br /></span></b></div>
<div class="gmail_quote" style="border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
Bartek Zdanowski na co dzień pracuje jako developer w TouK[4], jest<br />tatą dzieci, mężem żony oraz panem psa. Żonę wspiera w Fundacji<br />Artystycznej Młyn[5], która wystawia spektakle dla dorosłych, na które<br />bardzo serdecznie zaprasza ;-) Nie wypada nie mieć bloga, więc ma [6].<br />Od jakiegoś czasu jest współorganizatorem największej społecznościowej<br />konferencji Confitura[7], a ostatnio po godzinach jest szalonym<br />naukowcem[8].</div>
</div>
<div>
<br /></div>
<div>
Planowany czas prezentacji wraz z dyskusją to 120 min.<br /><br />Informacje o spotkaniach zawsze widoczne w <a href="http://www.google.com/calendar/render?cid=7dmp09fjl82d57m3dgu4gj020g%40group.calendar.google.com" style="color: #1155cc;" target="_blank">kalendarzu grupy</a> oraz na <a href="http://twitter.com/warszawajug" style="color: #1155cc;" target="_blank">Twitterze</a>.<br /><br />Zapraszamy!</div>
</div>
</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">
<span style="font-size: 13.333333969116211px;">[1] </span><a href="http://twitter.github.com/bootstrap/" style="color: #1155cc; font-size: 13.333333969116211px;" target="_blank">http://twitter.github.com/<wbr></wbr>bootstrap/</a><br /><span style="font-size: 13.333333969116211px;">[2] </span><a href="http://jquery.com/" style="color: #1155cc; font-size: 13.333333969116211px;" target="_blank">http://jquery.com</a><br style="font-size: 13.333333969116211px;" /><span style="font-size: 13.333333969116211px;">[3] </span><a href="http://grails.org/" style="color: #1155cc; font-size: 13.333333969116211px;" target="_blank">http://grails.org</a><br style="font-size: 13.333333969116211px;" /><span style="font-size: 13.333333969116211px;">[4] </span><a href="http://touk.pl/" style="color: #1155cc; font-size: 13.333333969116211px;" target="_blank">http://touk.pl</a><br style="font-size: 13.333333969116211px;" /><span style="font-size: 13.333333969116211px;">[5] </span><a href="http://mlyn.org/" style="color: #1155cc; font-size: 13.333333969116211px;" target="_blank">http://mlyn.org</a><br style="font-size: 13.333333969116211px;" /><span style="font-size: 13.333333969116211px;">[6] </span><a href="http://blog.bartekzdanowski.pl/" style="color: #1155cc; font-size: 13.333333969116211px;" target="_blank">http://blog.<wbr></wbr>bartekzdanowski.pl</a><br style="font-size: 13.333333969116211px;" /><span style="font-size: 13.333333969116211px;">[7] </span><a href="http://confitura.pl/" style="color: #1155cc; font-size: 13.333333969116211px;" target="_blank">http://confitura.pl</a><br style="font-size: 13.333333969116211px;" /><span style="font-size: 13.333333969116211px;">[8] </span><a href="http://blog.bartekzdanowski.pl/2012/10/wystartowa-touklab.html" style="color: #1155cc; font-size: 13.333333969116211px;" target="_blank">http://blog.<wbr></wbr>bartekzdanowski.pl/2012/10/<wbr></wbr>wystartowa-touklab.html</a></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">
<span style="font-size: 13.333333969116211px;">PS. Yeah! Pobiłem rekord ilości linków w mojej zapowiedzi!</span></div>
Anonymoushttp://www.blogger.com/profile/08958293854668062170noreply@blogger.com0tag:blogger.com,1999:blog-3430508731490960624.post-15132817973523141812012-10-19T00:26:00.000+02:002012-10-24T10:43:31.566+02:00Wystartował toukLabDzisiaj oficjalnie wystartował <b>toukLab</b>. Miejsce, w którym pracownicy TouK mogą popracować nad własnymi pomysłami, poeksperymentować lub zbudować odjazdowe urządzenia.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-XJPRt_P_unc/UIB535Len5I/AAAAAAAABUs/9mbub76W0pY/s1600/logo_med_viol.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="http://1.bp.blogspot.com/-XJPRt_P_unc/UIB535Len5I/AAAAAAAABUs/9mbub76W0pY/s200/logo_med_viol.png" width="171" /></a></div>
<br />
Dziedziny, którymi będziemy się zajmować to ogólnie elektronika użytkowa, czyli urządzenia, które są fajne i fajnie się ich używa :) Jest to inicjatywa kilku moich kolegów i mnie, z której TouK nie będzie czerpał korzyści wprost. Wręcz przeciwnie, zainwestował <i>małe</i> <i>conieco</i>, ale na pewno zwróci się to kolejny raz w postaci naszej satysfakcji i poczucia, że pracujemy w fajnym miejscu.<br />
Pomysł powstał z prostej przyczyny - część z nas ma dzieci i nie jesteśmy w stanie w domu budować niczego co dymi, kopie prądem lub zajmuje znaczącą powierzchnię. Zresztą, moja żona każe mi sprzątać graty na wieczór ;)<br />
<br />
Gości witaliśmy naszym wewnętrznym manifestem, którego fragmenty zdradzam:<br />
<br />
<br />
<div style="text-align: center;">
<b>Witamy!</b></div>
<br />
<b>Czym jest toukLab?</b><br />
To miejsce, gdzie można w wolnym czasie poeksperymentować i zbudować coś niezwykłego. To kolejny dowód na to, że TouK jest firmą totalnie nieszablonową, w której wszystko jest możliwe.<br />
<br />
<b>Dla kogo?</b><br />
Dla każdego, kto realnie chce usiąść po godzinach i poeksperymentować z czymś więcej niż soft.<br />
<br />
<b>Kto to wymyślił?</b><br />
Grupa śmiałków, w których buzuje energia i chcą eksplorować nowe światy!<br />
<br />
<b>Kto za to zapłaci?</b><br />
Naszym mecenasem jest TouK, który udostępnił nam miejsce. Sprzęt na wyposażeniu jest prywatny lub przekazany nam przez TouK.<br />
<br />
<b>Czy to jest bezpieczne?</b><br />
Pośrednio tak. Może trochę śmierdzieć, hałasować lub błyskać. Dlatego mamy wydzielone miejsce i będziemy tu pracować po godzinach, aby nie przeszkadzać.<br />
Bezpośrednio może być niebezpieczne dla osób przeprowadzających eksperymenty, głównie z prądem, ale to ich odpowiedzialność.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-kR96yAh2s_8/UIB_LuqfmSI/AAAAAAAABU8/AHYM1gZKZZg/s1600/touklab_launch.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://4.bp.blogspot.com/-kR96yAh2s_8/UIB_LuqfmSI/AAAAAAAABU8/AHYM1gZKZZg/s320/touklab_launch.jpg" width="180" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">mgr inż. wielokrotnie rehabilitowany (na kolano i stopę) </td></tr>
</tbody></table>
<br />Anonymoushttp://www.blogger.com/profile/08958293854668062170noreply@blogger.com3tag:blogger.com,1999:blog-3430508731490960624.post-21439060016307593082012-10-05T01:29:00.002+02:002012-10-05T01:29:27.642+02:00Customizing Liferay portal with propsIf you want to change some of very long list of Liferay's properties, you have to add them to <i>portal-ext.properites</i> located at<br />
<br />
<i>liferay/tomcat-6.0.29/webapps/ROOT/WEB-INF/classes</i><br />
<i><br /></i>
Ofcourse liferay and tomcat directories may vary depending on which version of Liferay you use.<br />
<br />
<b>And which properties to add? </b><br />
<br />
The list is very long. Liferay's makers assumed that all default values would be stored in Liferay jars (actually in portal-impl.jar, in portal.properties file). And if one want to change anything he/she should override particular property value in <i>portal-ext.properties</i> file.<br />
<br />
On <a href="http://www.liferay.com/documentation/liferay-portal/6.0/administration/-/ai/advanced-liferay-configurati-4" target="_blank">Liferays doc page</a> there's an exhausting page that describes all configuration properties.<br />
<br />
After changing entries in properties file you should restart Liferay. It's obvious.Anonymoushttp://www.blogger.com/profile/08958293854668062170noreply@blogger.com0tag:blogger.com,1999:blog-3430508731490960624.post-68965378101765923042012-10-03T09:54:00.001+02:002012-10-03T09:54:06.582+02:00mount.ntfs high cpu ubuntuMy computer suffers from sudden and continous hard drive load strokes. Sometimes it lasts for a few minutes and hence work is impossible because everything goes very slow.<br />
I'm trying to locate the cause because it makes me nervous :)<br />
<br />
Today I found one of the causes. It's <i>updatedb.mlocate</i> script which is responsible for scanning hard drives and build locate (a location of files) database. But due to some NTFS driver limitations that poor thing thinks that NTFS share is always new and needs to be rescan at every scheduled scan.<br />
<br />
How to make sure that you have the same problem? When hard drive starts to choke check all IO processes with<br />
<br />
<i>sudo iotop</i><br />
<br />
and look for <i>updatedb.mlocate </i>or <i>mount.ntfs</i> processes with high IO load. If this is the case try to fix it.<br />
The solution is to point NTFS shares as non-scannable. To do this edit<br />
<br />
<i>/etc/updatedb.conf</i><br />
<br />
and add your NTFS mount paths to PRUNEPATHS list. Although NTFS is listed in PRUNEFS entry that dummy <i>mlocate</i> script still would scan NTFS shares.<br />
<br />
All that I found on <a href="http://ubuntuforums.org/showthread.php?t=1653598" target="_blank">Ubuntu forum</a>.<br />
<br />Anonymoushttp://www.blogger.com/profile/08958293854668062170noreply@blogger.com0tag:blogger.com,1999:blog-3430508731490960624.post-52333364032098777942012-09-27T12:13:00.004+02:002012-09-27T12:13:44.103+02:00Nadchodzi Warsjawa V<br />
Niedługo produkt nr 2 <a href="http://warszawa.jug.pl/" target="_blank">WJUGa</a>, czyli <a href="http://www.warsjawa.pl/" target="_blank">Warsjawa</a> - (jesienne) Warszawskie
Warsztaty Javowe (niekoniecznie javowe, ale taką ma nazwę). Edycja V
(logo jest stare)<br />
<br />
<br />
<div align="center">
<img alt="" src="data:image/png;base64,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" /><br />
</div>
<br />
Co mam Wam do zaproponowania<br />
[1] udział<br />
[2] poprowadzenie warsztatów<br />
<br />
Kiędy? 27 października (sobota, każdy ma czas :)<br />
Ilę? Całość trwa ok 6-7h razem z przerwami na kafkę i obiad (pizza)<br />
Gdzię? Nie wiadomo - prawdopodobnie PW WEITI lub MiMUW<br />
<br />
Co do [1], to śledźcie grupę WJUG lub www.warsjawa.pl i tam będą
informacje. Trzeba będzie się
zapisać.<br />
Co do [2], to jeśli macie propozycję warsztatów, to byłoby super! Wszystko co się przyda i czego można nauczyć grupki 15-30 osób. Czas
trwania to 6-7h z przerwami (p. wyżej) więc pewnie ok 5h netto. Można
też zrobić pół na pół z kimś innym.<br />
<br />
Chcących poprowadzić warsztaty kieruję do <a href="https://plus.google.com/101390418023034694144/posts" target="_blank">Wojtka Erbetowskiego</a>.Anonymoushttp://www.blogger.com/profile/08958293854668062170noreply@blogger.com0tag:blogger.com,1999:blog-3430508731490960624.post-45316471596480676962012-09-11T14:48:00.001+02:002012-09-11T14:48:27.641+02:00GWT Development Plugin Firefox 15 (FF15) on 64bit ubuntuI tried the latest plugin from <a href="http://notepad2.blogspot.com.au/2012/09/gwt-developers-plugin-for-firefox-15.html" target="_blank">well known source</a>. But it didn't work.<br />
But <a href="http://code.google.com/p/google-web-toolkit/source/browse/trunk/plugins/xpcom/prebuilt/gwt-dev-plugin.xpi?spec=svn11253&r=11253" target="_blank">this one</a> did.Anonymoushttp://www.blogger.com/profile/08958293854668062170noreply@blogger.com0tag:blogger.com,1999:blog-3430508731490960624.post-22544041599157727432012-08-25T17:08:00.002+02:002012-08-25T17:08:54.017+02:00Playing encrypted DVDs on Ubuntu LinuxInstall: <br />
<br />
<i>sudo apt-get install vlc xine-ui mplayer libdvdread4</i><br />
<br />
and then invoke<br />
<br />
<i>sudo /usr/share/doc/libdvdread4/install-css.sh</i><br />
<br />
Now you can run <i>xine</i> player and enjoy encrypted DVDs on your linux box.Anonymoushttp://www.blogger.com/profile/08958293854668062170noreply@blogger.com2