Menu Items Disappeared in Drupal 5

Quick Note: the Administration Menu module in Drupal seems to have some weird bug in ver. 5.2.5 which causes menu items listing to disappear on admin/build/menu configuration page.

Solution: disable and remove Administration Menu module, download 5.2.6 or later version, install that one. If the problem persists run "menu_rebuild();" from hook_init() of any module or even from page.tpl.php. Problem should be gone.

Enjoy.

Google Protocol Buffers - the Good, the Bad and the Ugly

Google released to open-source its "language-neutral, platform-neutral, extensible way of serializing structured data for use in communications protocols, data storage, and more": Protocol Buffers.

Google claims it's like XML, but better mostly because: "[Protocol Buffers] are 3 to 10 times smaller, and 20 to 100 times faster".

My feelings about this news are mixed. Like I was just telling Doug you can't argue with Google when it comes to matters of performance and speed, BUT you can feel disgusted at the fact that a giant, like Google, uses its muscle to diminish and harm the crucial standard like XML. XML took so long to get adopted, made so much possible and is still so fragile, that you can't take this matter lightly.

OK, maybe the PB thing is faster and smaller and blah, blah, blah and maybe it's not as cumbersome as CORBA was, so it's not total evil, BUT (I repeat - BUT) let's be honest here - not everybody is Google and I can bet 90% of systems just do not care about the same things Google does. So, XML is fine for most applications.

However, now that Google is pushing one more of its bloated technologies (want another example? Think GWT) - a lot of people will adopt it just because it's a Google thing. And it may harm XML, and it may harm industry.

So, you see - as much as we all love open-source, sometimes when open-source gets intermixed with big, corporate politics - things can go south.

And last but not least, if you want more object-oriented, smaller, faster exchange format, there is JSON! JSON is well adopted and support, so why, God, why do mere mortals like ourselves need Protocol Buffers?

How To Recognize Drupal-Built Websites

Geeks among us often wonder what a website is built with. Is it a Java/J2EE home-cooked mess? Is it a .Net nightmare? Or is it a common CMS installation styled to the extent of not being recognizable (i.e. not being ugly, anymore :) )?

Most 5-minute drupal installations will respond to requests like http://example.com/user/ and http://example.com/admin/ and you will see familiar Drupal interface: either the ugly tabs, or the Garland itself.

More paranoid (or careful?) admins may have the default URIs disguised for public eyes. If we are doing analysis using an automated tool (somebody?) it's better to have an alternative method since other CMS's may respond to the same URIs and automated tools don't have eyes to see the ugly tabs.

What may help in a complex analysis of a site is looking at its HTML source. If in the header you see URIs like "/misc/drupal.js" you know this site is running Drupal! If the website admin had enabled javascript aggregation, though, you won't see anything like that and will have to hunt for "/sites/default/files/js" pattern.

Also, please note that Drupal does not load drupal.js if no other javascript is requested from code, so you may not see any of those on the home page. It's the best to look at the "Add Comment" pages, since those usually have some Javascript.

Happy hunting! :)

Firefox 3.0 Has Arrived. Download!


Firefox 3.0 web-browser has been released! The new browser has much slicker (imho) user-interface, feels faster/lighter and is just plain awesome!

For FireBug users (i.e. any web-developer and designer?) out there: you need to manually download a new major release version, 1.2.0b4. Automated update of 1.05 won't work.

Don't know about Windows machines, but on Macs you can rename the existing Firefox to Firefox2 under Applications, before installing Firefox3 and that way you can keep running both in parallel (though not at the same time). Once you upgrade the plug-ins, you can not use them in the Firefox 2, anymore and you will start getting warnings. It's still useful for testing rendering of websites and making sure your HTML/CSS works in Firefox 2, though.

Oxymoron of the Month - Agile Websphere (Project Zero)

The intro/description from IBM's new Project Zero caught my eye right away: "We're building an agile development environment leveraging scripting runtimes such as Groovy and PHP, and optimized for producing REST-style services, integration, mash-ups, and rich Web interfaces. This is the community development site for IBM WebSphere sMash, offering users a chance to interact with the development team as we build this new product".

Generally, I don't believe in software frameworks that do not emerge off of a successful real-life project and are built "in-theory", around a vague idea. This attitude of mine is backed by facts: Spring came out of a real project, so did Hibernate, Erlang was heavily used at Siemens... even Drupal was initially built for a college website Dries was putting together. Nothing ever came out of just wanting to create a software framework and thinking you have enough experience ("more than others" is usually the feeling). At least, I know no real good examples.

But besides that, WebSphere and "agile"? :) If you ever had to work with WebSphere, you will understand and will have to forgive my natural sarcasm.

P.S. Nice domain, though. I wonder how much they got that for.

Chrooted FTP Access

FTP is an insecure, outdated and overall horrible protocol that you should never use yourself. Yet, sometimes you want to allow some people to upload files to your server, but you don't want them poking around your server or users demand FTP because they are used to it and have no idea what SSH/SFTP is.

Either way, following is how you "chroot" ftp users to their home folder, so they can't do any harm:

  • Download latest proftpd source to /usr/local/sources and change to that folder.
  • ./configure --sysconfdir=/etc --localstatedir=/var
  • make
  • make install
  • Edit vi /etc/proftpd.conf:
    • Change "Umask 022" to "Umask 002" #So, files they upload are group-writable
    • Uncomment "DefaultRoot ~" # this does actual chrooting
  • Make sure "/bin/false" is listed among the shells in "/etc/shells"
  • Create new unix user with "-s /bin/false"
  • Start proftpd daemon

Drupal in Healthcare - Social Networks Beyond MySpace

David E. Williams, from the Health Business Blog recorded an interesting podcast with Dr. Jason Bhan, co-founder of Ozmosis.

Ozmosis is a social network for practicing physicians to share knowledge and communicate. Revolutionary in its nature, Ozmosis uses the rich experience of existing social networks, plus a proprietary "trust" technology, to create a breakthrough environment where physicians can quickly get answers and improve their knowledge.

Ozmosis was made possible by Drupal. Examples of Drupal usage that benefit public are numerous, but if I am not mistaken, this is the first major case of Drupal being used in Healthcare. It's great to see Drupal helping revolutionize the way things are done, especially in such an important area.

Listen to the podcast: [ http://www.healthbusinessblog.com/?p=1804 ]

Martin Fowler And Jim Webber About SOA and Enterprise Integration

A very insightful and fun presentation that is not boring, from people who really get it:
http://www.infoq.com/presentations/soa-without-esb

Awesome job! We admire these guys for a reason, indeed.

Measure Distances on Screen in Mac OS-X

Really nice and useful tool:
http://www.pixelatedsoftware.com/products/pixelstick/

Tools like this one are plenty, but this particular one has a great user-interface. Better than any other free one, I have seen.

Web 3.0 Has Arrived

Web 1.0: Global reach to content publishing.
Web 2.0: Web becomes a two-way publishing avenue: readers contribute content and play central role.
Web 3.0: Let's try make sense of the enormous content published. Smart aggregation becomes key.

It looks like the reality in which content aggregation plays equally important role, compared to publishing, is arriving quietly but steadily:

Image courtesy of Amazon Web Services Blog

P.S. Thanks to Doug for pointing to the blog post.

Syndicate content