Posts

iOS7 - The Return Of The Splash Screen

Spoiler: code and examples showed or used in this post are meant to be working, for demo purpose, on iOS7 iPod or iPhone only. One day I might improve the demo in order to work the same in other browsers too. If you haven't read yet this great post from @firt entitled Safari on iOS 7 and HTML5: problems, changes and new APIs you probably should before you can understand what is this about ... done? Great! Some Clarification Maximiliano took mobile twitter to show what happens when you visit a webpage in landscape mode where no previous, well known and tested, iOS trick would make it in order to have a better, full screen resolution. However, problems are the same in the portrait mode: there's no way, if you use any overflow: auto; or touch in your page, to see the magic morph happening in the surrounding Safari Mobile UI. On top of this, when you apply or pay for Apple Beta Testing or Developer, you are under an NDA/EULA you can hardly report problems even to Apple itself...

Are you really Agile?

Image
From what i have seen, Agile Software Development is widely misinterpreted nowadays. Many people think to be agile, they just need a process like scrum to define a framework of sprints and iterations. They will sprint until they exhaust and change until they stagnate. But when you'd ask them what principles of objectoriented design are, they'd answer: "Aww yes, we use classes". And when you'd asked them if they did test driven development, they'd reply: "Ahh, this is the thing where you write tests first, isn't it?". Bottom line, people think to be agile without caring about good software design. But in the end, the most important thing is what nobody cares about. It is the agility of the software that they are producing. So if you want to be agile, a process and a mindset is not enough. You need to keep your software agile. By that i mean, you need to keep the design of the software as clean and flexible as possible, to be able to apply any futu...

VHS

VIPER VIDEO recorded our set at Cheer Up Charlies in Austin on June 1, 2013 and made VHS copies. They're available here: http://vipervideo.bigcartel.com/product/the-men-cheer-up-charlies-6-1-13 Thanks to Adam. -Freckles

spring-data-rest in Action

