All These Things That I've Done

Apply the programming model to everyday programming problems
posts - 83, comments - 71, trackbacks - 4

My Links

News


View Gianluca Carucci's profile on LinkedIn

Tag Cloud

Archives

Post Categories

Image Galleries

Blogs

Links

giovedì 19 marzo 2015

Frontend life with or without Visual Studio?

Un anno fa scrissi sul mio blog inglese una serie di post dal titolo "the road to Visual Studio free frontend development", nei quali spiegavo - partendo da un caso reale - il perchè e il per come avessi abbandonato Visual Studio come strumento per lo sviluppo del frontend, in favore di un editor di codice e strumenti Open Source come Npm, Bower e Grunt.

A Redmond non hanno sicuramente letto i miei post, ma probabilmente hanno fatto alcune riflessioni analoghe poichè Visual Studio 2015 (in parte già Visual Studio 2013) ha cambiato rotta integrando e supportando nell'ide questi tool.

Se fino ad un anno fa la domanda del titolo - per me - sarebbe stata retorica, adesso la risposta non è più così scontata; la settimana prossima ci saranno i Community Days 2015 in cui avremo lo spazio per provare a trattare questi temi e darne una risposta.

 

posted @ giovedì 19 marzo 2015 14.41 | Filed Under [ JavaScript Visual Studio ]

giovedì 5 febbraio 2015

Visual Studio 2015 ASP.NET 5, project name e l'errore "install Couldn't read dependencies"

Visual Studio 2015 ha introdotto una nuova modalità di gestione delle librerie e degli asset client side (javascript, typescript, coffescript, css, less...) di un progetto ASP.NET: infatti da questa versione, l'ide si affida ad un tool molto diffuso e apprezzato tra le community open source: Bower.

Bower è un package manager scritto in nodejs, che ha il compito di scaricare e gestire le librerie client side (per quelle server side rimane valido NuGet). Come tutte le librerie basate su nodejs, la modalità di default d'installazione è tramite il package manger di nodejs: npm.

Qual'è il problema?

 Quando creiamo un nuovo progetto Visual Studio 2015, dal template 'ASP.NET 5 Starter Web' e diamo un nome contenente un carattere accentato, scopriremo che:

  • la build fallisce e apparentemente non si trova l'errore
  • da solution explorer il nodo "Bower" sotto le "dependencies" (che dovrebbe contenere le librerie client del template come jquery, bootstrap...) è vuoto e non è abilitata l'opzione "Restore Packages"
  • da solution explorer il nodo "NPM" sotto le "dependencies" indica che i packages: grunt, grunt-bower-task non sono stati scaricati

Mettendo insieme questi indizi, e soprattutto aprendo la finestra "Package Manager Log", si trova un errore simile a questo:

Visual Studio infatti scarica le dipendenze dei tools (tra cui bower) usando il comando npm install. Quest'ultimo per funzionare ha bisogno che nella directory corrente ci sia il file package.json (file aggiunto automaticamente dal template di Visual Studio) il quale contiene alcune informazioni tra cui l'elenco delle dipendenze (un po' come il file packages.config di NuGet) e il nome del progetto; ecco il problema: npm esegue una validazione del nome (notare l'errore: 6 error Error: Invalid name: "ragù") e se questo non super la validazione, il comando install fallisce senza scaricare i tool (tra cui bower), e gli asset client del progetto (tramite bower).

Indagando un po' ci imbattiamo nella funzione ensureValidName che fallisce poichè i caratteri accentati non sono ammessi. Il codice del metodo è il seguente:

In definitiva, fate attenzione al nome del progetto che scegliete o in alternativa, modificate il nome all'interno del file package.json.

Concludendo: perchè dobbiamo cambiare modo di gestire i progetti web rischiando di ricevere errori anche da tool fino ad ora non utilizzati?

Di questo e di tutto ciò che riguarda  Npm, Grunt, Bower e il nuovo package manager di Visual Studio 2015, parleremo il 26 marzo ai CommunityDays di quest'anno.

Ci vediamo là?

posted @ venerdì 6 febbraio 2015 9.56 | Filed Under [ JavaScript Visual Studio ]

giovedì 27 dicembre 2012

Come scaricare durante la notte i powerpoint delle sessioni di /Build/ 2012

Esistono molti blogs che forniscono lo script per scaricare i video delle sessioni della build 2012 (ad es. qui); purtroppo nessuno permette di scaricare i file powerpoint delle sessioni (anche perchè quest'ultimi non pubblicati tramite feed rss).

Ecco uno script powershell "un po' grezzo" ma funzionante:

 

posted @ giovedì 27 dicembre 2012 21.52 | Filed Under [ Powershell ]

domenica 12 luglio 2009

Silverlight 3: la sua migliore feature

E' uscito Silverlight3: persone più illustri di me ne hanno descritto le novità. Da nessuna parte ho però sentito parlare di breaking changes e di porting di applicazioni da SL2 a SL3.

Memore delle titaniche fatiche dell'ultima migrazione di una applicazione dalla beta 2 di silverlight 2 alla RTM (ne pago ancora le conseguenze) ho deciso di riprovarci con SL3: alloco un'oretta libera, mi armo di pazienza e totale incoscenza - non cerco nulla sulla rete rigurado la compatibilità tra le due versioni- e nell'ordine ho:

  • disinstallato Il toolkit di vs2008, l'sdk e il runtime di Silverlight 2
  • installato il toolkit di vs2008 di SL3 (include direttamente runtime ed sdk)
  • lanciato il progetto in esame e...

senza guardare e toccare una linea di codice: FUNZIONA tutto! Questa io la chiamo produttività:)

