It's not very easy, this is the first phone that is sophisticated enough to support the editing page and easy enough to be usable for that purpose. Uploading does not work. Rich editing does not work. But typing is fast enough and easy enough.
Month: June 2008
Hibernate, AuditLogging, cannot configure listeners in persistence.xml
First, what's my goal
I want to do an audit log. I read the http://www.hibernate.org/318.html and there two different approaches were mentioned.
The first is using a Listener.
The second is using the new eventing model in Hibernate3.
The author said that he couldn't make the eventing approach work for an unknown reason.
I'm using Hibernate via JPA. I'm using it in an EJB. So the problem
with the first approach is that it is difficult (if possilbe) to supply
the same transaction to the interceptor so that it can write an entry
in the audit log. There is a solution with a static field holding a
session or an EM, but that seems ugly.
So I chose the second approach. I created a class, inherited few
eventhandlers (PreInsertEventListener, PostUpdateEventListener ) and
tried to add the class as a listener.
Using the API, it worked (the callback methods in the listeners were called):
configuration.setListener( "post-update", new Test1() );
configuration.addProperties( hibernateProperties );
EntityManagerFactory factory = new EntityManagerFactoryImpl( configuration.buildSessionFactory(),
PersistenceUnitTransactionType.RESOURCE_LOCAL, true );
EntityManager result = factory.createEntityManager();
Using properties (as if using persistence.xml) failed(the callback methods in the listeners were NOT called):
...
hibernateProperties.put( "hibernate.ejb.event.pre-update", "package.Test1" );
hibernateProperties.put( "hibernate.ejb.event.pre-insert", "package.Test1" );
AnnotationConfiguration configuration = new AnnotationConfiguration();
configuration.addProperties( hibernateProperties );
EntityManagerFactory factory = new EntityManagerFactoryImpl( configuration.buildSessionFactory(),
PersistenceUnitTransactionType.RESOURCE_LOCAL, true );
EntityManager result = factory.createEntityManager();
Ideas why?
A new challenge - a dog
Category A in my driving license
Today I passed the exam for category A (motorcycles above 50cc). Very happy.
'Sucks' category
There's a trend - there are a lot of articles here in which I bitch about something. So there should be a category called 'Sucks'.
Update: reviewing the articles I found a lot of candidates for the category, it comes out that all I'm doing is bitching about stuff - I should change the subtitle of the blog π
@Override in eclipse
When one implements an interface, the template in Eclipse puts an @Override and it does not complain about it. Ant javac task also compiles without warnings.
Sometimes other Eclipse instances start to complain exactly for that @Override stating that there's no method that's overridden. Well, Eclipse, please do make up your mind.
"Indicates that a method declaration is intended to override a
method declaration in a superclass. If a method is annotated with
this annotation type but does not override a superclass method,
compilers are required to generate an error message."
Well, that's not very clear. As far as I remember an Interface is a pure abstract class, right? So, which one's correct.
P.S. Sometime ago I was having a similar problem with Eclipse and generics - Eclipse only gave a warning about something (can't remember what exactly), but the javac said that it was an error - Google said something like "eclipse uses jikes, you use javac". So what, aren't there specs?!
Update: apparently JDK5 (or 1.5, suit yourself) does not allow that. So in order to get all the wrong @Overrides - set the Compliance level to 5.0 (Eclipse -> Window -> Preferences -> Java -> Compiler -> Compiler compliance level ) - and..... correct them. I have 29 left.
Referrers from live.com
All the referrers to this blog from live.com come like that:
http://search.live.com/results
http://search.live.com/results
The search word seems to be only 'class'. I can't believe that I come out in a search for only the word 'class'. I guess all the other words from the search are stripped which, if on purpose, is stupid, and, if not, ignorant.
Π Π°Π·Π³ΠΎΠ²ΠΎΡ Π·Π° ΡΠΎΡΡΡΠ΅ΡΠ° ΠΈ Π±ΠΈΠ·Π½Π΅ΡΠ° Π² Π½Π΅Π³ΠΎ, Π΄ΠΎΡΠΈ Π·Π° Π±ΠΈΠ·Π½Π΅ΡΠ° ΠΊΠ°ΡΠΎ ΡΡΠ»ΠΎ
Π’ΠΎΠΉ: em toq html nema izmestvane 100
godini veche
Π’ΠΎΠΉ: mn
tapo
Π’ΠΎΠΉ: It can make direct calls to JavaAPIs that are
on the platform.
Π’ΠΎΠΉ: e
to pochva da prilicha na aplet π
ΠΠ·:
Π²ΡΠΈΡΠΊΠΈΡΠ΅ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΡΠ° Π°ΠΏΠ»Π΅Ρ-like
ΠΠ·: Π²ΠΈΠΆ
ΠΊΠΎΠΉ ΠΈΠΌ Π΅ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²Π΅Π½ΠΈΠΊΠ°
Π’ΠΎΠΉ: da
samo ne znam kak opredelqt thin / fat client
Π’ΠΎΠΉ: to
sa razmiva leko
Π’ΠΎΠΉ:
ajax-a e thin i toi uj π
ΠΠ·: ΠΈΠΌΠ°
Π³ΡΡΠΏΠ° Ρ
ΠΎΡΠ° (Π°Π· ΡΡΡΠΎ ΡΡΠΌ ΠΎΡ ΡΡΡ
), ΠΊΠΎΠΈΡΠΎ ΡΠ° ΡΠ²ΠΈΠΊΠ½Π°Π»ΠΈ Π΄Π° ΠΏΠΈΡΠ°Ρ Π½Π° ΡΠΈΠ»Π½ΠΎ ΡΠΈΠΏΠΈΠ·ΠΈΡΠ°Π½ΠΈ
Π΅Π·ΠΈΡΠΈ ΠΈ ΠΈΠΌΠ΅ Π΅ Π°Π΄ΡΠΊΠΈ ΡΡΡΠ΄Π½ΠΎ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ°Ρ ΠΊΠ°ΠΊ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΊΠ°ΡΠΎ perl, php, rss,
html, javascript ΠΈ ΡΠ°Π·Π½ΠΈ Π΄ΡΡΠ³ΠΈ 'Π±ΠΎΠΊΠ»ΡΡΠΈ' ΠΏΡΠΈΠ΄ΠΎΠ±ΠΈΠ²Π°Ρ ΡΠ°ΠΊΠ°Π²Π° Π³ΠΎΠ»ΡΠΌΠ° ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡ -
ΠΎΡΠ³ΠΎΠ²ΠΎΡΡΡ Π΅ Π² Π»Π΅ΡΠ½ΠΎΡΠ°ΡΠ° Π½Π° ΡΠΏΠΎΡΡΠ΅Π±Π° ΠΈ Π±ΡΡΠ·ΠΈΠ½Π°ΡΠ° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°. Π ΡΠ΅ ΡΠ΅ ΠΆΠ΅ΡΡΠ²Π°Ρ
ΡΠ°Π·Π½ΠΈ Π½Π΅ΡΠ° ΠΊΠ°ΡΠΎ Π΄ΠΎΠ±ΡΡ ΡΡΠΈΠ» ΠΈ loose coupling - Π½Π° ΠΊΠΎΠΉ ΠΌΡ ΠΏΡΠΊΠ°
Π’ΠΎΠΉ: awe za html i www kvo mu e
lesnotata chovek
Π’ΠΎΠΉ: kat v ie raboti po edin nachin u firefox
ne
Π’ΠΎΠΉ: i staash na lud
Π’ΠΎΠΉ: tva e nai-golemiq tashak π
Π’ΠΎΠΉ: prosto ne moa da povervam che sa go
dopusnali
Π’ΠΎΠΉ: ako imashe pone malko tipizirane π
ΠΠ·: There is a certain group of
people (counting me too) that are used to working with strongly typed languages.
It's really hard for that group of people to understand how technologies like
php, html, javascript (..., rss, perl, ...) become so popular.
The
answer is (in my humble opinion) the ease of use and rapidness. Everybody can
learn to use them. Sacrificing the good style and the heavy approach (that
comes from the heavy books) comes out be (in most cases) an acceptable loss.
ΠΠ·:
ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΎΡΠΎ ΠΈΠ·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΡΡΠΈ
ΠΠ·: π
Π’ΠΎΠΉ: π
Π’ΠΎΠΉ:
awe tva jnlo mn bavno zarejda obache
Π’ΠΎΠΉ:
https://openjfx.dev.java.net/learning.html
Π’ΠΎΠΉ:
skivai tova
Π’ΠΎΠΉ:
http://download.java.net/general/openjfx/demos/tesla.jnlp
Π’ΠΎΠΉ:
ima torque/power curve
Π’ΠΎΠΉ: a
to html i js uj prosto ama vari pravi ajax
ΠΠ·: ?
ΠΠ·:
Π²ΠΈΠ½Π°Π³ΠΈ ΡΡΠΌ ΡΠ΅ Π΄ΡΠ°Π·Π½ΠΈΠ» Π½Π° Π΄ΠΆΠ°Π²Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ°, ΡΠ΅ Π½ΡΠΌΠ°Ρ ΡΠ°ΠΉΡ ΠΊΠ»ΠΈΠΊ
Π’ΠΎΠΉ: mi
ne e prosto da praish dobar interface (ajax) za www
Π’ΠΎΠΉ:
ich daje
Π’ΠΎΠΉ:
kav right click π
ΠΠ·:
explain:
ΠΠ·: a
to html i js uj prosto ama vari pravi ajax
ΠΠ·: mi
ne e prosto da praish dobar interface (ajax) za www
ΠΠ·: apletite i ΡΠ΅Π³Π° javaFX Π½ΡΠΌΠ°Ρ right-click
Π’ΠΎΠΉ: nali vikash che sa razprostranilo shot
bilo prosto
ΠΠ·: zabranen e
Π’ΠΎΠΉ: π
ΠΠ·: da, taka e
Π’ΠΎΠΉ: em prosto da praish prosti neshta π
ΠΠ·: taka π
ΠΠ·: Π³ΠΌΠ°ΠΈΠ», Π³ΡΠ³ΡΠ» ΠΌΠ°ΠΏΡ
Π’ΠΎΠΉ: zashto tezi koito iskat da praat ne
prosti neshta tria da lejat varhu prosti tech
ΠΠ·: ΠΏΡΠΎΡΡΠΈ Π»ΠΈ ΡΠ°?
Π’ΠΎΠΉ: shot prostite tech sa sa nalojili
ΠΠ·: Π·Π°ΡΠΎΡΠΎ ΡΠ΅ ΡΠ° ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈ ΠΈ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΠΎΡ
ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠ°
Π’ΠΎΠΉ: ili shot te samite sa prosti che ne sa
nalojili drugo vmesto da praat shitove running varhu prostite tech
ΠΠ·: Π±ΠΈΠ·Π½Π΅ΡΡΡ ΡΡΡΡΠΈ ΡΠ°Π·ΠΌΠ°Ρ
, Π΄ΠΎΡΠΈ ΠΈ Π΄Π° ΠΈΠΌΠ°Ρ
ΡΡΠΏΠ΅Ρ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡ, Π°ΠΊΠΎ ΡΡ Π½Π΅ ΡΠ΅ ΠΏΠΎΠ»Π·Π²Π°, Π½ΡΠΌΠ° ΡΠΌΠΈΡΡΠ» ΠΎΡ Π½Π΅Ρ
Π’ΠΎΠΉ: mrazq bisnes π
Π’ΠΎΠΉ: i mrazq da mrazq π
ΠΠ·: ΡΡΡΠ΄Π½ΠΎ Π΅ Π΅Π΄ΠΈΠ½ Π±ΠΈΠ·Π½Π΅Ρ Π΄Π° 'Π½Π°Π»Π°Π³Π°'
ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ (Π²ΠΈΠΆ Π½Π° ΠΠ°ΠΉΠΊΡΠΎΡΠΎΡΡ ΠΊΠΎΠ»ΠΊΠΎ ΠΈΠΌ Π΅ ΡΡΡΠ΄Π½ΠΎ Π΅Π΄ΠΈΠ½ ΡΡΠ°Π½Π΄Π°ΡΡ Π΄Π° Π½Π°Π»ΠΎΠΆΠ°Ρ)
Π’ΠΎΠΉ: mi to ako e qko moje da se samonaloji
sigurno
ΠΠ·: ΡΠ΅Π»ΠΈΡΡ ΡΠΎΡΡΡΠ΅Ρ, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΏΠΈΡΠ΅ Π΅ ΠΏΠΎΠ΄ΡΠΈΠ½Π΅Π½
Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈ Π±ΠΈΠ·Π½Π΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ: (ΠΌΠΈΠΊΡΠΎΠΈΠΊΠΎΠ½ΠΎΠΌΠΈΠΊΠ° 101) ΡΡΡΡΠ΅Π½Π΅ ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π½Π΅
ΠΠ·: ΠΈΠΌΠ° Π΄ΠΎΡΡΠ° Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½ΠΈ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅
ΡΠ° ΡΠ΅ Π½Π°Π»ΠΎΠΆΠΈΠ»ΠΈ
ΠΠ·: ΠΏΡΠΈΡΠΈΠ½ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ()
ΠΠ·: Π΅Π΄Π½Π° ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡ, Π·Π° Π΄Π° ΡΠ΅ Π½Π°Π»ΠΎΠΆΠΈ ΠΈ ΡΡΡΠ±Π²Π°
ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠ° Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½ΠΎΡΡ
ΠΠ·: ΡΠ°ΠΌ ΠΎΡΠ½ΠΎΠ²ΠΎ ΡΠ΅ Π½Π°ΠΌΠ΅ΡΠ²Π° ΠΌΡΠ°Π·Π΅Π½ΠΈΡ ΠΎΡ ΡΠ΅Π±
Π±ΠΈΠ·Π½Π΅Ρ
ΠΠ·: π
Π’ΠΎΠΉ: biznesa razvalq sichko
Π’ΠΎΠΉ: vnasq mn izkrivqvane
Π’ΠΎΠΉ: ne sa prai shot e qko a shot tekat pari
Π’ΠΎΠΉ: i vsichko e shit
ΠΠ·: ΠΏΡΠΈΡΡΠ΅Π»Ρ ΠΌΠΎΠΉ, Π·Π°Π±Π°Π²Π½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΡΠ»ΡΡΠ° ΡΠΎΠ²Π΅ΠΊ
ΠΠ·: ΠΏΡΠΈΡΠΈΠ½Π°ΡΠ° Π΅ Π² ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ
ΠΠ·: ΡΠΌΡΡΠ° ΡΠ΅, ΡΠ΅ ΠΏΠ°Π·Π°ΡΠ½Π°ΡΠ° ΠΈΠΊΠΎΠ½ΠΎΠΌΠΈΠΊΠ° Π²ΠΎΠ΄ΠΈ Π΄ΠΎ
Π½Π°ΠΉ-Π²ΠΈΡΠΎΠΊΠΎ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅. Π’Ρ ΡΠ΅ Π³ΡΠ°Π΄ΠΈ ΡΠΎΡΠ½ΠΎ ΡΠΎΡ ΠΏΡΠΈΠ½ΡΠΈΠΏ Ρ ΠΏΠ°ΡΠΈΡΠ΅, ΡΡΡΡΠ΅Π½Π΅ΡΠΎ ΠΈ
ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π½Π΅ΡΠΎ ΠΈ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΈΡΡΠ°
Π’ΠΎΠΉ: pazarnata ikonomika e shit π
Π’ΠΎΠΉ: vij posokata na razvitieto obache
Π’ΠΎΠΉ: tva e edna dosta shibana posoka
ΠΠ·: ΠΏΠΎΡΠΎΠΊΠ°ΡΠ°?
Π’ΠΎΠΉ: izkrivena ot bisnesa
ΠΠ·: Π±ΡΠ΄ΠΈ ΠΏΠΎ-ΡΠΎΡΠ΅Π½
Π’ΠΎΠΉ: shit ot sekade π
Π’ΠΎΠΉ: posokata da se pechalat pari
ΠΠ·: ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅
Π’ΠΎΠΉ: razvitie saobrazno taq posoka
Π’ΠΎΠΉ: tva e shit
Π’ΠΎΠΉ: pitai malkite deca ako ne mi vqrvash π
ΠΠ·: ΡΠΎΠ²Π° Π΅ Π½Π°ΠΉ-Π²Π°ΠΆΠ½ΠΈΡ (Π°ΠΊΠΎ Π½Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½)
ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π» ΠΊΠΎΠ»ΠΊΠΎ Π΄ΠΎΠ±ΡΠ΅ ΡΠ΅ ΡΠΏΡΠ°Π²ΡΡ - ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π½ΠΈΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»
ΠΠ·: Ρ
Π°Ρ
Π°
ΠΠ·: ΠΊΠ΅ΡΠΈΡ
Π’ΠΎΠΉ: toq pokazatel vaji samo taq matrica π
Π’ΠΎΠΉ: v
Π’ΠΎΠΉ: v taq
ΠΠ·: ΡΠ°ΠΊΠ° Π΅
Π’ΠΎΠΉ: π
ΠΠ·: Π΄ΡΡΠ³ΠΈΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠ° ΠΏΠ»Π°Π½ΠΎΠ²Π°ΡΠ°
ΠΈΠΊΠΎΠ½ΠΎΠΌΠΈΠΊΠ° (ΠΊΠΎΠΌΡΠ½ΠΈΠ·ΠΌΡΡ), ΠΊΠΎΡΡΠΎ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°ΡΠ° ΠΏΠΎΠΊΠ°Π·Π²Π°, ΡΠ΅ Π΅ Π½Π΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° ΡΡΠΏΠ΅ΡΠ½Π°
ΠΠ·: ΠΠ°Π·Π°ΡΠ½Π°ΡΠ° ΠΈΠΊΠΎΠ½ΠΎΠΌΠΈΠΊΠ° Π΅ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΡΠΌ,
ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΏΡΠΈΠ½ΡΠΆΠ΄Π°Π²Π° Π΄Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Ρ ΡΠ΅ΡΡΡΡΠΈΡΠ΅, Ρ ΠΊΠΎΠΈΡΠΎ ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°Ρ
ΠΠ·: ΠΏΠ°ΡΠΈΡΠ΅ ΡΠ° ΠΏΡΠΎΡΡΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π½ΠΎ ΡΠ°Π·ΠΌΠ΅Π½Π½ΠΎ
ΡΡΠ΅Π΄ΡΡΠ²ΠΎ, Π½ΠΈΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅
ΠΠ·: π
Π’ΠΎΠΉ: mn poveche ot tova sa π
Π’ΠΎΠΉ: vsashnost
Π’ΠΎΠΉ: za neshtastie π
Π’ΠΎΠΉ: ne che i na men ne mi triat ama ..
ΠΠ·: ΠΊΠ°ΠΊΠ²ΠΎ Π΄ΡΡΠ³ΠΎ ΡΠ°?
Π’ΠΎΠΉ: te promenqt horata we
Π’ΠΎΠΉ: ne samo nekvi hartiiki
ΠΠ·: Ρ
Π°Ρ
Π°
ΠΠ·: Π½Π΅ ΠΏΠ΅ΡΠΈΡΠ΅ Π³ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΡΡ, ΠΆΠ°ΠΆΠ΄Π°ΡΠ° Π·Π°
ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π½ΠΎΡΠΎ Π³ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Ρ
Π’ΠΎΠΉ: e to e sashtoto π
ΠΠ·: Π° ΡΠΎ, ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π½ΠΎΡΠΎ, ΡΠ΅ ΠΈΠ·ΠΌΠ΅ΡΠ²Π° Ρ ΠΏΠ°ΡΠΈ
ΠΏΡΠΎΡΡΠΎ
ΠΠ·: Π½ΠΎ Π½Π΅ Π·Π°Π±ΡΠ°Π²ΡΠΉ, ΡΠ΅ ΡΠ°Π·ΠΈ ΠΆΠ°ΠΆΠ΄Π° (ΠΈΠ»ΠΈ Π°Π»ΡΠ½ΠΎΡΡ
Π°ΠΊΠΎ ΡΠ΅Ρ) ΠΊΠ°ΡΠ° ΡΡΡΠΈΡΠ΅ ΡΠ΅Π·ΠΈ Ρ
ΠΎΡΠ° Π΄Π° ΡΠ΅ ΡΡΡΠ΅ΠΌΡΡ ΠΊΡΠΌ ΡΡΡ
ΠΈ Π΄Π° ΡΠ°Π±ΠΎΡΡΡ
ΠΠ·: Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΡΡ Π½Π° ΠΏΡΠΎΠ³ΡΠ΅ΡΠ°
ΠΠ·: ΡΠΎΡΠ½ΠΎ ΡΡΠΊ Π΅ Π³Π΅Π½ΠΈΠ°Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΏΠ°Π·Π°ΡΠ½Π°ΡΠ°
ΠΈΠΊΠΎΠ½ΠΎΠΌΠΈΠΊΠ° Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½ΠΎΡΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ Π΄Π° ΠΊΡΠΏΠΈΡ Π½Π°ΠΉ-ΠΌΠ½ΠΎΠ³ΠΎ Ρ Π½Π°ΠΉ-ΠΌΠ°Π»ΠΊΠΎ
Π’ΠΎΠΉ: na metrialniq progres
ΠΠ·: ?
Π’ΠΎΠΉ: materialniq progres
ΠΠ·: Π°ΠΌΠΈ Π΄ΡΡ
ΠΎΠ²Π½ΠΎΡΠΎ Π΅ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»Π½ΠΎ, ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΡΠ΄Π½ΠΎ
ΡΠ΅ ΠΈΠ·ΠΌΠ΅ΡΠ²Π° Ρ ΠΏΠ°ΡΠΈ ΠΈ Π΅ ΡΡΡΠ΄Π½ΠΎ Π΄Π° ΡΠ΅ Π²ΠΊΠ°ΡΠ° Π² ΡΠ°Ρ 'ΠΌΠ°ΡΡΠΈΡΠ°'
Π’ΠΎΠΉ: to ne moish da go izmervash s pari
Π’ΠΎΠΉ: am kvo stana s html i js
Π’ΠΎΠΉ: shte gi mahame li ot upotreba π
ΠΠ·: Π΅Π΄Π²Π° Π»ΠΈ ΡΠΊΠΎΡΠΎ
ΠΠ·: π
ΠΠ·: Π±ΡΠ², ΠΌΠΎΠ³Π° Π»ΠΈ Π΄Π° ΠΏΡΡΠ½Π° ΡΠ°Π·Π³ΠΎΠ²ΠΎΡΠ° Π² Π±Π»ΠΎΠ³Π°
ΡΠΈ?
Strongly-typed vs. weakly-typed
There is a certain group of people (counting me too) that are used to working with strongly typed languages. It's really hard for that group of people to understand how technologies like php, html, javascript (..., rss, perl, ...) become so popular.
The answer is (in my humble opinion) the ease of use and rapidness. Everybody can learn to use them. Sacrificing the good style and the heavy approach (that comes from the heavy books) comes out be (in most cases) an acceptable loss.
Chill the coffee out
The biggest screen resolution I have ever seen - found in my living room
README - gramatic rules for the Bulgarian language (priceless).
Although it's short and incomplete it's really a cornerstone read. Every single Bulgarian must be forced to read it and memorize it:
http://www.uni-bonn.de/~manfear/lang_mistakes_bg.php
In a few days
In a few days this adventure (having a blog) is going to have its first birthday. I remember the birthday because it is embedded in the admin password (yea, try me ;).
Today I was reading a few articles about having a blog (here and here) and the impression I got left with was that starting a blog is not always a good idea and to do that you have to have something to share and to follow some rules and most importantly have a goal.
F**k that. (Update: I don't know why I put asterisks, maybe I'm afraid of the moderators ?!)
I don't know if I have something to share. I don't know if I have a goal set for my blog. I didn't know about the rules until today. But I don't care.
What made me start the blog was an article from Joel (I can't find it right now) that simply said that a blog can help you express yourself better, can help you perfect the language you present your blog in, can help you understand yourself better. And one other thing - get more feedback for yourself - and that one is particularly precious for me.
So, do I follow the rules - no. Do I care - I guess not. (yea, sometimes I check the logs to see how 'famous' am I and the good results and some comments boost my ego, but that's pretty much it). Overall, I find it a good experience and the time spent on the blog wasn't completely waisted.
What am I going to do from now on - I guess pretty much the same thing.
P.S. Thank you my one reader for the continuing support and the few comments you left from different IPs (appreciate the effort). I would gladly buy you a beer.
'I'm shocked'
'I'm shocked' is what Charlie Sheen playing Charlie from 'Two men and a half' always says with a beer in his hand when his brother does something stupid.
(Comment to me: I have a problem: cannot produce short sentences.)
Here I am playing the dumb thing Vasko and I gave as a present to one crazy dude:
the telephone of confidence
Last night I fell into depression, and called "the telephone of
confidence".
My call is redirected to Pakistan.
I said that I'm
going to suicide.
They rejoiced and asked me if I can drive heavy trucks
...
Dream working place
Vista connected to the internet - does not know about it
E-banking - finally, there may be a winner
Seeing these posts first may help get the context of the talk:
What not to do when you're a bank
What to do when most e-banking interfaces suck?
First Investment Bank, the sequel
SG Expressbank
Being stuck with SG Expressbank made electronic transfers impossible, because they didn't work with epay.bg (prohibited) nor did they work with the e-banking software (every recepient has to be registered offline on-site (bank office), and for the ones that are registered the software does not work π ).
Almost by accident I tested a card I had in epay.bg for the balance (most banks have stopped this service, because of too many requests). And... I got it. It was working. Strange.
I remebered that I had registered the e-banking for that bank and had left the user/pass somewhere.
After a few days of searching I found it. Keep in mind that getting the user/pass from the bank was quite an adventure and took more than 20 days and quite a few trips to the local office.
The login screen is right on the main page of the bank. I was amazed to see how easy the generation of the certificate was. While doing it I saw that they support smart cars (e-signatures). Well done.
The interface is really user friendly. Supports almost everything or at least it seems so. I haven't tried it yet, because the bankaccount is nearly emtpy.
From the interface notifications can be defined: SMS notifications, email notifications. Now I'm waiting to see whether it works.
A minor drawback was that I can't tranfer money to another bank account via epay.bg - I guess only FIB cards can (FIB is connected to epay).
And because I'm lazy to do it the old-fashion way - now I'm using the only possible way to transfer money electronically from SG Expressbank card to the new card I have - the epay's microbill (ΠΌΠΈΠΊΡΠΎΡΠΌΠ΅ΡΠΊΠ°) - another thing I have to learn how to use. It was quite straight forward to start up and use, but it takes a few days (in my case 2 full days) to tranfer the money and the commissions are not going to be small.
ant junitreport task cannot set vm arguments
ant junitreport task creates a html report from junit xml report files.
If the xml files are numerous enough and/or large enough (mine were 102MB total ), the task crashes with OutOfMemoryError.
Solution? set the GLOBAL variable ANT_OPTS. This changes defautl ant conf for the whole machine this setting is on.
Not very nice π
CVS: dying gasps from server
Why can't there be software that just works?!
There's a CVS server (version 1.11.22) [one can get the version with cvs version -d cvs_root] on a Linux machine.
There's a Hudson on the Linux machine that queries the cvs just fine.
I have Hudson on a Windows machine that gives me:
cvs checkout: dying gasps from server unexpected
The explanation? Here's the best I could find:
There is a known bug in the server for CVS 1.9.18 and older which
can cause this. For me, this was reproducible if I used the -t global
option. It was fixed by Andy Piper's 14 Nov 1997 change to
src/filesubr.c, if anyone is curious. If you see the message, you
probably can just retry the operation which failed.
Sources:
http://magic.astro.uni-wuerzburg.de:81/mars/cvserror.html
http://cvsman.com/cvs-1.12.12/cvs_210.php
http://developer.apple.com/opensource/cvs/cederquist/cvs_174.html
Now check the version of the server I have (in the beginning). So what do we do now?!
Why can't there be software that just works?!
Eclipse, interface implemented by classes, but the implementation is in a base class
Suppose there's an interface
int getVersion();
}
and
int getVersion(){}
}
now suppose there are a lot of classes like
}
So why did I mention Eclipse in the title:
When you go to the interface and press Ctrl + T on the interface itself you get a list of all the classes like Class1:
But you you press Ctrl + T on the method you get NOTHING:
Eclipse fails to show all the classes that implement this interface and this method.
@Lob in JPA, what if the class is not Serializable
If you have
public class Student {
@Lob
private static MyPictureClass picture;
and suppose you forgot to put Serializable to MyPictureClass, then guess what: there's no exception. You have to check the data in the DB.
Surprise no2:
Suppose MyPictureClassis a base abstract class and it is not Serializable. Suppose every inheriting class is Serializable. Then what happens? Well one thing's for sure: there wouldn't be an exception, but there wouldn't be any data in the DB (you'll get null). The runtime checks (in Hibernate) check the signature of the defining class I suppose, not the supplied class at runtime - and I would assume the opposite, because serialization works the opposite way. Maybe it's because Hibernate does some runtime bytecode modifications.
Primitive types as fields in an JPA Entity
The JPA spec supports primitive types as @Columns. What they don't say (assuming Hibernate is the implementation (maybe TopLink does that too)) is that this column becomes nullable = false and the default value is the default for the primitive type. And that is so, even though the @Column(nullable by default is true.
So
public class Person {
private int age;
private boolean male;
actually means
public class Person {
@Column( nullable = false )
private int age = 0;
@Column( nullable = false )
private boolean male = false;
So watch out.
The new firefox 3.0 RC1 (update: RC2)
The new firefox 3.0 (not final yet - rc1 for now) is awesome. Most plug-ins don't work yet, but that changes very rapidly.
The engine itself is unbelievably fast and looks pretty stable - for a few days it crashed only once - trying to start the updater.
Try it, definitely try it. Link.
Update: the RC2 is out. The link points to it.
SG Expressbank
Another bank that I'm unhappy with - SG Expressbank. Reasons
- They charge me with 0.69 on ATM withdrawal.
- They charge me with 1.39 (monthly fee)
- Interest rate: 0.00
- E banking application - outrageously bad (screws up every file format I request, cannot send money to an account without going to the bank (some security shit), ugly, not intuitive)
- The service is far from good.
I'm looking for a decent bank. Any ideas?
hudson ant javac unit-tests fork=true, cannot start javac.exe compiler
Hudson is a continuous integration tool similar to CruiseControl. It has a very good web GUI for defining tasks unlike CruiseControl.
Inside it I have configured a call to an ant task.
Strangely enough in on of the projects that had to be build I got:
Strange.
I double checked the script in eclipse. It worked.
Manual call to ant on the eclipse machine also worked.
Then I went to the Hudson machine (a test environment). I ran the script manually. The same freaking error.
I copied the whole dir to another place on the test environment: no problem.
Maybe it's the credentials: added read/write to all. Still the same error.
Then I ran the script with: ant -verbose and see what I got:
at org.apache.tools.ant.taskdefs.compilers.DefaultCompilerAdapter.executeExternalCompile(DefaultCompilerAdapter.java:509)
at org.apache.tools.ant.taskdefs.compilers.JavacExternal.execute(JavacExternal.java:61)
at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:997)
at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:820)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:357)
at org.apache.tools.ant.Target.performTasks(Target.java:385)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
at org.apache.tools.ant.Main.runBuild(Main.java:698)
at org.apache.tools.ant.Main.startAnt(Main.java:199)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
Caused by: java.io.IOException: Cannot run program "_path_\javac.exe": CreateProcess error=87, The parameter is incorrect
at java.lang.ProcessBuilder.start(ProcessBuilder.java:459)
at java.lang.Runtime.exec(Runtime.java:593)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.tools.ant.taskdefs.Execute$Java13CommandLauncher.exec(Execute.java:828)
at org.apache.tools.ant.taskdefs.Execute.launch(Execute.java:445)
at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:459)
at org.apache.tools.ant.taskdefs.compilers.DefaultCompilerAdapter.executeExternalCompile(DefaultCompilerAdapter.java:506)
... 20 more
Caused by: java.io.IOException: CreateProcess error=87, The parameter is incorrect
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)
at java.lang.ProcessImpl.start(ProcessImpl.java:30)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:452)
... 29 more
--- Nested Exception ---
java.io.IOException: Cannot run program "_path_\javac.exe": CreateProcess error=87, The parameter is incorrect
at java.lang.ProcessBuilder.start(ProcessBuilder.java:459)
at java.lang.Runtime.exec(Runtime.java:593)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.tools.ant.taskdefs.Execute$Java13CommandLauncher.exec(Execute.java:828)
at org.apache.tools.ant.taskdefs.Execute.launch(Execute.java:445)
at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:459)
at org.apache.tools.ant.taskdefs.compilers.DefaultCompilerAdapter.executeExternalCompile(DefaultCompilerAdapter.java:506)
at org.apache.tools.ant.taskdefs.compilers.JavacExternal.execute(JavacExternal.java:61)
at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:997)
at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:820)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:357)
at org.apache.tools.ant.Target.performTasks(Target.java:385)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
at org.apache.tools.ant.Main.runBuild(Main.java:698)
at org.apache.tools.ant.Main.startAnt(Main.java:199)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
Caused by: java.io.IOException: CreateProcess error=87, The parameter is incorrect
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)
at java.lang.ProcessImpl.start(ProcessImpl.java:30)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:452)
... 29 more
Cannot create a process?!
That's weird.
So tired enough I did something desperate:
From
I went to
<javac fork="false"
and it worked ..... π
Keep in mind that in the same build project I was calling a few other build.xml doing <javac fork="true"
several times before this one.
But this one was the only one having a reference to junit.jar (somewhere on the net I saw an article saying something about junit but don't remember what).
So I left it like this.