domenica 31 luglio 2011

javascritp per manipolare immagini (filtri..)

Immaginate di voler fare un'applicazione che consente di gestire le foto in ogni fase:
1) upload massivo
2) ridimensionamento massivo o mirato
3) applicazione di filtri...

Ecco per la III terza parte si puo usare http://camanjs.com/


provare !!!!

guardate il preset example:

http://camanjs.com/examples/presets

vi ricorda un po instagram e affini?

instagram from java

se avete un iphone e vi piace fare foto, non potetet non provare instagram..l'ultimo ritrovato dello scatto istantaneo (stile polaroid) solo per iphone (questo non piace...) con una serie di filtri per abbellire, rendere + strane le vs immagini...

a noi interessa usare le api da java...
è possibile soltanto il recupero delle foto/informazioni/commenti/amici...
non si può caricare nulla....

ho provato questa libreria, ancora poco organizzata
https://github.com/sachin-handiekar/jInstagram

(va checkoutata e compilata ion locale, non ci sono librerie..no maven...no ant)...


una guida minimale per muovere i primi passi:
https://github.com/sachin-handiekar/jInstagram/wiki/jInstagram-Usage

per fare i test vi serve la registrazione sul sito:
http://instagram.com/developer/

per fare dei test da client (eclipse), fate cosi:
1) create una paginetta (che magari scrive solo ciao!) su un server pubblico:

basta che sia raggiungibile:
es http://giava.by/instaflower/oauth/index.html

2) da browser chiamate questo indirizzo:
http://instagram.com/oauth/authorize/?client_id=CLIENT_ID&redirect_uri=REDIRECT-URI&response_type=token

sostituite nell'url il CLIENT_ID che avete ricevuto nel registrarvi sul sito sviluppatori e il vs indirizzo pubblico (REDIRECT-URI)

3) prendete il token che vi è stato assegnato:

es: http://giava.by/instaflower/oauth/#access_token=xxxxxx.xxx.1926f93543824d95bb83d3a9805874df

access_token=xxxxxx.xxx.1926f93543824d95bb83d3a9805874df

ecco un esempio rapido per avere tutte le vs foto:

import java.util.List;

import org.jinstagram.Instagram;
import org.jinstagram.auth.model.Token;
import org.jinstagram.entity.common.Caption;
import org.jinstagram.entity.common.Comments;
import org.jinstagram.entity.common.ImageData;
import org.jinstagram.entity.common.Images;
import org.jinstagram.entity.common.Likes;
import org.jinstagram.entity.common.Location;
import org.jinstagram.entity.users.basicinfo.UserInfo;
import org.jinstagram.entity.users.basicinfo.UserInfoData;
import org.jinstagram.entity.users.feed.MediaFeed;
import org.jinstagram.entity.users.feed.MediaFeedData;
import org.jinstagram.entity.users.feed.UserFeed;
import org.jinstagram.entity.users.feed.UserFeedData;
import org.jinstagram.exceptions.InstagramException;

public class First {

static String your_client_secret = "172460d1932b4393b2097f67dfd78ff1";
static String access_token="xxxxxx.xxx.1926f93543824d95bb83d3a9805874df";
static String nickname ="pippoPluto";

public static void main(String[] args) throws InstagramException {

Token accessToken = new Token(
access_token,
your_client_secret);
Instagram instagram = new Instagram(accessToken);
UserFeed userFeed = instagram.searchUser(nickname);
List userList = userFeed.getUserList();
long userId = 0;
for (UserFeedData userFeedData : userList) {
userId = userFeedData.getId();
}
UserInfo userInfo = instagram.getUserInfo(userId);

UserInfoData userData = userInfo.getData();
System.out.println("id : " + userData.getId());
System.out.println("first_name : " + userData.getFirst_name());
System.out.println("last_name : " + userData.getLast_name());
System.out
.println("profile_picture : " + userData.getProfile_picture());
System.out.println("website : " + userData.getWebsite());

MediaFeed mediaFeed = instagram.getUserFeeds();
List mediaFeeds = mediaFeed.getData();

for (MediaFeedData mediaData : mediaFeeds) {
System.out.println("id : " + mediaData.getId());
System.out.println("created time : " + mediaData.getCreatedTime());
System.out.println("link : " + mediaData.getLink());
System.out.println("tags : " + mediaData.getTags().toString());
System.out.println("filter : " + mediaData.getImageFilter());
System.out.println("type : " + mediaData.getType());

System.out.println("-- Comments --");
Comments comments = mediaData.getComments();

System.out.println("-- Caption --");
Caption caption = mediaData.getCaption();

System.out.println("-- Likes --");
Likes likes = mediaData.getLikes();

System.out.println("-- Images --");
Images images = mediaData.getImages();

ImageData lowResolutionImg = images.getLowResolution();
ImageData highResolutionImg = images.getStandardResolution();
ImageData thumbnailImg = images.getThumbnail();

Location location = mediaData.getLocation();
if (location != null)
System.out.println(location.getName());
System.out.println("****************************************");
}

}
}

