For XML Path Equivalent in Oracle For String Aggregation

For all of us that perform data migrations, sometimes we cross with specific DBMS functionalities. 
For instance, the SQL Server Trasact-SQL FOR XML PATH, which can be implemented in Oracle PL/SQL this way: For XML Path Equivalent in Oracle For String Aggregation

 ./M6

Count The Taps: Simplicity Sells.

Here's a great TED talk from David Pogue about how simplicity sells.
All product developers should see this and embrace simplicity:

./M6

Developers That Market Are Dangerous

I've came across this great post about how the road a developer goes can make him dangerous.
Developers are valuable for organizations, but when they learn to market, they become dangerous, since they move from a valuable asset into a dangerous competitor.
A must read for all developers that wish to walk the entrepreneur road: Being a Developer Makes You Valuable. Learning How to Market Makes You Dangerous.

./M6

How to hack the beliefs that are holding you back

Sometimes we don't do things because of (wrong) beliefs we have. Getting rid of such believes can be hard, but not impossible, and are a must for entrepreneurs and everyone who wishes to go further on their career and personal life.
Here's How to hack the beliefs that are holding you back.

./M6

.Net serves different HTML depending on the browser

The .Net framework has the capability to evaluate the user agent and, accordingly, render the web page for that specific browser version.

The problem here is that .Net, following the Microsoft long "I know best" record history, thinks it knows better than developers what the developers what to do. The outcome: the application may actually not work, at least as expected, on some browsers.

I got this yesterday, as I had to maintin compatibility with Internet Explorer 6 in a .Net 4 application and, some how, Internet Explorer 6 wasn't working. What is even wierd is that the same application on .Net 1.1, the maintenance branch, was working fine! Plus, against .Net official documentation, Internet Explorer 6 should work because it is set as the default minimum, but in reallity it didn't!

After some research, I've came across with the solution. Using the ClientTarget property from the Page class, I've just foced to assume everyone is using, at least, Internet Explorer 6.

./M6

The best interface is no interface

I've came across a great post about user interfaces and how they help us or, at least, not get on our way.
A must read for all UX, designers, developers and everyone with a special interest in interfaces: The best interface is no interface.

./M6

Meld on Mac OS X

Meld is great. It's, currently, the best graphical comparison tool open source (and even freeware) has to offer.

To run in on Mac OS X using Mac Ports, you should really follow this small tutorial: Running Meld on  OSX 10.7 Lion.

./M6

Make Your Own Cert With OpenSSL

I needed to create digital certificates to use on a web application, served by IIS
Here's a nice tutorial on Howto: Make Your Own Cert With OpenSSL.

./M6

Revenge of the Nerds

While talking with a friend about learning and using less kown programming languages, I've remembered Paul Graham article Revenge of the Nerds, which I've shown him since he didn't knew it.

It's a great article and I recommend all hackers, by Paul Graham definition, to read it. 

./M6

Financial Reporting with Analysis Services

I'm currently working on a data warehouse prof of concept, and a friend pointed me to a interesting report about business intelligence financial reporting with SQL Server

I hope you find it useful also: Financial Reporting with Analysis Services 

./M6

Carnegie Mellon University iPad Course

If one wishes to learn the art of iPad programming, one can do it with the iPad Course from Carnegie Mellon University. ./M6

You're in Lisbon and have a problem on an Apple product?

The Mac hard disk died. After a RAM upgrade it worked fine for one week and then, just died...
A friend had exactly the same problem, he also upgraded the RAM and the Mac hard disk died.
Coincidence?
Probably...
I went to pick it up today and talked with the assistant about it. He said it was a coincidence, that he had two more Macs with the same problem, one had a RAM upgrade and the other was factory default...
Coincidence?
Maybe, may be not.

But what's really important is the assistance. If you ever have a problem on an Apple product and you're in Lisbon, just take it to Tou Aqui Tou Aí. Yes, the name (in portuguese) is... let's be nice and just call it, different... But the guys there are good, and that's what really count.

./M6

How to (Finally) Quit Your Job

As you wait for the elevator to arrive after another mediocre day at the office, you give yourself an all-too-familiar pep talk. "I'm better than this, and I've completely had it with this job," you tell yourself. "I'm outta here for good."
It takes a lot of guts to get out of one's comfort zone. Want to take your life in your own hands? It's mainly in your head: How to (Finally) Quit Your Job

./M6

Why has my Mac become so slow?

Last week my Macbook Pro start to get really slow... The week before I upgraded the RAM from 4GB to 8GB, then there was a Lion update and finally I've installed Microsoft Office for Mac.

Then, things started to get real slow... 
And by real slow, I mean, 20 minutes to boot...
Since there were three major modification to the system on the same week.

I started by checking if it could be caused my the RAM upgrade. I've found that it was a possibility, but it would probably not be it, since it worked fine some days after the memory upgrade. Nevertheless, I changed to the original RAM, to see if it was it, and, as I expected, it was not.

Over the time, it became even more slow... At some point, it would not even boot and it started to heat...
That's when I decided to make a system recover.
Pressing ALT + CMD + P + R all at the same time until the apple logo comes up boots up the repair partition with the disk utilities and system repair options.
After a quick check with Disk Utility, which yield no problems whatsoever. Nevertheless, I performed a system repair.
It also took a lot of time but eventually it finished.
But the first boot did not happened... It got stuck and started to heat again...

