lunedì 25 novembre 2013

C# - How to set the Mail From Envelope

When you send an email using System.Net.Mail you can set the field FROM but you can not set the SMTP MAIL FROM envelope. It is possible to set that value just using the MailMessage.Sender property. Here it is the code:

using (MailMessage mailMsg = new MailMessage())
{
    mailMsg.Subject = "Hello There";
    mailMsg.Body = "This is a test.";
    mailMsg.To.Add(new MailAddress("xxxxx@gmail.com"));
    mailMsg.ReplyToList.Add("replyhere@gmail.com");
    mailMsg.From = new MailAddress("me@gmail.com", "Alessandro");
    mailMsg.Sender = new MailAddress("somereturnpath@example.co.uk");
    SmtpClient client = new SmtpClient
    {
        Host = "localhost",
        DeliveryMethod = SmtpDeliveryMethod.Network
    };
 
    client.Send(mailMsg);
}

It is important to set the DeliveryMethode to "Network" in order to let the system to set the MAIL FROM envelope from the sender.

And here is the proof:




lunedì 8 luglio 2013

Pension scheme: la pensione nel Regno Unito

Lo so che magari avete appena iniziato a lavorare ma se avete programmato un futuro a lungo termine nel Regno Unito, sarebbe anche il caso di iniziare a pensare alla pensione.
Partiamo dalla pensione di stato: vi vengono detratte delle tasse dallo stipendio e parte di queste serviranno a pagare la vostra pensione. Attualmente lo stato paga £110.15 a settimana. Insomma poco piu di 400 pound al mese, un po' pochine per poter pensare di vivere in tranquillita'!




Occorre quindi che iniziate a pensare a uno schema pensionistico privato! In questo caso parliamo di un "pot" dove voi, il vostro datore di lavoro e lo stato versate una piccola quota ogni mese e che andra' a formare la vostra pensione quando deciderete  sia il caso di ritirarvi dalla vita lavorativa. Ovviamente il tutto esentasse.




Esistono diversi tipi di pensioni private. Il concetto di base rimane lo stesso ma quello che cambia e' il modo in cui i soldi "messi da parte" sono investiti. 

- Standard pension: con questo tipo di pensione il lavoratore e il datore di lavoro versano una cifra mensilmente nel pot e i soldi sono investiti da una "pension company" fino all'eta' di pensionamento
- Stakeholder pension: simile alla pensione standard ma ha condizioni piu' flessibili. La contribuzione minima e' minore, costi minori e scelte di investimento gia' definite cosi il lavoratore non ha bisogno di decidere dove investire i soldi.
- Self-invested personal pensions (Sipps): alternativa alla stakeholder pension. In questo caso potete decidere voi dove investire i vostri soldi. Ci sono servizi finanziari che vi permettono di investire i vostri soldi in aziende come Apple, Amazon ecc. Ovviamente il tutto a vostro rischio e pericolo. Probabilmente investendo pochi soldi in moltissime aziende si dovrebbero quasi azzerare i rischi garantendo un minimo di guadagno.

Ecco qui una tabella riassuntiva (fonte):
PensionCan you contribute?Can your employer contribute?Do you invest the cash?
Standard pensionYesYesYes
Stakeholder pensionYesYesYes
SippYesYesYes
Final salaryYesYesNo
State pensionYes, by paying national insuranceNoNo

Io non ho ancora deciso quale schema scegliere ma dovro' farlo presto. Inoltre vi invito a prendere tutte le informazioni che trovate  in retecon le pinze e rivolgervi sempre a qualcuno che ha esperienza nel campo perche' con la pensione non si scherza!

giovedì 4 luglio 2013

Json.Net

JSON e' diventato uno standard molto diffuso nell'ambito delle web application e sta pian piano sostituendo XML come standard per lo scambio di dati in ambito web. Per chi come me lavora con C#, trovera' molto utile la libreria Json.Net. Questa libreria permette la serializzazione e deserializzazione di oggetti JSON in maniera veloce ed intuitiva.
Come mostrato nella figura 1, le performance sono sicuramente un punto di forza di questa libreria.



Diamo ora uno sgurado piu da vicino al codice. Supponiamo di ricevere la seguente stringa e di voler estrarre i dati contenuti al suo interno:

