<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-18287864</atom:id><lastBuildDate>Wed, 02 Dec 2009 11:33:56 +0000</lastBuildDate><title>Okke's blog</title><description>My thoughts on RoR, webdevelopment and usability.</description><link>http://okke.formsma.nl/blog/</link><managingEditor>noreply@blogger.com (Okke)</managingEditor><generator>Blogger</generator><openSearch:totalResults>21</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-18287864.post-2110632049151864380</guid><pubDate>Thu, 26 Nov 2009 14:22:00 +0000</pubDate><atom:updated>2009-11-26T15:25:19.117+01:00</atom:updated><title>epstopdf on linux processes only one file</title><description>So I wrote a bash script that takes any number of arguments. Put this in your ~./bashrc file and you can use the eps2pdf command to transform your eps files. &lt;div&gt;
&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;function eps2pdf {&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;for f in $@;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;do &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;echo "epstopdf $f"; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;epstopdf $f;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;done&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;div&gt;You can use this like "eps2pdf *.eps" in bash.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18287864-2110632049151864380?l=okke.formsma.nl%2Fblog%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://okke.formsma.nl/blog/2009/11/epstopdf-on-linux-processes-only-one.html</link><author>noreply@blogger.com (Okke)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-18287864.post-6323702007365492360</guid><pubDate>Tue, 21 Oct 2008 19:44:00 +0000</pubDate><atom:updated>2008-10-22T02:58:13.251+02:00</atom:updated><title>Smooth scrolling in Winamp and Netbeans with Microsoft Mice</title><description>&lt;p&gt;Microsoft, oh, Microsoft. Why did you break your API?&lt;/p&gt;

&lt;p&gt;My new "Microsoft Wireless Notebook Presenter Mouse 8000" does not work right with Winamp and Netbeans. The scrollwheel responds right when I scroll up, but it goes jagged when I scroll down. I couldn't find any information on the Windows site, but the winamp forums posted the culprit:&lt;/p&gt;
&lt;blockquote&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;&lt;p&gt;Posted by dogtato on 09-26-2007 06:06 PM:&lt;/p&gt;

&lt;p&gt;This is an old thread, but the problem persists as of the newest version and I couldn't find any mention of it being a bug other than "all vista issues are known". edit: also not mentioned in notes for 5.5 beta&lt;/p&gt;

&lt;p&gt;Anyways, it's probably caused by microsoft implementing "smooth scrolling" which makes mice send smaller values to the computer blah blah blah heres an article
http://download.microsoft.com/downl...65f5b/Wheel.doc&lt;/p&gt;
&lt;p&gt;and here's some excerpts from it which mean winamp has to be fixed since this can't be disabled&lt;/p&gt;

&lt;p&gt;Q. Does Control Panel allow users to enable or disable smooth scrolling support?&lt;br /&gt;
No. Windows Vista automatically enables smooth scrolling for mouse devices that report this functionality. There are currently no plans to provide a user interface in Control Panel or the registry to allow system-wide or user-specific ways to disable smooth scrolling.&lt;/p&gt;

&lt;p&gt;Q. Is it necessary to modify legacy applications to support smooth scrolling?&lt;br /&gt;
It should not be necessary to modify Windows applications that handle window messages for vertical scrolling to support smooth scrolling if the application acts on the mouse wheel delta and does not assume a message of 120. For more information, see "Best Practices for Supporting Microsoft Mouse and Keyboard Devices" listed in "Resources" at the end of this paper&lt;/p&gt;&lt;/span&gt;&lt;/blockquote&gt;

&lt;p&gt;Too bad the quoted paper is nowhere to be found; the url is dead.&lt;/p&gt;
&lt;p&gt;Apparently, I am not the only person with this problem. It is a shame microsoft breaks functionality in programs and then says that the programs that are broken are to blame.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18287864-6323702007365492360?l=okke.formsma.nl%2Fblog%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://okke.formsma.nl/blog/2008/10/smooth-scrolling-in-winamp-and-netbeans.html</link><author>noreply@blogger.com (Okke)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-18287864.post-804681441032214937</guid><pubDate>Fri, 09 May 2008 12:33:00 +0000</pubDate><atom:updated>2008-05-09T14:38:30.052+02:00</atom:updated><title>Noisy Dell laptop</title><description>My XPS1330 is making some strange noises. It sounds like a high grinding, almost squeaky noise, "electrical crackle". It sounds somewhat like a searching harddisk does, only it is fainter and a little higher.

Dell came and replaced my processor. The technician said he couldn't hear the sound, but that was because he's a bit deaf himself. This did not solve my problem, so I called Dell again.

Now they say they can't do anything about it and they are going to close the case. They don't give me any other option! They don't want to change any other part or give me another laptop, because the technician said in his report that he couldn't make out the sound. But I DO hear it, and so do other people. 

If there is background noise, I don't hear it, but when the room around me is silent (the way I like it when I'm programming), the sound really bugs me. Other laptops do not make so much noise.

