tips and tricks

Java, https and self signed certificate problems on mac os x

Sometimes you must work with self signed certificate on your mac.
It's no problem if all you need is Safari (or any other browser). Just accept this cert and you are almost happy.

Having an application written in java and setting resource's url available only via https… it's quite another story.
The problem is that java declines such connections and does not provide any confirmation dialog or so. It's just not secure and that's enough do close it.
Moreover, because java uses it's own keystore, it doesn't help if you accept it in Safari.

So, at the end you will get Exception like this:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Przeczytaj więcej (read more)...
Comments

Visual Paradigm and JTabbedPane on mac os x

VPLogo
I think most of my readers are Polish, so I used to write in polish. But this time I want to forward this information to Visual Paradigm support team, and maybe other english speaking people will find it useful.

Polish readers can skip this article freely, because it is similar to previous ones (JTabbedPane na ligolu (max os x) and JTabbedPane na ogryzku). There is only one difference - this time I'll tune Visual Paradigm's software - the best UML tool I have ever used HappyPrzeczytaj więcej (read more)...
Comments

mtr na mac os x

mtr
Dzisiejsza porada nie jest moim odkryciem, no, chyba, żeby że odkrycie w internecie też się liczyło (znaczy się zagooglanie) Happy.
Niemniej jednak uznałem, że warto choćby wspomnieć o miejscu, gdzie znalazłem ciekawą informację dodając jednocześnie, że ciągle jest ona aktualna.


Ale nie wszystko na raz. Cała rzecz rozchodzi się o proste ale i funkcjonalne narządko, które wcześniej wykorzystywałem na linuxie -
mtr. Konsolowe monitorowanie jakiegoś punktu w sieci (z wyszczególnieniem obieranej trasy). Przydatne gdy "coś jest nie tak, ale nie wiadomo gdzie", tzn. mamy wrażenie, że generalnie sieć działa, ale jakoś przystaje, albo jedne serwery działają lepiej, a jakieś inne tragicznie. Być może winna jest wtedy marszruta pakietów, skonfigurowana gdzieś tam gdzieś. Przeczytaj więcej (read more)...
Comments

Jeżeli nie możesz sobie z czymś poradzić - wysadź to Happy

seradio-icon-32x32
Dziś rano słuchałem sobie jednej z audycji radia Software Engineering Radio, a ściślej mówiac jednego ze starych odcinków: Episode 92: Introduction to Game Development. Generalnie odcinek odbiega nieco od reszty, bo nie jest o rozwiązaniach Enterprise, o Model Driven Development, czy rozmaitych aspektach bycia zwinnym (agile). Zawierał jednak ciekawe informacje o tym z jak innymi wyzwaniami borykają się osoby tworzące gry. Poruszane są kwestie wykrywania kolizji, zapewnienia realizmu postaci, testowania itp.Przeczytaj więcej (read more)...
Comments

Większy obszar roboczy w nowej wersji IntelliJ IDEA (EAP)

Jestem zwolennikiem IntelliJ IDEA, to pewnie już każdy wie Happy
Lubię też czasem podpatrzeć co będzie w nowej wersji. Czasem też biorę czynny udział w jej testowaniu, oraz (w czym jestem dobry) w zgłaszaniu błędów Happy.

Co i raz przychodzą jakieś nowinki - a to nowe możliwości we flexie czy ruby'm (po co to komu? Winking), a to konsola SQL, HQL czy wreszcie JPA. Ot, takie tam nowinki i ficzery. Oczywiście dobrze, że są, ale mi osobiście spodobała się jedna nowość - maksymalizacja ekranu, na którym pracujesz.
Przeczytaj więcej (read more)...
Comments

git - system kontroli wersji

System kontroli wersji (inaczej wersjonowania) jest niezbędny w pracy każdego dewelopera. Najpopularniejsze to SVN oraz CVS. Te jednak mają kilka wad...
Czy jest dla nas rozwiązanie? Czy jest coś lepszego? Proponuję zapoznać się z systemem GIT!
Przeczytaj więcej (read more)...
Comments

base64 na konsoli

Niejednokrotnie zdarza się, że potrzebujemy przekazywać informacje pomiędzy różnymi systemami (nierzadko napisanymi w różnych językach programowania). Z reguły też musimy uważać na istniejące w takich danych spacje, znaki końca lini, cudzysłowy i inne temu podobne. Wiadomym jest, że każdy taki znak musimy enkodować tak, aby nie zakłócił przekazu (oraz nie stanowił potencjalnej dziury w systemie umożliwiającej takie spreparowanie danych, że system po ich otrzymaniu wykona zupełnie co innego).

Rozwiązaniem na te bolączki może być proste kodowanie Base64. Nie należy tego mylić z żadnym szyfrowaniem. Należy myśleć o tym jako o konwersji (odwracalnej) dowolnego ciągu znaków w ciąg znaków ASCII, z którym to już możemy zrobić co tylko chcemy. Po szczegóły techniczne zerknijcie do
artykułu na Wikipedii.
W skrócie - Base64 ukryje wszystkie nieporządane znaki, w tym spacje oraz znaki końca lini. Dzięki temu taką zakodowaną postać możemy przekazywać jako jeden łańcuch znaków.
Przeczytaj więcej (read more)...
Comments