I decided that it would probably require a clean installation.
I booted the repair options again, now also taking too long to load, formatted the partition and installed the Lion again.
But again, the boot failed!

It was time to get the Snow Leopard boot DVD that came with the computer.
Loading from the DVD, by pressing C during boot, was quite fast. Much faster than loading from the hard drive. 
Now, that's quite unusual! And the repair system was running faster than the version from the hard drive.

By now I was thinking it could be I/O problems, and thus performed another disk verification and repair with Disk Utility. It came out OK. After performing a clean installation, also taking ages (the estimate time was 35 minutes and it took 2 hours), I was able to perform a boot into my fresh install Snow Leopard. 
The boot was still slow and the Apple "Welcome" video was not synchronized with the audio, it had a lot of freezes and took too much time to play...
By now, I was convinced it was a hard disk problem.

Again, the Disk Utility stated that the hard drive was fine. I performed a simple test: open a Terminal. A simple and small application on a clean 8GB RAM system took around 30 seconds... And when I fired Safari, it took over a minute, with a maximum of 78kb/second of I/O speed...

After some research, I've found that the Disk Utility that Apple ships is a peace of crap. Simply stated: Disk Utility sucks. It is totally non-reliable.
I've also found out that slow systems are a good indicator of a dying hard drive.
And finally, I've found good software that didn't lie to me: SMART Utility.
As soon as I've opened SMART Utility, it stated a set of problems, including bad sectors and SMART failure.

That was it! 

Disk Utility sucks.
If Apple packed a decent disk utility it would have saved me a lot of much time. And, thinking about it, how hard can it be to pack a decent disk utility nowadays?

Here's a good topic about all this: 

./M6

Setting Up Django Applicatications in Production

Setting up a Django application in a production environment is not as straight forward as one usually is used to. Currently, there are two ways to deploy a Django application:
  1. Deploying on our own server, using WSGI.
  2. Deploying on a shared hosting environment, using FastCGI, SCGI, or AJP.
Django’s primary deployment platform is WSGI, the Python standard for web servers and applications, which requires Apache and mod_wsgi.

But when it comes to deploy, Django official documentation seems superseded by the Linode Library Deploy Python/Django Applications with Apache and mod_wsgi tutorials, an easy to follow step-by-step tutorial, available for several distros.

./M6

Diagrams that Look Great

One of the thinks I dislike is people that stick with the first thing they get and do not take the time to see if there's anything better for them out there.

The usage of Visio is one example.
I never really liked the application, but 10 years ago it was one of the best we had for Windows.
Apple users really never suffered with this mainly because of OmniGraffle.

But one decade has passed and Visio still has the same not very good user experience interface and the same old boring graphics. Overall, the application transmits a look and feel of the nineties, even with that ribbon menu and the Aero look...

Fortunately there are others that feel the same, and when great UX pairs with great design, the result is (usually) a solution that rocks! We no longer have to stick with dull looking Visio diagrams, now there are things like gliffy.

The result of using gliffy, or similar solutions, is great looking diagrams that one can include in any document and it will produce a positive effect, because instead of turning your document dull, it will help making it look cool.

./M6

Visual Studio C# Express Compile in 32 bit

Visual Studio Express edition is a striped down version and it does not have 32 bit compilation explicitly available in 64 bit computers.
Here's how to make Visual Studio C# Express compile in x86 32 bit.

./M6

MySQL Root Password Recovery

Having trouble with a lost MySQL root password or root login not working?
Here's a step-by-step MySQL Root Password Recovery tutorial.
./M6

Customize Layouts in Virtuemart 2

While looking how to to customize the cart view in Virtuemart 2.0, I've come across with this simple step-by-step explanation: What's new in VM2.0? Templates!
Fantastically easy! Just copy the component views files into your ./debugtemplate/html/com_virtuemart/<component> directory and code away.

For instance, to give your checkout page a different look, just copy components\com_virtuemart\views\cart\tmpl\default.php into ./debug<your template>/html/com_virtuemart/cart/default.php and hack it.

Actually this follows the MVC Joomla! extensions pattern, so one can apply this customization technique to any component.

./M6

jQuery Calendar Date Picker in Django Forms

A common problem that developers face in Django is to have a calendar picker.
Here's a simple solution how to set up jQuery Calendar Date Picker in Django.

./M6

XAMPP & Skype Conflict

I've just found out that, in my Windows 7Skype and XAMPP have a conflict.
Apache cannot start if Skype is running because it states that port 80 is already in use. When configured to port 8080, Apache does not start because port 443 is in use.

The solution?
Terminate Skype, start Apache, start Skype.

Weird...

./M6

MetaMod Placeholder Position Display Management

When using Joomla! sometimes one requires to hide some information, like a specific menu, or an entire position.

MetaMod let’s you do this in a quite easy way.
One can follow their documented technique of moving stuff from an non-existing position into the real position, or one can use a simpler strategy that does not imply having virtual positions and nor moving stuff between these virtual positions and the real position: MetaMod Position Display Management.

./M6

Translating Math Into Code

"Discrete mathematical structures form the foundation of computer science."

This opening sentence resumes the article about: Translating math into code with examples in Java, Racket, Haskell and Python, that show how math is translated into code.

./M6