It ain't the harddisk, I checked. It ain't the monitor, I plugged it off. It ain't the fan, it isn't running. BUT WHAT IS IT? I'm going to call the customer service monday, and hope to persuade them to exchange my laptop for another one.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18287864-804681441032214937?l=okke.formsma.nl%2Fblog%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://okke.formsma.nl/blog/2008/05/noisy-dell-laptop.html</link><author>noreply@blogger.com (Okke)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-18287864.post-1879584187848657698</guid><pubDate>Fri, 02 May 2008 10:46:00 +0000</pubDate><atom:updated>2008-05-02T14:40:14.499+02:00</atom:updated><title>XPS noise</title><description>My new XPS 1330 is functioning quite well, except for a few things. I'm running Ubuntu Hardy, and one really annoying thing is that sleep and hibernation are badly broken 'features'.

The other really annoying thing is the noise the harddisk makes. It's a sort of high squeaking, grinding noise. It makes the same noise all the time, even when the disk is supposedly idle. I hope Dell will provide me with another disk soon, because it's driving me crazy. 

I'm looking forward to setting up all my linux desktop settings again. I'm rejoicing, really.

[edit]
It wasn't the harddisk after all. Even without harddisk and with an ubuntu live cd, the sound persisted. I called the Dell support and they said it could be the processor: some other Core2duo's experienced the same problems. The next workday, a guy is coming to replace the processor with a new one.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18287864-1879584187848657698?l=okke.formsma.nl%2Fblog%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://okke.formsma.nl/blog/2008/05/xps-noise.html</link><author>noreply@blogger.com (Okke)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-18287864.post-7065714350445885730</guid><pubDate>Fri, 28 Mar 2008 18:18:00 +0000</pubDate><atom:updated>2008-03-28T19:24:45.366+01:00</atom:updated><title>New laptop on it's way</title><description>Finally, I ordered a new laptop. I should've done that a year ago. My (now 2,5 years old) acer has been crashing frequently since then.

The specs of the new one are great. It's a Dell XPS M1330, 2kg:
13,3" screen (1280x800)
Core 2 duo T7250 (2ghz, 800mhz fsb)
4gb 667mhz DDR2 SDRAM
Geforce 8400M 128mb video card

And a crappy 160gb disk, which I'm going to replace with my old 100gb 7200rpm hdd.

It cost me €970, which is a bargain. An apple with the same specs would cost 1400 euro orso.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18287864-7065714350445885730?l=okke.formsma.nl%2Fblog%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://okke.formsma.nl/blog/2008/03/new-laptop-on-its-way.html</link><author>noreply@blogger.com (Okke)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-18287864.post-1186965604922556168</guid><pubDate>Mon, 12 Nov 2007 10:34:00 +0000</pubDate><atom:updated>2007-11-12T11:48:55.997+01:00</atom:updated><title>Joel "on Software" Spolky's talk in Amsterdam</title><description>Many of you will know Joel Spolksy, author of  &lt;a href="http://www.joelonsoftware.com/"&gt;Joel on Software&lt;/a&gt;. He does a "grand world tour", introducing his FogBugz software to interested developers. Today he was at the Radisson hotel in Amsterdam, which is around the corner from my house. So, I went to see his talk.