{
    "global": {
        "TITLE": "global TITLE",
        "FIRSTNAME": "global FIRSTNAME",
        "LASTNAME": "global LASTNAME",
        "USERNAME": "global USERNAME",
        "COMPANYNAME": "global COMPANYNAME"
    }
}

Ecco il codice C#:

using Newtonsoft.Json.Linq;
namespace Test
{
      public class SavePlaceholder : Entity
     {
             public virtual IList<string> Placeholders { get; set; }
             public virtual void savePlaceholders(string json)
            {
                 this.Placeholders = new List<string>();
                 JObject jObject = JObject.Parse(json);
                 foreach (var item in jObject)
                {
                      foreach (JProperty token in item.Value)
                      {
                           var placeholder = token.Name;
                          Placeholders.Add(placeholder);
                      }
                }
           }
       }
}

Il metodo parse della classe JObject ci permette di leggere la stringa in formato JSON e serializzarla in un oggetto. Scorrendo i diversi item che formano jObject, per ogni item andiamo ad estrarre le diverse proprieta' e successivamente salviamo per ogni coppia chiave-valore soltanto la chiave. In alternativa usando token.Value avremmo potuto estrarre il valore della proprieta'. Il risultato e' la seguente lista:

TITLE
FIRSTNAME
LASTNAME
USERNAME
COMPANYNAME

Per una documentazione dettagliata e maggiori esempi vi rimando al sito ufficiale.

mercoledì 3 luglio 2013

Regex per numeri telefonici in python

Qualche giorno fa mi sono imbattuto in un problema abbastanza comune quando si lavora con python e i "regex". Prima di tutto: cos'e' un regex? Regex sta per regular expression e serve ad individuare uno specifico pattern nel testo (cifre, indirizzo email, codice postale). Per una lettura approfondita vi rimando a wikipedia.
Il mio problema era molto semplice: data la descrizione di un annuncio per proprieta' mobiliari, dovevo creare un regex in python per eliminare i numeri telefonici dalla descrizione.
Ecco qui la soluzione:

re.sub(r'(\d\.?\s*){8,}', '------', content )

