Le problematiche di riapprovigionamento - Parte II

E-mail Print PDF

Marco-PancottiCon questo Post prosegue la serie di articoli dedicati all'esame delle problematiche presenti in un contesto Retail legate all'approvigionamento dei punti vendita. L'autore si è occupato del problema in diverse aziende utilizzando svariate soluzioni software.

In questo articolo esaminiamo il primo degli elementi che deve caratterizzare un sistema di replenishment per il Retail.

Si tratta del sistema di definizione di ampiezza e profondità di assortimento da cui ogni meccanismo deve partire. In apparenza si tratta di un problema semplice. Basta definire e memorizzare le quantità che devono essere presenti in ogni negozio di ogni articolo.

Già, ma come fare se gli articoli sono diverse migliaia e i negozi centinaia? I numeri da definire possono diventare rapidamente diversi milioni.

Inoltre, cosa si intende veramente per quantità? Quantità minima? Quantità media? Quantità massima? Quantità di facing?

La risposta a queste domande passa dal concetto di Clustering.

Last Updated on Sunday, 24 July 2011 12:36 Read more...

Android - daily activations

E-mail Print PDF

Andy Rubin, creator of Android, now at the service of Google, has announced that Android activations have reached 500,000 devices a day. The activations are growing 4% a week. As a matter of fact, in May, less than two months ago, Google announced to have reached 400,000 activations a day.

Just to give an idea, IPhone has an average of 66,000 activations a day, 5.8 million activations from January to March. It is a well-known fact that the surpass occurred a long time ago. However the gap is growing ever more rapidly and this was not easy to foresee given the high quality of the Apple product and its "role" as a "status symbol" item.

Last Updated on Wednesday, 29 June 2011 13:52

Parliamo di EDI - Electronic Data Interchange - Parte I

E-mail Print PDF

luca-buraggi

L'autore ha collaborato nel corso di numerosi anni al progetto di sistemi per il processo EDI per la maggior catena di vendita di Ottica e Lenti del panorama italiano, occupandosi in particolare del progetto del software di processo.

Parlare di EDI oggi non significa certamente trattare un argomento nuovo, al contrario. E tuttavia ci sono degli aspetti del problema che per la loro criticità meritano alcune riflessioni di approfondimento.

Alcuni di questi fattori, in base alla nostra esperienza maturata nel corso degli anni, sono spesso sottovalutati nell'impianto di un progettto EDI, e contribuiscono ad aumentarne le voci di rischio. Se non affrontati e risolti nel modo corretto, questi problemi si fossilizzano nel sistema una volta a regime, determinando costi nascosti, di entità non sempre trascurabile.

Last Updated on Saturday, 02 July 2011 09:55 Read more...

Why Scala

E-mail Print PDF

The author has a more than decennial experience as Java developer, but also strong interests for the functional programming, mostly in Scala, and the development of Domain Specific Languages. By leveraging these two passions he also created the open source library Hammurabi, a rule engine written in Scala providing an internal DSL to write its rules.

MarioFuscoAlmost 3 years ago I discovered the Scala language and that was the first time after a dozen years of Java programming that I felt it worth to move on and start learning a new language. Since then I also started trying (with alternate luck) to convince my friends and colleagues of the beauty of Scala, showing them how elegantly it allows to mix 2 apparently antithetical paradigms like OOP and FP, resulting in very concise though readable code. I also tried to "take them while they're young" so I gave an introductory Scala course in a couple of universities in North Italy, where I live. But only now I am realizing that, if my purpose was to promote the spreading of this wonderful language, I was speaking to the wrong audience: the first people who I and the other Scala fan should convince are actually the ones who put the money in this enormous Luna Park that somebody still calls Information Technology.  So this post is intended to be read mostly by entrepreneurs and this is my brief list of the reasons why adopting Scala as your main programming language makes a lot of sense especially under a business point of view:

Less code => less time => less money

In my experience as a Scala developer I found that in average a given piece of Scala code is about 3 times shorter than the equivalent Java one. Indeed it allows to cut down all the unnecessary verbosity typical of Java, so programmers can concentrate only on the development of the business-logic of their problems. If you see a line of code as the atomic building block of your (software) product this sentence should have the same impact as the possibility for a car manufacturer to adopt a new technology allowing him to build a given car with only 1,000 components instead of the usual 3,000 ones. In other words, by using Scala, your development team has to design, write, test, debug, refactor and maintain only one third of the code. Don't you already see a big ROI in it? In this sense I believe that moving from Java to Scala has a similar effect of moving from C/C++ to Java 15 years ago: it reduces, in some cases dramatically, the time you spend to develop and maintain your software and therefore also the money it costs you. And as your project gets bigger, the saving are just piling up more.

Faster time to market

This is a direct consequence of what I wrote above: reducing the time you spend in developing your product also gives you the possibility to ship it faster. You will hit the market earlier than your competitors and I don't think I should explain to an entrepreneur which advantages that could bring.

Make business analysts and developers speaking the same language