To be honest, I was disappointed. Joel looked tired and he did not tell much beyond what he already states on his blog. Overall, it was a good presentation, but if you already read the blog you won't learn much. It is a good opportunity to ask questions, if you have any.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18287864-1186965604922556168?l=okke.formsma.nl%2Fblog%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://okke.formsma.nl/blog/2007/11/joel-on-software-spolkys-talk-in.html</link><author>noreply@blogger.com (Okke)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-18287864.post-114892062220898446</guid><pubDate>Mon, 29 May 2006 16:35:00 +0000</pubDate><atom:updated>2006-05-29T18:37:51.906+02:00</atom:updated><title>Hijax = Ajax + Degradability</title><description>Wow, I love &lt;a href="http://domscripting.com/author/"&gt;Jeremy Keith&lt;/a&gt;. He made a &lt;a href="http://domscripting.com/blog/display/41"&gt;post about degradable ajax&lt;/a&gt;. I so totally agree with his point of view. He worded everything nicely. Go and read, then spread the word! :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18287864-114892062220898446?l=okke.formsma.nl%2Fblog%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://okke.formsma.nl/blog/2006/05/hijax-ajax-degradability.html</link><author>noreply@blogger.com (Okke)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-18287864.post-114820349420401292</guid><pubDate>Sun, 21 May 2006 09:21:00 +0000</pubDate><atom:updated>2006-05-21T11:24:54.216+02:00</atom:updated><title>BarCamp Amsterdam II</title><description>By accident, I got invited to BarCamp Amsterdam this weekend. I went there yesterday, and it was quite cool and I met lots of nice people.

I'm going there again in an hour orso. Lots of interesting conversations about usability took place yesterday, and I'll post some things about usability later this day I guess. Really got into the devvin'-mood :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18287864-114820349420401292?l=okke.formsma.nl%2Fblog%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://okke.formsma.nl/blog/2006/05/barcamp-amsterdam-ii.html</link><author>noreply@blogger.com (Okke)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-18287864.post-114668633764361248</guid><pubDate>Wed, 03 May 2006 19:55:00 +0000</pubDate><atom:updated>2006-05-03T21:58:57.656+02:00</atom:updated><title>If you're doing Windows and Ruby, you should do RadRails.</title><description>It's all in the title really. I the changes these dudes made the last few months.

&lt;a href="http://www.radrails.org"&gt;Praise!&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18287864-114668633764361248?l=okke.formsma.nl%2Fblog%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://okke.formsma.nl/blog/2006/05/if-youre-doing-windows-and-ruby-you.html</link><author>noreply@blogger.com (Okke)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-18287864.post-114218019844648907</guid><pubDate>Sun, 12 Mar 2006 16:06:00 +0000</pubDate><atom:updated>2006-04-08T21:44:28.360+02:00</atom:updated><title>Textbox input - Let the computer do the parsing!</title><description>When I was trying to order something from a Dutch webshop (informatique.nl), I got stuck at the order form. I had to fill out my zip code. A dutch zip code is in the form of 1234AB. Or 3825PP. 4 digits, followed by 2 letters. 

But somehow, I was making a mistake in the form. Well, I wasn't. The form was making a mistake. My zipcode, 1234AB, was INVALID!

After 10 times trying to retype the thing, I tried adding a space in between the numbers and letters. Guess what? It worked. "1234 AB" was OK, "1234AB" wasn't. 

That's stupid. With a simple check, they could've covered both cases. Just delete all whitespace and illegal characters from the field, then check if it matches the basecase: 1234AB. If they'd done that, I would've been enjoying my purchase. Now, I was frustrated. 

The same goes for telephone numbers... Should I type '0561 602134' or '056 1602134' or fill out in 2 boxes? Or '+31561602134'? or '0(031)451602134'? Just allow all of these options! Just delete all whitespace and other illegal characters, and let your system take care of proper formatting.

Don't make your customers think, because they'll be pleased if they don't have to.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18287864-114218019844648907?l=okke.formsma.nl%2Fblog%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://okke.formsma.nl/blog/2006/03/textbox-input-let-computer-do-parsing.html</link><author>noreply@blogger.com (Okke)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-18287864.post-113845094244334474</guid><pubDate>Sat, 28 Jan 2006 12:16:00 +0000</pubDate><atom:updated>2006-01-28T13:22:22.443+01:00</atom:updated><title>Using Gmail to the maximum</title><description>Hm, I just LOOOVE Gmail. I love it more and more. Last week, I got fed up with my good old outlook. Why didn't it just catch all the spam? 

Then I thought, I'd just use gmail instead. I'll forward all my email from all addresses to gmail, and I'll use gmail. However, I overlooked one thing: gmail has POP-access!

Now it hit me. If I'd just forward all of my email accounts to gmail, they'd be spam-scanned. They'd be virus-scanned. They'd be archived. And I only have to access ONE pop box! No more tedious searching for settings for my various emailaccounts!

\o/

