Win a copy of Securing DevOps this week in the Security forum!

Giovanni Montano

Ranch Hand
+ Follow
since Apr 29, 2014
Giovanni likes ...
Android Open BSD Slackware
Based in the Netherlands, I am Italian, this is not my real name, but similar.
Like Running, Bach, Plato, History, Football, Green tea, Statistics.

Android/Java/Python/Machine Learning
at the moment as an hobby
Cows and Likes
Total received
In last 30 days
Total given
Total received
Received in last 30 days
Total given
Given in last 30 days
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Giovanni Montano

WOW, welcome the author of "the book"!
Never found a great dev that did not reccomended me Effective Java
3 weeks ago

Jan de Boer wrote:Giovanni you sound like my management and that is not a compliment. (...) I am also living in the Netherlands by the way.

I know what you mean, if a manager speaks about multiculturality he or she means "äftrekken belasting"(deduct taxes)
If I well recall you work in Rotterdam, that is international but is not like Amsterdam, where I live.  Multinational's CEO are even not Dutch in Amsterdam, so the management. If you are a talent, and can benefit of 30% ruling(tax detraction) is a clear win-win, but there is a lot of space also for Dutch people. I like that. In the Netherlands companies can have some fiscal advantage, so all the company in the world come here, but also the company give job to whoever deserve it. I really love this country because of that.  Said that the best dev I met are usually Dutch,  i think this can come from  a cliche'the "Doe maar normal" philosophy ( act normal, that is already too much crazy to act normal), and i clearly see this, Dutch developers usually go immediately to the solution, and I learned a lot from that. Multiculturality is a great thing if you are in a smart environment. I do not work as a  real developer and still I am in a multicultural environment, but differently by the dev places people are much less  ehm.. smart.
2 months ago

Claude Moore wrote:Interesting question. My humble opinion is that no ANN or other deep learning algorithms are really needed to try to predict the outcome of a football match. What do you need, generally speaking, is a way to measure how much a football team is strong in a given moment of the championship, and, because I don't think that the ability to play football can be measured in absolute terms, you need a way to measure a team strength with respect to competitors. Somehow similar to ELO points used in chess. ELO points are based upon the concept that the more the difference of ELO points between two players is,  the more likely is that the player with higher ELO score will win the match. ELO score is adjusted after each match: you get an increment or a decrement of your score proportionally to the difference of your ELO and your opponent's, so that you won't get many points if you are strong and defeat a weak opponent, while you will loose more points if you are defeated by a weaker opponent.
Building an ELO-like score may be enough, and you may try to create such rating by a) assigning  to each team an initial score b) update for each team its score using the recent historical series of match outcomes.

I resolved the first one aspect using an exponential move average, the second point make sense what you say about ELO, an individual score, but also I can assign some weights depending  by the position, or even better bayes theorem to enquire about the state t+1 represented by a new match
While I was seeing the football this evening, I had a huge doubt, and started to panicking. So far in the ANN(artificial neural networks), Classification and regressions  I met as newbe consider some dependent variables, but not the time when they appear.

Let's say I want to predict next week who between Real Madrid and PSG will win the football match with an ANN, so that I have a dataset with all the matches won by the two teams. But since the physical shape of the two teams is really important, the last matches in time order are more representative than the one played long time ago( although I am going to use them)

I know that possibly this is a really complex model , but which K words i can find on the internet to understand which studies should I follow to reply to the next 2 questions?

1) How can I ponder the model so that more I go far in the time and less determinant is the result. I looked in the internet and cannot find nothing, There is a thing called Poisson distribution, but does not seems what I want to do, I was even thinking at a Markov Chain model

2)More important, how can I on the same time ponder/weight all the games the two teams play, basing my predictions with another weight, a coefficient of difficulty of every single match, on the base of the weekly ranking of the teams. Example I will consider more easy for the PSG  the game played with the last team in the ranking that week, than  the match they played against the first one. I could even make things worst, adding to my coefficient of difficulty also the number of goals they scored as a positive thing, and make this coefficient diminish if the number of goals conceded is low.
I know that smart people( for me devs are) are born in every part of the world.
I am Italian and there are a lot of really good devs, I live in the Netherlands, and I meet a lot of Dutch that are really gifted in coding.
Spanish, from all Africa, Serbian, Polish, Russian, Ukranian,Indian. American, English, Danish and so on, when I go to the meetups of devs, I met people from every part of the world, and does not matter where are you from, what will be an indication of your salary and/or respect from the others is your ability to solve problems and that's it, you can even be boring, humorous, rebel, modest, does not matter.

