Putting the Google Base API to Good Use - Part 1

Tagged:  

A while back I wrote a post about creating a Product search using the Google Base API. We'll I've made a few examples for another blog that I've been writing on called The Porsche Guy's.

Since the blog focuses on Porsche related news and projects (I happen to have an older Porsche 944, so enjoy talking about the cars) I created two Porsche related searching tools. The first is a Porsche Parts finder that makes it easy to find the best prices on the Web for Porsche parts (you can go to the Porsche Parts Finder here). The second is a Porsche Finder, so it you are looking for a good deal on a Porsche then this tool will find the best on the web (You can see the Porsche Finder here).

My next post will go into detail as to how exactly I created these searching tools including code snippets, so look for part 2 of this post. Until then check out my first post about creating a Google Product Based Search Application here.

SharePoint Conference 2009

Tagged:  

This week I have been at the SharePoint 2009 Conference in Las Vegas. The highlight of the conference so far was the keynote on Monday.

The keynote featured Steve Ballmer, Microsoft's CEO and focused on SharePoint 2010. Ballmer went through all of the new features of SharePoint 2010 and announced the release date of the public beta. The public beta will be released in November and the final version is scheduled for release in early 2010.

The new features of SharePoint include easier to use development tools, debugging and profiling features inside of SharePoint and easier implementation of Internet sites. The development tools are built into Visual Studio 2010 and allow for things such as starting templates for Web Parts. This reduces the amount of hand written code to start creating a Web Part.

According to Ballmer there are quite a few Internet sites that are already using SharePoint by companies such as Ferrari, Volvo and EA. SharePoint 2010 will make it much easier for more companies to do the same (without as many issues as the before mentioned companies had in implementing).

The look and feel of the new SharePoint looks a lot more like the newer versions of Office. In fact with the new version of Office connects to SharePoint, so users will be able to do quite a bit of the work that they would do in SharePoint through the Office 2010 application that they would like.

Microsoft is also releasing a service called SharePoint online. This service is running a SharePoint service in the Cloud. Because of this you get the advantage of having Microsoft keeping the servers up and the SharePoint patched, but you do lose some administrative privileges. It is also possible to have a portion of your SharePoint running in the Cloud and the rest running on-premise.

Microsoft sees SharePoint as almost a type of Operating System, so it will be interesting to see what the future of SharePoint holds.

How to Make a Search Based on Google's Product Search

You may have seen the Google Product Search and may have thought that it would be useful to include a customized version of the search into a website or application. Unfortunately, you can't just create a custom search engine based on the Product Search using Google's custom search creator.

So, how would you incorporate the Product Search into an application? The answer is to use the Google Base API. The API allows for you to call a feed and if you use the [item type:products] option it will use the Product Search data.

The API allows you to receive the feed in Atom, RSS and JSON formats. Google has also made it very easy by making a feed URL builder (you can access the builder here).

So, if you want to make an application using the Products Search now you can.

15 PHP regular expressions for web developers

Tagged:  

Regular Expressions can be very useful tools for web developers. However, they can be a bit tricky to use, especially when you are not very experienced in web or software development. Well, over at Cats who Code they have put together a list of 15 useful regular expressions for web developers. The code is written in PHP, but should be fairly easy to translate to other languages.

Below is an excerpt from the post.

For many beginners, regular expressions seems to be hard to learn and use. In fact, they're far less hard than you may think. Before we dive deep inside regexp with useful and reusable codes, let's quickly see the basics:

Regular expressions syntax

Regular Expression Will match...
foo The string "foo"
^foo "foo" at the start of a string
foo$ "foo" at the end of a string
^foo$ "foo" when it is alone on a string
[abc] a, b, or c
[a-z] Any lowercase letter
[^A-Z] Any character that is not a uppercase letter
(gif|jpg) Matches either "gif" or "jpeg"
[a-z]+ One or more lowercase letters
[0-9.-] ?ny number, dot, or minus sign
^[a-zA-Z0-9_]{1,}$ Any word of at least one letter, number or _
([wx])([yz]) wy, wz, xy, or xz
[^A-Za-z0-9] Any symbol (not a number or a letter)
([A-Z]{3}|[0-9]{4}) Matches three letters or four numbers

 

PHP regular expression functions