Porządkowanie ikon na pasku menu

Czy nie przeszkadza Wam fakt, że jeżeli posiadacie dużo ikon w pasku menu to niekiedy są one przykrywane przez aplikacje z własnym rozbudowanym menu?
Mi to przeszkadzało przez ostatni rok... A jak się okazuje rozwiązanie jest banalnie proste Happy
Kilka ruchów myszką i wreszcie najbardziej potrzebne ikonki mam z prawej strony, gdzie nawet mój IntelliJ Idea nie potrafi ich przykryć Happy
Przeczytaj więcej (read more)...
Comments

JTabbedPane na ogryzku w aplikacjach

Obiecałem w sierpniu, że napiszę jak zmienić istniejące programy w javie i korzystające z JTabbedPane, żeby wyglądały tak jak na innych platformach i dzięki temu dawały się używać. Nadeszła pora spełnić obietnicę. Ponieważ nic w kodzie się nie zmieniło, bo działa i ma się dobrze, zatem pragnących poznać co, dlaczego i jak odsyłam to poprzedniego artykułu.
Całość rozwiązania jest prosta i opiera się na mechanizmach, które udostępnia nam java, zatem bez obaw, nie będzie potrzebna żadna ingerencja w kod, nie będą potrzebne źródła, dekompilacje czy inne straszne sprawy Happy
Przeczytaj więcej (read more)...
Comments

JTabbedPane na ligolu (max os x)

Maszyna wirtualna Javy na maku nie jest napisana przez SUN'a, tylko przez samego Apple'a. Dobry Wujek chciał, żeby programy napisane w javie wyglądały bardziej "makowo" niż "metalowo". Napisał więc własny LookAndFeel - Aqua. I o ile można się zgodzić, że gdzieniegdzie wygląda ładnie, to jednak niekiedy Wujek przegiął. Pomijam drobnostki w stylu guzików, które różnią się w przypadku, gdy doda się do nich ikonkę od tych tylko z napisem. Dużo większy problem jest w przypadku zakładek, czyli JTabbedPane. Dla jednej, dwóch czy też trzech zakładek z krótkimi nazwami jest wszystko ok. Problem pojawia się gdy chcemy mieć więcej zakładek. W większości L&F możemy sterować zachowaniem paska zakładek - czy ma być utrzymana jedna linia, czy też mają się zawijać tak, aby wszystkie były widoczne. Na ligolu działa tylko jedna opcja - zawsze jeden wiersz. Być może wynika on z zasady, że im prostsze, tym lepsze, ale akurat w tym przypadku stanowi ogromy problem.Przeczytaj więcej (read more)...
Comments

Konsola VMware na ligolu

Wraz z przesiadką na maka odnotowałem brak vmware-server-console na tenże system, a nie chciałem instalować maszyny wirtualnej tylko po to, by postawić tam linucha i zainstalować (na nim) wersję linuxową (są dostępne tylko dla windy i linuxa). Być może funkcjonalność ta jest dostępna w VMvare Fusion (wersja na maka), ale to za duży kombajn, gdy potrzebuje się tylko dostęp do konsoli (a, że dodatkowo, jest to wersja płatna z której pewnie bym nie korzystał, to po co? Happy).Przeczytaj więcej (read more)...
Comments

Kontrola dostępu do zasobów w Javie

Nadeszła pora na kontynuację poprzedniego testu bezpieczeństwa systemu względem apletów uruchamianych w przeglądarce (oraz aplikacji uruchamianych lokalnie z włączonym menedżerem bezpieczeństwa). Poprzednio pokazałem, jak poprzez prosty wpis można udostępnić wszystko wszystkim lub dodając źródło kodu - tylko apletom z wybranej lokalizacji. To były jednak najprostsze możliwości. Pokażę teraz, że można kontrolować znacznie więcej, na dużo bardziej szczegółowym poziomie.Przeczytaj więcej (read more)...
Comments

Aplikacje w Javie niekoniecznie bezpieczne

Powszechne jest wyobrażenie, że Java jest bezpieczna. Że dzięki jej konstrukcji oraz zabezpieczeniom nasze dane są bezpieczne. Czy rzeczywiście tak jest? Po pierwsze musimy rozdzielić aplety umieszczone na stronach www od aplikacji, które uruchamiamy lokalnie. Domyślnie te pierwsze są chronione, podczas gdy te drugie nie. Jeżeli po instalacji nie zmienimy nic w konfiguracji, to w przypadku apletów jesteśmy bezpieczni. Będą one uruchamiane w domyślnej piaskownicy, z zainstalowanym Menedżerem Bezpieczeństwa, który ochroni nasze dane przed dostępem apletu.Przeczytaj więcej (read more)...
Comments