mercoledì 27 luglio 2011

jboss7: domini sicurezza custom

alla ricerca di come far funzionare il cas+ldap come moduli di sicurezza a cascata:

http://community.jboss.org/message/613183

http://community.jboss.org/thread/168118

non vera, ma scoraggiante:
http://stackoverflow.com/questions/5046122/how-do-you-specify-the-security-domain-for-a-war-under-jboss-7

jsf: grafici ed excel

riporto una piccola chattata...

argomenti: creare grafi belli e avanzati in jsf.

soluzioni valutabili:
primefaces demo 3 carina sia nell'uso di excel che di chart (ma sono poche)
http://www.primefaces.org/showcase-labs/ui/chartsHome.jsf
http://www.primefaces.org/showcase-labs/ui/sheet.jsf

extjs (molto bella ma tutto javascript)..possibile jsf integrazione:
http://j2flower.blogspot.com/search/label/EXTJS

varie librerie jsf/chart
http://code.google.com/p/jsflot/

ecco la ns conversazione...
[16.25.33] Fulvio : extjs spacca, lo sto usando, anche se con JS faccio fatica
[16.25.39] flower: lo so, ma che deve fare? tutto quello che fa excel? hai visto l'ultima demo di primefaces?


[16.26.37] Fulvio: è un gestionale, c'è bisogno di fare tanti grafici per visualizzare dei dati. abbiamo bisogno di un tipo di chart molto particolare (onde quadre)..
[16.28.22] flower: questo: http://code.google.com/p/jsflot/


[16.30.07] Fulvio : no, che disegni come volgio io... ora vedo se le classiche line chart possono fare onde quadre
[16.32.26] flower: non comprendo, se esiste bene... se no, non è che lo crei tu! è da matti! chi si mette li a farlo?
[16.32.49] Fulvio: ecco appunto :)

[16.30.23] flower: dovresti usare quella libreria che wrappa flex da jsf, quella della exadel, e ti tieni flex (fai animazione flash e passi parametri da jsf)
[16.30.55] flower: http://livedemo.exadel.com/fiji-demo/

[16.33.08] flower: qui li hai tutti
[16.33.05] flower: http://webification.com/php-js-flash-chart-libraries-roundup

jboss6: creare datasource di default

per sostituire il datasource di default (che è su hsqldb):

http://wiki.openscg.com/index.php/JBoss_AS_6_with_PostgreSQL_9

l'esempio è in postgresql, ma vale anche per gli altri...

jboss6: tuning [per velocizzare il boot...]

non esistendo ancora una pagina ufficiale, qui si pososno trovare utili informazioni:

http://community.jboss.org/thread/159648?start=0&tstart=0

lunedì 25 luglio 2011

foto panoramiche: hugin

indispensabile usare hugin:
http://hugin.sourceforge.net/tutorials/index.shtml

http://www.linuxfocus.org/Italiano/September2004/article348.shtml

http://grigio.org/come_creare_foto_panoramiche_magnifiche

http://www.geekissimo.com/2008/08/31/hugin-come-creare-un-panorama-da-una-serie-di-scatti-digitali/

http://gerlos.altervista.org/book/export/html/229