Thumbs up for gmail.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18287864-113845094244334474?l=okke.formsma.nl%2Fblog%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://okke.formsma.nl/blog/2006/01/using-gmail-to-maximum.html</link><author>noreply@blogger.com (Okke)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>6</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-18287864.post-113751376365173564</guid><pubDate>Tue, 17 Jan 2006 13:17:00 +0000</pubDate><atom:updated>2006-01-17T17:02:43.683+01:00</atom:updated><title>ActiveRecord::Schema - use it!</title><description>ActiveRecord::Schema is a way to create your database schema without having to resort to SQL! But how and when to use it, that might be a little confusing. So, here goes. (This is more-or-less an adapted version of DHH's excellent &lt;a href="http://media.rubyonrails.org/video/migrations.mov"&gt;screencast&lt;/a&gt;. But it's always nice to be able to read things back.

Okay, let's start with the beginning. There is a database already, but you don't want to edit it with normal SQL anymore. The first step is to create the ruby definition file of the database.
&lt;code&gt;rake db_schema_dump&lt;/code&gt;

Now you'll have a file called schema.rb in your /db/ directory. This file shouldn't be edited really; it's for importing purposes only. So, if you want to deploy your current database somewhere else, or on another database that supports migrations, you can use this file to create the tables again:
&lt;code&gt;rake db_schema_import&lt;/code&gt;

Notice that the methods used in the schema.rb file are all to be found at &lt;a href="http://api.rubyonrails.com/classes/ActiveRecord/Migration.html"&gt;ActiveRecord::Migrations&lt;/a&gt;


