<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-9835594</atom:id><lastBuildDate>Mon, 26 Mar 2012 07:55:56 +0000</lastBuildDate><title>Yasin Hasan Karanfil</title><description>j2me, blackberry, java</description><link>http://blog.karanfil.info/</link><managingEditor>noreply@blogger.com (Yasin Hasan Karanfil)</managingEditor><generator>Blogger</generator><openSearch:totalResults>49</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9835594.post-671854579271439165</guid><pubDate>Thu, 17 Mar 2011 12:48:00 +0000</pubDate><atom:updated>2011-03-17T14:49:45.009+02:00</atom:updated><title>Accessing HTTP Session and logged in user in GWT</title><description>HttpServletRequest request = this.getThreadLocalRequest();&lt;br /&gt;HttpSession session = request.getSession();&lt;br /&gt;session.invalidate();&lt;br /&gt;&lt;br /&gt;HttpServletRequest request = this.getThreadLocalRequest();&lt;br /&gt;String username = request.getUserPrincipal().getName();&lt;br /&gt;&lt;br /&gt;more info: &lt;a href="http://developerlife.com/tutorials/?p=230"&gt;http://developerlife.com/tutorials/?p=230&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9835594-671854579271439165?l=blog.karanfil.info' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.karanfil.info/2011/03/accessing-http-session-and-logged-in.html</link><author>noreply@blogger.com (Yasin Hasan Karanfil)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9835594.post-4853844356950664908</guid><pubDate>Thu, 17 Mar 2011 12:31:00 +0000</pubDate><atom:updated>2011-03-17T14:47:06.024+02:00</atom:updated><title>Apache Tomcat Realm JDBCRealm with Hibernate</title><description>If you need a restriction to access of your java web project, you can use Apache Tomcat Realm feature. If you need to store users on db, and also access this users as a POJO in jour project, you need to use Hibernate as well, please follow this steps.&lt;br /&gt;&lt;br /&gt;In hbm.xml file, define this table&lt;br /&gt;&amp;lt;class name=&amp;quot;com.karanfil.shared.Role&amp;quot; table=&amp;quot;ROL_ROLES&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;meta attribute=&amp;quot;class-description&amp;quot;&amp;gt;&lt;br /&gt;            JDBC Realm Roles for Tomcat Authentication&lt;br /&gt;        &amp;lt;/meta&amp;gt;&lt;br /&gt;        &amp;lt;id name=&amp;quot;RoleName&amp;quot; type=&amp;quot;string&amp;quot; length=&amp;quot;25&amp;quot; column=&amp;quot;ROL_ROLENAME&amp;quot;&amp;gt;&lt;br /&gt;     &amp;lt;/id&amp;gt;&lt;br /&gt;    &amp;lt;/class&amp;gt;&lt;br /&gt; &amp;lt;class name=&amp;quot;com.karanfil.shared.User&amp;quot; table=&amp;quot;USR_USERS&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;meta attribute=&amp;quot;class-description&amp;quot;&amp;gt;&lt;br /&gt;            JDBC Realm Users for Tomcat Authentication&lt;br /&gt;        &amp;lt;/meta&amp;gt;&lt;br /&gt;        &amp;lt;id name=&amp;quot;UserName&amp;quot; type=&amp;quot;string&amp;quot; length=&amp;quot;25&amp;quot; column=&amp;quot;USR_USERNAME&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;/id&amp;gt;&lt;br /&gt;        &amp;lt;property name=&amp;quot;UserPass&amp;quot; type=&amp;quot;string&amp;quot; length=&amp;quot;25&amp;quot; column=&amp;quot;USR_USERPASSWORD&amp;quot; not-null=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;        &amp;lt;property name=&amp;quot;FirstName&amp;quot; type=&amp;quot;string&amp;quot; column=&amp;quot;USR_FIRSTNAME&amp;quot; not-null=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;        &amp;lt;property name=&amp;quot;SurName&amp;quot; type=&amp;quot;string&amp;quot; column=&amp;quot;USR_SURNAME&amp;quot; not-null=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;        &amp;lt;set name=&amp;quot;UserRoles&amp;quot; table=&amp;quot;USER_ROLES&amp;quot; cascade=&amp;quot;all&amp;quot; lazy=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;   &amp;lt;key column=&amp;quot;USR_USERNAME&amp;quot; /&amp;gt;&lt;br /&gt;   &amp;lt;many-to-many column=&amp;quot;ROL_ROLENAME&amp;quot; class=&amp;quot;com.karanfil.shared.Role&amp;quot; /&amp;gt;&lt;br /&gt;&lt;br /&gt;After defining the objects, create POJO objects using Hibernate plug-in.&lt;br /&gt;&lt;br /&gt;Now, open ApacheTomcat\conf\server.xml file&lt;br /&gt;Add these lines&lt;br /&gt;&amp;lt;Realm  className=&amp;quot;org.apache.catalina.realm.JDBCRealm&amp;quot;&lt;br /&gt;             driverName=&amp;quot;org.gjt.mm.mysql.Driver&amp;quot;&lt;br /&gt;          connectionURL=&amp;quot;jdbc:mysql://localhost/karanfil&amp;quot;&lt;br /&gt;         connectionName=&amp;quot;root&amp;quot; connectionPassword=&amp;quot;root&amp;quot;&lt;br /&gt;              userTable=&amp;quot;USR_USERS&amp;quot; userNameCol=&amp;quot;USR_USERNAME&amp;quot; userCredCol=&amp;quot;USR_USERPASSWORD&amp;quot;&lt;br /&gt;          userRoleTable=&amp;quot;USER_ROLES&amp;quot; roleNameCol=&amp;quot;ROL_ROLENAME&amp;quot; /&amp;gt;&lt;br /&gt;&lt;br /&gt;Now in your project, WEB-INF\web.xml file&lt;br /&gt;add these lines, and change it to make most suitable for your project.&lt;br /&gt;&lt;br /&gt;  &amp;lt;security-constraint&amp;gt;&lt;br /&gt;        &amp;lt;web-resource-collection&amp;gt;&lt;br /&gt;                &amp;lt;web-resource-name&amp;gt;MyFirst&amp;lt;/web-resource-name&amp;gt;&lt;br /&gt;                &amp;lt;description&amp;gt; accessible by authenticated users of the tomcat role&amp;lt;/description&amp;gt;&lt;br /&gt;    &amp;lt;url-pattern&amp;gt;*.jsp&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;    &amp;lt;url-pattern&amp;gt;*.html&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;    &amp;lt;url-pattern&amp;gt;*.htm&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;    &amp;lt;url-pattern&amp;gt;/brugwt/greet&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;    &amp;lt;url-pattern&amp;gt;/upload&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;    &amp;lt;url-pattern&amp;gt;/Worker&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;                &amp;lt;http-method&amp;gt;GET&amp;lt;/http-method&amp;gt;&lt;br /&gt;                &amp;lt;http-method&amp;gt;POST&amp;lt;/http-method&amp;gt;&lt;br /&gt;                &amp;lt;http-method&amp;gt;PUT&amp;lt;/http-method&amp;gt;&lt;br /&gt;                &amp;lt;http-method&amp;gt;DELETE&amp;lt;/http-method&amp;gt;&lt;br /&gt;        &amp;lt;/web-resource-collection&amp;gt;&lt;br /&gt;        &amp;lt;auth-constraint&amp;gt;&lt;br /&gt;                &amp;lt;description&amp;gt;These roles are allowed access&amp;lt;/description&amp;gt;&lt;br /&gt;                &amp;lt;role-name&amp;gt;superuserrole&amp;lt;/role-name&amp;gt;&lt;br /&gt;                &amp;lt;role-name&amp;gt;datainputrole&amp;lt;/role-name&amp;gt;&lt;br /&gt;                &amp;lt;role-name&amp;gt;consultantrole&amp;lt;/role-name&amp;gt;&lt;br /&gt;        &amp;lt;/auth-constraint&amp;gt;&lt;br /&gt;&amp;lt;/security-constraint&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;login-config&amp;gt;&lt;br /&gt;        &amp;lt;auth-method&amp;gt;FORM&amp;lt;/auth-method&amp;gt;&lt;br /&gt;        &amp;lt;realm-name&amp;gt;MyFirst Protected Area&amp;lt;/realm-name&amp;gt;&lt;br /&gt;        &amp;lt;form-login-config&amp;gt;&lt;br /&gt;                &amp;lt;form-login-page&amp;gt;/login.html&amp;lt;/form-login-page&amp;gt;&lt;br /&gt;                &amp;lt;form-error-page&amp;gt;/autherr.html&amp;lt;/form-error-page&amp;gt;&lt;br /&gt;        &amp;lt;/form-login-config&amp;gt;&lt;br /&gt;&amp;lt;/login-config&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;security-role&amp;gt;&lt;br /&gt;        &amp;lt;description&amp;gt;Only 'tomcat' role is allowed to access this web application&amp;lt;/description&amp;gt;&lt;br /&gt;        &amp;lt;role-name&amp;gt;tomcat&amp;lt;/role-name&amp;gt;&lt;br /&gt;&amp;lt;/security-role&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;security-role&amp;gt;&lt;br /&gt;        &amp;lt;description&amp;gt;Only 'administrator' role is allowed to access this web application&amp;lt;/description&amp;gt;&lt;br /&gt;        &amp;lt;role-name&amp;gt;administrator&amp;lt;/role-name&amp;gt;&lt;br /&gt;&amp;lt;/security-role&amp;gt;&lt;br /&gt;&lt;br /&gt;Now the last step is creating users and roles on the db, you can do this using SQL or tools like MySql Query browser, Microsoft SQL Server Management Studio&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9835594-4853844356950664908?l=blog.karanfil.info' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.karanfil.info/2011/03/apache-tomcat-realm-jdbcrealm-with.html</link><author>noreply@blogger.com (Yasin Hasan Karanfil)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9835594.post-4786342363040492206</guid><pubDate>Thu, 17 Mar 2011 12:30:00 +0000</pubDate><atom:updated>2011-03-17T14:30:54.749+02:00</atom:updated><title>Path is not a working copy directory Error</title><description>If Subclipse complains about this error&lt;br /&gt;&lt;br /&gt;Path is not a working copy directory&lt;br /&gt;svn: '[original (pre-move) directory path]' is not a working copy &lt;br /&gt;&lt;br /&gt;Doing things outside of Eclipse is more likely to create problems than solve&lt;br /&gt;them.&lt;br /&gt;&lt;br /&gt;To delete the cache, close Eclipse.  The cache is stored in:&lt;br /&gt;[workspace]/.metadata/.plugins/org.eclipse.core.resources/.projects/PROJECTNAME/.syncinfo&lt;br /&gt;&lt;br /&gt;So you can just find and delete all files named .syncinfo in&lt;br /&gt;[workspace]/.metadata/.plugins/org.eclipse.core.resources/.projects.&lt;br /&gt;&lt;br /&gt;source:&lt;a href="http://subclipse.tigris.org/ds/viewMessage.do?dsForumId=1047&amp;dsMessageId=868799"&gt;http://subclipse.tigris.org/ds/viewMessage.do?dsForumId=1047&amp;dsMessageId=868799&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9835594-4786342363040492206?l=blog.karanfil.info' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.karanfil.info/2011/03/path-is-not-working-copy-directory.html</link><author>noreply@blogger.com (Yasin Hasan Karanfil)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9835594.post-2905576462489853603</guid><pubDate>Thu, 17 Mar 2011 12:22:00 +0000</pubDate><atom:updated>2011-03-17T14:29:23.817+02:00</atom:updated><title>Smartgwt File Upload</title><description>Upload Canvas class for interface, and upload servlet for handling upload stream.&lt;br /&gt;-----------------------------------&lt;br /&gt;Upload.java&lt;br /&gt;package edu.iastate.its.thinkspace.gwt.client.util.files;&lt;br /&gt;&lt;br /&gt;import java.util.ArrayList;&lt;br /&gt;import java.util.List;&lt;br /&gt;import java.util.Map;&lt;br /&gt;&lt;br /&gt;import com.google.gwt.user.client.ui.NamedFrame;&lt;br /&gt;import com.smartgwt.client.types.Alignment;&lt;br /&gt;import com.smartgwt.client.types.Encoding;&lt;br /&gt;import com.smartgwt.client.util.SC;&lt;br /&gt;import com.smartgwt.client.widgets.Button;&lt;br /&gt;import com.smartgwt.client.widgets.Canvas;&lt;br /&gt;import com.smartgwt.client.widgets.events.ClickEvent;&lt;br /&gt;import com.smartgwt.client.widgets.events.ClickHandler;&lt;br /&gt;import com.smartgwt.client.widgets.form.DynamicForm;&lt;br /&gt;import com.smartgwt.client.widgets.form.ValuesManager;&lt;br /&gt;import com.smartgwt.client.widgets.form.fields.CheckboxItem;&lt;br /&gt;import com.smartgwt.client.widgets.form.fields.FormItem;&lt;br /&gt;import com.smartgwt.client.widgets.form.fields.HiddenItem;&lt;br /&gt;import com.smartgwt.client.widgets.form.fields.UploadItem;&lt;br /&gt;import com.smartgwt.client.widgets.form.fields.events.ChangedEvent;&lt;br /&gt;import com.smartgwt.client.widgets.form.fields.events.ChangedHandler;&lt;br /&gt;import com.smartgwt.client.widgets.layout.VStack;&lt;br /&gt;&lt;br /&gt;public class Upload extends Canvas {&lt;br /&gt;	public static enum Mode {SIMPLE, COMPLEX};&lt;br /&gt;	public static final String TARGET="uploadTarget";&lt;br /&gt;&lt;br /&gt;	private DynamicForm uploadForm;&lt;br /&gt;	private UploadItem fileItem;&lt;br /&gt;	private UploadListener listener;&lt;br /&gt;	private List&lt;HiddenItem&gt; hiddenItems;&lt;br /&gt;	/**&lt;br /&gt;	 * &lt;br /&gt;	 */&lt;br /&gt;	public Upload() {&lt;br /&gt;		this(null,Mode.SIMPLE);&lt;br /&gt;	}&lt;br /&gt;	&lt;br /&gt;	/**&lt;br /&gt;	 * @param args&lt;br /&gt;	 */&lt;br /&gt;	public Upload(Map&lt;String,String&gt; args,Mode mode) {&lt;br /&gt;		initComplete(this);&lt;br /&gt;		List&lt;FormItem&gt; items = new ArrayList&lt;FormItem&gt;();&lt;br /&gt;		if (args != null) {&lt;br /&gt;			hiddenItems = new ArrayList&lt;HiddenItem&gt;();&lt;br /&gt;			for(String key: args.keySet()) {&lt;br /&gt;				HiddenItem item = new HiddenItem(key);&lt;br /&gt;				item.setValue(args.get(key));&lt;br /&gt;				items.add(item);&lt;br /&gt;				hiddenItems.add(item);&lt;br /&gt;			};&lt;br /&gt;		}&lt;br /&gt;		ValuesManager vm = new ValuesManager();&lt;br /&gt;		uploadForm = new DynamicForm();&lt;br /&gt;		uploadForm.setValuesManager(vm);&lt;br /&gt;		uploadForm.setEncoding(Encoding.MULTIPART);&lt;br /&gt;		uploadForm.setTarget(TARGET);&lt;br /&gt;&lt;br /&gt;		fileItem = new UploadItem("file");&lt;br /&gt;		fileItem.setTitle("File");&lt;br /&gt;		fileItem.setWidth(300);&lt;br /&gt;		items.add(fileItem);&lt;br /&gt;		fileItem.addChangedHandler(new ChangedHandler() {&lt;br /&gt;			public void onChanged(ChangedEvent e) {&lt;br /&gt;				System.out.println("change");&lt;br /&gt;			}&lt;br /&gt;		});&lt;br /&gt;		Button uploadButton = new Button("Upload");&lt;br /&gt;		uploadButton.addClickHandler(new ClickHandler(){&lt;br /&gt;			public void onClick(ClickEvent e) {&lt;br /&gt;				Object obj = fileItem.getDisplayValue();&lt;br /&gt;				if (obj != null) {&lt;br /&gt;					uploadForm.submitForm();&lt;br /&gt;				} else&lt;br /&gt;					SC.say("Please select a file.");&lt;br /&gt;			}&lt;br /&gt;		});&lt;br /&gt;		VStack stack = new VStack();&lt;br /&gt;		stack.setWidth100();&lt;br /&gt;		stack.setMembersMargin(10);&lt;br /&gt;		stack.setDefaultLayoutAlign(Alignment.CENTER);&lt;br /&gt;&lt;br /&gt;		NamedFrame frame = new NamedFrame(TARGET);&lt;br /&gt;		frame.setWidth("1");&lt;br /&gt;		frame.setHeight("1");&lt;br /&gt;		frame.setVisible(false);&lt;br /&gt;&lt;br /&gt;		VStack mainLayout = new VStack();&lt;br /&gt;		mainLayout.setWidth(300);&lt;br /&gt;		mainLayout.setHeight(200);&lt;br /&gt;		&lt;br /&gt;		if (mode == Mode.COMPLEX) {		&lt;br /&gt;			CheckboxItem unzip = new CheckboxItem("unzip");&lt;br /&gt;			unzip.setDefaultValue(true);&lt;br /&gt;			unzip.setTitle("Unzip .zip file");&lt;br /&gt;			items.add(unzip);&lt;br /&gt;			CheckboxItem overwrite = new CheckboxItem("overwrite");&lt;br /&gt;			overwrite.setDefaultValue(false);&lt;br /&gt;			overwrite.setTitle("Overwrite existing file"); &lt;br /&gt;			items.add(overwrite);&lt;br /&gt;			CheckboxItem convertpdf = new CheckboxItem("convertpdf");&lt;br /&gt;			convertpdf.setDefaultValue(true);&lt;br /&gt;			convertpdf.setTitle("Convert Word document to PDF"); &lt;br /&gt;			items.add(convertpdf);&lt;br /&gt;			CheckboxItem streaming = new CheckboxItem("streaming");&lt;br /&gt;			streaming.setDefaultValue(true);&lt;br /&gt;			streaming.setTitle("Convert video file to streaming format(flv)"); &lt;br /&gt;			items.add(streaming);&lt;br /&gt;			CheckboxItem thumbnail = new CheckboxItem("thumbnail");&lt;br /&gt;			thumbnail.setDefaultValue(true);&lt;br /&gt;			thumbnail.setTitle("Make thumbnail(48x48) from image");&lt;br /&gt;			items.add(thumbnail);&lt;br /&gt;		}&lt;br /&gt;		FormItem[] fitems = new FormItem[items.size()];&lt;br /&gt;		items.toArray(fitems);&lt;br /&gt;		uploadForm.setItems(fitems);&lt;br /&gt;		stack.addMember(uploadForm);&lt;br /&gt;		stack.addMember(uploadButton);&lt;br /&gt;		mainLayout.addMember(stack);&lt;br /&gt;		mainLayout.addMember(frame);&lt;br /&gt;		addChild(mainLayout);&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	public String getFile() {&lt;br /&gt;		Object obj = fileItem.getValue();&lt;br /&gt;		if (obj == null)&lt;br /&gt;			return null;&lt;br /&gt;		else&lt;br /&gt;			return obj.toString();&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	public void setHiddenItem(String name, String value) {&lt;br /&gt;		for (HiddenItem item: hiddenItems)&lt;br /&gt;			if (item.getName().equals(name)) {&lt;br /&gt;				item.setValue(value);&lt;br /&gt;				return;&lt;br /&gt;			}&lt;br /&gt;	}&lt;br /&gt;	&lt;br /&gt;	public void setAction(String url) {&lt;br /&gt;		uploadForm.setAction(url);&lt;br /&gt;	}&lt;br /&gt;	&lt;br /&gt;	public void setUploadListener(UploadListener listener) {&lt;br /&gt;		this.listener = listener;&lt;br /&gt;	}&lt;br /&gt;	&lt;br /&gt;	public void uploadComplete(String fileName) {&lt;br /&gt;		if (listener != null)&lt;br /&gt;			listener.uploadComplete(fileName);&lt;br /&gt;	}&lt;br /&gt;	&lt;br /&gt;	&lt;br /&gt;	private native void initComplete(Upload upload) /*-{&lt;br /&gt;	   $wnd.uploadComplete = function (fileName) {&lt;br /&gt;	       upload.@edu.iastate.its.thinkspace.gwt.client.util.files.Upload::uploadComplete(Ljava/lang/String;)(fileName);&lt;br /&gt;	   };&lt;br /&gt;	}-*/;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;-------------------------------------------&lt;br /&gt;ProjectServlet.java&lt;br /&gt;package edu.iastate.its.thinkspace.core.servlet;&lt;br /&gt;&lt;br /&gt;import java.io.File;&lt;br /&gt;import java.io.FileInputStream;&lt;br /&gt;import java.io.InputStream;&lt;br /&gt;import java.io.PrintWriter;&lt;br /&gt;import java.util.HashMap;&lt;br /&gt;&lt;br /&gt;import javax.servlet.http.HttpServlet;&lt;br /&gt;import javax.servlet.http.HttpServletRequest;&lt;br /&gt;import javax.servlet.http.HttpServletResponse;&lt;br /&gt;&lt;br /&gt;import org.apache.commons.fileupload.FileItemIterator;&lt;br /&gt;import org.apache.commons.fileupload.FileItemStream;&lt;br /&gt;import org.apache.commons.fileupload.servlet.ServletFileUpload;&lt;br /&gt;import org.apache.commons.fileupload.util.Streams;&lt;br /&gt;import org.apache.commons.logging.Log;&lt;br /&gt;import org.apache.commons.logging.LogFactory;&lt;br /&gt;&lt;br /&gt;import edu.iastate.its.thinkspace.core.ContextService;&lt;br /&gt;import edu.iastate.its.thinkspace.core.ProjectContext;&lt;br /&gt;import edu.iastate.its.thinkspace.core.ProjectState;&lt;br /&gt;import edu.iastate.its.thinkspace.core.utils.Status;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * @author Pete&lt;br /&gt; * &lt;br /&gt; */&lt;br /&gt;public class ProjectServlet extends HttpServlet {&lt;br /&gt;	private static Log log = LogFactory.getLog(ProjectServlet.class);&lt;br /&gt;&lt;br /&gt;	public ProjectServlet() {&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	public void doPost(HttpServletRequest request, HttpServletResponse response) {&lt;br /&gt;		process(request, response);&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	public void doGet(HttpServletRequest request, HttpServletResponse response) {&lt;br /&gt;		process(request, response);&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	private void process(HttpServletRequest request,&lt;br /&gt;			HttpServletResponse response) {&lt;br /&gt;		try {&lt;br /&gt;			if (ServletFileUpload.isMultipartContent(request)) {&lt;br /&gt;				processFiles(request, response);&lt;br /&gt;			} else {&lt;br /&gt;				processQuery(request, response);&lt;br /&gt;			}&lt;br /&gt;		} catch (Exception e) {&lt;br /&gt;			e.printStackTrace();&lt;br /&gt;		}&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	private void processQuery(HttpServletRequest request,&lt;br /&gt;			HttpServletResponse response) {&lt;br /&gt;		try {&lt;br /&gt;			String contextName = request.getParameter("context");&lt;br /&gt;			if (contextName == null) {&lt;br /&gt;				ProjectError.report(response, Status.MISSING_CONTEXT);&lt;br /&gt;				return;&lt;br /&gt;			}&lt;br /&gt;			ProjectContext context = ContextService.get().getContext(&lt;br /&gt;					contextName);&lt;br /&gt;			assert (context != null);&lt;br /&gt;			ProjectState state = (ProjectState) request.getSession()&lt;br /&gt;					.getAttribute(contextName);&lt;br /&gt;			Request req = new Request(request, response);&lt;br /&gt;			if (state != null)&lt;br /&gt;				state.request(req);&lt;br /&gt;			else {&lt;br /&gt;				response.sendRedirect("/thinkspace/logout");&lt;br /&gt;			}&lt;br /&gt;		} catch (Exception e) {&lt;br /&gt;			e.printStackTrace();&lt;br /&gt;			log.error(e);&lt;br /&gt;		}&lt;br /&gt;&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	private void processFiles(HttpServletRequest request,&lt;br /&gt;			HttpServletResponse response) {&lt;br /&gt;		HashMap&lt;String, String&gt; args = new HashMap&lt;String, String&gt;();&lt;br /&gt;		boolean isGWT = true;&lt;br /&gt;		try {&lt;br /&gt;			if (log.isDebugEnabled())&lt;br /&gt;				log.debug(request.getParameterMap());&lt;br /&gt;			ServletFileUpload upload = new ServletFileUpload();&lt;br /&gt;			FileItemIterator iter = upload.getItemIterator(request);&lt;br /&gt;			// pick up parameters first and note actual FileItem&lt;br /&gt;			while (iter.hasNext()) {&lt;br /&gt;				FileItemStream item = iter.next();&lt;br /&gt;				String name = item.getFieldName();&lt;br /&gt;				if (item.isFormField()) {&lt;br /&gt;					args.put(name, Streams.asString(item.openStream()));&lt;br /&gt;				} else {&lt;br /&gt;					args.put("contentType", item.getContentType());&lt;br /&gt;					String fileName = item.getName();&lt;br /&gt;					int slash = fileName.lastIndexOf("/");&lt;br /&gt;					if (slash &lt; 0)&lt;br /&gt;						slash = fileName.lastIndexOf("\\");&lt;br /&gt;					if (slash &gt; 0)&lt;br /&gt;						fileName = fileName.substring(slash + 1);&lt;br /&gt;					args.put("fileName", fileName);&lt;br /&gt;					// upload requests can come from smartGWT (args) or&lt;br /&gt;					// FCKEditor (request)&lt;br /&gt;					String contextName = args.get("context");&lt;br /&gt;					String model = args.get("model");&lt;br /&gt;					String path = args.get("path");&lt;br /&gt;					if (contextName == null) {&lt;br /&gt;						isGWT = false;&lt;br /&gt;						contextName = request.getParameter("context");&lt;br /&gt;						model = request.getParameter("model");&lt;br /&gt;						path = request.getParameter("path");&lt;br /&gt;						if (log.isDebugEnabled())&lt;br /&gt;							log.debug("query=" + request.getQueryString());&lt;br /&gt;					} else if (log.isDebugEnabled())&lt;br /&gt;						log.debug(args);&lt;br /&gt;					ProjectContext context = ContextService.get().getContext(&lt;br /&gt;							contextName);&lt;br /&gt;					ProjectState state = (ProjectState) request.getSession()&lt;br /&gt;							.getAttribute(contextName);&lt;br /&gt;					InputStream in = null;&lt;br /&gt;					try {&lt;br /&gt;						in = item.openStream();&lt;br /&gt;						state.getFileManager().storeFile(&lt;br /&gt;								context.getModel(model), path + fileName, in);&lt;br /&gt;					} catch (Exception e) {&lt;br /&gt;						e.printStackTrace();&lt;br /&gt;						log.error("Fail to upload " + fileName + " to " + path);&lt;br /&gt;					} finally {&lt;br /&gt;						if (in != null)&lt;br /&gt;							try {&lt;br /&gt;								in.close();&lt;br /&gt;							} catch (Exception e) {&lt;br /&gt;							}&lt;br /&gt;					}&lt;br /&gt;				}&lt;br /&gt;			}&lt;br /&gt;			// TODO: need to handle conversion options and error reporting&lt;br /&gt;			response.setContentType("text/html");&lt;br /&gt;			response.setHeader("Pragma", "No-cache");&lt;br /&gt;			response.setDateHeader("Expires", 0);&lt;br /&gt;			response.setHeader("Cache-Control", "no-cache");&lt;br /&gt;			PrintWriter out = response.getWriter();&lt;br /&gt;			out.println("&lt;html&gt;");&lt;br /&gt;			out.println("&lt;body&gt;");&lt;br /&gt;			if (isGWT) {&lt;br /&gt;				out.println("&lt;script type=\"text/javascript\"&gt;");&lt;br /&gt;				out&lt;br /&gt;						.println("if (parent.uploadComplete) parent.uploadComplete('"&lt;br /&gt;								+ args.get("fileName") + "');");&lt;br /&gt;				out.println("&lt;/script&gt;");&lt;br /&gt;			} else&lt;br /&gt;				out.println(getEditorResponse());&lt;br /&gt;			out.println("&lt;/body&gt;");&lt;br /&gt;			out.println("&lt;/html&gt;");&lt;br /&gt;			out.flush();&lt;br /&gt;		} catch (Exception e) {&lt;br /&gt;			System.out.println(e.getMessage());&lt;br /&gt;		}&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	private String getEditorResponse() {&lt;br /&gt;		StringBuffer sb = new StringBuffer(400);&lt;br /&gt;		sb.append("&lt;script type=\"text/javascript\"&gt;\n");&lt;br /&gt;		sb.append("(function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();\n");&lt;br /&gt;		sb.append("window.parent.OnUploadCompleted(0");&lt;br /&gt;		sb.append(");\n");&lt;br /&gt;		sb.append("&lt;/script&gt;");&lt;br /&gt;		return sb.toString();&lt;br /&gt;	}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;source: &lt;a href="http://forums.smartclient.com/showthread.php?t=5477"&gt;http://forums.smartclient.com/showthread.php?t=5477&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9835594-2905576462489853603?l=blog.karanfil.info' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.karanfil.info/2011/03/smartgwt-file-upload.html</link><author>noreply@blogger.com (Yasin Hasan Karanfil)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9835594.post-5797628204521783779</guid><pubDate>Thu, 17 Mar 2011 12:15:00 +0000</pubDate><atom:updated>2011-03-17T14:21:43.427+02:00</atom:updated><title>Dozer Mapping Framework</title><description>If you have some serialization problems in a GWT project, or if you need to transfer the data inside a POJO to another POJO, you can use dozer framework to do this.&lt;br /&gt;&lt;br /&gt;If you are using Hibernate in your project and you have objects and DTO objects, you don't have to write data transfer code between these objects, you can use dozer framework to do these tasks automatically.&lt;br /&gt;&lt;br /&gt;DozerBeanMapperSingletonWrapper.getInstance().map(record, RecordDTO.class));&lt;br /&gt;&lt;br /&gt;&lt;a href="http://code.google.com/webtoolkit/articles/using_gwt_with_hibernate.html"&gt;http://code.google.com/webtoolkit/articles/using_gwt_with_hibernate.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9835594-5797628204521783779?l=blog.karanfil.info' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.karanfil.info/2011/03/dozer-mapping-framework.html</link><author>noreply@blogger.com (Yasin Hasan Karanfil)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9835594.post-2155349240271445799</guid><pubDate>Thu, 17 Mar 2011 12:06:00 +0000</pubDate><atom:updated>2011-03-17T14:13:05.456+02:00</atom:updated><title>Excel Translate Function</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-D1UYr4LlXZs/TYH6sP6BY5I/AAAAAAAAAHM/lCmVUm-xYuE/s1600/docs_162725_translate_formula_en.gif"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 51px;" src="http://1.bp.blogspot.com/-D1UYr4LlXZs/TYH6sP6BY5I/AAAAAAAAAHM/lCmVUm-xYuE/s320/docs_162725_translate_formula_en.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5585020651007206290" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Using Google Docs, you can translate excel documents to another language using Google Translate service.&lt;br /&gt;&lt;br /&gt;To be able to do this use this function&lt;br /&gt;&lt;br /&gt;=GoogleTranslate("text", "source language","target language")&lt;br /&gt;&lt;br /&gt;instead of "text", you can use the cell number&lt;br /&gt;&lt;br /&gt;You can also detect the language of a text&lt;br /&gt;=DetectLanguage("text")&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9835594-2155349240271445799?l=blog.karanfil.info' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.karanfil.info/2011/03/excel-translate-function.html</link><author>noreply@blogger.com (Yasin Hasan Karanfil)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-D1UYr4LlXZs/TYH6sP6BY5I/AAAAAAAAAHM/lCmVUm-xYuE/s72-c/docs_162725_translate_formula_en.gif' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9835594.post-8743458287116599314</guid><pubDate>Wed, 17 Mar 2010 09:22:00 +0000</pubDate><atom:updated>2010-03-17T11:24:45.971+02:00</atom:updated><title>Sell your applications on Windows Mobile Marketplace</title><description>&lt;p&gt;If you have an Dreamspark account, there is no 99$ fee for selling your applications on Windows Mobile Marketplace. You can get n Dreamspark account by applying your university or getting an ISIC international student card.&lt;/p&gt;  &lt;p&gt;&lt;a title="https://www.dreamspark.com/" href="https://www.dreamspark.com/"&gt;https://www.dreamspark.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You can download Windows Phone Developers Tools CTP that includes;&lt;/p&gt;  &lt;p&gt;Visual Studio 2010 Express for Windows Phone CTP    &lt;br /&gt;Windows Phone Emulator CTP     &lt;br /&gt;Silverlight for Windows Phone CTP     &lt;br /&gt;XNA 4.0 Game Studio CTP&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://go.microsoft.com/?linkid=9713250"&gt;Windows Phone Developer Tools CTP&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=20686A1D-97A8-4F80-BC6A-AE010E085A6E&amp;amp;displaylang=en"&gt;Windows Mobile 6.5 SDK&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9835594-8743458287116599314?l=blog.karanfil.info' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.karanfil.info/2010/03/sell-your-applications-on-windows.html</link><author>noreply@blogger.com (Yasin Hasan Karanfil)</author><thr:total>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9835594.post-4391146111753422143</guid><pubDate>Fri, 05 Mar 2010 15:10:00 +0000</pubDate><atom:updated>2010-03-05T17:10:06.765+02:00</atom:updated><title>“Could not find resource assembly” error on Windows Mobile</title><description>&lt;p&gt;You should avoid deploying the System_SR cab file; In project properties, select Devices tab uncheck .net framework deployment&lt;/p&gt;  &lt;p&gt;If it didn’t work&lt;/p&gt;  &lt;p&gt;Copy the System_SR_ENU.CAB file to the emulator and install it. You can check this folders&lt;/p&gt;  &lt;p&gt;C:\Program Files (x86)\Microsoft.NET\SDK\CompactFramework\v2.0\WindowsCE\Diagnostics   &lt;br /&gt;C:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v1.0\WindowsCE\Diagnostics&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9835594-4391146111753422143?l=blog.karanfil.info' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.karanfil.info/2010/03/could-not-find-resource-assembly-error.html</link><author>noreply@blogger.com (Yasin Hasan Karanfil)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9835594.post-7172896242200468870</guid><pubDate>Fri, 05 Mar 2010 15:04:00 +0000</pubDate><atom:updated>2010-03-05T17:04:24.907+02:00</atom:updated><title>Enable Network Connection on Windows Mobile Emulators</title><description>&lt;p&gt;If you have trouble with connecting to the internet with emulator, and you also tried Active Sync or Windows Mobile Device Center, there is a better way to do it, which worked perfectly for me.&lt;/p&gt;  &lt;p&gt;Source:&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.xdevsoftware.com/blog/post/Enable-Network-Connection-Windows-Mobile-6-Emulator.aspx" href="http://www.xdevsoftware.com/blog/post/Enable-Network-Connection-Windows-Mobile-6-Emulator.aspx"&gt;http://www.xdevsoftware.com/blog/post/Enable-Network-Connection-Windows-Mobile-6-Emulator.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Steps How I Enabled Internet Connection on the Emulator: &lt;/p&gt;  &lt;p&gt;- Downloaded and install Virtual PC 2007 (this is because it has to install some driver for the network card to work for the emulator)   &lt;br /&gt;- Open Windows Mobile Device Center and allow DMA connections.     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; this can be done by going to Mobile Device Settings -&amp;gt;Connection Settings -&amp;gt; Allow Connections to one of the following -&amp;gt; Select DMA    &lt;br /&gt;- Opened Visual Studio and opened my mobile app    &lt;br /&gt;- In the toolbar selected Device Options Icon (located next to dropdown with the emulators to select from)    &lt;br /&gt;- Under Device Tools -&amp;gt; Devices I selected my Windows Mobile 6 Pro Emulator then clicked on Properties    &lt;br /&gt;- Clicked Emulator Options    &lt;br /&gt;- Select the Network Tab    &lt;br /&gt;- Checked the first box (enabled NE2000 PCMCIA network adapter and bind to:)    &lt;br /&gt;- Selected the name of my network card    &lt;br /&gt;- Ran the emulator by running the application    &lt;br /&gt;- Went to Connection Settings in the Emulator    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Start -&amp;gt; Settings -&amp;gt; Connections Tab -&amp;gt; Connections -&amp;gt; Advanced Tab -&amp;gt; Select Networks -&amp;gt; Choose My Work Network for both drop downs &lt;/p&gt;  &lt;p&gt;That should do it to get internet going on your emulator.&amp;#160; Quite a few steps to get on the Internet, but oh well.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9835594-7172896242200468870?l=blog.karanfil.info' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.karanfil.info/2010/03/enable-network-connection-on-windows.html</link><author>noreply@blogger.com (Yasin Hasan Karanfil)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9835594.post-1752170870752777257</guid><pubDate>Fri, 05 Mar 2010 14:58:00 +0000</pubDate><atom:updated>2010-05-23T00:25:50.387+03:00</atom:updated><title>Creating Windows Mobile CAB Files Programmatically</title><description>&lt;p&gt;There is an easy way to create CAB files programmatically is to create Smart Device Cab Project in Visual Studio. If you check the Debug output you will see there is a command like this&lt;/p&gt;  &lt;p&gt;&amp;quot;C:\Program Files (x86)\Microsoft Visual Studio 8\smartdevices\sdk\sdktools\cabwiz.exe&amp;quot; &amp;quot;C:\Users\aradiomy\Documents\Visual Studio 2005\Projects\Program\ProgramKurulum\Release\ProgramKurulum.inf&amp;quot; /dest &amp;quot;C:\Users\aradiomy\Documents\Visual Studio 2005\Projects\Program\ProgramKurulum\Release\&amp;quot; /err CabWiz.log&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;You can edit the *.inf file and call this command from a script or your program.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9835594-1752170870752777257?l=blog.karanfil.info' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.karanfil.info/2010/03/windows-mobile-cab-creation.html</link><author>noreply@blogger.com (Yasin Hasan Karanfil)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9835594.post-4212983758814363411</guid><pubDate>Fri, 05 Mar 2010 14:52:00 +0000</pubDate><atom:updated>2010-03-05T16:52:40.062+02:00</atom:updated><title>Getting Screen Resolution Programmatically on Windows Mobile</title><description>&lt;p&gt;int screenWidth = Screen.PrimaryScreen.Bounds.Width;   &lt;br /&gt;int workingWidth = Screen.PrimaryScreen.WorkingArea.Width;    &lt;br /&gt;int screenHeight = Screen.PrimaryScreen.Bounds.Height;    &lt;br /&gt;int workingHeight = Screen.PrimaryScreen.WorkingArea.Height;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9835594-4212983758814363411?l=blog.karanfil.info' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.karanfil.info/2010/03/getting-screen-resolution.html</link><author>noreply@blogger.com (Yasin Hasan Karanfil)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9835594.post-5738156041973230000</guid><pubDate>Tue, 23 Jun 2009 08:42:00 +0000</pubDate><atom:updated>2009-06-23T12:49:32.434+03:00</atom:updated><title>Google App Engine development in NetBeans IDE</title><description>&lt;p&gt;You have to install Netbeans 6.7 and follow these steps: &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Download the latest NB build from &lt;a href="http://bits.netbeans.org/dev/nightly/latest/"&gt;here&lt;/a&gt; or use NB 6.7. &lt;/li&gt;    &lt;li&gt;Go to Tools - Plugins and select Settings tab. &lt;/li&gt;    &lt;li&gt;Click Add button and type 'App Engine' as name of Update center and following URL &lt;a href="http://deadlock.netbeans.org/hudson/job/nbappengine/lastSuccessfulBuild/artifact/build/updates/updates.xml.gz"&gt;http://deadlock.netbeans.org/hudson/job/nbappengine/lastSuccessfulBuild/artifact/build/updates/updates.xml.gz&lt;/a&gt; into URL text field. Click to OK button. &lt;/li&gt;    &lt;li&gt;Switch to Available Plugins tab and choose Google App Engine modules (server, configuration, deployment, editor hints) &lt;/li&gt;    &lt;li&gt;Click to Install button&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;and then:&lt;/p&gt;  &lt;p&gt;   &lt;div class="wlWriterEditableSmartContent" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:63eacfd3-6df7-4c43-b3f3-21d48d64baa5" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;div id="3f087c32-bac1-46db-abb6-61c02b0945bf" style="margin: 0px; padding: 0px; display: inline;"&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=kAhaDNs87sc&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;color1=0xe1600f&amp;amp;color2=0xfebd01" target="_new"&gt;&lt;img src="http://lh5.ggpht.com/_ch5nl_G6fNY/SkClKzIt6SI/AAAAAAAAAGg/UWbnerBRSic/videob0ccf8983f00%5B2%5D.jpg?imgmax=800" style="border-style: none" galleryimg="no" onload="var downlevelDiv = document.getElementById('3f087c32-bac1-46db-abb6-61c02b0945bf'); downlevelDiv.innerHTML = &amp;quot;&amp;lt;div&amp;gt;&amp;lt;object width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;param name=\&amp;quot;movie\&amp;quot; value=\&amp;quot;http://www.youtube.com/v/kAhaDNs87sc&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;color1=0xe1600f&amp;amp;color2=0xfebd01&amp;amp;hl=en\&amp;quot;&amp;gt;&amp;lt;\/param&amp;gt;&amp;lt;embed src=\&amp;quot;http://www.youtube.com/v/kAhaDNs87sc&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;color1=0xe1600f&amp;amp;color2=0xfebd01&amp;amp;hl=en\&amp;quot; type=\&amp;quot;application/x-shockwave-flash\&amp;quot; width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;\/embed&amp;gt;&amp;lt;\/object&amp;gt;&amp;lt;\/div&amp;gt;&amp;quot;;" alt=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9835594-5738156041973230000?l=blog.karanfil.info' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.karanfil.info/2009/06/google-app-engine-development-in.html</link><author>noreply@blogger.com (Yasin Hasan Karanfil)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_ch5nl_G6fNY/SkClKzIt6SI/AAAAAAAAAGg/UWbnerBRSic/s72-c/videob0ccf8983f00%5B2%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9835594.post-3203963113530705865</guid><pubDate>Sun, 17 May 2009 15:44:00 +0000</pubDate><atom:updated>2009-05-17T18:45:45.843+03:00</atom:updated><title>Google App Engine Java UTF-8 Character Encoding Problem</title><description>&lt;p&gt;There is a problem about Google App Engine Java Encoding settings. You have to change the Google App Engine's Javac Compiler Encoding.&lt;/p&gt;  &lt;p&gt;&lt;a title="http://groups.google.com/group/google-appengine-java/browse_thread/thread/1345bf330766d8be/" href="http://groups.google.com/group/google-appengine-java/browse_thread/thread/1345bf330766d8be/"&gt;http://groups.google.com/group/google-appengine-java/browse_thread/thread/1345bf330766d8be/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The easiest way to do it is add an UTF-8 argument to javac.exe. You can use this simple tool.&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.karanfil.info/blog/javac.exe" href="http://www.karanfil.info/blog/javac.exe"&gt;http://www.karanfil.info/blog/javac.exe&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Rename the default javac.exe to javac1.exe, and copy this tool to same folder. (For example : C:\Program Files\Java\jdk1.6.0_12\bin\javac.exe)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9835594-3203963113530705865?l=blog.karanfil.info' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.karanfil.info/2009/05/google-app-engine-java-utf-8-character.html</link><author>noreply@blogger.com (Yasin Hasan Karanfil)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9835594.post-5233152283241811723</guid><pubDate>Thu, 07 May 2009 13:01:00 +0000</pubDate><atom:updated>2009-05-07T16:01:35.322+03:00</atom:updated><title>Netbeans Türkçe Versiyonu Gelişmeler</title><description>&lt;p&gt;Merhaba Arkadaşlar, &lt;/p&gt;  &lt;p&gt;NetBeans Türkçe Yerelleştirme Takımı olarak Java SE kümesini (cluster)   &lt;br /&gt;çevireceğiz. [1] sayfasında da görüldüğü gibi öncelikli hedefimiz Java    &lt;br /&gt;SE kümesini tamamlayabilmek. &lt;/p&gt;  &lt;p&gt;Daha sonra C/C++, Ruby, PHP gibi kümelerin de yerelleştirmesini   &lt;br /&gt;yapabileceğiz. Tek yapmamız gereken şey CTI'daki projeye bu kümelerin de    &lt;br /&gt;eklenmesini istemek olacak. &lt;/p&gt;  &lt;p&gt;Peki Java SE kümesini neden seçtik? Çünkü yerelleştirmek için oldukça   &lt;br /&gt;büyük bir küme ve zaman alacak. &lt;/p&gt;  &lt;p&gt;Java SE yerelleştirmesine katılmak isteyen arkadaşlar listeye ya da bana   &lt;br /&gt;özelden e-posta yollayabilirler mi? Çünkü CTI hesabının açılması ve bu    &lt;br /&gt;hesabın projelere tanıtılması gerekli. &lt;/p&gt;  &lt;p&gt;[2] sayfasındaki listede kümelerin detaylarını bulabilirsiniz. NetBeans   &lt;br /&gt;6.5 sürümü için kümelerin listesi [3] sayfasındaki gibiydi. &lt;/p&gt;  &lt;p&gt;[1] sayfasında görülebileceği gibi Platform yerelleştirmesinde %100'e   &lt;br /&gt;ulaştık. Hâlâ eksiğimiz ya da yanlış olarak çevirilmiş kısımlar    &lt;br /&gt;bulunabilir. CTI [4]'a girip (hesabınız yoksa bile) çevirilere gözatıp    &lt;br /&gt;hataları e-posta listelerimize yazabilirseniz, çok seviniriz. &lt;/p&gt;  &lt;p&gt;Bu vesileyle büyük katkı sağlayan Orhan (orhanbalci) ve Yasin   &lt;br /&gt;(yasinkaranfil)'e çok teşekkür ediyorum. &lt;/p&gt;  &lt;p&gt;En kısa süre içerisinde de wiki [5] sayfamızı 6.7 sürümü için   &lt;br /&gt;güncelleyeceğim. &lt;/p&gt;  &lt;p&gt;Herhangi bir öneri ya da görüşünüz varsa lütfen çekinmeden bu e-postayı   &lt;br /&gt;yanıtlayın. &lt;/p&gt;  &lt;p&gt;Sevgiler, &lt;/p&gt;  &lt;p&gt;[1] &lt;a href="http://tinyurl.com/CommunityStatus"&gt;http://tinyurl.com/CommunityStatus&lt;/a&gt;    &lt;br /&gt;[2] &lt;a href="http://tinyurl.com/NB67L10nPlatform"&gt;http://tinyurl.com/NB67L10nPlatform&lt;/a&gt;    &lt;br /&gt;[3] &lt;a href="http://tinyurl.com/NB65L10nPlatform"&gt;http://tinyurl.com/NB65L10nPlatform&lt;/a&gt;    &lt;br /&gt;[4] &lt;a href="https://cti.sunvirtuallab.com/community/"&gt;https://cti.sunvirtuallab.com/community/&lt;/a&gt;    &lt;br /&gt;[5] &lt;a href="http://wiki.netbeans.org/TurkishTranslation"&gt;http://wiki.netbeans.org/TurkishTranslation&lt;/a&gt;    &lt;br /&gt;--    &lt;br /&gt;Fatih Ergüven    &lt;br /&gt;fatih~erguven.org    &lt;br /&gt;&lt;a href="http://fatih.erguven.org"&gt;http://fatih.erguven.org&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;NetBeans Türkçe   &lt;br /&gt;&lt;a href="http://groups.google.com/group/netbeans-turkce?hl=tr"&gt;http://groups.google.com/group/netbeans-turkce?hl=tr&lt;/a&gt;    &lt;br /&gt;netbeans-turkce@googlegroups.com&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9835594-5233152283241811723?l=blog.karanfil.info' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.karanfil.info/2009/05/netbeans-turkce-versiyonu-gelismeler.html</link><author>noreply@blogger.com (Yasin Hasan Karanfil)</author><thr:total>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9835594.post-7989537731228218371</guid><pubDate>Tue, 05 May 2009 21:27:00 +0000</pubDate><atom:updated>2009-05-06T00:27:25.956+03:00</atom:updated><title>Java ME Platform SDK 3.0 now is ready</title><description>&lt;p&gt;Java ME Platform SDK 3.0&amp;#160; now is ready to download. New emulators added to this version. It has a new management interface based on netbeans platform.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_ch5nl_G6fNY/SgCvOd1iQOI/AAAAAAAAAGU/5kCiAH6otng/s1600-h/wtk30%5B1%5D.png"&gt;&lt;img title="wtk30" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="387" alt="wtk30" src="http://lh4.ggpht.com/_ch5nl_G6fNY/SgCvPEjz0eI/AAAAAAAAAGY/jgcY1Yvq7c8/wtk30_thumb%5B1%5D.png?imgmax=800" width="412" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Integration with third-party emulators and Windows Mobile devices &lt;/li&gt;    &lt;li&gt;On-device deployment and on-device debugging &lt;/li&gt;    &lt;li&gt;CLDC/MIDP, CDC/FP/PBP/AGUI, and BD-J integrated into one SDK &lt;/li&gt;    &lt;li&gt;New CLDC HotSpot Virtual Machine &lt;/li&gt;    &lt;li&gt;Optimized MSA 1.1 stack with extensions &lt;/li&gt;    &lt;li&gt;Profiling support &lt;/li&gt;    &lt;li&gt;BD-J support &lt;/li&gt;    &lt;li&gt;New development environment based on Netbeans Platform &lt;/li&gt;    &lt;li&gt;Lightweight UI Toolkit (LWUIT) integration &lt;/li&gt;    &lt;li&gt;Device search database integrated in SDK &lt;/li&gt;    &lt;li&gt;JavaFX Mobile Emulator included &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a title="http://java.sun.com/javame/downloads/sdk30.jsp" href="http://java.sun.com/javame/downloads/sdk30.jsp"&gt;http://java.sun.com/javame/downloads/sdk30.jsp&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9835594-7989537731228218371?l=blog.karanfil.info' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.karanfil.info/2009/05/java-me-platform-sdk-30-now-is-ready.html</link><author>noreply@blogger.com (Yasin Hasan Karanfil)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_ch5nl_G6fNY/SgCvPEjz0eI/AAAAAAAAAGY/jgcY1Yvq7c8/s72-c/wtk30_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9835594.post-503394972918303104</guid><pubDate>Tue, 28 Apr 2009 10:57:00 +0000</pubDate><atom:updated>2009-04-28T13:57:24.385+03:00</atom:updated><title>Bilgisayar Uzmanı mı? Seri Katil mi?</title><description>&lt;p&gt;Bilgisayar uzmanlarının seri katillere benzediği teorisinden yola çıkarak hazırlanmış bu sitede :) 10 soruluk testte gösterilen profillerden hangisinin seri katil hangisinin bilgisayar uzmanı olduğunu bilmeniz isteniyor. Benim puanım 8/10 bu arada. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.malevole.com/mv/misc/killerquiz/"&gt;http://www.malevole.com/mv/misc/killerquiz/&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9835594-503394972918303104?l=blog.karanfil.info' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.karanfil.info/2009/04/bilgisayar-uzman-m-seri-katil-mi.html</link><author>noreply@blogger.com (Yasin Hasan Karanfil)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9835594.post-5881666767348956765</guid><pubDate>Tue, 21 Apr 2009 11:48:00 +0000</pubDate><atom:updated>2009-04-21T14:48:10.579+03:00</atom:updated><title>iPhone SDK installation on 10.5.2 Leopard</title><description>&lt;p&gt;Getting the FINAL SDK to run on a 10.5.2 Leopard box.&lt;/p&gt;  &lt;p&gt;1) Install the Iphone_SDK_Final DMG file. It won't let you install the Iphone parts; no worries. &lt;/p&gt;  &lt;p&gt;2) Open the Packages folder on the DMG and install all the packages labeled IPHONE and &amp;quot;DeveloperDiskImage&amp;quot;. &lt;/p&gt;  &lt;p&gt;3) These packages will install into /Platforms, but we need them in /Developer/Platforms. Use Finder, Terminal, whatever, to move these files over. &lt;/p&gt;  &lt;p&gt;4) You should at least have a working Iphone Simulator. You'll be able to write code and run it on your PC.&lt;/p&gt;  &lt;p&gt;Source : &lt;a title="http://www.insanelymac.com" href="http://www.insanelymac.com"&gt;http://www.insanelymac.com&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9835594-5881666767348956765?l=blog.karanfil.info' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.karanfil.info/2009/04/iphone-sdk-installation-on-1052-leopard.html</link><author>noreply@blogger.com (Yasin Hasan Karanfil)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9835594.post-4351299175757008977</guid><pubDate>Mon, 23 Feb 2009 10:07:00 +0000</pubDate><atom:updated>2009-02-23T13:18:42.093+02:00</atom:updated><title>Google Summer of Code 2009</title><description>&lt;p&gt;&amp;#220;niversite &amp;#246;ğrencisi arkadaşlar, GSOC'da yer alan open source projelerdeki g&amp;#246;revlerden birini se&amp;#231;erek yaz boyunca bu g&amp;#246;revi tamamlayabilir, ve karşılığında Google'dan 4500$ alabilirsiniz.&lt;/p&gt;  &lt;p&gt;Projeler 14 Mart tarihinde belli olacak. &amp;#214;ğrencilerin başvuruları ise 23 Mart, 3 Nisan tarihleri arasında alınacak.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://code.google.com/intl/tr-TR/opensource/gsoc/2009/faqs.html"&gt;Google Summer of Code&amp;#8482; 2009 Frequently Asked Questions&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9835594-4351299175757008977?l=blog.karanfil.info' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.karanfil.info/2009/02/google-summer-of-code-2009.html</link><author>noreply@blogger.com (Yasin Hasan Karanfil)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9835594.post-5095713008744569858</guid><pubDate>Wed, 18 Feb 2009 09:40:00 +0000</pubDate><atom:updated>2009-02-18T11:41:00.170+02:00</atom:updated><title>Server Mime Type Configuration for J2ME</title><description>&lt;table style="width: 358pt; border-collapse: collapse" border="0" cellspacing="0" cellpadding="0" width="477" x:str="x:str"&gt;&lt;colgroup&gt;&lt;col style="width: 197pt; mso-width-source: userset; mso-width-alt: 9618" width="263" /&gt;&lt;col style="width: 161pt; mso-width-source: userset; mso-width-alt: 7826" width="214" /&gt;&lt;/colgroup&gt;&lt;tbody&gt;     &lt;tr style="height: 12.75pt" height="17"&gt;       &lt;td style="width: 197pt; height: 12.75pt" height="17" width="263"&gt;File Type and Extension&lt;/td&gt;        &lt;td style="width: 161pt" width="214"&gt;Mime Type&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 12.75pt" height="17"&gt;       &lt;td style="height: 12.75pt" height="17"&gt;Java application JAR files (.jar)&lt;/td&gt;        &lt;td&gt;application/java&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 12.75pt" height="17"&gt;       &lt;td style="height: 12.75pt" height="17"&gt;Java application JAD files (.jad)&lt;/td&gt;        &lt;td&gt;text/vnd.sun.j2me.app-descriptor&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 12.75pt" height="17"&gt;       &lt;td style="height: 12.75pt" height="17"&gt;Image WBMP (Wireless BMP) files (.wbmp)&lt;/td&gt;        &lt;td&gt;image/vnd.wap.wbmp&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 12.75pt" height="17"&gt;       &lt;td style="height: 12.75pt" height="17"&gt;WML files (compiled) (.wmlc)&lt;/td&gt;        &lt;td&gt;application/vnd.wap.wmlc&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 12.75pt" height="17"&gt;       &lt;td style="height: 12.75pt" height="17"&gt;WML files (plain text) (.wml)&lt;/td&gt;        &lt;td&gt;text/vnd.wap.wml&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 12.75pt" height="17"&gt;       &lt;td style="height: 12.75pt" height="17"&gt;WMLScript files (compiled) (.wmlsc)&lt;/td&gt;        &lt;td&gt;application/vnd.wap.wmlscriptc&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 12.75pt" height="17"&gt;       &lt;td style="height: 12.75pt" height="17"&gt;WMLScript files (plain text) (.wmls)&lt;/td&gt;        &lt;td&gt;text/vnd.wap.wmlscript&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;You can add the following lines to httpd.conf(/etc/httpd/conf/httpd.conf) or with apache, you can do this on a per-directory basis by adding the following lines to your .htaccess file: &lt;/p&gt;  &lt;p&gt;AddType text/vnd.sun.j2me.app-descriptor jad   &lt;br /&gt;AddType application/java-archive jar    &lt;br /&gt;... &lt;/p&gt;  &lt;p&gt;IIS and WAP. Configuring IIS to deliver WML (WAP content)   &lt;br /&gt;&lt;a href="http://www.java-samples.com/showtutorial.php?tutorialid=742"&gt;http://www.java-samples.com/showtutorial.php?tutorialid=742&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Finding the MIME Media Types that will be Accepted by a User Agent and Common Mobile MIME Types List   &lt;br /&gt;&lt;a href="http://www.developershome.com/wap/detection/detection.asp?page=httpHeaders"&gt;http://www.developershome.com/wap/detection/detection.asp?page=httpHeaders&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9835594-5095713008744569858?l=blog.karanfil.info' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.karanfil.info/2009/02/server-mime-type-configuration-for-j2me.html</link><author>noreply@blogger.com (Yasin Hasan Karanfil)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9835594.post-3737230074347717718</guid><pubDate>Tue, 17 Feb 2009 11:35:00 +0000</pubDate><atom:updated>2009-02-17T13:35:05.414+02:00</atom:updated><title>J2ME repaint() problem</title><description>&lt;p&gt;If you are confused about Canvas repaint() method does'nt calls paint() method. And you also tried   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; // serviceRepaints();    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; // Display.getDisplay(Midlet.instance).callSerially(this);    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; and still doesn't works. &lt;/p&gt;  &lt;p&gt;Here is the solution; &lt;/p&gt;  &lt;p&gt;Copy the paint() method and rename it customPaint(). In the code where repaint doesn't works, replace repaint() with customPaint(). &lt;/p&gt;  &lt;p&gt;And &lt;/p&gt;  &lt;p&gt;In Netbeans &lt;/p&gt;  &lt;p&gt;Tools - Java Platform Manager - J2ME - WTK - Open Preferences - Performance   &lt;br /&gt;Display refresh -&amp;gt; Select Immediate &lt;/p&gt;  &lt;p&gt;Hopefully it works out.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9835594-3737230074347717718?l=blog.karanfil.info' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.karanfil.info/2009/02/j2me-repaint-problem.html</link><author>noreply@blogger.com (Yasin Hasan Karanfil)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9835594.post-8372020939564289533</guid><pubDate>Sun, 01 Feb 2009 18:52:00 +0000</pubDate><atom:updated>2009-02-01T20:52:51.654+02:00</atom:updated><title>Google Translate Türkçe</title><description>&lt;p&gt;Google, &amp;#252;cretsiz &amp;#231;eviri hizmeti olan Google Translate servisine bug&amp;#252;n T&amp;#252;rk&amp;#231;e dilini de ekledi.&lt;/p&gt;  &lt;p&gt;&lt;a title="http://translate.google.com/" href="http://translate.google.com/"&gt;http://translate.google.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Web sitelerini, yazılarınızı t&amp;#252;rk&amp;#231;eye &amp;#231;evirebilirsiniz. &amp;#199;evirilmiş arama, s&amp;#246;zl&amp;#252;k, Toolbar Translate kısımlarına hen&amp;#252;z t&amp;#252;rk&amp;#231;e desteği eklenmemiş.&lt;/p&gt;  &lt;p&gt;Ayrıca g&amp;#252;zel bir hizmet de web sitenizin diğer dilere otomatik olarak &amp;#231;evirilebilmesi i&amp;#231;in sayfanıza script yerleştirebiliyorsunuz. B&amp;#246;ylece t&amp;#252;rk&amp;#231;e sitenizi ziyaret eden kullanıcılar kendi dillerini se&amp;#231;erek sayfalarınızı gezebiliyorlar.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9835594-8372020939564289533?l=blog.karanfil.info' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.karanfil.info/2009/02/google-translate-turkce.html</link><author>noreply@blogger.com (Yasin Hasan Karanfil)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9835594.post-3246367562618408537</guid><pubDate>Mon, 12 Jan 2009 09:29:00 +0000</pubDate><atom:updated>2009-01-12T11:29:12.748+02:00</atom:updated><title>Dr. Barrett'in ODTÜ'deki Konuşması</title><description>&lt;p&gt;Intel Y&amp;#246;netim Kurulu Başkanının Dr. Barrett'in konuşması:&lt;/p&gt;  &lt;p&gt;Dr. Barrett konuşmasında ilk olarak internet tarayıcıları konusunda bir devrim yaratan Netscape'den bahsetti. Daha sonra ilk &amp;#231;ıkardığı hizmeti &amp;quot;ağ dizinleri (web directory)&amp;quot; ile bir anda b&amp;#252;y&amp;#252;k bir ilgi g&amp;#246;ren Yahoo!'yu &amp;#246;rnek verdi. Son olarak da arama motoru d&amp;#252;nyasında bir &amp;#231;ığır a&amp;#231;an Google konusunda konuştu. &lt;/p&gt;  &lt;p&gt;Bu &amp;#252;&amp;#231; fikir, yani Netscape, Yahoo! ve Google hakkında, &amp;quot;Bu fikirler insanların hayatlarını değiştirdiler. Ancak bu fikirlerin herhangibiri, ar-ge faaliyetlerine yıllık 7 milyar dolar harcayan Microsoft'ta veya yıllık 6,5 milyar dolar harcayan Intel'de olsaydı kuvvetle muhtemel proje y&amp;#246;neticisi ya da onu ge&amp;#231;ti diyelim daha &amp;#252;st d&amp;#252;zey bir y&amp;#246;netici tarafından iptal edilirlerdi&amp;quot; dedi. &lt;/p&gt;  &lt;p&gt;&amp;quot;Bu fikirlerle insanlar ilk &amp;#231;ıktıkları zaman nasıl para kazanacaklarını bilmiyorlardı. Google 1998'de kuruldu, 2001'de ancak para kazanmaya başladı. Bir şirketin varlığını s&amp;#252;rd&amp;#252;rebilmesi i&amp;#231;in para kazanması gerekir, bu nedenle bu fikirler ve buna benzer diğer fikirler eskiden ve şu anda b&amp;#252;y&amp;#252;k şirketlerin &amp;#231;oğunda nasıl para kazanacakları belli olmadığı i&amp;#231;in iptal ediliyorlar&amp;quot; dedi. &lt;/p&gt;  &lt;p&gt;Dr. Barrett, dinleyicilerin dikkatlerini daha sonra bu &amp;#252;&amp;#231; fikrin ortak bir noktası olduğuna &amp;#231;ekti ve konuşmasına şu s&amp;#246;zlerle devam etti, &amp;quot;Bu &amp;#252;&amp;#231; fikir de &amp;#252;niversitelerde doktora ve master yapan araştırmacıların &amp;#252;niversite olanaklarını kullanarak ortaya koydukları projelerdi. &amp;#220;niversitelerin olanakları yetersiz olsaydı bu fikirler hayata ge&amp;#231;irilemeyecekti. Araştırma yapmaya &amp;#246;nem veren &amp;#252;niversiteleri bu nedenden &amp;#246;t&amp;#252;r&amp;#252; &amp;#246;nemsiyoruz&amp;quot;.&lt;/p&gt;  &lt;p&gt;Kaynak : &lt;a title="http://e-bergi.com/2009/Ocak/Craig-R.-Barrett-ODT&amp;#220;deydi" href="http://e-bergi.com/2009/Ocak/Craig-R.-Barrett-ODT&amp;Uuml;deydi"&gt;http://e-bergi.com/2009/Ocak/Craig-R.-Barrett-ODT&amp;#220;deydi&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9835594-3246367562618408537?l=blog.karanfil.info' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.karanfil.info/2009/01/dr-barrett-odt-konumas.html</link><author>noreply@blogger.com (Yasin Hasan Karanfil)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9835594.post-7694318266981228167</guid><pubDate>Sun, 28 Dec 2008 22:40:00 +0000</pubDate><atom:updated>2008-12-29T00:40:25.199+02:00</atom:updated><title>Microsoft Azure</title><description>&lt;p&gt;Microsoft'un Google App Engine'a rakip olarak &amp;#231;ıkardığı bir servis. Kısaca hazırladığınız web uygulamalarınızı Microsoft'un sistemlerinde host ediyorsunuz.&lt;/p&gt; &lt;iframe marginwidth="0" marginheight="0" src="http://www.microsoft.com/azure/slMediaPlayer/webDeveloperSLMP0.htm" frameborder="0" width="666" scrolling="no" height="297"&gt;&lt;/iframe&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9835594-7694318266981228167?l=blog.karanfil.info' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.karanfil.info/2008/12/microsoft-azure.html</link><author>noreply@blogger.com (Yasin Hasan Karanfil)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9835594.post-3313273973504850783</guid><pubDate>Sun, 28 Dec 2008 19:24:00 +0000</pubDate><atom:updated>2008-12-28T21:24:19.624+02:00</atom:updated><title>Tübitak Deprem Erken Uyarı Projesi</title><description>&lt;p&gt;&lt;a href="http://lh5.ggpht.com/_ch5nl_G6fNY/SVfSP_MCowI/AAAAAAAAAEM/eXrcCmRieqc/s1600-h/070521_175437%5B4%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="480" alt="070521_175437" src="http://lh3.ggpht.com/_ch5nl_G6fNY/SVfSRx5oUtI/AAAAAAAAAEQ/lOc4mrM2tMA/070521_175437_thumb%5B2%5D.jpg?imgmax=800" width="640" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Trimble 5700 GPS&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_ch5nl_G6fNY/SVfSTJ48aCI/AAAAAAAAAEU/xStTr1THiJs/s1600-h/070624_104811%5B4%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="480" alt="070624_104811" src="http://lh3.ggpht.com/_ch5nl_G6fNY/SVfSUox5qjI/AAAAAAAAAEY/I_hEkRe_fms/070624_104811_thumb%5B2%5D.jpg?imgmax=800" width="640" border="0" /&gt;&lt;/a&gt; &lt;a href="http://lh4.ggpht.com/_ch5nl_G6fNY/SVfSWSAbViI/AAAAAAAAAEc/iG1y7m_kZcY/s1600-h/070624_104826%5B4%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="480" alt="070624_104826" src="http://lh4.ggpht.com/_ch5nl_G6fNY/SVfSYbxjucI/AAAAAAAAAEg/-c2kSTl85BI/070624_104826_thumb%5B2%5D.jpg?imgmax=800" width="640" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Trimble 4000 GPS&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.eclipse-tr.com/TR/SuccessStories/_EarthquakeRiskModelling.aspx" href="http://www.eclipse-tr.com/TR/SuccessStories/_EarthquakeRiskModelling.aspx"&gt;http://www.eclipse-tr.com/TR/SuccessStories/_EarthquakeRiskModelling.aspx&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9835594-3313273973504850783?l=blog.karanfil.info' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.karanfil.info/2008/12/tbitak-deprem-erken-uyar-projesi.html</link><author>noreply@blogger.com (Yasin Hasan Karanfil)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_ch5nl_G6fNY/SVfSRx5oUtI/AAAAAAAAAEQ/lOc4mrM2tMA/s72-c/070521_175437_thumb%5B2%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9835594.post-6555392150641171110</guid><pubDate>Sun, 28 Dec 2008 19:08:00 +0000</pubDate><atom:updated>2008-12-28T21:08:37.916+02:00</atom:updated><title>Turkcell MobilGüvenlik</title><description>&lt;a href="http://lh6.ggpht.com/_ch5nl_G6fNY/SVfOhM3eXWI/AAAAAAAAAD0/OR6w-g2Imug/s1600-h/071006_144302%5B4%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="480" alt="071006_144302" src="http://lh4.ggpht.com/_ch5nl_G6fNY/SVfOjCQAXJI/AAAAAAAAAD4/6ZYxRoTimdA/071006_144302_thumb%5B2%5D.jpg?imgmax=800" width="640" border="0" /&gt;&lt;/a&gt;&amp;#160; &lt;a href="http://lh6.ggpht.com/_ch5nl_G6fNY/SVfOldnxeBI/AAAAAAAAAD8/-t2c3vBqLLI/s1600-h/071006_145454%5B15%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="480" alt="071006_145454" src="http://lh5.ggpht.com/_ch5nl_G6fNY/SVfOn3cWrdI/AAAAAAAAAEA/9vw-gksdJzA/071006_145454_thumb%5B11%5D.jpg?imgmax=800" width="640" border="0" /&gt;&lt;/a&gt; &lt;a href="http://lh6.ggpht.com/_ch5nl_G6fNY/SVfOpw6PhgI/AAAAAAAAAEE/fwtARvUy8Hc/s1600-h/071006_180641%5B4%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="480" alt="071006_180641" src="http://lh5.ggpht.com/_ch5nl_G6fNY/SVfOsSeoIEI/AAAAAAAAAEI/UbqZkG6NJDU/071006_180641_thumb%5B2%5D.jpg?imgmax=800" width="640" border="0" /&gt;&lt;/a&gt;   &lt;p&gt;Cebit 2007 Turkcell Hall&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9835594-6555392150641171110?l=blog.karanfil.info' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.karanfil.info/2008/12/turkcell-mobilgvenlik.html</link><author>noreply@blogger.com (Yasin Hasan Karanfil)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_ch5nl_G6fNY/SVfOjCQAXJI/AAAAAAAAAD4/6ZYxRoTimdA/s72-c/071006_144302_thumb%5B2%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></item></channel></rss>