http://www.torinoacolori.it/hugin.html

http://caprasilana.wordpress.com/tag/hugin/

http://thejoe.it/wordpress/2010/06/02/hugin-e-le-foto-panoramiche-alcuni-consigli-per-iniziare/

http://www.volalibero.it/creare_foto_panoramiche.html

http://www.flickr.com/groups/hugin/

http://www.flickr.com/photos/asbruff/sets/72157626013072992/

utile

http://www.bryanhansel.com/2007/a-quick-and-dirty-hugin-panoramic-stitcher-tutorial/

http://shutterexperiments.com/2011/02/06/equirectangular-panoramas/#more-65

creare custom streetview

partiamo dall'esempio massimo..irragiungibile:

http://www.googleartproject.com/museums/reinasofia

come creare un sistema simil google:

http://spectrum.ieee.org/geek-life/hands-on/diy-streetview-camera/0

un cavalletto per fare foto:
http://www.wikihow.com/Build-a-Panoramic-Tripod-Head

tanti consigli utili su foto panoramiche:
http://www.panohelp.com/

come generare foto zommabili di varie dimensioni:
http://helmi-blebe.blogspot.com/2010/10/custom-street-view-panorama-using.html

ottimo e completo (da copiare)
http://www.theveganrobot.com/robotview/sv05/willow_pirate.html

esempi pratici:
http://helmi03.com/pano/titiwangsa/tt.html

http://alecmgo.googlecode.com/svn/trunk/streetviewpano/streetview-custom-simple.html

http://raphaelcruzeiro.com/2011/05/08/creating-a-custom-street-view-panorama/

http://oa-samples.googlecode.com/svn/trunk/presentations/io-2011/samples/streetview-custom.html

http://blog.mridey.com/2010/05/how-to-create-and-display-custom.html

pubblicare suoni di un luogo

interessante progetto...


http://aporee.org/maps/

cdi: recoruce bundle...

si potrebbe fare qualcosa di simile:

http://john-ament.blogspot.com/2010/03/dyanmic-resourcebundles-in-cdi.html

jsf richfaces viewscope

forse non serve +...


http://mkblog.exadel.com/2009/07/view-scope-in-richfaces/

jsf: datatable con query a vista

non male l'idea:
http://code.google.com/p/topless-jsf/


id="m"
binding="#{complexRequest.toplessTable}"
dataSource="#{appConfig.dataSource}"
query="select * from widgets"
includes="#{tfn:jsonArrayToList(requestScope.includes)}"
rows="10">

EXTENDED PERSISTENCE CONTEXT

letture utili.... prima di incontrare seam persistence (che lo fa bene)...


http://seamframework.org/Community/EXTENDEDPersistenceContextProduces

http://azajava.blogspot.com/2009/09/introduction-i-decided-to-share-special.html


http://thatjavathing.blogspot.com/2009/04/extended-persistence-context.html

EXTENDED PERSISTENCE CONTEXT

letture utili.... prima di incontrare seam persistence (che lo fa bene)...


http://seamframework.org/Community/EXTENDEDPersistenceContextProduces

http://azajava.blogspot.com/2009/09/introduction-i-decided-to-share-special.html


http://thatjavathing.blogspot.com/2009/04/extended-persistence-context.html

jsf excel (EXTJS)

sembra sia possibile, anche se primefaces..fa tante belle cose ...


http://thus-spoke-the-computer.blogspot.com/2009/12/proof-of-conceptpoc-using-richfaces-and.html

http://code.google.com/p/extjs-richfaces

birt e i suoi report

molti lo usano e non sembra nemmeno male:

http://www.lebirtexpert.com/bestof.php

http://www.ibm.com/developerworks/data/library/techarticle/dm-0708tomlyn/

integrate BIRT with Hibernate:

http://www.eclipsezone.com/eclipse/forums/t65535.html

creare database gerarchici

se vi venisse in mente di creare un social (come g+ o f+), ci vogliono strutture db performanti....

http://dev.mysql.com/tech-resources/articles/hierarchical-data.html

http://shirky.com/writings/ontology_overrated.html