Image
What is spring-data-rest? spring-data-rest , a recent addition to the spring-data project, is a framework that helps you expose your entities directly as RESTful webservice endpoints. Unlike rails, grails or roo it does not generate any code achieving this goal. spring data-rest supports JPA, MongoDB, JSR-303 validation, HAL and many more. It is really innovative and lets you setup your RESTful webservice within minutes. In this example i'll give you a short overview of what spring-data-rest is capable of. Initial Configuration  I'm gonna use the new Servlet 3 Java Web Configuration instead of an ancient web.xml. Nothing really special here. public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { @Override protected Class <?>[] getRootConfigClasses () { return new Class <?>[]{ AppConfiguration . class }; } @Override protected Class <?>[] getServletConfigClasses () { return ...

My First Experience On Developer Boards

Image
I should have probably titled this post as Marsboard VS Raspberry Pi VS Cubieboard VS pcDuino and so on but that would be actually unfair since these boards are very, very different from each others. This post is about what I've learned from such delightful and hostile at the same time Software, over such state of the art and unthinkable, at least until few years ago, piece of HardWare! What Are You Looking For This is the very first question you should ask yourself before ending up like me: with all these boards and completely different projects/ideas behind each of them! Just For Fun In this case the Raspberry Pi is probably your best choice. The community is awesome as well as its support for any related gotchas! I've stopped counting the amount of kickstarter projects related to the little Pi and I won't link here any of them to be fair with all others: freaking cool ideas! Not Fun Only Here the Raspberry Pi is still one step forward ... I mean, you will rarely...

Good Bye Redeployment. spring-loaded, an Opensource Classreloader

Redeem yourself from hot deployments and OutOfMemoryException. spring-loaded is an opensource classreloader and a promising alternative to JRebel . It does not offer as many features as JRebel does, and it does not support any framework just yet. Nevertheless, its a great tool that can save the time you are waiting for that servletcontainer to restart again. What it can do: add/modify/delete methods/fields/constructors modify annotations on types/methods/fields/constructors add/remove/change values in enum types What it cant: support framework specific changes like Spring MVC @RequestMappings change log configuration on the fly It is not getting the attention that it deserves, so give it a try. Just download from github already, and add the following to your JVM parameters: java -javaagent:<pathTo>/springloaded-{VERSION}.jar -noverify

dblite: sqlite3 for nodejs made easy

OK, I know, the well known sqlite3 module is cool and all the glory to it ... well, it didn't work in my case :( The Why node-gyp is great but it's not as portable and does not scale as I'd like to. If you try to use sqlite3 via npm in Arch Linux ARM , as example, even if the native sqlite library is there and usable that won't work ... moreover ... What really bothers me is that node-gyp does not update within the system as any other system package would do. You need to rebuild, recompile, re-do everything, even if you distributed a specific linux version that trust the package manager for updates and does not want to bother users with build tasks. This is quite common in embedded hardware and related Linux distro so I've asked myself: why on earth I cannot simply pacman -Syu once in a while and just have automagically built for me the latest version of sqlite3 , the one the whole system is using and trusting anyhow, together with any other update including...

Why REST is so important

Image
This post is dedicated to REST, an architectural style of shaping webservices and the most misunderstood concept in the history of IT. This post is addressed to you who is designing webservice apis not being fully aware what REST actually means. I'm trying to give you the idea. This post is also addressed to you who think to know what REST means, when in reality you have no clue, just yet. Yes i have met such people in the past - plenty of them. It's not going into the details of the Richardson Maturity Model , and it's not gonna make you a REST expert. There are plenty of guides on the web for that: slides, youtube videos, blogposts, books and more. Rather than going into the details, i'm going to link some good resources at the end of this post. So lets start with The meaning of REST Representational State Transfer. This sentence is not only what REST stands for, it is also the tiniest possible description of what REST actually means. Didn't get it? Read it aga...

T-SHIRTS IN THE STORE

Image
hey some left-over tour t-shirts are now in the web-store. Limited sizes and designs, so get em while you can! FOR INTERNATIONAL ORDERS, PLEASE BE IN TOUCH PRIOR TO ORDERING AS ADDITIONAL SHIPPING COSTS WILL APPLY

IE8 Is More W3C Standard

I know I am probably late for this party but I am re-exploring here and there Desktop web development and developers approach to common Desktop problems. Pointless to mention that IE8 is probably the biggest one so here I am with some good news! W3C DOM Level 2 Implemented In IE8 You read that properly, including custom bubbling events ! This is how much this ambitious but overall slim project is about, trying to harmonize IE8 and IE8 only so that we can focus more on standard W3C DOM API without requiring any external library at all unless necessary. Tests To The Rescue If you don't believe it or you would like to try it in a real IE8 (no simulated) browser, here the interactive link that will work with all modern Desktop and Mobile browsers plus IE8 thanks to the mentioned library. The test is interactive in the meaning that at some point an action, a real one from the user, is expected such a click , an input focus or an input blur so that all tests, synthetics and not, a...

OH YAH.... B

Image
hey hey we're playing a last minute show with our friends METZ in Boston Thursday at the Sinclair. It's free. Also, for those of you in New York City --- there's a great show going down Saturday night with some friends from out of town and some friends from in town. I'll be there, and so should you. fb invite:   https://www.facebook.com/ events/636598266352525/?notif_ t=plan_user_joined

Spring MVC - @RequestBody and @ResponseBody demystified

In this post i want to dig into spring mvc a little, revealing what happens behind the scenes when a request is converted to your parameter object and vice versa. Before we start, i want to explain the purpose of these annotations. What are @RequestBody and @ResponseBody for? They are annotations of the spring mvc framework and can be used in a controller to implement smart object serialization and deserialization. They help you avoid boilerplate code by extracting the logic of messageconversion and making it an aspect. Other than that they help you support multiple formats for a single REST resource without duplication of code. If you annotate a method with @ResponseBody, spring will try to convert its return value and write it to the http response automatically. If you annotate a methods parameter with @RequestBody, spring will try to convert the content of the incoming request body to your parameter object on the fly. Here is an example @Controller @RequestMapping ( value = "/...

eddy.js - A Bold Approach

Not the first time some project of mine ends up in JavaScript Weekly , however this time something different happened since eddy.js reached my top 5 projects list in my personal Github repo in about a week since my first tweet and I've never even blogged about that and: This. Is. Awesome! eddy.js In A Nutshell JavaScript is the easiest event driven programming language I know and every library out there knows this too! jQuery , node.js , these are just the most successful JavaScript API out there and mostly based on event driven development , either with asynchronous API and libraries behind or based on DOM behavior as jQuery is for sure. eddy.js aim is to bring the ease of an event driven application everywhere , hopefully matching everybody taste in both DOM and server side world too! Fairy Tales ... Less! Let's face reality: except for switching the light on or off where .switch() is most likely the most semantic and probably a better method name you could think a...