Archive by Author

Zend Studio Performance

8 Dec

Lately i noticed Zend Studio wasn’t running as smooth as before. When going into hibernate or logging off, i often notice javaw.exe has crashed, that caused the system not to shut down. To fix this problem i’ve found several solutions, i’ll list those here for future reference :

  • make sure the power settings do not use the option to enable cpu throttling (this seems to be a java issue)
  • try replacing zends jre by JRE 6 (http://java.sun.com/javase/6/download.jsp)
  • disable the OS look&feel in your zend application
  • disable all power management for your video card
  • if you are using a dual monitor setup, make sure the editor & palettes are on the same monitor/display
  • remove the Zend Project cache file : /Documents and Settings/{Win username}/ZDE/config_5.1/caches/
  • expand the heap sizes (to more then 256 MB) the JRE needs for the Studio to function [file: {studiopath}/bin/ZDE.lax]
  • if you have a 64b machine, make sure you have the 64bit java lib
  • try disabling your antivirus for a second and check if performance goes up
  • if you are using an external subversion client (not ZDE’s), make sure your options in ZDE are on CVS. (options > source control). Performance gets a huge boost (integrated svn is causing a problem when using 3th party tools)
  • submit a support ticket (http://www.zend.com/support) (make sure to mention you tried all t he above steps, and provide as much detail as possible, because they won’t fix your problem untill they have everything they are looking for : hardware, software, ZDE.log, description of the project)

Here’s the info I found posted over at the PhpBuilder.com Zend Studio Forum by MStaniszczak (post is no longer there). This item addresses the speed of the java virtual machine, and for those of us running Intel processors, this tends to be faster than the Sun JRE. If you’ve got an AMD processor, this may or may not yield any performance.

Head on over to BEA Systems and get the JRockit 5.0 JRE. Don’t worry about the SDK, unless you’re a Java programmer. It’s about 30 megs, so dial-up beware. After downloading it, extract the exe (right click, extract archive).

After you’ve done that, you should see some files, as well as another archive or zip file named something like win_ia32_jrockit150_04_jre.zip. You’ll want to extract that as well, to it’s own directory or folder (name it jre) , and that’s going to be what we need.

First, make sure the ZDE is not currently running. If it is, exit it. Now, find your installation of the Zend Studio client. It should be something like C:/Program Files/Zend/ZendStudioClient-5.0.0/. You’ll see a directory already named jre. Rename it to jre_old. Copy the directory we created from the archive into the ZendStudioClient-5.0.0/ directory.

For me the HEAP size, in combination with the source control tab (to cvs) did it, as i am using tortoisesvn for version management.

Moving Datacenter

2 Nov

2,5 years ago, when starting my own company, we wanted to offer webhosting to our webdesign customers, that’s why we decided to buy a server, and make use of a ‘colocation’ host for a 1U server. Pretty soon, it became clear we would need another ‘development’ machine to test/debug our applications before going live…So we bought another one…

Because we now had 3U’s space, we decided to look for a larger spot, so we would have more options afterwards. I convinced my cousin’s company to come along, and we decided to rent a 1/2 rack (colocation) in Amsterdam. At that moment we were still hosting gameservers, so we regulary did server updates (new hardware etc)…Now if you know that going to Amsterdam, without traffic, takes about 3hrs (and 3 hours back) by car, you can see that this is a terrible situation, and especially when your hardware malfunctions once in a while…

So at the end of my contract, i decided to move to Belgium with my servers. The prices of colocation in the Netherlands were booming because of energy pricing (that’s what they told me), and the service wasn’t all that either….

Because my network administrator has a small colocation company in Antwerp, Belgium. I decided to give it a go. Important detail is that i don’t profile myself as a webhosting company but i offer webhosting solutions to my webdevelopment clients. This way i do not have to keep 1000+ users in account, and i can guarentee maximum uptime to my clients (i know exactly which modules, dependancies, configuration these clients need).

Now as time is going by, my company has some decent clients that require maximum uptime. Because the location in Antwerp is fully dependant of realroot (a major player on the belgian colo market) we’ve had a few problems. Being dependant of only one company is a major flaw in any case, so i started looking for alternative solutions…And i did, a Brussels based colocation company, this company offers everything i need (multiple power feeds, independant network, own RIPE account), now let’s hope we could stay here for a while…

Writing Killer PHP Applications

31 Oct

Because i still have a quite visited blog (disabled comments though), i will try to post some web development idea’s / articles on a regular base. As a full-time webdeveloper i find it very important to have the right tools. I’ve told you before, as a development machine i am still using a WAMP set-up (Windows, Apache, Mysql, Php), whenever i finish some work on a project, i commit the code changes to a subversion repository (running on a Debian machine). The subversion server accepts connections over secured http to make sure no-one is reading / sniffing. To my opinion, the best tool to handle your svn actions (merge, commit, update) on a Windows platform is TortoiseSVN, they release regular updates, supports almost every svn action and has great documentation.

The most important in my daily development is my IDE, for the last three years i have been using Zend Studio Professional, at this moment i think (and i’m pretty sure), it’s the best PHP IDE Around. It has debugging capabilities, code completion, svn/cvs integration (although i prefer tortoisesvn, see above), but ofcourse it can’t be perfect…(i do expect it to come close for 300$/year).
One thing i don’t like about the Zend IDE (besides the pricing), are the updates. Zend is quite slow on the updates, (they might have too much todo), but as a registered & paying customer, i think some major fixes (Javascript errors in internal browser, Linux Visual Interface, Crashes) in Zend Studio 5.2.0 have a higher priority then deciding to build a new IDE when the current one is not finished (it never is). Nevertheless, this IDE is still the best PHP Editor around, in combination with the Zend Platform (free for developer licences & combined in the Zend Pro licence) you’ve got yourself a kickass debugging system containing the most important features as breakpoints, watches, stacks and output buffering.

Quick Post / Hiring

16 Oct

Hi all, it’s been awhile. I enjoy life as an independant consultant. It’s my second month fully independant (fulltime), and i’m loving it. Infact, new projects are coming in too fast, so we’re hiring.

We are looking for young skilled Belgian (dutch speaking) web developers. If you are interested send your CV to me at snk00sj@digitalbase.eu Before you do that, make sure you have the following qualifications :

  • under 35 years/old
  • native or perfect dutch speaking
  • decent knowledge of english
  • good social skills
  • excellent PHP knowledge
  • basic knowledge of version management systems (cvs, svn)

Make sure to mention your references and/or degrees.

Talk to you soon

.eu domain registration system, my experience

10 Aug

Seems like Europe is getting a lot of critique on the management / handling / registration of .eu domain names. Wired news published an article that handles some of these problems

“It was badly handled from start to finish,” said John McCormac, who runs an Irish domain monitoring service and whose blog tracks the .eu controversy.

To make sure my company was able to get the .eu domainname, i tried to register the digitalbase.eu domain name during the sunrise 2 phase , so i used google to find a decent Belgian .eu registrar compared it to the certified registrars on the eurid site, mainly because i knew alot of fake companies were popping up…

After signing up, filling in all datails and paying the bill (about 300 euro’s), i got documents i needed to fill in and send to PriceWaterHouse coopers, and international law firm that was appoined by the .eu to handle the sunrise paperwork. I sent the filled in request 5 days after registering my domainname, on the day the sunrise2 period started. There i made a terrible mistake by not sending it by ‘registered letter’. My registrar told me i had 30 days to make sure my file would reach PWH (price waterhouse coopers), and as i sent it in 5 days after sunrise 2 phase opened, i was pretty sure there wouldn’t be any problem, right ?

After 30 days, i got a message from my registrar saying my application suspended, because the period was over, WTF?
I immidiately called them :

Me : I sent the application form 5 days after i registered my domain with you, i think it should have arrived by now ?
Registrar : I’ve had several complaints the past days, but i can’t help you, as it is PWHC desponsability, i suggest you give em a call ?
Me : Grrrrrrrrrrrrrr……ok

After this phone conversation i was starting to realise it was going to be a terrible job, getting someone to talk to at PriceWaterHouse coopers, but i gave it a try without any luck (i didn’t have a confirmation of sending the application). To make sure i had my domainname, i immidiately pre-registered my domainname with the landrush period, as i had a fast & solid registrar i was the first to register it in landrush…but i still lost my 300euro.

Now i ask myself, this lawfirm appoined by the .eu just has the complete control of what they do with your application ? During the period (after paying 300euro, for a minimal level of service), you do not get informed ONCE that your file still didn’t came through…I did send my letter immidiately, but even if it didn’t came through, for this amount of money you would expect a basic service and/or follow-up concerning your application, but i guess not…

Untill now, the letter didn’t came back, neither did i get a word from PWHC, and i am pretty sure i am not the only….

bash.org

8 Aug

(@damned) one time, my mom asked me if she copied something, and then unplugged the mouse and plugged it into another computer she could paste it

from bash.org

Alright. 5 reasons why I’m convinced that my penis runs Linux.
1. I can create child processes
2. I can handle multiple users on any platform at once.
3. I’m VERY user friendly.
4. I have incredible uptime.
and 5. When my system load gets too heavy, I end up dumping my core and the system shuts down.

from bash.org

Good Software

8 Aug

I created this page mostly for myself to have an overview of software i use on my systems.

Allway Sync : This freeware apps allows you to syncronize multiple devices. The app accepts commandline arguments for all your scripting needs. You also have the option to set the syncronisation direction & analyse before you sync. Great app !


Flashfxp
: Without a doubt the best FTP/FXP client on the market, this software costs 25$ (see below)

PuTTy : A very good free ssh/telnet client, works like a charm, i tend to use the portaputty release so i can take it wherever i want

Truelaunchbar : Because windows (and kde/gnome) is lacking the ability to create custom root application menu’s, i use this nifty thirth party app to add menu’s to the top & bottom of my screen to have quick access to the common utils/commands. A personal licence costs 19$, and it’s worthy it.
WinSCP : Freeware SFTP and SCP client, i wouldn’t trade it for anything

Xplorer Pro : a very nice explorer replacement, very handy for file management because this application has 2 windows (similar to norton commander), i use the pro version that will cost you EUR 19.95, i couldn’t live without this anymore.

Zend Studio Pro : a PHP IDE that has cvs/svn integration aswell as an advanced debugging system. Best PHP IDE Around
As you already know by reading my blog, i like open-source software, but i also think that good software needs support, and there is no shame in asking money for a nice piece of software. I would like to urge you, if you like to work with the above software, to support the company and buy a licence !

OpenVPN : i use VPN to connect to the office from outside. OpenVPN is a free & very stable client for Windows machines.

New Ubuntu installation

8 Aug

Because i’ve read alot of good things about Ubuntu 6.06 TLS (codenamed Dapper Drake), i decided to give it a go this week. After seeing the movies (here, here and here) of the eyecandy (Compiz & XGL) i couldn’t wait to get it up & running to start drooling over my new & shiny laptop. I included some movies so you can see what i am talking about :

[gv data="PNWA1jT-gJ4"][/gv]
[gv data="IWQL56pMUSA"][/gv]
[gv data="qvRx_GCE8GQ"][/gv]

Update: after working with Compiz/XGL for a while, i’ve noticed there are still some major flaws/features missing, the ones i miss the most at this moment are :

  • saving state/position/size of a window
  • some windows suddenly dissappear without further notice, i can restore em by killing them and starting them again

I’ll post some more thoughts pretty soon…

EDIT : Because i got some negative e-mails, i want to point out (just to be clear), that the flaws in compiz/XGL do not have anything todo with Ubuntu Dapper release itself, i found this debian based distribution very easy to install, flawless and self-explanatory…

Internationalization – seo – mod_rewrite : Part II

2 Aug

As a follow-up to my previous post (Internationalization – seo – mod_rewrite : Part I). If you followed my previous instructions, by now you should be the proud owner of a ‘google sitemaps‘ account and your webhost supports statistics that can tell you when a crawlbot visited your website (or raw logs, if you’re a sherlock holmes type).

Because you are reading this howto, i can conclude you have a website running on a domain or atleast a subdomain. For multi-language systems i prefer using the subdomain to set the language of the user. So if you were using www.mydomain.tld/index.php?lang=en before, you will now be using en.mydomain.tld. For a website with multiple languages that would become :

  • www.mydomain.tld : would point to the default language, or will relocate the user based on browser/os/nslookup (whatever you prefer)
  • en.mydomain.tld : would point to the website in english
  • fr.mydomain.tld : would point to the website in french
  • X.mydomain.tld : would point to the website in …

If you are using a subdomain this could be done with en.subdomain.mydomain.tld etc….
This way of working has some advantages :

  • users will be able to bookmark directly in their language.
  • Search engine optimalisation can be targetted on subdomains seperately
  • crawlbots will easily know which language they are crawling (also due to tag)

Step 1 : Set up your nameserver records

Make sure the A records all point to the same adress, i prefer setting a records for all different languages as i do not want to point *.domain.tld to the website (for various reasons). As this is not a dns administration guide, try to find more information in the docs of your dns daemon, but before doing that check if undefined subdomains do not already point to the same ip as your main domain, this could be the case and then no configuration is needed…

You can check this by doing :

 ping mydomain.tld

Compare the result ip adress with a ping to a subdomain :

 ping en.mydomain.tld

If both ip match, you will most probably have the right nameserver configuration already, you can go straight to step 2.

Step 2 : Make sure the webserver catches the subdomain

As i am using apache only at this moment, i will only explain you briefly how to do this in apache, for all other webservers check the documentation. Try to look for the virtualhost directive of your domain in the webserver configuration, by default this will be in /etc/httpd/conf, searching for httpd.conf, apache.conf or apache2.conf will tell you where it’s located…If you split up your virtualhost directives in different files, you are most probably clever enough to find your virtualhost directive, if you didn’t check the bottom of your configation file, there should be something like this :




  ServerName yourdomain
  DocumentRoot "/path/to/your/webroot"
  DirectoryIndex index.php
  
   AllowOverride All
   Order allow,deny
   Allow from All
  

Add a serveralias, so apache knows to catch the subdomains, there are 2 ways of doing this, you can add a ServerAlias for all different languages, or you could add a * alias, so from now on apache will catch all unknown subdomains for this domain.

Option 1 : Catch only the subdomains i want




  ServerName yourdomain
  ServerAlias language1.yourdomain
  ServerAlias language2.yourdomain
  DocumentRoot "/path/to/your/webroot"
  DirectoryIndex index.php
  
   AllowOverride All
   Order allow,deny
   Allow from All
  

Option 2 : Catch all subdomains




  ServerName yourdomain
  ServerAlias *.yourdomain
  DocumentRoot "/path/to/your/webroot"
  DirectoryIndex index.php
  
   AllowOverride All
   Order allow,deny
   Allow from All
  

Save your virtualhost config file, or main webserver configuration file and restart your webserver

 apachectrl -k restart

More information on setting Apache virtualhosts serveralias’es.

You should now be able to see the same website you had before, using the lang.mydomain.tld subdomains, if this is not the case, check your include paths etc….I have to stop this howto for now, we will go the the coding itself in Part III

Back from Holiday

31 Jul

As you might have noticed my blogging activity has reached a ‘below-zero’ level. Last week i was on a holiday for a week (i’ve been to France), i did my best ignoring my portable for 7 days, and i am proud to announce i succeeded !