E’ decisamente la migliore feature di Silverlight 3.

Technorati Tags:

posted @ domenica 12 luglio 2009 12.34 | Feedback (0) | Filed Under [ Multimedia ]

mercoledì 14 gennaio 2009

"To Mum and Depeche Mode" - cit

Geniale.

Technorati Tag:

posted @ mercoledì 14 gennaio 2009 8.55 | Feedback (0) | Filed Under [ Off Topic ]

martedì 15 luglio 2008

How I got Started in Software Development

Chiamato in causa da Andrea mi accodo alla catena. Volevo rispondere già ieri, ma due post in un giorno sarebbero stati troppi per i miei ritmi:D

How old were you when you started programming?
A quale età hai cominciato a programmare?

Abbastanza tardi. Intorno ai 16/17 anni. Ho passato la mia giovinezza più in piscina a nuotare prima e a giocare a pallanuoto poi, piuttosto che davanti ad un monitor (poi però mi sono rifatto alla grande!). Quando ero a casa, nonostante i pc (Aquarius, C64, 8086, Amiga) non fossero mai mancati, riuscii a resistere ad ogni tentazione. Vedevo i computer solo come strumento di gioco; non riuscivo a capire quel ragazzotto occhialuto (si un nerd:P) che divertimento provasse nel giocare con delle parole invece che con delle immagini e dei suoni. Quel ragazzotto ci provò in tutti i modi, fino a che, ormai a speranze esaurite, arrivò quel giorno....

How did you get started in programming?
Come hai cominciato a programmare?

... quel giorno inizai a giocare al fantacalcio con i compagni di classe (ebbene si, il  mio vero sogno era quello di fare da grande il direttore sportivo). Gestire risultati, calcoli, classifiche, statistiche a mano era una noia mortale: poichè sono pigro per natura, dovetti trovare un modo per "automatizzare il processo". Scelsi un foglio excel (avevo già ben chiaro il principio KISS); con il passare del tempo diventava sempre più automatizzato ma sempre più complesso. Fu in quel momento che capii che "avrei fatto molta meno fatica" se avessi trovato uno strumento più adeguato per i miei scopi. Nonostanze il ragazzotto occhialuto mi etichettò per anni come scrippettaro (lui era cool perchè programmava in C++), scelsi ASP 3.0

What was your first language?
Qual’è stato il tuo primo linguaggio di programmazione?

La mia prima procedura la scrissi in Rexx su amiga.

What was the first real program you wrote?
Qual’è stato il primo programma vero che hai scritto?

Il primo vero programma lo scrissi, insieme ad un compagno, in laboratorio di informatica alle superiori. Il professore ci negò di installare giochini in laboratorio così decidemmo di scrivercelo: naque Pistaaaa! un giochino di F1 scritto in C. Sullo schermo disegnavamo un circuito con 2 puntini corrispondenti alle vetture. Premendo in maniera forsennata i tasti corrispondenti alle freccie direzionali, si potevano far avanzare le macchinine sulla pista. Missione compiuta, avevamo il gioco per i nostri tornei in laboratorio!

What languages have you used since you started programming?
Quali linguaggi hai usato da quando hai cominciato a programmare?

In ordine temporale:

Rexx, Visual Basic 4, C, C++, Assembly 8088, Delphi 6, C#, Java

What was your first professional programming gig?
Quando è stato il tuo primo vero lavoro da programmatore?

Fu assunto in una azienda di Torino per partecipare allo sviluppo di una suite di videoconferenze. Questo progetto divenne la mia tesi di laurea e mi permise di arrivare al grande obbiettivo dei miei primi 25 anni: la festa di laurea.

If you knew then what you know now, would you have started programming?
Con il senno di poi, rifaresti lo stesso il programmatore? Ricominceresti a programmare?

Se non fossi riuscito a fare il pallanuotista, il direttore sportivo o il pornostar (si può dire sul blog:P), sicuramente non sarebbe esistita scelta migliore di programmare!

If there is one thing you learned along the way that you would tell new developers, what would it be?
Se ci fosse una cosa che hai imparato nella tua carriera e che vorresti dire ai giovani programmatori, cosa diresti?

Quando lavorate, programmate per soddisfare le necessità del cliente, non per soddisfare il vostro ego: per quello c'è il tempo libero:)

Ci giochiamo un altro consiglio? Ma si... Seguite le community, sono il miglior modo per imparare questo lavoro; inoltre vi fare un sacco di nuovi amici.

