Posted by: Boris Popov | November 28, 2007

Calendar for MooTools

Here’s another component that virtually all online application will need sooner or later. Via Ajaxian comes this neat calendar implementation for MooTools.

MooTools Calendar

Posted by: Boris Popov | November 23, 2007

Job Opportunity (Smalltalk and Seaside)

DeepCove

I’m pleased to announce that we are looking for another full-time developer to join our agile team of long time Smalltalk fans. Here at DeepCove Labs our primary focus is evolving and maintaining a mature industry leading international payment processing platform that we have built from the ground up over the past 6 years.

Ideal candidate is someone who has experience with Smalltalk, SQL and last, but definitely not least, Seaside. They must be enthusiastic, motivated and as excited about using cutting edge technology to solve business problems as we are. I should point out that good self task management and time management skills are a big plus as we work as equal peers and share roles every day of the week. We are not XP fanatics, but some things are second nature to us,

  • keeping things simple
  • plenty of unit tests
  • no code ownership
  • frequent integration
  • lots of refactoring
  • frequent releases
  • no overtime
  • our customer shares the same address

Our primary requirements are as follows:

  • at least five years general software development experience
  • several years experience developing with dynamic languages (Smalltalk, Ruby, Python, Lisp)
  • one year recent Smalltalk experience
  • experience developing applications of at least moderate complexity
  • demonstrated experience working directly with users

Experience with any of the following would be a major plus:

  • agile test driven development
  • financial services
  • SQL, specifically Microsoft SQL Server
  • web application development, specifically with Seaside and moderate amounts of JavaScript
  • deployment of large scale applications in managed services environment

Our office is located in the heart of Downtown Vancouver, steps away from Pacific ocean, beautiful parks, shopping and entertainment district and all major transit connections. All employees receive excellent health/dental benefits package and few other perks. We like to think we are an open, flexible and friendly place to work, so please drop me an email with your resume if you are interested.

Update (Nov 26): Few folks had pinged me to ask if telecommuting is an option and the simple answer is that for this particular position we would like someone who would be willing to relocate to Vancouver and work from our office together with the rest of the team.

Posted by: Boris Popov | November 20, 2007

Canvas UI for MooTools

Finally, a decent implementation of panels using MooTools, which means I can finish my migration from YUI+Scriptaculous to MooTools some time this year if time allows.

MooCanvas

Posted by: Boris Popov | November 16, 2007

Adobe isn’t perfect

Adobe Updates

Ooops.

Posted by: Boris Popov | November 8, 2007

Apply where needed

Oh my, this could be said about so many things I won’t even try to list them all. Apply where needed, so to speak.

Tradition

Also, don’t forget to check out their latest over at Despair Blog.

Posted by: Boris Popov | November 8, 2007

Word of caution when enabling Unicode ODBC

One feature we’ve been anxiously awaiting when VisualWorks 7.5 was in development is support for Unicode ODBC.

(self connection getSession)
unicodeEncoding: #’UCS-2′;
unicode: true;
yourself.

Naturally as soon as it became available my inclination was to turn it on and over time migrate our database schema from varchar() to nvarchar() and from char() to nchar() etcetera. Sounds reasonable? I thought so myself, but it took about a month of running this small change in production to prove me wrong. Take a look at the server CPU graph below (Hint: Unicode was enabled late August and disabled late October),

Database

Looking back, it all kind of makes sense. I suspect ODBC layer is encoding everything on the way out, so running a query against a plain old varchar() column with a Unicode parameter SQL ended up having to encode all row values on the fly, essentially resulting in endless table scans and lots of CPU wastage for most basic scenarios. Turning off Unicode or changing the offending column to n*char() fixes the problem.

What this means, however, is that you can’t conceivably go the Unicode route without converting all *char() columns to n*char() columns at the same time. You can certainly afford to have a small performance impacting window to ensure availability, but it would most certainly be unreasonable to stretch this transition period. So much for piecemeal approach, sigh.

Posted by: Boris Popov | July 25, 2007

Introducing YSlow

Yahoo just announced release YSlow as a first (hopefully, of many) great extension to Firebug that analyzes your pages and points out a wide variety of ways you can improve their performance. My first few minutes playing with it proved to be a lot of fun and I look forward to using it frequently going forward. Here’s a teaser to get you started straight from the home page of our application,

YSlow 1

YSlow 2

There’s much more to discover, go and grab it while its hot.

Posted by: Boris Popov | July 16, 2007

What is “Aubergines”?

I remember back when I started using Seaside I saw a number of references to “aubergines” here and there, but never quite zeroed in on the word itself discounting it to something obscure in the back of my mind. If you’re curious, here’s Avi’s explanation of its origins,

Yes, basically a private joke. The original acronym was Squeak Enterprise Aubergines Server Integrated Development Environment. This was a play on both “Enterprise Javabeans” and “Enterprise Objects” (part of Apple’s WebObjects, which was a major inspiration for Seaside). There was also some intended kinship with the CLEE (Common Lisp Enterprise Eggplants) project - not sure if this is still around or not. These days, though, it’s just a name. Though an appropriate one, for me, because I live on the coast and am happiest sitting by the sea…

Plus Wikipedia’s take on the word itself,

The eggplant, aubergine or brinjal (Solanum melongena) is a solanaceous plant bearing a fruit of the same name, commonly used as a vegetable in cooking. It is closely related to the tomato and potato and is native to southern India and Sri Lanka. It is a short-lived perennial plant often cultivated as an annual, growing 40 to 150 cm (16 to 57 in) tall, often spiny, with large coarsely lobed leaves 10 to 20 cm (4-8 in) long and 5 to 10 cm (2-4 in) broad. The flowers are white to purple, with a five-lobed corolla and yellow stamens. The fruit is fleshy, less than 3 cm in diameter on wild plants, but much larger in cultivated forms. The fruit contains numerous small, soft seeds. (Semi-)wild types can grow much larger, to 225 cm (7 feet) with large leaves over 30 cm (12 in) long and 15 cm (6 in) broad.

Posted by: Boris Popov | July 16, 2007

Handy JavaScript Components

Via Ajaxian come two handy components this morning,

Enjoy and please let everyone know if these are any good, as I obviously haven’t used them personally quite yet.

Posted by: Boris Popov | July 11, 2007

Seaside website updated

Looks like a brand new Seaside website is up, check it out and keep the comments flowing.

Older Posts »

Categories