Is not that fantastic?
Code against racism

Is only my vision or is not like this?
2 months ago

Bear Bibeault wrote:

Peter Rooke wrote:I suspect the best work gets done, when people are working remotely from home away from the "managers".

I know this works for me. Last time I worked in a Google-esque "collaboration" room it was impossible to even think straight.

i guess i am used to work in conditions really challenging. Plus i have bose c25, that help a lot. What is interesting  that i read some scientifical research that working in a coffee bar increase the possibilities to be creative, the constant wuavauava of the people that speak is a mantra to concentrate
2 months ago

Jeanne Boyarsky wrote:Giovanni: Nice on the Google autocomplete! Yes, those would be reasonable reasons. Except that my resume is not online in the first place. This and this are the closest things that are. So it is clearly boilerplate and not that he was looking at my resume.

@Campbell, @Jeanne

I got it now your joke, fantastic indeed, what a conundrum

Actually makes perfectly sense now!  Recruiters use linkedin premium subscriptions. If I am looking for Senior Java I am going to make a search for tags java and you got 54 endorsement (maybe 55 if you accept my invitation), then you worked a trilion of eons in the field so the  years of experience result from their algorithms, that make enough to see you as a candidate. So they open your profile,
and see a lot of certifications, recommendations, usually they take 30 second(seriously) at that point you get the point of pre screening, that means
if you are going to send me the real CV( since you do not have bullet points) then I am starting to consider you seriously, that means 4-5 min reading your CV,
and then I will ask you a phone call.

It is clear, and I will not be surprised you will get again the CV request.

I am not a real dev, but a wannabe, and recruiters never call me, as soon as I asked to my friends to give to me  Android endorsements, and
I wrote that i am an independent dev in the title, publishing my stackoverflow profile, i received in 2 months 15 recruiters mails asking me my CV, then when I say them that I do not have experience they just do not reply anymore.
Differently by you I wrote a lot also the size of the shoes of my second dog passed away 10 years ago.
And still... they are asking me my CV.... So makes sense.
Recruiters are just human brokers. They look for the match and do not think one second they could bother you or not.
They just spam, and play the number game.
I think really soon with machine learning recruiters will disappear and companies will match you directly.
At the moment you cannot avoid them,  a tip: what my friends do is just to put in their profile that are not interested in recruiters and will not reply to the emails.

2 months ago

Campbell Ritchie wrote:Requiring a laundry list is sexist, so that is discriminatory too.

And I was using Java® long before half past seven.

I will do the devils advocate. Just because we are devs and love logic.

As you maybe know see in the automatic completion system in Google what happens  if your write the string: recruiters are
So we are all on the same page  Sometimes they can be really fastidious, a friend of mine put the pokemons into his CV to not be bothered, and also instead of Data analyst, shoes analyst. Well has been contacted by a Chinese company leader for shoes that was looking for an analyst!

Outside from that
1)A linkedin  CV could not be updated.(or a monster one, or whatever is online)
2) The recruiter could add the last raw as a template, because they do not customize too much their request usually due to the amount of candidates they contact
3) An online resume' could be lacking several technical subskills, projects both for confidential or marketing reasons. One does not want always to show a comprehensive list of your own tasks, but often some bullet points. In that case the recruiter could have written an updated CV, but I  am not sure  about the correlation between IQ and recruiters.
4) Also in my company(corporation with dedicated HR 50+ people resources) when one asks for advancement to apply internally they immediately ask for a new CV, as a CV needs also to be a minimum tailored to the position you are looking into.
2 months ago
I have three strategies both for coding and reading documentation

first the preparation:
sipping green tea, listening Bach or Miles Davis
getting the high of a nice running session, gentle depending  how I am in shape

1) taking some rest as Bear Bibeault every time my body needs it (never stuck on a bug too much)
2) living the now
3) remembering to my self that I am doing what I love:coding
2 months ago
AKA what is your strategy to go in the flow while coding.
2 months ago

