All posts by Deleted User

Special user account.

SomeJam 2014 – HateSpeech detector

Software development team members

Martin Radev

Describe your software concept shortyly:

To develop a tool that recognises hate speech based on a cumulative database of hate speech cases. The database will contain cases of different kinds of hate speech (e.g. hatred based on ethnic background, sexual orientation or gender identity, religion or disability). The more the programme knows, the better it recognises new cases.

hate

What became your solution architecture?

Java for the socket server. PHP for connection between http server and socket server. JavaScript for the connection between the website and the http server. MySQL for storing the training examples. For recognizing the topic of the text it was used a text-mining library and most accurately the LSA algorithm.

Are you satisfied with the architectural choices your group made for the software?

No, because there were issues getting jsp working locally. We had to go with the java app to listen on a socket and receive the data via the latter. Then, we had to send the post requests from the website to a php script and then send the data to the main program via a socket connection. The initial idea was to make it as a standard webapp and deploy it to heroku.

Team Getogether

IMG_20140316_242333377.jpg

Description:

Just moved to a new city and don’t know anybody? Or are you feeling lonely in company cause none of your friends really get your passion for My Little Ponies? No matter what your interest are, there are people with the same passion out there. FIHMY will help you to find these new friends! The web service is super easy to use, also with mobile devices. With just a few clics you are able to mark your interests and see how many registered users are interested about the same things in your area. Then you can jump in the events organized by other users around an interest. Or you can set a date and invite eg. other local My Little Pony fans to meet you. When you meet face-to-face, you will all know that you have something to babble, rally or gossip about. And that, dear folks, could be a start of a beautiful friendship.

Link to the presentation: http://www.youtube.com/watch?v=RIq08aVHtlc

Technical:

Back-end: NodeJs + ExpressJs + MongoDB

Font-end: AngularJs

The back-end solution worked well, NodeJs allowing for quick and dirty solutions to be made which sped up the production.

The front-end was a learning process… The only experienced AngularJs developer in the team had to leave and the two others had to wrangle with it the rest of the project. But it worked quite well in the end. AngularJs is like magic, with its automatic dependecy injections and two-way data binding. What made the AngularJs development process easier was the desicion to use a Yeoman generator for the project. It allowed us to ignore many aspects of how AngularJs works, and concentrate on the essentials.

 Advice

  • Keep it Simple, Stupid (KISS). Kill features, kill some more features and then cut the features in half.
  • Do not think about code quality. Just hack it together and get things done. It doesn’t matter if the server crashes when the client gives the wrong data, as long as it works during the demo.

 

 

On Grails and rapid prototyping

On SomeJam, we were supposed to develop a rapid prototype a platform where users are able to participate in events, and browse them. In this blogpost, I will focus on what we experienced when we wrote our prototype using the web application framework grails.

Why grails? Since everybody in the group already knew java – and groovy is a language which is easy to learn for java developers, we were all okay with the programming language itself. Furthermore, I already had some experience developing an application with this framework, and I knew it really increases productivity.

Once we had defined our relational data model, we used grails scaffolding capabilities to generate an admin menu, and were then able to push a first version of this code to github, so that everybody was able at the same time to develop a different part of the application. The MVC pattern allowed us to separate the project into a few modules, and each of our group was then working on a different module.

The disadvantage of this framework is that the dependency handling might cause some troubles, especially if 2 incompatible versions of the same software are to be loaded by the same time, then you have to fix this issue by yourself. Also, it requires quite a bit of memory, so you should have at least 4 gigabyte, better 8gb or more memory.

All in all, I can highly suggest to give grails a try, especially when rapid protyping an application or developing an application for a commercial context – scaffolding, great testing capabilities and a great integration of existing java code allow a fast and reliable development cycle.

 

Text written by a participant that wishes to remain anonymous 🙂