Programming in Scala
Got the Programming in Scala eBook. I hope to get time and build an experimental Eclipse Plugin with it.
The Java Explorer
I’m happy to announce that Eyal Schneider, the collegue of mine, has been finally convinced to open a blog to share his knowledge and experience.
Eclipse Galileo RC1 Update Manager RT Equinox P2 is still not good enough for me yet
I’ve just failed to install JDT over clean Eclipse Platform RC1 (and this time a bug has been opened):
An error occurred while installing the items
session context was:(profile=PlatformProfile, phase=org.eclipse.equinox.internal.provisional.p2.engine.phases.Install, operand=null –> [R]org.eclipse.ant.ui 3.4.0.v20090504, action=org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.InstallBundleAction).
Error while loading manipulator.
Error while loading manipulator.
Retrying causes the message immediately. Reverting to the previous installation stage does not help. Restarting does not help either.
It’s very sad that what they call Release Candidate is still rare. Waiting for the release…
PHP Frameworks popularity estimation
About 2.5 years passed since I posted the development activity comparison of major PHP frameworks. Since then I’ve got about 4.5k hits from search engines, which IMHO is not such a bad sample to summarize people’s interest in each of them.
Again, no conclusions – just pure numbers
| Query | Hits | Zend | CakePHP | Symfony | CodeIgniter | Prado | Seagull | eZ |
| zend framework vs cakephp | 573 | 573 | 573 | 0 | 0 | 0 | 0 | 0 |
| zend vs cakephp | 319 | 319 | 319 | 0 | 0 | 0 | 0 | 0 |
| cakephp symfony | 258 | 0 | 258 | 258 | 0 | 0 | 0 | 0 |
| zend vs symfony | 254 | 254 | 0 | 254 | 0 | 0 | 0 | 0 |
| cakephp vs zend framework | 217 | 217 | 217 | 0 | 0 | 0 | 0 | 0 |
| symfony vs zend | 210 | 210 | 0 | 210 | 0 | 0 | 0 | 0 |
| zend framework vs symfony | 187 | 187 | 0 | 187 | 0 | 0 | 0 | 0 |
| symfony vs cakephp | 185 | 0 | 185 | 185 | 0 | 0 | 0 | 0 |
| zend framework vs | 176 | 176 | 0 | 0 | 0 | 0 | 0 | 0 |
| codeigniter vs zend framework | 143 | 143 | 0 | 0 | 143 | 0 | 0 | 0 |
| prado framework | 139 | 0 | 0 | 0 | 0 | 139 | 0 | 0 |
| cakephp vs zend | 139 | 139 | 139 | 0 | 0 | 0 | 0 | 0 |
| symfony vs zend framework | 138 | 138 | 0 | 138 | 0 | 0 | 0 | 0 |
| zend framework cakephp | 131 | 131 | 131 | 0 | 0 | 0 | 0 | 0 |
| prado vs zend | 103 | 103 | 0 | 0 | 0 | 103 | 0 | 0 |
| zend framework vs codeigniter | 84 | 84 | 0 | 0 | 84 | 0 | 0 | 0 |
| cakephp vs symfony | 82 | 0 | 82 | 82 | 0 | 0 | 0 | 0 |
| prado vs cakephp | 81 | 0 | 81 | 0 | 0 | 81 | 0 | 0 |
| prado vs symfony | 80 | 0 | 0 | 80 | 0 | 80 | 0 | 0 |
| zend vs codeigniter | 76 | 76 | 0 | 0 | 76 | 0 | 0 | 0 |
| zend or cakephp | 69 | 69 | 69 | 0 | 0 | 0 | 0 | 0 |
| codeigniter vs cakephp | 68 | 0 | 68 | 0 | 68 | 0 | 0 | 0 |
| codeigniter vs zend | 62 | 62 | 0 | 0 | 62 | 0 | 0 | 0 |
| zend vs code igniter | 60 | 60 | 0 | 0 | 60 | 0 | 0 | 0 |
| cakephp zend framework | 59 | 59 | 59 | 0 | 0 | 0 | 0 | 0 |
| codeigniter vs symfony | 55 | 0 | 0 | 55 | 55 | 0 | 0 | 0 |
| cakephp symfony zend | 52 | 52 | 52 | 52 | 0 | 0 | 0 | 0 |
| cakephp vs prado | 50 | 0 | 50 | 0 | 0 | 50 | 0 | 0 |
| symfony zend framework | 48 | 48 | 0 | 48 | 0 | 0 | 0 | 0 |
| cakephp vs codeigniter | 48 | 0 | 48 | 0 | 48 | 0 | 0 | 0 |
| zend framework vs code igniter | 46 | 46 | 0 | 0 | 46 | 0 | 0 | 0 |
| zend framework vs. cakephp | 46 | 46 | 46 | 0 | 0 | 0 | 0 | 0 |
| symfony vs codeigniter | 45 | 0 | 0 | 45 | 45 | 0 | 0 | 0 |
| symfony vs prado | 39 | 0 | 0 | 39 | 0 | 39 | 0 | 0 |
| zend vs prado | 37 | 37 | 0 | 0 | 0 | 37 | 0 | 0 |
| zend cakephp | 37 | 37 | 37 | 0 | 0 | 0 | 0 | 0 |
| zend framework symfony | 36 | 36 | 0 | 36 | 0 | 0 | 0 | 0 |
| zend framework or cakephp | 35 | 35 | 35 | 0 | 0 | 0 | 0 | 0 |
| prado symfony | 35 | 0 | 0 | 35 | 0 | 35 | 0 | 0 |
| seagull vs cakephp | 34 | 0 | 34 | 0 | 0 | 0 | 34 | 0 |
| zend framework versus cakephp | 32 | 32 | 32 | 0 | 0 | 0 | 0 | 0 |
| Total | 4568 | 3369 | 2515 | 1704 | 687 | 564 | 34 | 0 |
| Interest Ratio | 73.75% | 55.06% | 37.30% | 15.04% | 12.35% | 0.74% | 0.00% |
Windows XP x64, Cisco VPN Client, VirtualBox and Windows 7
As you can easily guess from the subject, I had compatibility issue with installing Cisco VPN Client over my Windows XP x64 installation – the bastards refuse to release 64-bit version drivers. That was not a big deal for me, since I used to connect to the office from my ThinkPad T42 anyway.
But just these days Windows 7 has been pre-released, so to play with it a bit I installed the x86 version of it over VirtualBox.
Hence, in this very moment I’m tunneled through 6 network interfaces:
- Some neighbor’s wireless router
- Wireless adapter
- VirtualBox’s adapter
- Cisco’s virtual adapter
- Cisco’s VPN server
- Office workstation’s adapter
Speaking at …
Reading blog rolls for years, I rather often meet posts of different “socially recognized” ones, which proudly inform us, that they are going to speak at some conference. And what’s very common is that the subject of their messages are literally that they are “speaking”.
What does that mean? That the main fact they provide us is that “they are speaking”, and not that “some important subject will be explained in their speeches”. Otherwise they would say that first.
What can I conclude? That most of them are just egoistic monkeys that in fact using the corresponding issues to promote themselves and collect more bananas, rather than they are really interested in sharing their information, which is (according to my understanding) the purpose of the conferences.
Other monkeys use the chance to participate in such sessions to promote themselves by asking “interesting” questions in these sessions…
It’s funny that some people thought that socializing the network may boost building selfless society. As I see it, it’s just a way for offline losers to find the bunch of other losers of the same kind and to gain respect among them to feed their ill and hungry ego with fast junk.
Well, personally I don’t mind. What I’m truly happy about is that people I respect for real are trying to spread the good by deed, rather by dissimulating word.
Eclipse Maven Integration
Honestly, I was pretty unsure regarding Maven at all. “Why should I port my projects from Ant, where everything is plain, simple and predictable? Single point integration jars are connected to their dependent projects, shared ones are extracted to a Libraries project. Deployment is as easy as checkout and build…” – I convinced myself.
But soon I’ve realized that if our team’s Product is no more than a chain in the string of Products and Components which are unified into the Solution, than why the hell should our code base not to be like that? It’s so nice that lots of Environments has their packaging systems which make installation simple and aesthetic… So if you work in Java and harmony and beauty are not just senseless terms for you, believe me, you should use Maven.
The main Maven’s advantage over Ant is that each dependency, called artifact can be (and commonly is) an independent project with its own history of versions and dependencies. So, if you want your project to be dependent of any library, you can just find it in one of major Maven repositories, add its id to your pom and – voila! it works.
Then, when time comes to deploy your stuff, you pack it and do the same – upload your stuff to another maven repository. Here the cycle closes and the universal happiness has been achieved.
Now, regarding the subject. There are 2 Maven Eclipse plug-ins in the market – m2eclipse and q4eclipse. Both of them recently were accepted as Eclipse native incubation projects as M2E and IAM. I tried them both starting from the second, but as it always happens, the first was the better one. M2E is very stable, comfortable and easy to understand w/o any documentation, while IAM is pretty buggy and unclear.
So I chose M2E to work with and it took just about 3 hours to convert all my projects to poms, configuring all their dependencies and then converting the projects into Maven managed ones. With the last action, all the Eclipse dependencies convert into Maven dependencies, the build is replaced with Maven build and it guarantees that there will be no surprises in production builds. And then you can proceed with LB/Continuum/CC with no time spent to understand why nothing doesn’t get built correctly.
Now what’s remaining is to reintegrate the changes from the sandbox branch and help the team to not be too scared of the changes
Last Singleton
Hooray!
Today I’ve eliminated the last misused occurance of singleton pattern in the monsterous project I’m currently involved in.
LinkedIn WordPress integration
I’ve just discovered (with a passive help of comrade Cal Evans) that LinkedIn added an application to embed WordPress blog entries into the profile.
There are two options for that – one is to share all the entries in there, and the second – to just share what was labeled as LinkedIn.
Not sure why exactly does it, but it seems kind of groovy to me
Aptana “steals” PDT code
Long time ago I set up Google alerts to receive new search results related to myself. And today I’ve discovered that Aptana steals “prepares derivative work of“ PDT code.
The only visible “derivation” there is they changed package names, though.
Blog RSS feed