Tech to try in 2012

February is already here and I’ve been meaning to write this for quite a while. 

This year I want to have tried some new tech by the end of the year, it’s very common for me to want to try different technologies but a little less common that I actually give myself a goal with a deadline. 

So I guess this will be the first time. 

The tech I want to have tried:

Monogame: I want to have made a game with this, not sure on which platforms I want to be able to run it yet. 

So what tech do you think I should try in 2012?

Want to speed up your website use a CDN for commonly used files

Introduction

Serving
files from a website is easy just link to them and you’re done.
Serving files from your website in the most optimal way isn’t that easy, first
you have to think about things like making sure that the caching is right and
if the files are being used a lot on other sites.

If files
are being used a lot on other sites then it could be that the user already has
a copy of this file lying around, let’s say you use jQuery on your site. You’re
not the only one using this library there are a lot of other websites that are
using this library which means that the people coming to your site might
already have jQuery running, to make sure these people don’t need to get yet
another copy of jQuery this can be

The
advantages

Localized
delivery: people in America will get it from local servers and so will people
from Europe or Asia

Cached
delivery: people who already have gotten the CDN version of that library won’t
need to download it again.

It’s free:
it actually costs your server a bit of time to handle the requests, it also
costs you a bit of bandwidth it costs you nothing to use a CDN.

The players

Google
Libraries
which has:

Chrome Frame
Dojo
Ext Core
jQuery
jQuery UI
MooTools
Prototype
script_aculo_us
SWFObject
Yahoo! User Interface Library (YUI)
WebFont Loader

Microsoft
Ajax Content Delivery Network
has:

ASP.NET Ajax 
jQuery  
jQuery UI  
    jQuery Validation
    jQuery Mobile
    jQuery Templates
    jQuery Cycle
    Modernizr
    Ajax Control Toolkit 
    ASP.NET MVC 

CDN JS has
even more libraries out there which the other ones don’t have examples:
coffee-script
json2
less.js
require.js

Exceptions

There are a
couple of reasons not to use a CDN in specific circumstances.

Local
applications hosted on a network: it’s always good in these cases to use local
files because you don’t need the internet to run this application.

When
combining compressing your JavaScript files: if you have a lot of JavaScript
files then it is best practice to combine and minify these files in some cases
this can render better results than using a CDN.

Conclusion

It’s almost
always good to use a CDN, above is a list of CDN’s which are widely used and
reliable so there is no excuse not to use these.

 

 

 

 

 

 

 

 

Version Control by Example: Review and how to get it for free.

I just read:
 Version Control by Example

It’s a free
printed book which can be shipped to your home for free by filling out a page
full of questions. 
If you want the details on how to get it shipped to your home or have any
questions about it find out the details here.

Quick review of
the book:

Introduction

The book gives you
a quick intro about version control systems, it tells you about the history of
version control systems and how they got here. 

What the different
commands are for the version control systems and how they work in the specific
version control systems examined in the book. 

It then goes into
how you can use the different version control systems through the command line
interface, so that you can see the differences on how to handle increasingly
complex situations. 
The version control systems it gives the examples for are:

- Subversion
- Mercurial
- Git 
- Veracity (SourceGears product) 

There is also a
bit about the differences between DVCS and CVCS, distributed version control
systems and centralized version control systems. 

My Opinions 

I really like the
way the book looks, it’s pretty so it leaves a good first impression. 

In talking about
the differences between DVCS and CVCS I think it goes a long way to take away a
bit of the fear surrounding DVCS.

By focusing on the
command line clients of the different VCS systems you’re looking at the basics
which are great because it gives you the feeling of actually knowing what you’re
doing. 
The reality for a developer like me working with VCS is someone not working
with command line clients but mostly using IDE  / Explorer integration to
get the job done.  
So the quality of integration and the tooling available around the VCS’es
becomes very important to the way I use VCS, still not talking about this makes
perfect sense to me because the tooling landscape is very adaptive and
will change over time and the VCS which is on top now can easily be on the
bottom when the next generation comes.

The book has quite
a bit of depth where it is needed, but it
also manages to keeps it short and simple in the examples.

There is a bit of
humor in the book, I like it and it keeps the book from getting a bit dry.

Conclusion

The book does its job in educating about VCS and also providing a reference.

Nowhere in the
book does it come over as a too much of a sales pitch for the product that the
writer has created which is a very impressive thing because of the bias one has
when talking about the product that he has created.

So go get it, it’s
free :)

Disclaimer

I’m not associated with SourceGear in any way. 

 

 

 

 

SASS and CoffeeScript For .NET And Visual Studio

About a month ago I started diving into the world of Rails again. As I said in that blog post, Rails has always had much thought leadership and has always been a hip way to develop.

Now 2 of the main new technologies that where discussed in that blog post have made it into the .NET world in a very polished way.

