zephirworks blog

  • Savory Is Coming (2) - The press release

    • iscarlets
    • 17 May 2012
    • 0 Responses
    •  views
    • press release savory treesaver
    • Edit
    • Delete
    • Tags
    • Autopost

    The launch of Savory is getting closer every day, and we are really thrilled to finally announce our recent partnership with the Treesaver team.

    Together we are building an amazing product, and in a few more weeks everyone intersted will be able to try it.

    Here is the official pre announcement press release, to read and download.

    Speak soon :)

    Click here to download:
    Savory_partnership_pre_announcement.pdf (51 KB)
    (download)
    Click here to download:
    Savory_partnership_pre_announcement.pdf (51 KB)

  • Arriva Savory (2) - Il comunicato stampa

    • iscarlets
    • 16 May 2012
    • 0 Responses
    •  views
    • press release savory treesaver
    • Edit
    • Delete
    • Tags
    • Autopost

    Il lancio di Savory è sempre più vicino, e siamo felicissimi di poter finalmente annunciare di aver stretto una partnership con il team di Treesaver.

    Insieme stiamo costruendo un prodotto sempre migliore, che tra poco sarà a disposizione di chiunque vorrà provarlo.

    Qui sotto il comunicato stampa ufficiale, da leggere e scaricare.

    A prestissimo :)

    Click here to download:
    comunicato_stampa_edit_-_Savory.pdf (50 KB)
    (download)
    Click here to download:
    comunicato_stampa_edit_-_Savory.pdf (50 KB)

  • Savory Is Coming (1)

    • iscarlets
    • 13 Mar 2012
    • 0 Responses
    •  views
    • Edit
    • Delete
    • Tags
    • Autopost

    Almost three months went by since the last time we talked about Savory, and in the meanwhile a lot of cool stuff happened.

    E.g., I (Ivan) joined the Savory team here at ZephirWorks, and one of the things I'd really love to be able to get done in those first few days is to try to clearly explain what Savory is and what is meant to.

    Savory makes it easy for you to publish your content on tablets, smartphones and PCs.

    The great thing about Savory is that it lets you author, curate and manage your content, and then deliver it to every device (be it a PC, a smartphone or a tablet) with just one click. No magic involved: all you need is a browser, and you're done.

    All the content delivered using Savory is a proper web application, which lives and exhists within the browser, and this is the reason why you don't need anything else to enjoy it.

    Web applications are wonderful: open, standard compliant, scalable and flexible. Our customers won't be tied to any hardware, software or proprietary file format. They will be able to deliver content crafted using web standards directly in a browser. This is something strictly related with freedom, and we care about freedom.

    Here is another great thing about Savory: content is handled using HTML5 and CSS3 features. Those technologies enable responsive and context aware design. In other words, the layout adapts itself to the screen size and to the kind of device you are using to access the content. This way, great readability and beautiful tipografy is assured always.

    Savory Is About to Come

    We are all working really hard, and we are almost ready to release our Public Beta. We will tell you (and also show you, finally) more in the next few days. In the meanwhile, you can leave us your email on savory.io, and we will keep you posted.

    And no spam, we promise :)

  • Arriva Savory (1)

    • iscarlets
    • 12 Mar 2012
    • 0 Responses
    •  views
    • savory
    • Edit
    • Delete
    • Tags
    • Autopost

    L'ultima volta in cui abbiamo parlato di Savory era dicembre; nel frattempo sono passati quasi tre mesi e sono successe un sacco di cose.

    Ad esempio sono arrivato io (Ivan, esattamente una settimana fa), e la prima cosa che vorrei fare è provare a spiegare per bene che cos'è e a che cosa serve.

    Savory serve a pubblicare contenuti su tablet, smartphone e pc in modo semplice.

    La cosa più bella di Savory è che permette di pubblicare un determinato contenuto una sola volta su tutti i dispositivi immaginabili: basta che ci sia un browser web e il gioco è fatto.

    Questo è possibile perché i contenuti pubblicati con Savory sono delle vere e proprie applicazioni web, e vivono all'interno del browser.

    Detto in un altro modo, questo significa libertà: qualunque dispositivo collegato alla rete e dotato di un browser consente l'accesso alle pubblicazioni realizzate con Savory, senza preoccuparsi di marche, formati o limitazioni proprietarie di vario genere.

    Un'altra cosa molto bella di Savory è che - grazie alle funzionalità di HTML5 e CSS3 - è possibile gestire layout complessi in modo molto flessibile. La resa grafica cambia e si adatta alle dimensioni dello schermo del dispositivo che si sta utilizzando durante la lettura. Savory penserà a ogni cosa preservando la leggibilità e la bellezza del layout, ma ovviamente è anche possibile pensare a soluzioni ad hoc, calibrate sulle peculiarità di ogni tipologia di device (che si tratti di un PC, di uno smartphone o di un tablet).

    Savory sta per arrivare

    Manca davvero pochissimo. Nei prossimi giorni ci saranno nuovi post con altri dettagli (e anche qualcosa da vedere, finalmente). Nel frattempo, se vi va, potete lasciare la vostra email su savory.io, ci pensiamo noi a tenervi aggiornati.

    E niente spam, promesso :)

  • Sono soddisfazioni :)

    • Andrea C. Granata
    • 16 Dec 2011
    • 1 Response
    •  views
    • Edit
    • Delete
    • Tags
    • Autopost

    In quest'ultimo periodo in ZephirWorks stiamo tutti lavorando come dei pazzi e non c'è nulla come ricevere un riconoscimento pubblico per il proprio impegno per trovare nuove energie. In particolare questa settimana Andrea Campi è stato nominato da Opscode Most Valuable Player per il suo prezioso contibuto alla release 10.6 di Chef Server. Vedere citata ZephirWorks sul blog di Opscode e riconoscuto l'ottimo lavoro fatto da Andrea è una grande soddisfazione per tutti noi.

    In particolare Andrea (sacrificando un po' del suo sonno...) oltre ad aver migliorato il supporto per FreeBSD nei cookbook Chef ha rifattorizzato alcune parti di Chef Server rendendone più facile l'installazione su Cloud Foundry ovvero la Platform as a Service Open Source sviluppata da Vmware.

    E' stata anche una grande soddisfazione essere l'unica azienda europea presente a Seattle al Community Summit di Opscode Chef che si è svolto nei primi giorni di Dicembre. Abbiamo scambiato idee e impressioni con professionisti provenienti da aziende importanti come HP, Dell, Rackspace giusto per citarne alcune. Per noi è stata una importante verifica di quanto noi come azienda siamo facendo per diffondere e creare metodologie, best practices e strumenti DevOps e del perché non dobbiamo avere nessuna soggezione e/o timore reverenziale rispetto a quello che succede dall'altra parte dell'oceano. 

    Per quanto mi riguarda poi ultimamente mi sono trovato a discutere e a presentare metodologie e strumenti DevOps in alcune grandi aziende - tra le quali anche una delle più importanti banche italiane - e il feedback che ne ho ricevuto è stato di grande interesse. Anche questa è una soddisfazione :)

    Last but not Least, Savory l'ultima creatura in casa ZephirWorks sta per raggiungere la beta. Pietro ci ha lavorato alacremente e l'ultima release è più bella che mai!

    Se siete interessati a pubblicare la vostra webzine o il vostro giornale su iPad/iPhone (ma anche sul galaxy tab :) ) sappiate che presto dovremmo poter mandare un nuovo batch di inviti quindi registratevi su savory.io, chissà che babbo natale vi recapiti un account Savory nuovo di zecca.

     

     

     

  • Alla ricerca di un Web enthusiast

    • Andrea C. Granata
    • 17 Nov 2011
    • 0 Responses
    •  views
    • Edit
    • Delete
    • Tags
    • Autopost

    Noi di ZephirWorks stiamo cercando una persona che si dedichi al nostro nuovo progetto Savory.

    Savory è la nostra piattaforma di publishing mobile e nasce con l'obbiettivo di permettere anche a realtà piccole - blogger, webzine, piccole case editrici - o grandi ma con budget piccolo di avere una versione per i più diffusi dispositivi mobile dei propri contenuti.

    La persona che stiamo cercando dovrà occuparsi della preparazione dei template grafici treesaver ma anche della comunicazione social di Savory e dell'interfacciamento con i clienti più importanti.

    Deve essere un/una entusiasta del web design: ce lo/la immaginiamo che legge smashing magazine mentre fa colazione, crea un mockup HTML5 nel pomeriggio e sperimenta con le feature più esotiche di CSS3 la sera.

    Ci piacerebbe poi che avesse le conoscenze base di javascript e/o di rails e sarebbe fantastico ma non indispensabile avesse fatto una precedente esperienza in una azienda editoriale.

    Quello che garantiamo è una retribuzione più che soddisfacente con inquadramento ccnl del commercio.

    Se ti riconosci in questa job description mandaci una mail a jobs@zephirworks.com o un DM a @zephirworks

     

     

  • CouchDB service for CloudFoundry

    • Andrea Campi
    • 1 Oct 2011
    • 0 Responses
    •  views
    • Edit
    • Delete
    • Tags
    • Autopost

    I really like CloudFoundry, it is an amazing project with great potential. So many projects born from within a corporation end up as nothing more than neglected step-children, lagging way too much behind the commercial product they originated from. Vmware has been a lot more open, at least so far, and the OpenSource code is apparently the same code base as they use in production.

    The downside of this is that, until the community grows and more developers start contributing, the choice of supported frameworks and services is mostly driven by the needs of the commercial product. A few companies have stepped up to the plate and generously donated their work to the project.

    Our first contribution to the project is a CouchDB service; we have pushed it to github and sent a pull request. This is a first draft, a few features are still missing (notably backup/restore/rebalance, as well as quota enforcement); we will be working on these in the coming weeks. Despite these limitations, if you run CF on your own private cloud and your applications needs CouchDB, you can start using testing today.

    The reason I'm quite confident with the code is that we are using it to run Chef on CF in staging, with a goal to get it to production in the coming weeks. CouchDB support was the major roadblock; with this service, I'm happy to report it works quite well. We are currently using an external Solr PaaS, but we will be developing a CF service for that as well.

  • Quick tip: debugging JNI code in Xcode

    • Andrea Campi
    • 22 Sep 2011
    • 0 Responses
    •  views
    • Xcode debugging java
    • Edit
    • Delete
    • Tags
    • Autopost

    I assume you are vaguely familiar with JNI, the useful if tricky technology that allows Java code to call native C code. If you are not, fair warning--you will find this post boring or even slightly headache-inducing. Go read The Oatmeal instead.

    Working with JNI may not be the most exciting proposition, but it doesn't need to be painful. Tools like JNIWrapper take care of the mundane parts such as loading the native library from the classpath, mapping the different types and so on. It even comes with a tool that will create wrapper code for you, so the only work that is left for you is implementing Real Stuff (TM).

    That's all fine and well, until you introduce a bug; at that point chances are you'll get an error message that is just about as useful as a necktie in the Sahara. To wit:

    Turning to your trusty debugger won't help you much; even if you set a breakpoint in Eclipse and single-step over the call to native code, it will just skip over--and crash you again. Unless your problem is very obvious (say, passing a null in the first place), not useful.

    A solution

    The good news is, depending on the operating system two debuggers may be allowed to attach to the same process. In my case, working on Mac OS X, that means I can use both Eclipse and Xcode; the process will happily jump between them depending on the function I'm currently in. If you have two monitor, it's actually mildly entertaining (at least for me--but maybe I'm just easily entertained).

    How to work that magic:

    1. set a breakpoint in Eclipse, and start the application;
    2. when execution stops, go over to Xcode and select Product > Attach to Process from the menu; find your process in the list and click it (it will probably just show up as "java"; the pid is also provided);
    3. if you want to, you can also set breakpoints in your C code;
    4. now go over to Eclipse and continue execution or single step until you hit the native code. You will see Eclipse pause execution, and Xcode will bring up the function you just entered.

    Bingo!

    One word of notice: you may want to wait a few moments between steps 2 and 4, otherwise Eclipse may lose its wits and error out with an obscure message. That's especially true if you have a lot of breakpoints.

    If you are that kind of person, you can do the same in plain old gdb. Not sure why you'd want to do that, but who I am to argue. However if you do figure it out, please leave a comment with instructions for other weirdos like you.

    Trivia

    In case you are wondering, the code I'm calling is actually Objective-C (CoreAudio), with a relatively thin wrapper in C. Also, the Java code is a faceless applet that interacts with JavaScript.

    So in a typical scenario, the user clicks on something in the browser, that triggers JavaScript, which calls Java, that will quickly go through C only to have it call into Objective-C. Enough to make your head spin!

  • Cloud Foundry e Ruby on Rails - seconda parte

    • Pietro Giorgianni
    • 19 Sep 2011
    • 0 Responses
    •  views
    • Ruby on Rails cloud deploy paas
    • Edit
    • Delete
    • Tags
    • Autopost

    Nel post precedente ho parlato di Cloud Foundry di VMware, la prima Platform as a Service open, e di come testare la propria applicazione Ruby on Rails su Micro Cloud Foundry in una virtual machine sul proprio Mac (naturalmente è possibile usare Micro Cloud Foundry anche su GNU/Linux o MS Windows, cambia solo la versione di VMware da installare!).

    Avevo anche anticipato di aver incontrato qualche difficoltà; ecco che ne parlo.

    Configurazione di Rete

    All'avvio di Micro Cloud Foundry, come raccontavo, viene mostrato un breve menu che propone di configurare varie cose, fra cui la rete. Nel post precedente ho detto di aver scelto DHCP; quello che, per semplicità, ho taciuto, è che il DHCP non ha funzionato.

    Sniffando la rete, ho scoperto che il problema è legato al timeout del client DHCP, troppo breve. È una cosa che ho già visto succedere in altri server out of the box, che a quanto pare si aspettano di ricevere una risposta entro pochissimi istanti.

    Niente di grave, Alt-F2, entro con l'utente vcap, faccio le mie verifiche e infine faccio partire la rete. Nel frattempo, però, scopro dalla documentazione che è possibile usare Micro Cloud Foundry anche senza avere accesso alla rete.

    Utilizzare Micro Cloud Foundry offline

    Se non si dispone di un collegamento di rete, o se per qualunque motivo si vuole lavorare offline, è comunque possibile utilizzare Micro Cloud Foundry senza accedere alla rete, come descritto qui.

    Per farlo, bisogna innanzi tutto spegnere la macchina virtuale, configurare VMware per usare l'opzione NAT e riavviare Micro Clound Foundry, inserendo il token di configurazione:

    vcap.me

    Micro Cloud Foundry avvierà quindi la configurazione per l'utilizzo offline, impiegando un paio di minuti circa, dopo di che verrà mostrato l'ip della macchina virtuale.

    A questo punto è necessario creare un tunnel SSH tra la propria macchina e la macchina virtuale:

    ssh -L 80:IPDELLAMACCHINAVIRTUALE:80 vcap@IPDELLAMACCHINAVIRTUALE

    Fatto questo, è possibile procedere col deploy, avendo però l'accortezza di specificare api.vcap.me come target per vmc:

    vmc target http://api.vcap.me

    Deploy di applicazioni Ruby on Rails

    Per essere sicuri di poter usare la propria applicazione Rails con Micro Cloud Foundry, bisogna seguire alcuni accorgimenti.

    Usare Bundler

    In teoria, Micro Cloud Foundry supporta applicazioni 2.3 tradizionali, con le gemme specificate in config/environment.rb, purché freezate in vendor/gems.

    In pratica, ci sono molte probabilità che la vostra applicazione non funzioni.

    In questo e in altri casi, il messaggio d'errore fornito da vcap deploy è un po' criptico; è però possibile saperne di più col comando:

    vmc files NOMEAPPLICAZIONE logs/migration.log

    Il team di Cloud Foundry consiglia di usare sempre e comunque Bundler, e nel mio piccolo lo consiglio anch'io, e non solo per poter usare Cloud Foundry, ma soprattutto perché ci si guadagna in salute.

    Rubygems

    Un'altra questione che ho incontrato è legata alla versione di rubygems utilizzata: Micro Cloud Foundry usa attualmente rubygems 1.8.6, che ha problemi con il formato delle date nel gemspec di alcune gemme, tra cui paperclip e due dipendenze di Rails 3.1, ovvero rack-cache e tilt.

    Conviene quindi assicurarsi che le gemme utilizzate funzionino con rubygems 1.8.6 prima di effettuare il deploy su Micro Cloud Foundry.

    Conclusioni

    Questa prova con Micro Cloud Foundry mi ha mostrato che il prodotto è ancora giovane, ma molto promettente, e consente, con relativamente poca fatica, di testare le proprie applicazioni in un ambiente di pre-staging pulito e comodo.

    Micro Cloud Foundry promette di essere un'ottimo tool per vedere la propria applicazione in un ambiente di pre-staging, verificarne le performance, scoprire eventuali dipendenze impreviste, effettuare test d'integrazione e in genere capire come si comporterà l'applicazione in un ambiente di produzione, senza dover dedicare risorse e tempo prezioso per questo scopo.

  • Quick tip: how to monkey-patch a Merb controller

    • Andrea Campi
    • 16 Sep 2011
    • 0 Responses
    •  views
    • chef merb ruby
    • Edit
    • Delete
    • Tags
    • Autopost

    Today I was doing a spike on a crazy idea we've been toying on for a while, and I found myself in need of disabling authentication on one API endpoint in an existing application.

    Of course I could just edit the source, but where's the fun in that? Surely there must be a better way. Alas the application is written in Merb, which has been in "suspended animation" since the merge with Rails was announced. As a consequence there doesn't seem to be much information around on this kind of -nasty hacks- advanced topics.

    Long story short, Merb accepts an optional -I [filename.rb] argument; the file will be loaded and evaluated at some point during the application startup.

    That's not the end of the story though: the file is evaluated early in the boot; merb-core is available, but none of your models, controllers and so on. Not a big deal, you just have to use the correct hook.

    And that's it--this controller is now wide open, just the way I wanted it!

  • « Previous 1 2 3 4 5 6 Next »
  • About


    18045 Views
  • Archive

    • 2012 (4)
      • May (2)
      • March (2)
    • 2011 (36)
      • December (2)
      • November (2)
      • October (1)
      • September (5)
      • June (1)
      • May (5)
      • March (4)
      • February (12)
      • February (3)
      • January (1)
    • 2010 (1)
      • October (1)
    • 2008 (1)
      • December (1)

    Get Updates

    Follow this Space »
    You're following this Space (Edit)
    You're a contributor here (Edit)
    This is your Space (Edit)
    Follow by email »
    Get the latest updates in your email box automatically.
    Loading...
    Subscribe via RSS
    TwitterFacebookPageTumblr