Posts Tagged development
One of the things you have to deal with when creating a rails app that faces “the public” is that you have to deal with meta data. Traditionally this would come down to a title, some keywords and a description. Currently meta tags are used for much more as both Open Graph and Twitter are using it to determine what to do when that link is shared. Making your site more SEO and social network friendly is not that straight forward as it used to be.
In the software development community automated test have been there more and more. I myself started coding in PHP without a single test and just ran the app like QA would have done to see if it worked. Over the past decade this has really changed for me. I’ve lived through a flux where everything needed to be tested through and through to only integration tests. Currently I think we all agree that automated tests are something that is kind of a requirement when talking about serious software development. Note; “serious” I’m not talking about hacks and one of experiments.
So now the question becomes; When are we too obsessive with our test? Or, when are we just not covering the code enough?
So you have a Ruby project and you practice TDD. Now to not make it too hard on yourself to run your test suite every single step of the way your using guard to speed up your process. Good for you and it should make testing as fun as it could be.
Now as I’ve been moving from project to project I’ve seen different practices when it comes to using guard. Some good, some bad but all beneficial for different reasons. What I did find if most projects is that the Guardfile is shared by putting it in the repository of the project. Now I’m wondering, is that a good practice?
Code is never perfect the first time over, specifications change and there is always pressure when developing a new feature. Thus the programmer has invented the word refactoring. This word implies that when a programmer stumble upon the code the next time or there is time to optimize the programmer will use that occasion to refactor the code into a better state. On small things this might take a minute on bigger things a refactoring can take up to several hours. But there is always that point when a developer thinks about if it is really worth refactoring it or if it deserves a rewrite.
The rewrite is a more radical approach. You take a piece of working software and trow it away to be completely rewritten. Better optimized, better functionality and build from the ground up to be a better performing piece of software than the last iteration. David Heinemeier Hansson once lovingly said about 37signals Basecamp; “Sometimes it is time to take out the old trash and start over”. And that is what 37 signals did. They rewrote Basecamp from the ground up and they got a better product.
So when does the grey need to turn into one or the other?
We all want to create the best technical solution, making sure it flows naturally and that it looks good. But there is always time and budget pressures that do not allow you to create that perfect piece of software that you want. It is always a struggle between quality, time and money that shape the resulting product.
Interestingly there are always ways to cheat yourself out of an issue to fix it later. The solution might be not technically the best but it can work for 90% of the time and when it fails you can make it matter less. Cheating the client out of the best solution might make them happier than delivering a perfect product.
There are actually a couple of things you need to look out for when using plugins. It is not as trivial as: “plug it in & turn me on“.
I know it does not always work like this. But I always find myself in situations where I have different people on different operating systems working on the same project. This has been the case for me several times. I am always open for the idea of developing on different platforms, maybe I’m a bit of a free-choice nut… Anyways! There have always been issues with gems that can only be used for specific platforms. How do you solve this problem!?
When building a web-application you’ll need to do some sort of styling to get it looking a kind of decent. To enhance your web app you would probably like to do some more advanced styling with lots of css, images and other stuff… But what if you needed a styling system that dynamically changes the colors of your style?
I’ve designed and implemented an application that uses Sass to created dynamically colored styling for such a system!
This might sound really strange…. but failing does not necessarily mean that you have a problem!
As some of you are aware, creating flawless software is a difficult and long process. Mistakes are common and your users will undoubtedly have some sort of bad experience somewhere along the way. No software is perfect! So if it is unavoidable, what do you need to do about it!? Well, preparation is key!
One campus, 2 days + some nights, about 250 sessions and +5000 geeks. The European meet-up for the open-source people!
What was my part? Following sessions, supporting in one session and talking a lot to all the people I know and don’t know within the community.
What I took away from it? 4 t-shirts, 5 buttons, loads of stickers, new knowledge/information, new ideas and lots of new cont(r)acts.
The short story is: arrive Friday around 5pm, get to the Renaissance Brussels hotel, get something to eat before going to Delirium, finding people to talk/drink with, get to bed, wake up and get myself to campus, follow some sessions, support on the CBAC session, get myself to the joostians (former Joost Technologies employees) dinner, have some drinks with the joostians, get to bed, wake up and check out of the hotel, get myself to campus and plant myself in the back of the mozilla room, follow some other sessions afterwards!? and get my ass back on the train home.
Wanna know more? Read the rest of this entry »