Mindscape, the folks who made the wonderful LightSpeed ORM, have made the free Web Workbench, which supports LESS, SASS and CoffeeScript. I wrote a little bit about SASS and CoffeeScript in my previous post. LESS is the main competition for SASS, a comparison between these two in terms of syntax can be found here. One of the main differences is that LESS can also be interpreted on the client side within the browser with JavaScript.

Web Workbench features:

  • Code highlighting for all of these technologies.
  • Code generation for SASS and CoffeeScript which just works by saving the files your editing.
  • Intellisense for SASS and LESS.

This is a pretty clean way of being able to use these technologies in your next .NET web project.

Of course there are other ways, but that might be a story for a new blog post.

Mindscape also created a nice making of blog post for Web Workbench for which they used: F#, IronRuby, Jurassic and bits of Node.JS. This sounds like a pretty hard-to-cook recipe but it looks like they pulled it off.

 

As a bonus, here is a debate about LESS and SASS

Ruby On Rails 3.1 RC4

Let the fun begin

Ok diving into Rails after not having touched it in a while feels a bit painful to be honest.

Getting Started

Using the guide on: http://rubyonrails.org/download I got off to a good start.

Picking the latest version of Ruby + the rails 3.1 RC.
Then the first problem seems to be going after the database.

Sqlite3.dll needs to be downloaded and put into the rubypathbin directory.

Easy step to do just head over to sqlite.org/download to get that.

Now I tried getting MySql to work with this rails version, but after trying to use a specific (older) version of the mysql2 gem and using some compiling options I still didn’t get it to work.

This feels rather painful

Scaffolding

The way Rails wants me to work is a little different from what I’m used to doing.

What I’m used to doing:

Model database (MySQL, MSSQL … )
Generate scaffold

Make the actual screens.

Rails does it differently.

I want my views generated from my model, this can be done in Rails by using the command line not through using files in which you set up the database.

The Rails way –> Use Command line –> create migration + controller + view

Not:

Create Model, either in database of code –> generate views

Now it can be achieved to get the views without regenerating by using something like nifty scaffolds, but this won’t give you the starting point in terms of forms etc which you can then edit.

To be Continued …

I’m sure there will be more fun in trying the Rails way again and that there will be some things which will be harder because I’m trying an RC release and not a safe stable version.

Ruby on Rails almost on Version 3.1

Introduction

I’m finally granting myself some time again to write about the interesting things that I run across in development.

Its always interesting to see what the Rails world is doing to see what’s hip in development, because the Rails folks are hipsters and innovators.

This however isn’t always true.

Prepared statements are only now being built into Rails. This is quite surprising to me.

Prepared statements have long been a pretty good way of guarding against SQL injection.

So its a very good thing that they are being implemented.

CoffeeScript and SASS defaults now

CoffeeScript is a form of shorthand notation for JavaScript which compiles into JavaScript.

SASS is an extended version of CSS, which adds nesting, variables and selector inheritance.

jQuery default now

This is a good thing, everywhere in the industry jQuery is popping up as the default JavaScript framework.

Reversible migrations

Migrations (used for database changes) can be generated and no longer needs an up and down by default. Up and down are now ‘change’ and the down part will be inferred from the change command, wherever possible.

Assets

There wasn’t really a nice way to structure your JavaScript by default. Now there is and it has dependency management.

Things are divided into:
App, Lib, vendor

and into:
images, style sheets and JavaScript.

so:
app/assets/images
etc.

Sprockets

This handles JavaScript dependencies, concatenating and minifying for all the asset files.

Conclusion

Looking forward to seeing how development will go with ROR, I will probably try to see how things will go with ROR and then try to see how things will go doing the same application with ASP.NET MVC.

Next Prediction: Google Chrome will gain a lot of market share

At time of writing the market share of Safari and Google Chrome is around 5% each.

Firefox is around 30% and the rest is IE and Opera and some other browsers with a small market share.

The rising stars

Safari’s market share has risen quite fast.
From around 3% in June 2009 to 5% around  January 2010

Chrome did it’s thing even faster.
Going from 0,5% in mid 2008 to 5.5% around January 2010

Off course Firefox has also been increasing in market share but not by as much.

Going from 20% in mid 2008 to 25% around January 2010

Firefox’s market share is off course a lot larger then that of Safari / Chrome.

But it’s growth is slowing down and I think it will stop growing soon I think.

The why they will keep rising

Safari is the default browser for Macs and also the default browser for iPhones, iPads and it’s also available on windows.

Apple is a premium brand at the moment, most of the hardware products coming out of Apple are sexy and that will probably help pushing Safari a little bit on other platforms.

Chrome on the other hand has something else pushing it, Google is putting quite a bit of muscle behind it. It has been doing ad campaigns it’s been putting advertisements on Gmail to migrate people away from IE and will probably be doing a lot more of this.

Google is also a company people respect and it’s a brand which inspires confidence.

Google won’t stop pushing it’s browser, because it makes sense for them to get as many people on the internet using it a lot more internet applications watching more videos online etc etc.

This is because their main business is selling ads and their main brand is internet search.

The best way to push these things is getting the web surfing experience as good as possible.

