Thursday, May 10, 2007

Faster web pages...

This is the link of an outstanding presentation made by the Yahoo’s “Exceptional Performance Team” about optimizing website performance by addressing front end issues. This is part of the web 2.0 expo that happened last April. A MUST read.


Enjoy,


http://www.web2expo.com/presentations/webex2007/souders_steve.ppt

Yes, it is a power point presentation.

Sunday, May 06, 2007

A great option for middletier development!

For all those developers that are looking for another option to the mighty DataSnap, now there is a great opportunity to develop reliable and scalable middletier solutions for the same price.

Components4Developers is offering their popular middletier software for free. What is the deal?

Simple, register and download. TurboMiddletier is a full version of their enterprise middletier software KbmMW (a couple of transport protocols and channels are removed but nothing major), it only supports the latest Delphi version, so, if you have Delphi 2007 go and get it now!!

I personally use Data Snap, RemObjects and KbmMW in our projects and can only say good things about them. I do admit that KbmMW is a more mature framework with lots more functionality, but on RemObjects SDK favor, they offer a great DataSnap integration pack that help companies using DataSnap to migrate to their SDK.

Whatever you pick, you will be on good hands, in the meanwhile go and get that!

Saturday, April 21, 2007

Using Agile methodologies on your favorite IDE.

My current job is moving towards an Agile development, so, in order to be one step ahead of the game, I am implementing on my home projects most of the methodologies that we will or should be using in our everyday development life.

Browsing around I found this site, which basically is dedicated to implementing Agile methodologies in Delphi. Take a look at it, and subscribe to the forum, it promises to be a great source of knowledge for all those XP/SCRUM/Agile fans.

Sunday, April 15, 2007

Ajax and Delphi

I'm finally working on the web applications of my home project, and I decided to work with Intraweb 9 as my web framework which now supports "Ajax" events on most of its components and comes built-in my brand new shinny Delphi 2007.

But, browsing around I found a set of extremely interesting examples and articles about using the Microsoft flavor of Ajax (Atlas 2.0) on ASP.Net with Delphi.

Take your time on rewiewing these examples from Steve Trefethen.


It is worth to mention that TmsSoftware replied to my question about possible updates to their Intraweb web components, the answer YES!, so lets wait a couple of days, for the goodies to come.

Saturday, March 24, 2007

Delphi Developer job offer in NJ?

I saw this add from "The Lair of the Pythia" blog, so I will help spreading the word.

Delphi Job opening here!

So go there and make us all proud!

Friday, March 23, 2007

The Phone interview process...

Well,

One of the different roles that job after job I've done is interviewing new candidates for my team.

I'm very comfortable with the one-on-one, mano a mano model of interviewing, but most recently I'm dealing with a new cool variant of it, the phone screening, why is it new? well, usually that kind of process is managed by the HR people, but now days, based on the offer/demand sometimes is healthy to screen a guy before he even puts a foot out of his home.

Oh God, yes, distortion on the communication line, language barriers, unable to read body language, unable to picture your world into mine, unable to cross that border of understanding and agreement, indeed, it is a bit more difficult than my original play field.

I know that practice will make the difference for me, but also, I was lucky enough to get this link from a co-worker that it is going through the same process.

READ IT! if your duties involved phone screening, it may help you to understand the situation and save you from the confusion we noobs need to go through at the beginning.

Monday, March 12, 2007

Code Rage 2007!!! NOW!!




Guys, more than 20 online conferences covering from powerful Delphi to Java, Ruby, Php, Interbase and lots more!

Its free, its cool and its from the best developer tools company WHAT ELSE YOU WANT!!!

GO HERE NOW AND REGISTER! Starts today March 12th! 6:30AM PST!!

Thursday, March 08, 2007

10 basic principles of SOA

Lately, all my work is around implementing solutions following a SOA approach. After working for several years with multiple software vendors on my industry, and having to deal with endless integrations, I'm ending up aiming my tools and goals to it.

This is a nice little article about 10 things to consider while following a SOA mentality.

Friday, February 23, 2007

The ADO prepared property.

Today I was playing with some ADO queries and I stumble one more time with the famous prepared property. Based on the BDS help it says:

Description Set Prepared before calling the Open method to specify whether ADO prepares the command used to create the dataset’s recordset. If Prepared is set to true and the dataset component is connected to a data store, ADO prepares the command before executing it. If Prepared is set to false, ADO does not prepare the command. The default value of Prepared is false.

Now, after a bit of research I found this interesting article on the msn dev network.

The important part is here:

Prepared property

In theory, the Prepared property was designed to reduce work on the server by pre-compiling ad hoc queries so subsequent executions would use a temporary stored procedure instead of repeating the compile phase each time the query is executed. However, this is not the case with ADO's implementation—keep reading.

