güvenli torrent

az evel bakınırken gördüm(http://feedproxy.google.com/~r/Mashable/~3/pvkLaynvd_A/) amerikada 23bin kişiye torrentden expandables çekti diye dava açılacakmış. ISP ler böyle bir durumda adres ve isimlerinizi vermek durumunda. kafa başıda 150 bin$ gibi bi fiyat biçilmiş. habere göre bu iş 3000$ a halledilebiliyormuş. derken len dedim bende download yapıom torrentden. ISP nin yani ttnet yada smileadsl in izleyememesi için yapılması gereken bütün trafiği şifreli duruma getirmek. bu sayede trafiğinizi okusalarda ne trafiği olduğunu anlayamayacaklardır. ben debianda vuze/azureus kullanıyorum.

çözüm basit

Tools -> Options
Connection -> Transport Encryption

bu paneli resimdeki gibi yaparsanız. yani “Require encrypted transport” ve listeden RC4 seçilecek. bide aşşadaki iki allow ile başlıyan seçilmicek. bu sayede bütün trafiğiniz sizin için p2p download ettiğiniz dava olacak. ve ISP için şifreli data olucak 🙂

linuxde transmission kullananlar için

transmission torrent encyption

flash p2p real

geçen gün işden bi arkadaşla konuşuoz flash p2p yapıo dedim. olurmu lan öle şey windows firewall u var ne bilim modemden geçemez bi dünya anlattı aga dedim bende bilmiom ama flash player p2p yapıom dio. işte en son pazartesi test edek çıkış ipmi söyleyebilirsen yerim dediydi. ama yoğunlukdfan bi türlü bunu test etmeye fırsat olmadı az evel timuyla test ettik aynen p2p.

karşı tarafın ip si 85.108.69.229 olduğunu söyledi ve netstat attım sonuç:

mascix@debian-mascix: ~ $ netstat -an |grep 85.108.69.229
tcp 0 0 192.168.2.5:45311 85.108.69.229:54600 ESTABLISHED

benim makineden karşıya direk bağlantı söz konusu uPnP ile de modemden atlıo anlaşılan. in your face koray =)

ant build war glassfish

eclipse de veya netbeansde yazdık bi sürü hibernate ot bok derken en az war dosyamız oldu 20mb. şimdi her seferinde koca war dosyası upload edip onu servera deploy etmek ne zor olurdu dimi altı üstü bir kaç dosya değiştirdik diye koca 20mb upload peh.

ant burda bir numaralı araç. basit bir ant xml ile war dosyası oluşturabilir ve sorunu çözebiliriz yapmamız gereken linuxe ssh yapıp serverda derleyip ona deploy etmek. buyrun örnek build.xml

<?xml version=”1.0″ ?>

<project name=”vitrn.com” default=”war”>

<!– running ant with this is enough for eveyrthing dont forget to rearrange paths 😉

for server there must be glassfish libs in the clkasspath :ln -s /home/mascix/glassfishv3/glassfish/fomains/domain1/lib/

–>

<path id=”compile.classpath”>

<fileset dir=”WebContent/WEB-INF/lib”>

<include name=”*.jar” />

</fileset>

</path>

<target name=”init”>

<mkdir dir=”build/classes” />

<mkdir dir=”dist” />

<exec executable=”rm”>

<arg line=”lib” />

</exec>

<exec executable=”ln”>

<arg line=”-s /home/mascix/glassfishv3/glassfish/lib” />

</exec>

</target>

<target name=”compile” depends=”init”>

<copy todir=”build/classes/”>

<fileset dir=”src”>

<exclude name=”**/*.java” />

</fileset>

</copy>

<javac destdir=”build/classes” debug=”true” srcdir=”src”>

<classpath refid=”compile.classpath” />

<classpath>

<pathelement path=”${classpath}” />

<pathelement location=”lib/helper.jar” />

</classpath>

<classpath>

<pathelement path=”${classpath}” />

<fileset dir=”WebContent/WEB-INF/lib”>

<include name=”**/*.jar” />

</fileset>

<fileset dir=”lib”>