Function Description
preg_match() The preg_match() function searches string for pattern, returning true if pattern exists, and false otherwise.
preg_match_all()

The preg_match_all() function matches all occurrences of pattern in string.
preg_replace() The preg_replace() function operates just like ereg_replace(), except that regular expressions can be used in the pattern and replacement input parameters.
preg_split() The preg_split() function operates exactly like split(), except that regular expressions are accepted as input parameters for pattern.
preg_grep() The preg_grep() function searches all elements of input_array, returning all elements matching the regexp pattern.
preg_ quote()

Quote regular expression characters

You can read the full post here.

Google Helps Make the Web Faster

Tagged:  

Google is looking to help developers make the web faster. They have put together quite a few articles on optimizing your web site or web application.

The topics of these articles include:

  • HTTP caching
  • PHP performance tips
  • Optimizing web graphics
  • Optimizing JavaScript code
  • And many more

You can get to all of these articles here.

It's always good when a company like Google helps the developer community with tricks a techniques that they use. So, take a look at a few of these articles and work on making web a faster place.

Visual WebGui released 6.3.7 Platform for Rich AJAX applications

Gizmox released today a new version of the Visual WebGui Platform for Rich .NET AJAX applications.

Visual WebGui 6.3.7 is a further stabilization to the 6.3 pre-release version which adds support for wrapping of AJAX based controls into the Visual WebGui framework as well as support for additional languages.

The platform is available in free open source and free trial (commercial Professional Studio) versions.
All downloads are available for free here!

This is the Change log for 6.3.7:

Breaking Changes
----------------------------------------------------------------------------------------------
VWG-4746- Support for wrapping AJAX based controls added.

Bugs fix
----------------------------------------------------------------------------------------------
VWG-3930 - No control causes the designer window to open dirty - with a star marking changes.
VWG-4763 - VB form designer allows to edit ContextMenu items
VWG-4256 - Button with 21x21 image used tocrop image in a button with size of 25x25.
VWG-4204 - ListView RTL view fixed.
VWG-2599 - When browser is in offline mode a message is shown when the connection to the server is lost.
VWG-2976 - Focus indication on Checked list box focus.
VWG-4751 - Problem deleting SplitContainer contro from designer fixed.
VWG-4355 - Opening a TableLayoutPanel in designer used to automatically add rows.
VWG-4753 - Splitcontainer did not preserve splitter panels order.
VWG-4359 - When setting the CheckBoxes property to TRUE, the selection text used to disappear.
VWG-4309 - Casting safetly tests added in the resource browser dialog classes.
VWG-4344 - Support added for Iceland-Icelandic.
VWG-4403 - Support added for Brazil-Portuguese .
VWG-4311 - Support added for Portugal-Portuguese.
VWG-3792 - UniqueIdExtender renders CUID attribute at run-time - and it's now available in generated HTML code.
VWG-4211 - FCKEditor fixed .
VWG-4243 - TableLayOutPanel render problems fixed fixed.
VWG-4120 - TabControl should re-render on KeepConnceted requests fixed.
VWG-4752 - SplitterDistance property is now saved for the SplitContainer control.
VWG-4390 - TableLayoutPanel fixed to not corrupt layout when saving and reloading
VWG-4662 - Form.DockPadding fixed and wont make controls move on open+save form.
VWG-4483 - Buttons with Flat style text retain's it's location on mouse hover.
VWG-4260 - DateTimePicker with custom format will not change day part to undefined on second tabbing through the DTP control.
VWG-4246 - DataGridViewCell - allows placing typing cursor using mouse to edit contents
VWG-4371 - Tabbing through controls on a form tabstop on buttons with FlatStyle=Flat.
VWG-4244 - IE8 - Dialogs & MessageBoxes showing content.
VWG-4172 - IE8 - Rendering of labels fixed to look the same as in IE7 and FF3.
VWG-4340 - IE8 - Combobox rendering fixed.

Go to Downloads page...

Google Guice 2.0 Released

Tagged:  

Java dependency injection just got better: Google Guice 2.0 has been released.