One of the biggest cause of failures in many IT projects are frequent misunderstandings between business analysts and developers. Some of the features of Scala have been explicitly added with the purpose of making the code very readable. That makes Scala particularly suitable for implementing DSL, namely Domain Specific Languages designed to express the business rules with the same jargon of the domain they are intended to model. By using this technique the developers can encode the business rules in a way that allows also the analysts to understand and validate them while reading them directly from the code, and so reducing the possibility of incomprehensions between who defines the requirements and who is asked to put them in code.

100% Java compatible

Scala programs are compiled with the same bytecode and run in the same Virtual Machine of your traditional Java ones. It means that Scala is fully interoperable with Java and that allows you to reuse your Java components and all the amazing Java libraries and framework you are used to employ in your day by day work without any effort. You will not need to rewrite any of your existing Java software and then you will not lost anything of your former investments, or you could decide to gradually migrate even all or part of them to Scala only if you find that this is opportune for the specific project you are working on.


MarioFuscoHire smarter people

I know this can be a controversial point, and Java programmers will hate me for that, but I decided to add it the same because, like all other points in this list, it is part of my day by day experience as both Java and Scala developer. First all who decides to learn a new language (not necessarily Scala), instead of stuck with the same one for all his professional life, is more open-minded, keen to its work and eager to experiment new ideas and technologies. Moreover, as I already wrote, Scala joins both the object-oriented and functional programming worlds so who is able to work effectively in Scala is also able to master these two paradigms and take the best from both of them. Indeed in Scala there are often many ways to do the same thing and look for the solution that best fit the problem you are working on helps you to sharp your reasoning and programming skills. For these reasons I think that a human resource manager can use the knowledge of Scala as a filter that helps him to select the smartest candidates.


An awesome community

In general this is another important thing that a manager should consider every time he evaluates if it is the case to adopt a new technology. Having a community of passionate people who can help you with the problems you and your team face in the every day working life is truly essential since it allows you to save lot of efforts, time and money. The Scala community is almost unbeatable in that: in my professional life I have never found so many clever yet humble developers who are glad to help to solve as responsively as possible any technical issue you may encounter. The same community is constantly at work to develop and improve a huge numbers of free and open source libraries, frameworks and tools that can further simplify and speed up the work of your team.


Enterprise-level stack of products and services

Scala is no longer in the phase when only a small pioneeristic group of early adopters is experimenting with it. The birth of company like Typesafe, founded by Martin Odersky, the inventor of the Scala language, allows to have enterprise-grade services together with products of the same level. In this last category particularly shines Akka, a framework created by Jonas Boner, providing a huge set of tools and solutions aimed to make parallel programming easier and more effective. The availability of such a set of rock-solid technologies allowed not only the new generation of web companies like Twitter, LinkedIn and Foursquare to work effectively with it, but also convinced companies involved in more traditional businesses to migrate to Scala. Just to give a few examples, EDF, the biggest european energy company, and international banks as big as UBS and Credit Suisse have already moved to Scala. And if Scala is solid enough for mission critical applications like the one needed by the NASA, that is another of the enthusiastic Scala adopter, maybe you could find that it is good enough also for your business.

Last Updated on Sunday, 10 July 2011 12:15

LambdaJ

E-mail Print PDF

The author has a more than decennial experience as Java developer having been involved in (and often leading) many enterprise level successful projects in several industries ranging from media companies to the financial sector. He also created the open source library lambdaj with the purposes of providing an internal Java DSL for manipulating collections and allowing a bit of functional programming in Java.

MarioFuscoLambdaj is a Java library that allows to manipulate java collections in a functional and declarative way and then without writing any explicit loop.

Indeed to iterate over collection, especially in nested and conditional loops, is often error prone, makes the code less readable and increases its cyclomatic complexity. The purpose of this library is to alleviate these problems employing some functional programming techniques but without losing the static typing of Java.

This last constraint has been enforced in order to make refactoring easier and safer and allow the compiler to make all the necessary type checks.

Click here to go to the project site.

Last Updated on Wednesday, 22 June 2011 09:52
You are here: Blog

Xsec Division

Xsec is the division of Mate dedicated to the support of the Open Source technologies used in some specific basic business applications as the eMail, the monitoring of complex networks, the automatic backup, the office applications and the coworking frameworks.

+ Read more ..

Talking about future

Marco Pancotti, Mate CEO, takes care of  his own WEB Blog focused on forefront technologies like artificial intelligence, nano and biotechnology  by a socio-economic point of view (in italian language) ...

+ Read Blog

MongoDb

MongoDb is one of the most interesting NoSql database available. Mate is experimenting its features in applications where it is necessary to avoid the usual relational technology in favour of an architecture oriented toward high transactional load Web applications.

+ Read more ..

License

The contents of this Web Site are subject to the CreativeCommons 2.5 by-nc-nd.licence.

You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License.

Contact

Mate s.r.l.
via Cavalcanti, 5
20127 Milano (IT) 

  • Tel: (+39) 02 8361416
  • Fax: (+39) 02 8361416
  • Email: info@mate.it
  • P.Iva: 08323380157