http://www.artfulsoftware.com/mysqlbook/sampler/mysqled1ch20.html#nodes_edges_paths_model

http://shirky.com/writings/ontology_overrated.html

http://www.alandelevie.com/2008/07/12/recursion-less-storage-of-hierarchical-data-in-a-relational-database/

http://articles.sitepoint.com/article/hierarchical-data-database

java ldap (io lo odio)

qui ci sono tanti esempietti da cui iniziare (ad odiare ldap):

http://developer.novell.com/documentation/samplecode/jldap_sample/index.htm
http://developer.novell.com/documentation/jldap/jldapenu/api/

applet: per accedere al filesystem in download

E se qualche cliente vi dicesse:

le foto devono essere scaricate in una cartella ben precisa...
tornano buone le vecchie care applet...firmate...


http://www.developer.com/java/other/article.php/3303561/Creating-a-Trusted-Applet-with-Local-File-System-Access-Rights.htm

http://www.java-forums.org/java-applets/5998-reading-dir-java-applets.html

http://bytes.com/topic/java/answers/634415-read-directory-applet

scala ejb3: si può fare!

per un po mi sono fatto prendere...
ma poi il limite degli strumenti (plugins eclipse) ho lasciato..ma prima o poi ci torneremo...

http://blog.excilys.com/2010/02/04/java-ee-6-en-scala-partie-2-ejb-3-1/

http://blog.mmrath.com/2010/01/jsf-20-cdi-scala-28-using-eclipse-maven.html

http://weblogs.java.net/blog/cayhorstmann/archive/2010/09/04/scala-jsf-2-and-netbeans

http://blog.mmrath.com/2010/01/jsf-20-cdi-scala-28-using-eclipse-maven.html

http://blogs.sourceallies.com/2010/02/java-ee-6-and-scala/

http://vikasrao.wordpress.com/2009/06/

http://scala-enterprise.blogspot.com/2010/10/named-beans-in-ejb-31-using-scala.html

text to speech using java

la vecchia idea...applicazioni parlanti...


http://www.hiteshagrawal.com/java/text-to-speech-tts-in-java


http://half-wit4u.blogspot.com/2011/01/text-to-speech-using-java-api.html

facebook da java e non

Se un cliente vi chiedesse:

...vorrei pubblicare sul mio sito ma contemporaneamente su facebook..

si può fare...

http://restfb.com/

http://code.google.com/p/batchfb/

http://woork.blogspot.com/2009/05/how-to-implement-post-to-wall-facebook.html


http://www.moskjis.com/other-platforms/publish-facebook-page-wall-from-your-site


http://blog.theunical.com/facebook-integration/5-steps-to-publish-on-a-facebook-wall-using-php/

http://info.zapevent.com/blog/bid/37515/ZapEvent-Publish-to-Facebook-Feature-Release

maven: come organizzare i progetti

nei grandi progetti, il dilemma è come spezzare il progetto in tanti moduli, come versionare i singoli moduli---

http://www.waltercedric.com/java-j2ee-mainmenu-53/framework-mainmenu-137/apache-maven/1363-maven-multi-module-support-in-m2eclipse.html

http://out-println.blogspot.com/2008/10/maven-modules-with-independent-versions.html

jsf validator

un link:

http://www.coderanch.com/t/210563/JSF/java/Passing-parameters-attributes-custom-validator

jsf2 composite components

I primi esperimenti non sono andati un granchè bene...

comunque qualche links:

http://weblogs.java.net/blog/edburns/archive/2009/09/02/jsf2-composite-component-metadata

http://digitaljoel.nerd-herders.com/2009/12/14/sharing-jsf-2-composite-components/


http://stackoverflow.com/questions/4561753/jsf2-0-el-are-not-resolved-in-a-composite-component-taglib


http://kpachar.blogspot.com/2010/06/tinymce-as-jsf-2-composite-component.html

http://smartfaces.org/smartfaces/faces/showcase.xhtml

http://jsflive.wordpress.com/2011/03/24/custom-component-library/

http://javaserverfaces.java.net/nonav/docs/2.0/pdldocs/facelets/