Since ODBC was invented some years ago, SQL Server has gotten much smarter—it now knows how to leverage existing (in cache) compiled query plans. That is, once you execute a query from ADO (or by any means), SQL Server constructs a query plan, saves it in the procedure cache, and executes it. When the query is done, SQL Server marks the query plan as "discardable" but leaves it in memory as long as it can. When another identical (or close-enough) query comes in, which is very likely in systems running multiple clients, SQL Server simply re-uses the cached plan. This saves a significant amount of time and greatly improves scalability. It makes SQL Server actually run faster as more users are added, assuming they're doing about the same things with the same set of queries.

ADO and its ODBC and OLE DB data providers know about this strategy, and in most cases they execute sp_executesql to take advantage of this feature. However, this puts the Prepared property in a quandary. It insists on creating temporary stored procedures, but the data providers insist on using sp_executesql. The result? Chaos. I describe what happens a little later when executing Command objects is discussed.

My recommendation for the Prepared property: forget it—at least for SQL Server. For other providers, set up a trace that shows exactly what's going on—what the server is being asked to do.

Now this is extremely interesting for me, specially the sp_executesql part, DataSnap indeed wraps every call in a "sp_executesql" so we are good there, now about using the prepared property, I will do more research on it, but for now, I will leave it alone. :P



Thursday, February 22, 2007

Code Rage 2007!!!



Go to the virtual conference from CodeGear called CodeRage 2007.

It includes Delphi, Java, Php and even Ruby sessions with an All-Star set of speakers.

For more information go here!

Now, I think that everybody knows about it, but just in case...



Delphi 2007 for Win32 is available now! and in a well expected move, the new Delphi for Php makes his debut. A visual IDE for PHP using the same VCL structure that we all know and learn to love.

Friday, February 16, 2007

More Delphi News!!

Wow the information is in pieces everywhere.. check the following segments of "information" said by Michael Swindell (Delphi VP - CodeGear) that appeared on the borland newgroups:

"
c) Delphi Product line - we are realigning development plans and approaches
to focus on the individual native code Win32 editions (Pro/Ent) of the
products first, then fold them into an updated Studio that will include the
.NET updates. Architect and Turbo's would fall out of the Studio releases.
The Turbo's eds will become more lightweight in the process as well. The
majority of Delphi (and C++Builder) developers are focused on native code
development - so we are aligning our releases and timeframes accordingly.
Moving everything into monolithic Studio releases had some positive effects
but also some drawbacks that came thru in customer feedback. Having to wait
for the "all personalities" was not ideal for C++ and Delphi native
developers, who had either no or minimal interest or need for .NET. It
spread attention more thinly across the products, so we are changing the
approach so that during the year Delphi native developers have focused
specific attention in a product release, same with C++ developers, and .NET
developers. This approach actually worked quite well in past lives with
Delphi and C++Builder - although the complaint years ago from C++Builder
developers was that they had to wait 6mo to a year for the latest Delphi
features... which is something that we aim not to fall into. "


Then in addtion pay attention to the new "ALL DELPHI" intention with the new pricing model and SKU's:

"
Turbo Delphi Explorer -> Turbo Delphi "better" -> Delphi Pro -> Delphi Ent

same as above for C++

then Studio Pro/Ent/Arch incl both C++ and Delphi and .NET and Win32

Turbo Pro New and Delphi Pro Upgrades similar price level. So it will be
recommended in order to keep the feature level go to Delphi Pro as the
upgrade. This is a tuning of the editions. We released the Turbos with the
intention that we would see what worked and what didn't and make some
changes in 2007 to improve.

> How is this going to be handled?
> Or is the "lightweight" reference to reduced resource demands rather
> than reduced features?

lighter weight - in features and resource and download image

in general we have 12yrs of sku's editions pricing for Win32, .NET, Pascal,
C++, Linux, and more to work out the best "model" that cleans things up, and
focuses our energy (development, packaging, and marketing) on the things
that are most important to existing customers and enables us to put Delphi
into more developers hands than ever. So there will be some things that we
do that will seem like we're undoing something we've done or said
previously, or changing a position on something previously stated or
published. Some things will probably seem crazy or sacrilege, but we plan to
grow Delphi, and to do that requires a little bit of house cleaning and
tuning. We'll probably make a few mistakes in the process, but the goal is
long term. Delphi and C++Builder have helped millions of developers, we
think the Delphi way of developing can benefit millions more developers -
and we want to bring the Delphi ideas and approach to everyone we can. The
CodeGear difference is that we're going to take some risks and try new
things, but we won't be doing it at the expense of our customers. "

It is expected a Delphi release by the end of March maximum!.




A painless self-hosted Git service

Remember how a part of my NAS setup was to host my own Git server? Well that forced me to review options and I stumble into Gitea .  A extr...