What's new:

  • Provider methods. You can now annotate methods in your Module so you avoid manually constructing dependencies.
  • Binding overrides. One Module can now override the bindings in another.
  • Private modules. You can now create bindings that are not externally visible, in order to encapsulate your dependency injections.
  • The ability to inject members of sets and maps using Multibinder and MapBinder respectively.
  • ServletModule now provides programmatic configuration of servlets and filters. GuiceServletContextListener can be used to help bootstrap a Guice application in a servlet container.
  • Custom injections. Guice now includes hooks that allow other frameworks to define custom injection annotations. This enables Guice to host other frameworks that have their own injection semantics or annotations.
  • A tree-like structure for Injectors, i.e., an Injector can have children that inherit all of its bindings.
  • An introspection API: like reflection but for Guice bindings.
  • Pluggable type converters that convert constant string bindings to other types, i.e., Dates, URLs, etc.
  • OSGi compatible. Guice now works well in OSGi managed environments, because AOP-generated classes use a bridge classloader.
  • AOP is now optional, so Guice will work on platforms that don't support bytecode generation (Android).

You can download the new release here. The new manual is here. Now all they have to do is update the public Maven repository.

javax.inject.Inject

On related news (Crazy) Bob Lee, the creator of Guice, and Rod Johnson, the creator of Spring, have gotten together to propose a standard set of annotations and interfaces for using dependency injection in Java under the banner of JSR-330: Dependency Injection for Java (still only a proposal, so JSR-330 is a tentative moniker). There is also a corresponding project over at Google Code. The standardization should greatly help the use of dependency injection in shared 3rd party libraries, allowing the application developer to avoid having to initialize more than one dependency injection framework.

These annotations are modelled closely on those currently in Google Guice:

  • @Inject - Identifies injectable constructors, methods, and fields
  • @Qualifier - Identifies qualifier annotations
  • @Scope - Identifies scope annotations
  • @Named - String-based qualifier
  • @Singleton - Identifies a type that the injector only instantiates once

The utility interface Provider is also in the proposed specification.

Chrome Becomes Extensible

Tagged:  

Plugins and extensions for Google Chrome have arrived. As of developer build 2.0.180.0 of Chrome, the browser is now extensible. A page showing how to create extensions recently went up on the Chromium project documentation site as well as some samples--including a Gmail checker. A recent developer release is required to try out the functionality.

The main document page for Chrome extensions is here. Support for extensions is still very early stage, so they are not yet ready for general consumption.

Free Programming Books

Tagged:  

E-Books has compiled a sizeable list of programming books that are available free for download or online viewing. Topics include Ada, Assembly, C/C++, C#, Haskell, Java, JavaScript, LISP, Perl, Python, Ruby, Visual Basic, and XML.

You can view the list here. My favorites? The Structure and Interpretation of Computer Programs, Thinking in Java, Programming Ruby, and Communicating Sequential Processes. But I haven't read all of them--yet :).

Best free HTML editors

Tagged:  

One thing that all web designers need is a good HTML editor. Plus with the economy the way it is the right price is FREE. Well, over at DevelopersVoice they have put together a good list of the best free HTML editors.

Below is an excerpt from the post.

Aptana Studio :

Aptana Studio is the free, open source Web development environment optimized for use with Ajax libraries and scripting languages like JavaScript, Ruby and PHP. Aptana Studio is considered by many developers the best-in-class authoring environment for today’s more rich and interactive Web pages and Ajax applications.

There is also support for Adobe AIR, Apple iPhone, PHP, and Ruby on Rails development, which comes via additional development plugins.

Pros: Complete IDE, many plugins

Cons : Complicated, developer oriented

Homepage : http://www.aptana.com/studio/

Download : http://www.aptana.com/studio/download

Size : 131 MB License Type : Unrestricted Freeware OS : Windows, Mac, Linux
Free HTML editor


KompoZer :

Kompozer is an open source web development tool built on NVU. The project strives to fix bugs in the NVU project and added new features to it. Both the HTML editor as well as the CSS editor has so far be fixed and updated as part of the Kompozer project - and many more changes are scheduled. Apart from that the main feature set is exactly as in NVU. And one of the most important features is still that editing take place in WYSIWYG (What You See Is What You Get) mode allowing you full control of layout as you work with your web design.

Pros: full featured WYSIWYG editor

Cons : not updated , Last release 2006

Homepage : http://kompozer.net/

Download : http://kompozer.net/download.php

Size : 7.6 MB License Type : Unrestricted Freeware OS : Windows 98 – Vista
Free HTML editor

You can read the full post here.

Syndicate content