Breve spiegazione: il metodo sub della libreria re sostituisce tutte le occorrenze di una stringa con un altra stringa all'interno di un testo.La stringa "\d" identifica una qualsiasi cifra decimale; il ? ci dice che l'espressione precedente puo' apparire 0 o 1 volte (in questo caso l'espressione precedente e' un punto); la stringa"\s" identifica un qualsiasi whitespace, cioe' un semplice spazio, e l'asterisco indica che l'espressione precedente puo' essere ripetuta n volte; infine {8,} ci dice che il nostro regex dovra' trovare la struttura precedentemente specificata almeno 8 volte (cioe' il codice definito tra parentesi tonde).
Riassumendo il nostro regex "matchera'" tutte quelle stringhe che contengono una cifra da 0 a 9 seguita o non seguita da un punto e seguita da 0 o piu' spazi bianchi. Il tutto ripetuto per 8 volte. Quindi il nostro regex trovera' un numero telefonico del tipo "07592345678" oppure "02.45.67.78" ma non sostituira' una stringa del tipo "10.000" che potrebbe essere un importo.

Per ulteriori informazioni vi rimando alla documentazione ufficiale di python per le espressioni regolari.

domenica 9 giugno 2013

Tra Regno Unito e Germania quei paesi dove trovi posto

...C'è infine anche spazio per gli informatici. Nel Regno Unito, sempre a maggio 2013, i selezionatori delle imprese hanno messo a disposizione 27.290 posti. In Germania, in questo settore, le richieste arrivavano a 11.300 figure mentre in Belgio si è arrivati a 2.500 posti.

Ecco l'articolo originale.

giovedì 6 giugno 2013

Italiani a Londra - Sono uno sviluppatore software..

Mia breve intervista su Londra news. Link originale qui

Da quanto tempo sei in UK e come ti trovi?
Mi sono trasferito in un freddo Febbraio 2012. A parte le classiche condizioni climatiche che a volte ti mettono tristezza, per il resto sto davvero bene.
Che tipo di lavoro fai e come l’hai trovato?
Sono uno sviluppatore software per una piccola azienda di Londra con ufficio nella centrale Barbican. L’ho trovato su gumtree dopo una ricerca durata 8 mesi. Ho fatto altri lavori nel frattempo (montavo computer da zero i primi mesi lavoravo per EAT servendo i clienti alle casse o facendo panini).
Foto: LicenseAttributionShare Alike Some rights reserved by fsse8info
Secondo te quali sono i principali lati negativi di Londra/UK?
Il clima in assoluto. Non vedo l’ora di andare in vacanza questa estate in sardegna e stare tutto il giorno al sole! E ovviamente i costi di affitti e trasporti!
E quali sono i lati positivi?
Tutto il resto ovviamente! Salari migliori, persone piu’ aperte mentalmente, diverse culture che si fondono, maggior senso civico delle persone, innovazione in tutto, possibilita’ di crescite professionali infinite e molto altro
Se dovessi rifare tutto verresti ancora a Londra/UK?
Assolutamente senza dubbio si.
Ritorneresti in Italia?
Sono tornato a Foggia, mia citta’ natale, per le feste pasquali. La situazione in generale sta peggiorando al sud ma non solo. Disoccupazione alle stelle, negozi che chiudono uno dopo l’altro, citta’ lasciate allo sbaraglio per mancanza di fondi. No non penso di tornare se non per magari godermi la vecchiaia in qualche posto di mare.
Che consigli daresti a chi sta pensando di trasferirsi a Londra/UK?
Di informarsi tanto(ho pubblicato alcune info sul mio blog). Di avere un bel po’ di soldi almeno all’inzio e di armarsi di tanta forza di volonta’. Londra da’ sempre un opportunita’ a tutti!


venerdì 24 maggio 2013

Voglio fare l'informatico (o qualsiasi altro lavoro) a Londra (o in Uk)! Part 3

Good. Sembrerebbe che abbiate ottenuto un colloquio. Bravi! Evidentemente il vostro curriculum sembra rilevante per la posizione aperta presso quella azienda. Di solito se l'offerta e' per un graduate (cioe' una persona laureata da meno di un anno e senza esperienza) non e' richiesta nessuna esperienza lavorativa ma conteranno molto i vostri progetti personali.
Solitamente il primo colloquio e' telefonico. Si tratta di una conversazione informale per sapere di piu' su di voi, accompagnata quasi sempre da domande tecniche. Ma quali domande?



 Di solito dipendono dal ruolo. Se cercano uno sviluppatore java ovviamente le domande saranno incentrate su quel linguaggio. In quel caso basta fare una ricerca su google del tipo "java interview questions and answers" per essere preparati. In altri casi si tratta di domande davvero banali per capire se siete capaci di risolvere problemi di tipo generale. Potrebbere essere una domanda del tipo: "Spiegami come implementeresti un programma che debba stampare la tabellina del 7". E voi a spiegare a voce il codice che avreste usato in quel caso...
Se passate questo colloquio telefonico ci sono due possibilita': chiamarvi per il colloquio face-to-face oppure implementare algoritmi per risolvere dei problemi su specifiche piattaforme (vedi topcoder).
Ora, ricevete la chiamata per il colloquio in sede. Cosa fare? Agitazione, paura, felicita'. Questi sono i sentimenti piu' comune che si provano in questi casi. Calmatevi e mettetevi a lavoro. La preparazione deve essere simile a quella del colloquio telefonico, le domande saranno simili. Fate una ricerca sull'azienda e cercate di sapere il piu' possibile sui loro prodotti e sui loro concorrenti.


Il giorno del colloquio vestitevi bene (giacca e camicia) e...buona fortuna! Puo' succedere di tutto durante il colloquio. Cercate di essere rilassati, molto positivi e non dimenticate di essere chiari nelle vostre risposte. Infine preparatevi delle domande da fare a chi vi fara' il colloquio perche' vi chiederanno sicuramente se ne avete (farete vedere cosi che siete interessati).
Se il colloquio andra' bene il vostro agente (o chi vi ha fatto il colloquio) vi richiamera' per chiedervi un nuovo colloquio per decidere l'aspetto economico e definire altri dettagli. A volte (a me e' capitato) potrebbero farvi un secondo colloquio su altri argomenti tecnici (magari in presenza di un manager).
Questo e' tutto! Se avete domande non esitate a commentare. Ci sono molte posizioni aperte qui a Londra, anche per aziende davvero importanti. Non fatevi intimidire, siamo comunque italiani e la storia dimostra che siamo tra i migliori (se non i migliori).

Buona fortuna!

mercoledì 1 maggio 2013

Voglio fare l'informatico (o qualsiasi altro lavoro) a Londra (o in Uk)! Part 2


Bene siete atterrati! Avete paura? Siete affascinati, stupiti? Tutto normale. Ora vi siete sistemati in ostello (o altro se non avete voluto seguire il mio suggerimento :P). Cosa fare? Bene, iniziamo a mandare il nostro curriculum versione inglese facendo tante application online. Su quali siti? Ecco qui un post specifico.
Ora quello che accadra' e' che vi chiameranno (sulla vostra bella scheda inglese che potete ordinare gratuitamente ad esempio su giffgaff.com) e non una sola volta. Tanti recruiter, che avranno trovato il vostro profilo interessante, vi contatteranno per conoscervi. Cosa fare? Cercate di conoscere ogni singola virgola del vostro CV; concentratevi perche' probabilmente avranno un accento difficile e cercate di essere chiari quando parlate; preparatevi alla domanda "cosa stai cercando?" perche' se non lo sapete vi scaricheranno dopo 30 secondi; siate felici di dare disponibilita' al recruiter di cercavi un lavoro. E' tutto gratuito perche' e' il datore di lavoro alla ricerca di un impiegato che paghera' il recruiter una volta che sarete assunti (eh si funziona cosi qui).

Nel frattempo che inviate email e che qualche recruiter si metta in contatto con voi pensiamo ad altri due problemi che dovrete affrontare: alloggio e spese.
Questione alloggio: e' piu' facile trovare lavoro che non una stanza decente e a costi contenuti a Londra (diverso e' per altre citta' dove pero' l'offerta lavorativa e' minore). Evitate le agenzie come la peste sia italiane che inglesi. In particolare evitate questa http://www.londonplaces.org/. Il motivo e' semplice: vi proporanno stanze in centro a prezzi contenuti con 1 solo mese di minimum stay (per legge e' almeno 3) e per chi come voi e' appena arrivato sembrera' un occasione ghiotta. La truffa sta nel fatto che vi piazzeranno in topaie con altre 10 persone e vi abbandoneranno al vostro infimo destino...
Per sicurezza vi allego anche un'immagine dell'agenzia cosi appena la vedete scappate! Ed occhio ai loro annunci su gumtree; se vi portano a questa agenzia..scappate!



Come trovare casa allora? Usate gumtree e spareroom. Chiamate, guardate con i vostri occhi e poi decidete. Il problema di prendere casa e' sicuramente il minimum stay e la caparra. Di solito si paga un mese di caparra e si paga anche un mese in anticipo. Ma voi cercate e ricercate e qualcosa di buono salta fuori. I costi? In zona centrale (zona 1-2) una singola va sui 400 pound al mese, dalla zona 3 in poi i prezzi calano (250 pound) e le case sono anche piu' decenti. Ovviamente sale il costo dei trasporti ma questa e' un'altra storia...

Ora le spese. Ovviamente sono soggettive e nei primi tempi si tende a risparmiare. Cercate un Lidle o un Asda per fare la spesa principale (cibo, bevande, ecc.) e un Poundland o 99p per comprare tutto il resto a pochi spicci. Cercatevi un lavoretto. Lo so, non e' facile ma e' un modo per avere un ricavo che ti permetta di rimanere a galla per un po' in attesa del lavoro dei tuoi sogni. Portate i curriculum a mano per negozi (ovunque) e fate application online per le grandi catene (sturbucks, costa, cafe nero, EAT, Loaf o in generale tutte quelle grandi catene che trovate per la citta'). Alla fine qualcosa uscira' anche se dovrete stringere i denti e la cinghia e farvi tanto coraggio.

Perfetto. Probabilmente uno dei recruiter che vi aveva gia' contattato vi richiamera' per proporvi qualcosa. Bene! Qualcosa inizia a muoversi! Ora vi parleranno della proposta e se voi concordate manderanno il vostro CV all'azienda. Se tutto va bene riceverete una risposta e vi chiederanno per quale giorno siete disponibili per un colloquio...ma di questo parleremo nella terza parte.

venerdì 26 aprile 2013

Trovare lavoro a Londra: siti web


Ecco una lista di siti in cui iniziare a cercare un lavoro. Di solito sono recruiter che mettono annunci ma questo non deve spaventarvi perche' il tutto continua ad essere gratuito

www.jobserve.com
www.londonjobs.co.uk
www.jobsite.co.uk
www.indeed.co.uk
www.reed.co.uk
www.cwjobs.co.uk
www.londonjobs.co.uk
www.cv-library.co.uk
www.cwjobs.co.uk
www.totaljobs.com
www.jobsearch.direct.gov.uk


Oppure potete cercarlo direttamente su Gumtree dove ho trovato il mio lavoro attuale :)

Spero ovviamente che qualcuno possa allungare la lista commentando questo posto!

mercoledì 24 aprile 2013

Voglio fare l'informatico (o qualsiasi altro lavoro) a Londra (o in Uk)! Part 1


Si lo voglio fare! Iniziamo oggi una rassegna di post che raccogliera' una serie di suggerimenti su chi vuole fare il software developer nel regno unito. Molti di questi suggerimenti sono ovviamente validi anche per chi vuole fare altri lavori.

Ora vi chiederete: ci sono milioni di post su "trasferirsi a Londra", "vivere nel Regno Unito", "trovare lavoro in Inghilterra"; per quale motivo dovremmo prendere per buone le tue info? cosa ti differenzia dagli altri?
Bene quello che ho notato e' che tutti i post sono abbastanza vecchiotti e non aggiornati e sicuramente le cose sono cambiate rispetto a qualche anno fa'. Inoltre la mia e' un'esperienza specifica e...vabbe' dai io sono piu' bravo! (muahahah)

Partiamo dal primo punto, il piu' importante, quello da non dimenticare mai: perche' parto? Perfetto, ci sono diverse motivazioni: lavoro, soldi, stimoli, curiosita', amore. Non vi suggerisco un motivo ma fate in modo che il vostro sia bello forte perche' sara la chiave del vostro successo.



Secondo punto. Cosa avete da offrire e cosa volete? Non ci giriamo intorno, una laurea e' altamente consigliata quasi indispensabile. L'alternativa e' una lunga esperienza nel settore (che sia esso informatico o di ristorazione). Per il campo informatico e' oggettivamente piu' facile trovare lavoro. La lingua: bisogna saperla! non va bene il livello scolastico, non va bene il livello universitario. Ci vuole di piu'! Dovete riuscire almeno a parlare e capire. Ma come faccio a capire se il mio inglese e' sufficiente? Andate sul sito della bbc e guardate il telegiornale. Quanto avete capito? Se la risposta e' almeno il 50% allora con un po' di studio prima di partire siete a cavallo. Il Regno Unito (e Londra) hanno molto da offrire a chi ha molto da dare.

Terzo punto. I soldi. Si servono per vivere qui all'inizio in attesa dei colloqui e del lavoro. Non dico sia impossibile ma e' difficile trovare lavoro appena atterrati. Per questo iniziate a considerare l'idea di fare un qualsiasi lavoro per mantenervi, imparare la lingua ed entrare in contatto con il mondo del lavoro inglese. Consiglio personale: almeno 1500 euri in saccoccia prima di partire sono necessari.

Se vi ritrovate in questi 3 punti, allora e' il momento di fare il biglietto. Prenotate l'aereo e vi consiglio di andare i primi 10 giorni/2 settimane in ostello. Io l'ho fatto, ho conosciuto alcune persone che mi hanno dato consigli utili, che vivono la stessa vostra esperienza e inoltre vi fa risparmiare.
Fatevi un curriculum. Non vi do indicazioni su come farlo perche' esistono miliardi di siti da cui prendere spunto o potete prendere spunto dal mio CV che trovate in questo blog (in alto c'e' il link). L'importante e' sapere che il formato europeo non lo vuole nessuno qui!

Perfetto ora salutate i vostri parenti, prendete la valigia e partite. Il resto ve lo diro' nella seconda parte del post.



venerdì 12 aprile 2013

La fortuna aiuta gli audaci...


Si e' da parecchio che non posto un nuovo articolo sul blog. Mmmm come mai? Ah si! Ho trovato finalmente lavoro come informatico! Si lavoro in una piccola azienda nel cuore di Londra a Barbican come junior software developer.

Come ho fatto? Ne parlero' nei prossimi post. E' il compito di questo blog. Raccontare la mia storia al mondo e magari dare qualche consiglio per aiutare chi vorra' fare lo stesso!

Inoltre e' passato un'anno dall'inizio della mia avventura e quindi aspettatevi un bel post con delle considerazioni su questa prima annata.