Piet Souris wrote:There's a lot more to say about what distributions you prefer. First of all, it is a little unfair to compare distributions if the means are different. But if means are different, then it is likely that the price you pay for this higher mean is also higher. Then what about your 'risk appetite': how much risk are you prepared to take? For companies having their shares at the stock exchange, they prefer stable results, so with little variance.
And if you could choose between two lotteries: one that pays out twice the price with 50% change, or pays nothing when you loose, or one that pays 6 in case of  a win, or 4 in case of a loss, 50 % again, what would you do if in the first case loosing means having to walk home? And maybe that right one armed bandit is much more expensive? Et cetera. One just gotta love statistics 

Statistics is magic, is an occult way humans foreseen events.
If you like Plato, Pythagoras then has an even deeper dimension. And then you can play with code all around. And plus is a really hot skill to have today.
Other advantage? I am becoming much more skilled in  Java studying all this mathematics, and also machine learning goes trough a lot of funny algorithms, that usually a dev does not see during his daily tasks.

The negative side is that I find Python not too much elegant, so Spyder my present IDE misses a lot of magic autocomplete features. (I know that Campbell Ritchie that moderates this form could not like this affirmation ). After all is a language made in one week end if I well recall.
Well lottery and stock exchange are not just numbers but really introverted strong emotions, like a chess game with time, the same in my sector where I examine credit risks.

Anyway now I am building on top of this distribution seeing how to translate in code this algorithm to create an Upper confidence Bound, really fascinating, but still has a learning curve quite steep(fortunately I follow the course on line with the solution)

(if the image does not work just click

I got it, the right one is good, because a left skewed distro make sense because the possibility of failure are lower. The area is smaller.
I am studying machine learning,  I went trough this graph while studying Upper Confidence Bound, that is at base of the so called "reinforcement learning"

I remember what are distributions, mean, median mode, from my university statistics studies, but the author, says that given five slot machines with these distributions, the number 5 is good, as it is left skewed and has as consequence favorable mean, mode and median. Also he states that also the 4th should be good. Of course for good he means the probabilities I would have to win money from them. Why 5 distribution is best and why the 4th is also acceptable.

With common sense I would say that bigger is the area "expecially on top" better the distribution is. Which basic concept I am missing?

EDIT: the author of the course says:

"Each one of the machines has a distribution out of which the machine picks results, randoms pulling the arm of the machine. The one on the right is the best machine because has the best outcome as the highest mean, median and mode."

In the comments is written: Then in the comments of the course I tooks people say: the reason you are chosing the orange(yellowish) one is these graphs are Probability Distributions and therefore by definition they range between 0 and 1

And the reason we want ORANGE is because the MEAN of this probability distribution is LEANING to the RIGHT and hence a higher number in the range of 0 to 1

here 0 is 0% and 1 is 100% in terms of probability distributions.

And the tutor said, yes you are right.

Giovanni Montano wrote:

Stephan van Hulst wrote:

The only problem with your architecture is that you are bringing <Modeldata> generic type in the repository

Why is that a problem? It's the solution to your problem. Your repository classes are responsible for transforming all the different formats of your backing services to one format that contains the information that your views require. No need for your views to perform one kind of logic for a BezinningModel and another kind of logic for a BezinningDb. They only have to take data from one class that YOU control.

With some regret I do not get what is the solution, naturally I agree with you that my view just getPosts but maybe i did not explain good, I want separation of the business logic from the view of course, my problem logically formulated is this

I changed the name of the methods with more clean code procedures, please if possible remain the post in the  Java forum, because is really a Java thing, no need any Android help.
thank you again


basically instead of Flowable<WhateverParameter>, I could put Flowable.
The complication come as I am using Kotlin as well and in some part I had to write Flowable<Any>, that I guess is like Flowable<T> or Flowable<?>

thank you very much for your help, was definitely your indication that I do not need the two different parameters that helped me to experiment!

by the way in the ViewModel I needed to declare the callback, because I am using RXJava2, so I needed to use Flowable<Any> that I guess is the equivalent of Flowable<?> or T in Java
4 months ago