Today we are extremely excited to announce Cappuccino 0.9.5, featuring over 90 new features and improvements in addition to numerous bug fixes. Here are some of the new features we think you’ll really like.
You sometimes have to feel sorry for Microsoft
.…. Right or wrong or just plain misguided Apple managed to somehow get the “cool” factor into everything they do. Much of it was by the correct application of good industrial design but also i suspect the ability to stand back and look at what they were doing with the outseiders eye. You cannot for one minute imagin Apple coming up with the Paperclip or Miscrosoft Bob.
Anyway saw this clip in /. and it MS trying to sell xboxes on the back of the iPhone 4s launch, you know the iPhone Balmer said would be a complete failure.
“On October 20th, Microsoft will open its 14th store in Seattle’s popular University Village shopping center, where it will go head-to-head against an existing Apple Store. To help build buzz for next week’s grand opening, Microsoft set up a temporary Kinect-equipped hut within spitting distance of the Apple store, a guerrilla marketing effort designed to catch the attention of the throngs flocking to the Apple Store for the new iPhone 4S. Microsoft will up the marketing ante for next weekend’s grand opening, transforming the parking lot between the two stores into a concert venue for performances by The Black Keys and OneRepublic. Any bets on whether the concerts will drum up more business for the Zune Market Place or the iTunes Store?”
Node js
Just a point when using npm you can do two types of install. A local for the application you are writing and a global for use at the command line. The rule being … “Install locally for require(). Install globally for CLI apps.”
However and i completley missed this and so wasted an hour or so but when installing for a local app you need to run the command “npm install cluster” from the root of the app so it get put where the app can find it. Me i was assuming (dangerous) that you installed it to a central location and theat the $PATH pointed to it Doh!
CtaScb 6 — Krumo
To put it simply, Krumo is a replacement for print_r() and var_dump(). By definition Krumo is a debugging tool (initially for PHP4/PHP5, now for PHP5only), which displays structured information about any PHP variable.
A lot of developers use print_r() and var_dump() in the means of debugging tools. Although they were intended to present human readble information about a variable, we can all agree that in general they are not. Krumo is an alternative: it does the same job, but it presents the information beautified using CSS and DHTML.
Except the collapsible DHTML tree built around the structure of the dumped PHPvariable, and the improved by the CSS looks, Krumo offers additional useful features.
Should i use a NoSQL Data Store?
Since NoSQL became a trendy term you often see this sort of post in various blogs and forums.
“We are building a new application and we are considering using NoSQL(Trendy NoSQL name here) as the only Database so no hybrid system RDBMS/noSQL
Now there are a number of immediate flaws in this question which should lead to a lot of pain in the project if they carry on like this.
The first and simplest is that while SQL (or perhaps we should say relational) standard databases are just that, a standard, based on the ANSI SQL and meaning that whether you use Oracle or MySQL or MSSQL you are pretty well grappling with the same thing. However NoSQL while seeming to does not imply any standardisation or even similarity.
One list of the architectures of NoSQL breaks down as follows
- Document store
- Graph
- Key-value store (with these variants)
- Eventually‐consistent key‐value store
- Hierarchical key-value store
- Hosted services
- Key-value cache in RAM
- Key-value stores on disk
- Ordered key-value stores
- Multivalue databases
- Object database
- Tabular
- Tuple store
The problem is people are deciding to go with a technology that they know so little about that they need to ask a rather general forum if it is a good idea and how to do it. Then everyone jumps in and suggest pro’s and con’s and esoteric plumbing for data structures and even some alternative products which are “much better” than whatever the other one was.
Now call me old fashioned if you like but wouldn’t it be better to perform a detailed requirements analysis (or at least a basic requirements analysis) of the project to determine it’s architecture and the data structures needed to support that architecture and the longer term application objectives and then investigate which data storage method is going to fit those requirements?
Of course if it’s just a fashion thing and you just feel like using a new technology you have seen blogged about then go ahead. In this case one is as good as another and yes sure use a couple of them to make life more interesting.
CtaScb 5
Short on here a js cdn that serves up and community voted js library and then keeps it forever. Cool
it does what it says on the tin
Multilingual web sites
I have not seen another one and probably for the following reason. In spite of what it says on the SimplePO web site translators do not like and often will not work on side by side translation systems as shown above.
That is how programmers imagine translators will work and it is flawed. Translators work with a toolkit called TMX, Translation Memory Exchange (generic name see Okapi an open source implementation to get a feel for it), and in this they build up translation dictionaries for words, phrases and sentences. They the take a file of varying formats and feed it into the TMX software, this gives them a first pass that is 60%, 70% etc translated but like Google language API horribly mangled in terms of making sense in the target language.
Then what they do is translate the words not dealt with by TMX, adding to the dictionaries where logical, and they colloquialise it, i.e. make it work in the target language and make sense of it. For this reason the translator should always be translating into their native language.
They do it this way for a number of reasons, a) it makes sense and works and reduces their work load and b) because they get paid by the word and to do side by side translation does not allow them to use their tools and maximise their income.
What translators want is a file in a format that you can export, they can import and translate, export and send back to you to import.
The files formats can be csv, rtf, tmx, xliff, gettext and if you read the Symfony framework docs you can see how they do it and handle it (they do a pretty good job in my opinion).
Having said all that i was in a similar position about 8 years ago when having to write a site in English, French, German, Hungarian and Slovakian and i did the same as SimplPO and simply wrote my own side by side application to allow this to be done. However the company we were writing the application for did all their own translation in house so we didn’t hit the problem with translators. When we did we wrote an export to RTF and import from RTF (that in itself is mind boggling) so the translators could function as above.
However SimplePO is the only other implementation of the idea i have seen. The frameworks such as Zend seem to think you just create lookup tags to replace words and phrases and build no control into the application to manage the process. Consequently it soon gets out of hand and the maintenance of it becomes both difficult and expensive.
Most people who write multilingual web sites actually don’t. They write a master site and then make a copy, translate it and maintain the translated version. It seems clunky to us logical types but is actually very effective.
One of the reasons it is effective is the i18n and l10n are about many other things than language.
- Look and feel. Anglo saxons like cool colours and san serif typefaces, Hispanic peoples like Serif type faces and brighter colours. And as you cross other cultures the expectations vary wildly in layout, types, colours etc.
- French and to some degree German is 30% longer, more verbose, than the equivalent English so you layout goes to hell in a hand basket real quick.
- Semitic language run right to left
- Japanese and other language that are not alphabet based can run ltr rtl top to bottom and some do not even have white space
- dates? US, Japanese, UK, Hungarian as all different
- currency and number formats, don’t even start me off
Well sorry to go on and to summarise:- For simple side to side just write it yourself, took me about two weeks without any frameworks and working it out as i went along just use tag replacement. But any more and consider what you are doing. Carefully.
Another piece of Sun falls off the good ship Oracle
The integrated build platform “Hudson.” has been garrisoned by Oracle. Either fed up with the infighting that had led to the spin-off “Jenkins” project, or simply unable to figure out a way to monetize the code, Oracle threw up their hands and gave the whole shebang to Eclipse.
Is MySQL next?
API’s">Free O’Reilly ebook on Paypal API’s
48 hours only, save 30 dollars
CTaSCB — 4
For those of us using Symfony we have got used to the excellent debug bar that lets us work out where we are and what we are doing. Currently working on a Zend Framework project i was missing it so looked around and found this excellent piece of work
Archives
- November 2011
- October 2011
- September 2011
- July 2011
- June 2011
- May 2011
- April 2011
- February 2011
- January 2011
- December 2010
- November 2010
- October 2010
- September 2010
- August 2010
- July 2010
- June 2010
- May 2010
- April 2010
- March 2010
- February 2010
- January 2010
- December 2009
- November 2009
- October 2009
- September 2009
- January 2009
- December 2008
- March 2008
- February 2008
- December 2007
- November 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- September 2006
- July 2006
- November 2005
ajax / javascript
cli
css / design
database & related
frameworks & patterns
FreeBSD
general / technical
just silly
mapping
moi
open source paradigms
people i know
plugins
programming
search technologies
smalltalk
tna
underlying engines
web 2.xx stuff
weird stuff