<include name=”**/*.jar” />

</fileset>

<pathelement location=”classes” />

</classpath>

</javac>

</target>

<target name=”war” depends=”compile”>

<war destfile=”dist/vitrn.com.war” webxml=”WebContent/WEB-INF/web.xml”>

<fileset dir=”WebContent” />

<lib dir=”WebContent/WEB-INF/lib” />

<classes dir=”build/classes” />

</war>

</target>

<target name=”clean”>

<delete dir=”dist” />

<delete dir=”build” />

</target>

<property name=”build.sysclasspath” value=”ignore” />

</project>

elbet işe yarar.

java thumbnail oluşturma

asp.net de uzun süredir kullandığım sevdiğim bir şey bu. bir kod yazıyorsunuz o kod gidip image resize edip istediğiniz gibi getiriyor.


<%@page import="java.io.ByteArrayInputStream"%>
<%@page import="java.io.ByteArrayOutputStream"%>
<%@ page language="java" contentType="image/png" pageEncoding="UTF-8"%>
<%@page import="com.mascix.tools.CacheManager"%>
<%@page import="java.util.Calendar"%>
<%@page import="org.apache.commons.lang.time.DateUtils"%>
<%@page import="org.apache.commons.lang.StringUtils"%>
<%@page import="com.mortennobel.imagescaling.DimensionConstrain"%>
<%@page import="com.mortennobel.imagescaling.ResampleOp"%>
<%@page import="javax.imageio.ImageIO"%>
<%@page import="java.awt.image.BufferedImage"%>
<%@page import="java.io.File"%>
<%
int width = (!StringUtils.isEmpty(request.getParameter("w"))) ? Integer.valueOf(request.getParameter("w")) : 150;
String path = request.getParameter("p");
if (StringUtils.isEmpty(path))
path = "/1.jpg";
BufferedImage b =null;

if (CacheManager.get(path) == null) {
BufferedImage image = ImageIO.read(new File(application.getRealPath(path)));

ResampleOp rop = new ResampleOp(DimensionConstrain.createMaxDimension(width, -1));
rop.setNumberOfThreads(4);
b = rop.filter(image, null);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(b, "png", baos);
byte[] bytesOut = baos.toByteArray();
CacheManager.put(path, (Object) bytesOut);
} else{
byte[] bytesOut =(byte[])CacheManager.get(path);
b = ImageIO.read(new ByteArrayInputStream(bytesOut));
}
response.setHeader("Last-Modified", DateUtils.addDays(Calendar.getInstance().getTime(), 2*360).toGMTString());
response.setHeader("Expires", DateUtils.addDays(Calendar.getInstance().getTime(), 2*360).toGMTString());
out.clear();
ImageIO.write(b, "png", response.getOutputStream());
%>

ve bu dosyayı kullanmak için en basitinden /thumb.jsp?p=/birfolder/resim.jpg demeniz yeterli w değişkenini vermezseniz direk 150 pixel yapılıyor width. birde bağımlılığı var oda burda acaba yüksek yükde nasıl çalışır bu kod şöyle anlık 50 yada günlük 50 bin kişi falan girse. SEO ready olması ve bir kere verdiği şeyi browsera cacheletmesi bu açıdan çok yüksek rakamlar görebilir gibi düşündürüyor bana bakalım.

uzun süredir hibernate de gördüğüm bir exceptionu an itibariyle çözdüm

bir site için 3 webserverı var ve bu serverlar ara ara aynen şuna benzer bir exception atarlar.

org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [obje package ismi#1]

ben hep diğer bir server mı bunu yapıo ama bu hibernate ler birbirinden bağımsız noluoki diye düşünürdüm. işleyişde bir arıza yapıyor bu exception. az evel local makinede kod pırkalıom bir baktım aynı hata. yok dedim daha neler lan bide ortada server yok şükür classımı hibernate ile bağımlı olmasına rağmen start edip testler yapabiliyorum. yani bi main fonksiyonum var ve şıkır şıkır çalışıyor bu esnada db ye bağlanıo bazı işler çeviriyor hibernate üstünden.

sonra başladım okumaya. saveOrUpdate çağırınca oluyor bu hata ve version kolonu ile bi karışıklık çıkarıyor. çok anlamadım ne olduğunu nalet.