tags: Java

Action executed in 0.000

Each Tag

Java

Common tags - number of posts

XMPP (3), Jabber (3), server (3), project (1), Linux (1), TrickleUp (1), portlet (1), Ant (1), web (1), card drive (1), handling (1), WoW (1), open source (1), programming (1), philosophy (1), education (1), security (1), Mitretek (1), computer (1), Debian (1), Struts (1), crash (1), exceptions (1), Gregorian Time (1), LCLI (1),

2 way join

Jabber, Java, Java, server, Java, XMPP

3 way join

Jabber, Java, server, Jabber, Java, XMPP, Java, XMPP, server

4 way join

Jabber, Java, XMPP, server

●●●●●○○○

Category:OWASP WebGoat Project - OWASP

Wasp logo

WebGoat is a deliberately insecure J2EE web application maintained by OWASP designed to teach web application security lessons. In each lesson, users must demonstrate their understanding of a security issue by exploiting a real vulnerability in the WebGoat application. For example, in one of the lessons the user must use SQL injection to steal fake credit card numbers. The application is a realistic teaching environment, providing users with hints...

url: http://www.owasp.org/index.php/Category:OWASP_WebGoat_Project

type: project, format: none

●●●●●○○○

Ignite Realtime: Openfire Server

tags: Jabber, server, XMPP, Java, Java
Ignite logo Openfire is a real time collaboration (RTC) server licensed under the Open Source GPL. It uses the only widely adopted open protocol for instant messaging, XMPP (also called Jabber). Openfire is incredibly easy to setup and administer, but offers rock-solid security and performance.

url: http://www.igniterealtime.org/projects/openfire/

type: none, format: none

●●●●●○○○

tigase.org | Open Source and Free (GPLv3) Jabber/XMPP environment.

tags: Jabber, server, XMPP, Java
tigase logo This is Tigase project website.We are building an XMPP (known also as Jabber) solutions.Our goal is to provide a complete environment for basic instant messaging use, stable and easy to extend for all variants of instant communication use cases. Tigase is a collection of XMPP/Jabber software written in the Java language. You can find source codes at the following address: https://svn.tigase.org/. All our code publicly available is published under GPLv3 license.

url: http://www.tigase.org/

type: none, format: none

Java Trap

I often get chided at work for preferring the Java programming language. My colleagues hold the opinion that it's not-free. Free here means open source. I disagree and recently read a Stallman "article" called Free But Shackled - The Java Trap.

The "article" basically says the license of the release is what matters, and not the dependencies of it. For example, in the history of GNU/Linux, there were times when there was no free kernel, or no free c library, or no free terminal software. Yet the applications that developers wrote were still considered free. Well it's the same with Java. There used to be a time when there were no free JVMs. Luckilly now there are.

This really pleases me. As most of you know, i use only open source software. Instead of using Sun Microsystems' release or Blackdown's release of Java, i'll use GCJ / GIJ or Kaffe.

These compliers and virtual machines are not as complete as Sun's, however there has been much improvement in recent years. A while back i remember getting Ant to run on GIJ. In the process, i found this bug which i hope is fixed by now.

Exceptions

What's wrong with this code? I'm not talking about the indenting style or casing.

If you haven't figured it out by now, it's the catch block. It does nothing. So called "software developer" may understand exceptions, but they don't understand the purpose of catching exceptions.

Let's assume your code or the code you call throws an exception. You have 3 options. (1) handle it, (2) don't handle it, (3) catch it and rethrow an exception.

(1) Let's say you're asking for a person's age. If the user enters "1O" (that's an oh not a zero), this should throw an exception when you convert it to a number. More importantly, the way you handle it is by reprompting, maybe 3 times.

(2) You can outright ignore it. In this case you must declare that you may throw it in the function signature. This is perfectly acceptable. In software, where input is not person-generated, for example reading a CSV file from a client, it's best to let that exception trickle right up through main and out to the developer. This is assuming you don't have to close files or database connections. At least this way YOU KNOW, there is a problem with the data. You can then edit the CSV and repair it. Or if the data is correct you can correct your code.

(3) There are cases, when you are implementing an interface or extending a class, that you can't change the function signature. Eg. public void HttpServlet.doGet( HttpServletRequest request, HttpServletResponse response ) throws IOException, ServletException. What happens if a NumberFormatException NFE occurs in this function? You must catch it. You should also throw a new ServletException( NFE ). This constructor specifies that NFE is the cause of our servlet exception.

The worst thing to do is, catch the exception and do nothing about it. This will hide errors in your data or your code.

Back to our age example... After 3 times, you've done all you can do to get the age. What should happen after the 4th time? You should catch the NumberFormatException, and throw a new Exception( "User is dumb.", NFE ). Let your callee handle it.

Java on Debian

tags: Debian, WoW, Java

Would you believe my mom actually scolded me for not updating my blog!? But she's right, it's been a while.

3 weekends ago i wrote some code to find the shortest path between two points in WoW. 2 weekends ago i wrote some code to maximize profit given items in your bag and recipes you know.

Last weekend i tried to complete a paper i started about the routing algorithm. I started it at work using XML, XSLT, and Sun's JDK. However at home i prefer to use an open source Java compiler, like GCJ GIJ or Jikes and Kaffe.

Unfortunately they've both given me problems when running Apache's Xalan.

========= Parsing file:/home/brian/Workshop/Projects/RoutingAlg/xml2html.xsl ==========
XSL Error: pattern = 'node()'
Could not find function: node
 Remaining tokens: ( '(' ')'), style tree node: org.apache.xalan.xslt.ElemApplyTemplates@1094df00
XSL Error: Could not parse file:/home/brian/Workshop/Projects/RoutingAlg/xml2html.xsl document!
XSL Error: processStylesheet not successful!
XSLT: pattern = 'node()'
Could not find function: node
 Remaining tokens: ( '(' ')')
Xalan: was not successful.
XSLProcessor: done

This worked at work, so i'm not sure what the problem is. I was gonna trace Xalan, but can't seem to get the compilers to compile that.

So the state of OSS Java on Debian is sad.

project Gregorian Time

I just released a small project of mine under GPL. It's a Gregorian representation of time in Java. This projects approaches time from a new angle.

First, it separates generic units of time, like years, from specific years, like 1975. Secondly, it allows arithmetic of moments in this form. So there's no need to convert to UNIX time.

To create a moment in time first start with a year, then pick a month in that year, and a day in that month, etc. One benefit of modelling this way is you can add an arbitrary amount of precision.

Hard Drive Crash, Java

For those of you who don't know, my hard drive recently crashed... thus the new site. Believe you me, it's temporary. All in all, it's for the better. (What doesn't kill you, makes you stronger, right?) Sorry about all the broken links. I've got lots of plans for the weekend :)

(listening to some great electronica, Brian nods his head to the music)

I've decided to use Struts and soon you will see it here. I'm going all Java. This site will have portlets for the weather, top stories, forum highlights, and movie reviews. And don't worry the restaurant reviews will be back up.

Luckily i found a copy of the Leeds Corporation of Long Island website.