http://code.google.com/p/primefaces-extensions/

android utils: altri links

Altri links:

http://libresoft.es/Members/rocapal/ar-interface-in-android-using-phonegap

http://www.ibm.com/developerworks/websphere/zones/portal/portletfactory/proddoc/phonegap/


https://github.com/purplecabbage/phonegap-plugins/tree/master/Android/BarcodeScanner


http://www.mobiledevelopersolutions.com/home/start/twominutetutorials/tmt3

IOException: Too many open files [utilità]

ricordarsi di controllare il num max numero di files su macchina linux:

http://www.netadmintools.com/art295.html

lsof | wc -l

IOException: Too many open files

alle volte ritornano...

qualche utile link per correggere il malfunzionamento:

dove mi ha fatto venire in mente che non facevo:

Finally destroy() your Process.

ma infine utilissimo:


vanno chiusi anche gli stream....

public class ProcDemo {

public static void main(String[] args) throws
InterruptedException, IOException {
Process proc = null;
try {
ProcessBuilder pb = new ProcessBuilder(args);
proc
= pb.start();
proc
.waitFor();
} finally {
if (proc != null) {
close
(proc.getOutputStream());
close
(proc.getInputStream());
close
(proc.getErrorStream());
proc
.destroy();
}
}
}

private static void close(Closeable c) {
if (c != null) {
try {
c
.close();
} catch (IOException e) {
// ignored
}
}
}
}

mercoledì 6 luglio 2011

appunti android - e se volessimo raccogliere la firma di un cliente tramite app

Immaginiamo una bella app in cui si richiede di far firmare il nostro utilizzatore..
sto pensando ai corrieri ups che consegnano a casa i pacchi..e con il loro dispositivo mobile ci fanno firmare l'avvenuta consegna del pacco...
forse non avrà grande validità legale...ma uno schizzo su carta verrebbe fuori...

bene come facciamo da un app android a fare la stessa cosa?

tralasciando le librerie a pagamento, ho trovato una libreria web che usa html5 e qualche artificio magico da approfondire che fa quello che ci serve...

http://thomasjbradley.ca/lab/signature-pad#require-drawn

nel frattempo la ricerca sui forum continua.. e qualche idea javosa viene fuori:


appunti android - usiamo html css e js per creare la nostra app

Invece di scrivere il codice alla vecchia.. vediamo se è possibile scrivere una app che usa le funzioni di basso liverllo del nostro android, senza dover scrivere il codice java necessario..
Ebbene si! Si puo fare:


un bel progetto..scaricata la mini libreria.. provata su due android, con differenti risultati:

android 1.6 (non funziona bene..continui popup di errore..anche se qualche funzione la esegue lo stesso.. LASCIARE PERDERE)
android 2.2/2.3 funziona alla grande...

e parte la soffisfazione nel vedere che da una paginetta web, si riesce a scattare una foto e la si rivede nel dom della pagina html...
aggancia i contatti...aggancia le connessioni wifi/umts... si localizza...

insomma funziona!!

(chiaramente per ora mi interessa solo android..ma pare si possa usare anche su iphone/backberry/etc.. proveremo...)

links utili (progetti riusabili..idee preziose)

un po di documentazione...

i mitici plugins...


bella app da vedere e leggere per imparare uso avanzato..

e qui la possiamo vedere:

plugins...

come gestire l'update della app sviluppata con phonegap (in realtà sono opzioni generali android)..

come scalare la app in base alla grandezza del dispositivo dispositivo..


ottimo esempio..

come lanciare un browser in una nuova finestra..

come inviare sms da phonegap html pages...


appunti android - ubuntu non vede il samsung galaxy

Mentre attaccando il mio glorioso nexus one, eclipse lo riconosce al volo..
Attaccando il samsung galaxy..niente da fare:


adb devices

List of devices attached
???????????? no permissions

Google è sempre nostro amico....


http://www.mjonik.pl/blog/2010/01/samsung-galaxy-with-android-sdk-on-ubuntu/

creiamo il file per udev..etc etc...

non serve usare adb modificato..basta fare un bel sudo..