What's the most fun you've ever had ... programming?
Qual’è la cosa più divertente che hai programmato?

Se nella definizione di "divertente" possiamo considerare la faccia del prof. che ci vide aggirare il suo divieto giocando con un giochino sviluppato da noi, allora la scelta ricade sicuramente su Pistaaaa!: quella faccia fu veramente divertente:)

Now, let’s tag someone else...
Adesso è l’ora di taggare qualcun’altro...

posted @ martedì 15 luglio 2008 12.32 | Feedback (2) | Filed Under [ Community Off Topic ]

lunedì 14 luglio 2008

Il golf e le architetture layered

Il discorso introduttivo sull'OOD, fatto da Andrea nella sua sessione ai Community Days, mi ha riportato alla mente l'ultima pagina del Regolamento del Golf. Cito testualmente:

Gioca la palla come si trova

Gioca il campo come lo trovi

E se non puoi fare l'una o l'altra cosa,

fai ciò che è giusto

Ma per fare ciò che è giusto,

hai bisogno di conoscere le

Regole del Golf

 

Trovo in queste poche righe molte similitudini su come credo sia necessario approcciare lo sviluppo software. La difficoltà del nostro lavoro sta tutta nel fare "ciò che è giusto".

 

Technorati Tag: ,,

posted @ lunedì 14 luglio 2008 17.19 | Feedback (2) | Filed Under [ OOP ]

martedì 24 giugno 2008

Techgarage

Venerdi scorso (20 giugno 2008) si è svolto il TechGarage a Roma. Questa manifestazione, organizzata da dpixel e ospitata dalla LUISS, segue il MiniBar svoltosi il 15 feebraio 2008 alla Triennale di Milano. La manifestazione ha dedicato una giornata di incotri e dibattiti riguardanti le start-up che operano nel campo Web.

L'obbiettivo del TechGarage e di dpixel in particolare, è creare un punto d'incontro tra investitori (venture capital e business angels), giornalisti, blogger e soprattutto nuovi imprenditori che propongono progetti innovativi nel ambito Web.

Il TechGarage ha proposto due tipologie di presentazione delle start-up:

  • L'Elevetor pitch ha messo in mostra 8 start-up che hanno già ottenuto degli investimenti iniziali di tipo “seed” oppure che hanno già avviato un’impresa internet capace di autosostenersi, che si sono presentate per cercare un secondo round di finanziamento: quello del salto dimensionale e dello sviluppo.

 

  • Il Seed Match ha offerto a 12 start up e aspiranti imprenditori uno “spazio espositivo” in cui presentare la propria idea di business a tutti gli interlocutori interessati a interagire con investitori, blogger, sviluppatori e giornalisti, e soprattutto cercare capitali seed da business angel e investitori.

Noi siamo stati invitati, in quest'ultima categoria, a presentare il nostro portale del turismo CarpoViam, progetto che da ormai sei mesi ha catturato la nostre forze e la nostra passione.

Purtroppo per l'Italia il modello "Silicon Valley" è ancora lontano; per varie ragioni - di cui è stato argomento parte del dibattio durante l'evento - gli investitori in Italia sono pochi e soprattutto poco propensi al rischio. E' quindi da apprezzare lo sforzo di dpixel nel sensibilizzare la realtà italiana nel credere nelle start-up e in chi ha idee innovative e prova a proporle. Se rientrate in questa categoria, provateci: le cose pian piano cambieranno...

In conclusione riprendo il messaggio inviato da Emanuele Tha (Business Analyst di dipixel) durante l'evento che sintetizza - a mio parere - perfettamente il senso dell'iniziativa: fino ad ora start-up, imprenditori, e chiunque avesse idee innovative, hanno avuto la speranza di emergere. Il TechGarage (e dpixel) hanno offerto (e offrono) loro una concreta possibilità.

 

posted @ martedì 24 giugno 2008 13.57 | Feedback (2) | Filed Under [ Community Multimedia ]

venerdì 16 maggio 2008

[OT] Ode della mamma: la cheesecake

Clicca il titolo per assaporare...

posted @ venerdì 16 maggio 2008 14.09 | Feedback (1) | Filed Under [ Off Topic ]

giovedì 27 marzo 2008

Il rename refactoring sulle query Linq da Visual Studio

L'Entity Framework e Linq To Sql avranno i suoi (grossi) limiti, ma vedere che da:

IEnumerable<CategoryView> views =

from d in categories

select new CategoryView() { Id = d.Id, Name = d.Name, ImageUrl = d.ImageUrl, ImageIconUrl = d.ImageIconUrl };

con un semplice CNTRL-R-R il risultato è questo:

 

IEnumerable<CategoryView> views =

from e in categories

select new CategoryView() { Id = e.Id, Name = e.Name, ImageUrl = e.ImageUrl, ImageIconUrl = e.ImageIconUrl };

rende un uomo influenzato felice!

posted @ giovedì 27 marzo 2008 18.26 | Feedback (0) | Filed Under [ C# ]

Powered by: