• Home

  • Custom Ecommerce
  • Application Development
  • Database Consulting
  • Cloud Hosting
  • Systems Integration
  • Legacy Business Systems
  • Security & Compliance
  • GIS

  • Expertise

  • About Us
  • Our Team
  • Clients
  • Blog
  • Careers

  • VisionPort

  • Contact
  • Search Engine Optimization Thoughts

    Steph Skardal

    By Steph Skardal
    February 25, 2009

    Search engine optimization and search engine marketing cover a wide range of opportunities to improve a website’s search engine traffic. When performining a search engine site review, here are several questions that I would investigate. Note that the questions are biased towards technical search engine optimization efforts. Some of the questions provide links to help define common search engine optimization terms. Although this is not typical End Point blog fashion, the answers to these questions can potentially lead to search engine optimization improvements.

    Technical Topics

    • Do the pages indexed by major search engines accurately represent the site’s content?
    • Are there duplicate index pages indexed?
    • Are there old index pages or domains that aren’t redirected?
    • Are there pages missing from major search engine indexes?
    • Are there too many pages in major search engine indexes?
    • Are 301 redirects used permanently on the site?
    • Can rel=“canonical” or the use of 301s be applied as a temporary solution to fix duplicate content issues?
    • Is there low hanging fruit to fix duplicate content issues?
    • Is there low hanging fruit to fix duplicate content generated by external links?
    • Are …

    seo

    osCommerce dead and reborn

    Jon Jensen

    By Jon Jensen
    February 21, 2009

    Here’s some interesting history of osCommerce. Sounds like it’s been quite the ride for its users. Congrats to those who finally forked it and started making releases.


    ecommerce

    Bare Git repositories and newspapers

    Steven Jenkins

    By Steven Jenkins
    February 19, 2009

    During a recent discussion about Git, I realized yet again that previous knowledge of a version control system (VCS) actively hinders understanding of Git. This is especially challenging when trying to understand the difference between bare vs non-bare repositories.

    An analogy might be helpful: Assume a modern newspaper, where the actual contents of the physical pages are stored in a database; i.e., the database might store contents of articles in one table, author information in another, page layout information in yet another table, and information on how an edition is built in yet another table, or perhaps in an external program. Any particular edition of the paper just happens to be a particular instantiation of items that live in the database.

    Suppose an editor walks in and tells the staff “Create a special edition that consists of the front pages of the past week’s papers.” That edition could easily be created by taking all the front page articles from the past week from the database. No new content would be needed in the content tables themselves, just some metadata changes to label the new edition and description of how to build it.

    One could consider the database, then, to …


    git

    Puppet PDX meeting

    Selena Deckelmann

    By Selena Deckelmann
    February 19, 2009

    Even zombies like puppets!

    If you live in or near Portland, OR, come join us for our first Puppet PDX meeting. We’re meeting from 6-7pm, at Paddy’s on SW 1st and Yamhill in Downtown Portland. It’s right on the MAX line.

    Inspired by Puppet and the Reductive Labs team, we’re gathering people interested in all things related to configuration management. (Not sock puppet-making, sorry!) Cfengine user? Thinking about trying AutomateIt? Just have a pile of obsessively managed scripts? Come on down! We’ll discuss tools, best practices, and generally how to make your systems run so well you can get to the pub by 4 o’clock.

    This is the first meetup. Hopefully we can get organized, get to know each other, and decide on what the goals of the group should be.

    So if you are interested in automation, configuration management, cloud computing, and large scale computing environments, come join us for a few drinks and some lively chatter.

    Please RSVP by sending an email to puppetpdx@reductivelabs.com so that we can get a bigger room if needed.


    devops community puppet

    Replicate only parts of my table

    Josh Tolley

    By Josh Tolley
    February 19, 2009

    A day or two ago in #slony, someone asked if Slony would replicate only selected columns of a table. A natural response might be to create a view containing only the columns you’re interested in, and have Slony replicate that. But Slony is trigger-based—​the only reason it knows there’s something to replicate is because a trigger has told it so—​and you can’t have a trigger on a view. So that won’t work. Greg chimed in to say that Bucardo could do it, and mentioned a Bucardo feature I’d not yet noticed.

    Bucardo is trigger-based, like Slony, so defining a view won’t work. But it allows you to specify a special query string for each table you’re replicating. This query is called a “customselect”, and can serve to limit the columns you replicate, transform the rows as they’re being replicated, etc., and probably a bunch of other stuff I haven’t thought of yet. A simple example:

    1. Create a table in one database as follows:
    CREATE TABLE synctest (
       id INTEGER PRIMARY KEY,
       field1 TEXT,
       field2 TEXT,
       field3 TEXT
    );

    Also create this table in the replication destination database; Bucardo won’t replicate schema changes or database structure.

    1. Tell Bucardo about the table. I won’t …


    postgres bucardo replication

    Announcing Release of PostgreSQL System Impact (PGSI) Log Analyzer

    Mark Johnson

    By Mark Johnson
    February 14, 2009

    The PostgreSQL System Impact (PGSI) log analyzer is now available at https://bucardo.org/Pgsi/.

    System Impact (SI) is a measure of the overall load a given query imposes on a server. It is expressed as a percentage of a query’s average duration over the its average interval between successive calls.

    Queries are collected into canonical form with respect to literals and bind params; further, IN lists of varying cardinality are collapsed. Thus, queries that differ only in argument composition will be collected together in the evaluation. However, logically equivalent queries that differ in any other manner of structure (say two comparisons between and that are transposed) will be seen as distinct.

    The goal of SI is to identify those queries most likely to cause performance degradation on the database during heaviest traffic periods. Focusing exclusively on the least efficient queries can hide relatively fast-running queries that saturate the system more because they are called far more frequently. By contrast, focusing only on the most-frequently called queries will tend to emphasize small, highly optimized queries at the expense of slightly less popular queries that spend much more …


    postgres

    Testing in the Web Environment

    Jeff Boes

    By Jeff Boes
    February 13, 2009

    Introduction

    Testing is an important part of good software engineering practices. In fact, it can be said that it is at once the most important, and yet most neglected part of software engineering. Testing methodology for software engineering developed out of its hardware engineering roots: software was defined in terms of its inputs and outputs, and testing was similarly defined in terms of applied inputs and expected outputs.

    However, software testing is more complex than that: this is because software almost always incorporates “state” or memory that affects subsequent operations. For instance, the following pseudocode:

    if (VALUE is not defined)
    then
    VALUE := 1.0
    fi
    FRACTION := 1.0 / VALUE

    In this simple case, the code fragment will always operate correctly on the first execution, but subsequent executions may fail if VALUE is zero.

    Testing web applications involves planning for this kind of memory, because in essence a web application runs within a larger program (the web server and perhaps the application server) and may inherit state from the environment, or indeed may preserve its own state from one page reference to the next.

    In addition, web applications involve human …


    browsers

    Hot topic: user groups!

    Selena Deckelmann

    By Selena Deckelmann
    February 10, 2009

    Theodore T’so, Linux filesystem hacker, recently asked:

    Do you attend or participate in a LUG? How active is it? What do you get out of participating in a LUG?

    I attend and participate in my local LUG, PLUG. I’ve attended meetings since about 2000, and presented once to a group of about 45 people. They meet every month, and have an additional “advanced topics” meeting every month I’ve presented at as well.

    What I get out of PLUG has changed over the years. First I was attending to meet other Linux enthusiasts and learn things. Now I go to meetings to see my friends, swap war stories, and to present on topics of interest to me. My goals are less about general networking, and more about directly connecting to, sharing information with and learning from people I already know, who are for the most part my friends and colleagues.

    The comment thread on Ted’s post is kind of long, and there were lots of interesting comments. I decided to respond to some requests for howtos and weigh in with my opinion on the rise of user groups:

    My experience has been that user groups (not just Linux User Groups) are exploding in number, but that the total number of people in each group is …


    community
    Previous page • Page 209 of 222 • Next page