In the screencast is David, as he puts it himself, 'running with scissors'. Instead of creating a migration (I'll explain migrations later), he edits the field manually. Although this can be done with an empty database, it isn't possible when using a database with tables already defined. You'll first have to destroy all tables, and then import them again. But hey, then you'll lose all your data. What to do? Here's where migrations come in.

If you want to make a change to the database, for example, add a new column to the database, let rails first create a migration file for you:
&lt;code&gt;./script/generate migration MigrationName&lt;/code&gt;

There will be a migration generated in the /db/migrate/ folder. Because it'll probably be your first migration, it's named 001_migration_name.rb. In this migration file, there are 2 methods defined: self.up and self.down. In self.up, add all things that have to be done to update the rows, and that includes filling them with data. self.down does things the other way around: it is called when the migration has to be reversed. self.down should raise an IrreversibleMigration error when, for example, data is deleted that can't be brought back.

If you don't ever want to be bothered with the SQL for creating and editting tables, you should also edit your environtment.rb file in the /config/ directory. Uncomment the following line:
&lt;code&gt;  config.active_record.schema_format = :ruby&lt;/code&gt;

If there are any uncertainties, I would love to help you out.

&lt;small&gt;Well, that's it for my multi-shurking today. I always find things to postpone my developing works... Either trying out different editors, finding little small bugs or improvements and writing bug reports for them, typing entries for my blog... Just as long as I don't have to either do uni or developing work... *sigh*&lt;/small&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18287864-113751376365173564?l=okke.formsma.nl%2Fblog%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://okke.formsma.nl/blog/2006/01/activerecordschema-use-it.html</link><author>noreply@blogger.com (Okke)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-18287864.post-113742959013050710</guid><pubDate>Mon, 16 Jan 2006 16:38:00 +0000</pubDate><atom:updated>2006-01-16T18:08:18.386+01:00</atom:updated><title>RadRails _o_</title><description>Wow!

Just download it, install it, and never go away from it. &lt;a href="http://www.radrails.org"&gt;www.radrails.org&lt;/a&gt;.

One thing that could use some adjustment, though: the highlighter-colours...

[edit]
Oh, and I was thinking about creating a cheatsheet for the syntax of all the generators, but that's irrelevant now. I am totally happy with radrails :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18287864-113742959013050710?l=okke.formsma.nl%2Fblog%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://okke.formsma.nl/blog/2006/01/radrails-o.html</link><author>noreply@blogger.com (Okke)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-18287864.post-113587103141820110</guid><pubDate>Thu, 29 Dec 2005 15:31:00 +0000</pubDate><atom:updated>2005-12-29T16:43:51.443+01:00</atom:updated><title>Server vs Clientside - and when javascript comes into play</title><description>Well, my job interview didn't turn out as I had hoped. Well, too bad, but there's nothing I can do about it. 'Not enough experience', they said. Well, they're probably right. Another point, they said, was that I'd rather solve a problem serverside then clientside. They're a heavy-clientside (javascript) company, so I didn't really fit in.

My view on server- and clientside differed from the company's view, I thought.. I first solve something serverside. Nothing fancy, just working. When I feel like it, I create some 'sugar on top': the javascript to help the page load faster (e.g., ajax) and check the user input to generate user-friendlier error handling.
The company is working with javascript-only applications. What they want to create is not possible with server callbacks. I think any userinput will be checked by the server (never trust user input; you could be hacked), but they just trust on javascript. If it doesn't work, the application breaks. And that's ok; it is impossible to work with the application anyway if you don't have JS.

Then it hit me: we didn't really have different views on the javascript subject, we just have different uses for it. While I'm creating websites with some extra sugar on top, they are building &lt;em&gt;applications &lt;/em&gt;that require javascript. So it's perfectly reasonable for me to rather solve a problem serverside. For them, it's easier to the the same thing clientside.

Guess I don't have enough experience still.

A bit late, but merry X-mas and (a bit early) a happy new year, folks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18287864-113587103141820110?l=okke.formsma.nl%2Fblog%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://okke.formsma.nl/blog/2005/12/server-vs-clientside-and-when.html</link><author>noreply@blogger.com (Okke)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-18287864.post-113492128953952562</guid><pubDate>Sun, 18 Dec 2005 15:49:00 +0000</pubDate><atom:updated>2005-12-18T16:57:06.560+01:00</atom:updated><title>Darn hard to be original</title><description>A few weeks ago, I had a luminous idea: what if I had cigarettes with filter on the wrong end? So everyone will think you're smoking filter instead of tabacco. A friend of mine told me it was done. It was not only done already, it was done in a movie. The Fifth Element.

Today I had another luminous idea for ruby: "Acts as taggable". I first searched the internet, because it's hard to be orignal nowadays. And it seems I was right. There is a fully working mix-in called 'acts as taggable' already. I'm not original. I'm too late. It's been 'gemified' even.

Well, I guess I can't postpone my upcoming testweek at the uni. Too bad. Maybe I'll get a luminous idea while I'm reading a few hundred pages about "AI robotics", but I'm not so sure.

[edit]Oh, in the last month I've installed apache at last. And I got it working. All happy now. And I got a job interview as a response to my blog. Yay! Let's hope it works out all right.[/edit]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18287864-113492128953952562?l=okke.formsma.nl%2Fblog%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://okke.formsma.nl/blog/2005/12/darn-hard-to-be-original.html</link><author>noreply@blogger.com (Okke)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-18287864.post-113085886943397047</guid><pubDate>Tue, 01 Nov 2005 15:09:00 +0000</pubDate><atom:updated>2005-11-01T16:27:49.443+01:00</atom:updated><title>What Google Reader Does Wrong</title><description>Wha! I was trying out &lt;a href="http://www.google.com/reader/"&gt;Google Reader&lt;/a&gt;, and I hit the back button. Flash - a page I didn't expect to find. As I tried to go back forward, I didn't go to the last article I read. Seems google didn't think it'd be handy to allow the use of forward and back buttons.

Another bug was that I wasn't able to add sites to the reader. At least, until I opened the site in a new windows. *Bling* - all blogs I added were there! But why weren't they in the first place? I still don't know. Even an F5 didn't help at first, but after opening a new session everything went smooth.

My main concern is it's impossible to use the forward and back buttons, though. As I sayd in another &lt;a href="http://okke.formsma.nl/blog/2005/10/unobtrusive-ajax-and-degradability-of.html"&gt;blog about unobtrusive javascript&lt;/a&gt;. And I'm wondering why Google isn't paying more attention to usability.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18287864-113085886943397047?l=okke.formsma.nl%2Fblog%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://okke.formsma.nl/blog/2005/11/what-google-reader-does-wrong.html</link><author>noreply@blogger.com (Okke)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-18287864.post-113079288802217500</guid><pubDate>Mon, 31 Oct 2005 21:07:00 +0000</pubDate><atom:updated>2005-10-31T22:08:08.033+01:00</atom:updated><title>Joel on software is right about Web 2.0</title><description>First, read &lt;a href="http://www.joelonsoftware.com/items/2005/10/21.html"&gt;Joel's on software complaint about the Web 2.0&lt;/a&gt;.

Then tell me you agree on it. I do, for one.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18287864-113079288802217500?l=okke.formsma.nl%2Fblog%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://okke.formsma.nl/blog/2005/10/joel-on-software-is-right-about-web-20.html</link><author>noreply@blogger.com (Okke)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-18287864.post-113070849865411900</guid><pubDate>Sun, 30 Oct 2005 20:56:00 +0000</pubDate><atom:updated>2005-10-30T22:43:49.923+01:00</atom:updated><title>4  usability considerations about the web 2.0</title><description>I'm sure anyone has heard about the Web 2.0 already. With (for example) Ruby on Rails, anyone and everyone can easily use the features of the Web 2.0.

I'm not sure everyone should be so exited about it, though. I mean, sure, the user might have a nicer, more usefull, easier-to-learn and 'standards-compliant' (more on that later) application, but what's the point really? Sometimes people are talking about 'learning how to develop Web 2.0 applications'. In my opinion, the only thing that has really changed is that your application is responding faster to the user. It's all great.

But everyone should consider the pitfalls of Web 2.0 applications. As &lt;a href="http://www.useit.com"&gt;Jakob Nielsen&lt;/a&gt; would say: 4 usability considerations about the Web 2.0.
&lt;ol&gt;&lt;li&gt;Use standard widgets! Try to keep as much resemblance to the standard widgets of the main os-es (preferable windows or OS X) as possible.&lt;/li&gt;&lt;li&gt;Don't use draggable items. Dragging items for realignment might seem as a good idea it first, but it tends to confuse people. Why can't I move this item to another list? Why can't I remove it by dragging? If you have to explain your widgets to everyone, they're &lt;em&gt;not&lt;/em&gt; useful. (I think I'll write some more about dragging in a later blog entry)&lt;/li&gt;&lt;li&gt;Allow people to use their bookmarks. Don't use AJAX for every request. Ajax should be used for changing the state of the current page, &lt;em&gt;not&lt;/em&gt; to navigate.&lt;/li&gt;&lt;li&gt;Give feedback to the user when they've clicked on something. &lt;a href="http://www.37signals.com/"&gt;37signals'&lt;/a&gt; &lt;a "href=http://www.37signals.com/svn/archives/000558.php"&gt;yellow fading technique&lt;/a&gt; helps people to see changes. I like it a lot.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Any things I've missed? Any things I've said that don't make sense at all? Please comment :)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18287864-113070849865411900?l=okke.formsma.nl%2Fblog%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://okke.formsma.nl/blog/2005/10/4-usability-considerations-about-web.html</link><author>noreply@blogger.com (Okke)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-18287864.post-113036346852819684</guid><pubDate>Wed, 26 Oct 2005 21:21:00 +0000</pubDate><atom:updated>2005-10-27T21:54:32.610+02:00</atom:updated><title>Unobtrusive Ajax and degradability of the web</title><description>The last few days I've been thinking about unobtrusive JavaScript and Ajax and the degradability of the web.

One of the arguments the anti-Ajax folks use is that users are unable to bookmark Ajax pages. I think they didn't quite get the point. For that, we first have to examine why one should use Ajax. I think Ajax is a nice add-on to websites. It's not a necessity to use Ajax, but if used properly it can help the user with faster response times and a more steady field of view. Ajax can be nicely used for things like auto-completion (for example, when you have to type in someone's email address) and when someone has a list-view with 'add item' field underneath. (E.g. a blog with comment fields. When you add a comment you immediately see what you added. You don't have to watch while the whole page is reloading and when that's done scrolling to your new-made post).

However, I do not think Ajax should be used when there is anoter view to be rendered. For example, if you list users and someone clicks a user to view more information about him/her, a whole new page should be rendered with a proper url.

The reason for this is that someone can still bookmark anything they would possibly want to bookmark.

Another argument the anti-Ajax crew uses is that people without javascript enabled can't do a thing. This isn't always the case, though. The keyword for this problem is &lt;a href="http://www.onlinetools.org/articles/unobtrusivejavascript/"&gt;unobtrusive javascript&lt;/a&gt;. In other words: don't rely on it. Allow everything to be done through normal post-backs. Sometimes this can be quite hard, though. The example with the blogpost can be solved easily with unobtrusive javascript:
&lt;ul&gt;&lt;li&gt;Create the form with normal postback parameters. Get it to work properly without javascript.&lt;/li&gt;&lt;li&gt;Then add a javascript layer. Don't use inline javascript, but you'd rather want to dynamically select the form. Disable the postback and put a javascript that handles the Ajax-calls instead.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Now everything still works for people without javascript, and it works excellent for people who enabled javascript.&lt;/p&gt;&lt;p&gt;Mind you, are some things that are hard to do without javascript. What about sorting a list at different ways? Or how to allow the user to move things up or down a list? There are some nifty drag-and-drop scripts circulating at the moment. Without javascript, these features are a lot harder to script into your application.&lt;/p&gt;&lt;p&gt;You could program al these features twice: one serverside solution and one clientside solution. When you have to deploy a site, you probably won't have time for this sort of thing. Then there is just one solution: just tell them you can't do these things if you have disabled javascript. Too bad for them, I guess. A sidenote: be sure you do enable all critical features of your application for use without javascript. Use javascript if you can, but don't depend on it.&lt;/p&gt;&lt;p&gt;[edit]
This might be a point for RoR users. Most rails-generated Ajax code is inserted inline. Isn't that as evil as inline CSS?&lt;/p&gt;&lt;p&gt;[edit 27th october]
This guy says another good thing about &lt;a href="http://www.brainfreezeblog.com/index.php/2005/10/26/programming/java/thoughts-on-ajax-and-the-next-big-thing/"&gt;the how and why of Ajax&lt;/a&gt;
&lt;/p&gt;&lt;p&gt;Any thoughts on these matters?&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18287864-113036346852819684?l=okke.formsma.nl%2Fblog%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://okke.formsma.nl/blog/2005/10/unobtrusive-ajax-and-degradability-of.html</link><author>noreply@blogger.com (Okke)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-18287864.post-113032155069350329</guid><pubDate>Wed, 26 Oct 2005 10:12:00 +0000</pubDate><atom:updated>2005-10-26T12:12:32.193+02:00</atom:updated><title>The beginning on rails - part 2</title><description>I've finally seen the problem with my mySQL install. I kept getting an error, and finally I located the problem: the install path of mysql can't contain spaces. Well, thanks for telling me that, mySQL installer. *sigh*. I mean, it's the year 2005 and you still don't allow spaces in your paths? Come on!

Anyway, got it running now. Eclipse has still the usual bugs, but I think I'll install eclipse again and throw all useless (java) stuff out first, and then install only ruby components. If that's possibly, at least.

Anyway, gotta go to college now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18287864-113032155069350329?l=okke.formsma.nl%2Fblog%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://okke.formsma.nl/blog/2005/10/beginning-on-rails-part-2.html</link><author>noreply@blogger.com (Okke)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-18287864.post-113027386787752734</guid><pubDate>Tue, 25 Oct 2005 20:49:00 +0000</pubDate><atom:updated>2005-10-25T23:24:31.676+02:00</atom:updated><title>The beginning on Rails</title><description>Wow, I've just started setting up my PC to develop with rails.

Installing ruby went smoothly. Installing Rails went smoothly. Fiddling around with a book in my hand (Agile web development with Rails), and still everything ran smoothly.

Then I realized I hadn't installed a database on my PC yet. So I installed MySQL. Figured I would need a frontend for it. So I go and download MySQL-front. Then I asked in the rails IRC channel for the IDE most people use for rails. Some went with eclipse, so I thought, let's try that.

Guess that's the hardest part. I'm still trying to figure everything out, even with a very good &lt;a href="http://64.233.183.104/search?q=cache:fmSyiyAB980J:www.napcs.com/howto/railsonwindows.html+&amp;hl=nl"&gt;tutorial&lt;/a&gt; at hand. Why didn't anyone make a proper installer for RoR with eclipse? Well, guess that's [hopefully?] a matter of time.

For all it matters: I guess RoR is a great environment. Just fix a proper IDE, dudes.

[update]
Well, I'm still jerking around with the mySQL install. I guess I'll get back to it tomorrow. Orso. Damn you, those 248.391 programs that have to be installed to be able to develop a mere website!

*sigh*

Okke out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18287864-113027386787752734?l=okke.formsma.nl%2Fblog%2Findex.html' alt='' /&gt;&lt;/div&gt;</description><link>http://okke.formsma.nl/blog/2005/10/beginning-on-rails.html</link><author>noreply@blogger.com (Okke)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item></channel></rss>