Google is also putting out 2 OS’es Android and Chrome OS, which might also provide a larger market share for it’s browser.

Conclusion

Together the current market share of Safari / Chrome is now around 10 – 11% I think in 2 years this will be at least 30%

This market share will probably be coming out of Firefox’s market share.

Together with market share from IE6.

2010: Year of: Tablets, E-Readers, Internet Phones

A while back I predicted that motion detection would be the future of gaming.

I think we can say that with Sony and Microsoft heavily investing in motion detection and have some big projects down the line.

Microsoft with Project Natal and Sony with the Wand Controller.

My prediction for 2010 is that this is the year where people actually start using E-readers a lot.

There are a couple of different companies which will enter the market with new shiny Tablet computers.

Apple just recently presented the iPad (Apple’s take on Tablets) which has gotten a lot of press.
A short recap of the news surrounding it:

$499 starter model + $130 for 3g communication.
More expensive models available for more storage.

There will be an E-Book reader installed, amongst other things it will run almost all of the applications which are currently on sale for the iPhone / IPod Touch.

I have been using an iPhone for a little while now and it’s funny how much vendor lock there is.

Want to use applications or games, download those in apples AppStore, want music get it in iTunes, with the iPad there will also be an iBookstore.

Want to use your iPhone / iPad / iPod etc with a computer then you can synchronize between 1 computer and your iDevice.

You also can only install software on it which comes from the AppStore, so all the software needs to be approved by Apple itself.

Which means that some applications will never see the light of day.
It also means that Apple will be getting a fair amount of profit from these applications. Since Apple receives one third of all sales from the AppStore.

Recently they announced the 2 billionth downloaded application from the AppStore. This probably translates into quite a bit of cash for Apple.

Ok so the iPad with it’s pricing will probably be a big hit. It will also invite others to do the same trick and try to do it even cheaper.

This means that there will be a few very nicely priced Tablets floating around soon.

One of the main uses of these Tablets will probably be reading e-books/comics/magazines.

So prediction nr 1 for 2010:

E-readers and off course Tablets will become a big thing in 2010.

Predication nr 2 for 2010:

People will be using internet even more on phones and unlimited internet access for phones will become very common.

Warning: MediaFire Deletes files without notice

A couple of days ago my girlfriend called me that the files she stored at MediaFire where gone. A little after that I tried to login to MediaFire to have a look at how my files where doing.

I was quite surprised to see my own files deleted as well.

After that I came across a FAQ entry on the website

“There is currently no time limit on how long uploaded files will be stored as long as you access your account (i.e. login to your account) at least once every 60 days OR at least one of your files is accessed (i.e. downloaded) every 30 days. If your account is not accessed within the time limit, then the files in your account will be cleared. MediaPro subscribers’ uploaded files will remain forever as long as the account is active.
If you are a Mediafire free user and your files were deleted due to inactivity, they are deleted from all servers and cannot be retrieved.

This means that files stored on MediaFire will be deleted without any kind of notification if you don’t log in every 2 months. This is something which is quite scary to me.

So be careful when using MediaFire and don’t store any files on there which you haven’t stored anywhere else, or be sure to use your account enough to not get your files deleted.

 

Protecting your online Identity and Passwords the case of _why

“Je bent bekender dan je denkt”

This is a dutch subject which is sent around by the government which alerts you to the dangers of having an online profile.

By creating a video clip using an online profile on the hyves site which is sort of a dutch MySpace / facebook.

This uses images from your “friends” and integrates them in the video.

It’s quite interesting that these things can so easily be done nowadays.

It’s getting harder and harder to stay anonymous. When you have an online presence.

_why aka Why the lucky stiff

_why is someone who has an online persona but who didn’t want to be recognized under his own name.

He has created numerous projects, mostly written in and for Ruby,

August 19th 2009 he decided to remove his online accounts and projects.

This started a small wave in blog land with some pretty prolific people writing about it.

It also meant that people where going to try and find out what was the identity of this person in a huge way.

As you can read up on in the link above the effort made to find out who someone is by reading up on what he has done online can be huge.

And there is a huge amount of information you leave behind even if your a smart person.

Hacking of Sites

One would think that if your a smart person then you wouldn’t have to worry as much about these things. Actually it seems to be a sport to get to smart people.

For example Perl Monks (a perl programming site) got hacked and had all passwords of it’s members stolen, the annoying part is that the passwords where all stored in plain text which means that there wasn’t even any decryption necessary to view the passwords.

Jeff Atwood (the man behind CodingHorror.com) got his account hacked for the Stackoverflow site

This means that your passwords from sites you use on the web might be in danger.

1 way to help this is password storing engines.

Password protection programs

There are quite a few password protection programs out there. Some are online some are offline and some are both.

One of the ones which is good to have is Keepass password safe.

there are also quite complete solutions for handling this problem like thycotic secret server.

Conclusion

Don’t think your safe, almost nobody is safe.
But do try to make an effort to stay safe it’s pretty hard.

Good luck.

Just another BloggingAbout.NET site