Tag: maxant

Building a Webmail Solution on top of Apache James Mail Server

Part of maxant's offering to small businesses is email hosting. As well as standard POP3/SMTP access, maxant offers webmail access. A quick search on the web shows that there are several open source webmail solutions available. The problem with all of them is that they communicate with the email server through the SMTP protocol. For example, if you wish to preview a list of emails, the web application needs to access the email server and ask for details of each email (while leaving them on the email server, so they can be downloaded at a later time via POP3). Reading all the emails is inefficient and the larger the number of emails in your inbox, the longer it takes to just see a list of emails. The solution built by maxant is based on the Java Mail API from Sun. This API lets you access individual emails in your inbox using an ID. But Apache James Mail Server (James for short) doesn't maintain the index, if a new mail is put in the inbox, so if you have a list of all emails and decide to access one, and in the mean time you have received email, the chances are that you won't be able to read that email! The next problem is how to deal with keeping a copy of sent emails for your "sent items" folder. If you just use the Java Mail API, the only solution for getting a mail into your email server so that it…

Read more

Blog Piracy…

The internet never ceases to amaze me... For it appears someone at ease with a cyrillic language is copying my blog word for word:     http://rational_software_architect.softblog.biz/category/work/page/2/ I guess I shall take it as a compliment. I also guess they are just an RSS subscriber and their blog gets updated automatically, so perhaps all of my future postings will have copyright notices in them :-( So, this posting is Copyright 2008, Ant Kutschera! UPDATE: Excellent - I see the site has been taken down! I wonder if its because of the email I sent to their provider, or because they just got bored? Probably the latter :-( If you notice that the site is ever up again, please post a comment below to inform me. Thanks!

Read more

The decline of dinos

No, not a report about the death of dinosaurs many millions of years ago, nor a report about how in fact many dinosaurs didn't die out, but rather evolved into birds... Rather, this blog entry is about dinos which is a Facebook Application written by maxant. Basically, you get a virtual dinosaur which you need to feed. It can also fight or flirt with the dinosaurs of your friends, which directly affects its health. The idea is to keep your dino alive as long as possible. There were several goals in developing it. First of all it was an experiment to see how the Facebook API worked. Second, it was to see how much faster a Facebook application would grow, compared to a normal website, because Facebook gives you  "free website advertising" in terms of being able to invite friends to play your game/application. As such it is a type of viral marketing. The aim is to give it enough momentum that its growth will become exponential. At a minimum, growth should be linear shouldn't it? Well, right from the start, Google Analytics were used to track site traffic. Below are some graphs showing this traffic. The general trend is slow but certain death, much like most original dinosaurs, all those years ago. The point of this blog is not to show that maxant is good at making crap games. Generally speaking Facebook application installations are falling fast, as the novelty wears off. The result is less new people playing…

Read more

Image Encryption

Problem The trouble with encrypting documents is that its quite obvious that they have been encrypted which makes people want to decrypt them. So what about some kind of sexy algorithm that encodes a message within a picture? If the picture only gets slightly changed, then no one will ever realise it contains a secret message, since it looks to all intents and purposes like its a genuine picture. Analysis So, an evenings hacking later and I've come up with an algorithm that does it. The program takes an image file (gif, jpeg, etc) and outputs a bitmap (it cannot be output to a format that compresses with loss like JPEG, otherwise its not possible to decrypt the message since what gets saved is saved with bits lost). Here is an example of a red image that has been modified to contain a message: OK, if you look close (see below which is zoomed in) you can see the modified dots. But its just an example. So here is a photo that has been modified to contain a different secret message: Again, without zooming in, its hard to see the changes. Below is a zoomed in version. You can see the changes as speckled dots. The algorithm has been tuned to try and match the changes to the pixels around the changed pixel. If the surrounding area is blue, the change will be blue, whereas if the area around the change is red, the result will be a red pixel.…

Read more

Login doesn’t appear to work?

I've come across the following problem in IE7 in several products which I initially commented on at the MVN Forum forum (incidentally MVN Forum is a great open source Java Web Forum). Here is a copy: First, thanks for MVNForum - I've used it before, and I have now come back 4 years later to use it again. Its perfect for an all Java platform! But I have a strange bug, which I have figured out. For some reason, with IE7, Tomcat 5.5.9 (and later), MySQL 4.1.x, I find that with IE7 only (not Firefox), it is putting the jsessionid into the URL instead of using a cookie. I have tried changing all the settings in MVN as well as in IE, but it still uses URL rewriting when using my site, even though the cookies work perfect on this forum... I can't figure that bit out... Anyway, I debugged into MVNForum to see what was going on, and I noticed that after one enters their login details, it sends a redirect. In this redirect, the "redirect-to URL", does not contain the jsessionid, and so a new session is started. That means users cannot then do admin, or whatever, depending on user permissions, because the server thinks its a new session and wants them to authenticate again. I used the debugger and on line 426 of com.mvnforum.user.UserModuleProcessor (right at the bottom of the process(HttpServletRequest, HttpServletResponse) method), I modified the value of the responseURI in the JVM, to include ";jsessionid=XXX" where…

Read more

manager

manager is the name I have given to my new project management tool. Think Gantt chart. Think Microsoft Project. Then think the real world. Team members have different charge profiles - rates can change during projects. Team members can only provide given effort if they are partially assigned to other projects. Updating plans is largely manual, and tracking of hours spent takes a lot of the project managers time. Once underway, the plan becomes a reality, and things quickly change. The manager is continuously replanning, which is rather an administrative task. He wants to be managing, not administrating. According to Prince 2, a project management methodology, the job of the project manager is to identify and then manage problems. He does so using thresholds. When a given threshold like overall cost, steps over a boundary, he alerts the next level and together they manage the problem, be it with added resources, reduced scope, increased budget, etc. Getting information on when thresholds are over stepped, is again largely a manual and administrative job. In fact project cost analysis is also largely manual, and playing with scenarios, like removal of a feature (a set of related tasks) is largely theoretical, because without the right tools, it cannot take things like team members effort profiles, or holidays into account. Wouldn't it be great if there was a tool that took all this administrative stuff away from the manager, automated it, and just alerted him when there were problems? Well... now there is one.…

Read more

Sudoku Challenges

Anyone into Sudoku? Personally, I don't get on well with the normal Sudoku, but at http://sudoku.maxant.co.uk there are lots of different puzzle sizes (e.g. 2x2 and 2x3 which are dead quick to play) - and it records your times so you can challenge your mates too. So - can anyone beat 1 minute 36 seconds for this one? http://sudoku.maxant.co.uk/index.jsp?puzzleUID=114  

Read more