1. SQL Server 2005 setup

    Date: 03/07/06 (SQL Server)    Keywords: software, sql, microsoft

    Okay, I give up. I've been beating myself over the head with this all day.

    I'm trying to install SQL Server 2005 Standard Edition. I keep getting the error "SQL Server Setup has detected incompatible components from beta versions of Visual Studio, .NET Framework, or SQL Server 2005. Use Add or Remove Programs to remove these components, and then run SQL Server 2005 Setup again." There's another sentence, but it's useless.

    I have uninstalled anything and everything listed in add/remove programs that could possibly be causing this error, and I still get it. I got so frustrated I installed VS2005 Standard, hoping that it would overwrite whatever the problem component is, but no help there.

    Tell me what lists, files, registry settings, etc. you need to see to be able to tell me what I need to fix to get this to work. Please. And thanks.

    EDIT: Running the auto-force-removal tool, not surprisingly, found nothing else to uninstall. Going through the core.log file reveals:
    Product "{3BDB182E-8371-46BD-AC39-C14A91D5EEF8}" versioned 9.00.852 is not compatible with current builds of SQL Server.Expected at least version: 9.00.1399.06
    The Product Name is "Microsoft SQL Server 2005 Reporting Services Beta 2"
    Product "{63A5DC0D-1EDD-4D69-8F31-87FAEB1F7084}" versioned 9.00.852 is not compatible with current builds of SQL Server.Expected at least version: 9.00.1399.06
    The Product Name is "Microsoft SQL Server 2005 Notification Services Beta 2"
    Product "{E0A41F96-7231-4AE8-A654-EEB34F935462}" versioned 9.00.852 is not compatible with current builds of SQL Server.Expected at least version: 9.00.1399.06
    The Product Name is "Microsoft SQL Server 2005 Data Transformation Services Beta 2"
    Product "{90032DD0-ABEE-4424-AC1E-B076BDD4E350}" versioned 9.00.852 is not compatible with current builds of SQL Server.Expected at least version: 9.00.1399.06
    The Product Name is "Microsoft SQL Server 2005 Tools Beta 2"


    The products are not listed in add/remove programs, and the bracketed values are not findable in the computer's registry. I'd rather not just wander around deleting DLLs randomly; if anyone's got any ideas where I might find these keys/files/proggies/what-have-you, I'm all ears.

    EDIT2: Solved. Left here in case anyone else has the problem...

    there were four registry entries left over from beta software I'd removed months ago. They were in HKEY_CLASSES_ROOT/Installer/Products; anything in there from .NET2 betas, even if those products are long gone, will set off the watchdog.

    Source: http://community.livejournal.com/sqlserver/45014.html

  2. Output Validation?

    Date: 03/09/06 (SQL Server)    Keywords: php, mysql, sql

    Hi guys,

    I'm wondering if it's possible to validate the output of an sql query?

    I have the following query/code (using PHP5, and MSSQL):

    $sql = "SELECT TOP 100 PERCENT Mem_Number, Title_1, Name_1, Surname_1, Email, Date_Sent_Renewal, EmailList, Renewal_Date FROM BTCMembers WHERE (DATEDIFF(d, Renewal_Date, GETDATE()) > ".$cutoff.") AND (DATEDIFF(d, Renewal_Date, Date_Sent_Renewal) < 0) AND (Email <> '') AND (Date_Sent_Renewal <> '') AND (EmailList = 1) ORDER BY Mem_Number ASC";

    $result = odbc_exec($contact, $sql); // Run the query


    Now this query works exactly as I expect it to, but some of the data which is pulled could cause minor problems later.

    Specifically, there are a few records which have an "Email" field value of "N/A" -- the fault of dodgy input validation, I know, but I didn't make the input interface. *shrug*

    So, is there a way to write the query so that data pulled from the Email column must make a regular expression valid for email addresses?

    Posted to '[info]'php, '[info]'sqlserver, and '[info]'mysql

    Source: http://community.livejournal.com/sqlserver/45440.html

  3. Query help...

    Date: 03/08/06 (SQL Server)    Keywords: database, sql

    I am trying to transform data from an old Image database to MSSQL and I have hit a wall on this one table.

    The schema of the Image table is

    old_table(
    id char(10),
    desc_text char(70),
    eff_yrq_beg char(4),
    ln_num char(2))

    There are multiple records (ln_num) for each id that in order create a description text block.

    What I am envisioning is a table

    new_table(
    id varchar(10),
    description varchar(500),
    eff_yrq_beg char(4))

    In the new table the description is a concatenation of the desc_text from the first table in order by ln_num.

    Is there any way that you can think to do this without cursors?

    Source: http://community.livejournal.com/sqlserver/45175.html

  4. Output Validation?

    Date: 03/09/06 (PHP Community)    Keywords: php, mysql, sql

    Hi guys,

    I'm wondering if it's possible to validate the output of an sql query?

    I have the following query/code (using PHP5, and MSSQL):

    $sql = "SELECT TOP 100 PERCENT Mem_Number, Title_1, Name_1, Surname_1, Email, Date_Sent_Renewal, EmailList, Renewal_Date FROM BTCMembers WHERE (DATEDIFF(d, Renewal_Date, GETDATE()) > ".$cutoff.") AND (DATEDIFF(d, Renewal_Date, Date_Sent_Renewal) < 0) AND (Email <> '') AND (Date_Sent_Renewal <> '') AND (EmailList = 1) ORDER BY Mem_Number ASC";

    $result = odbc_exec($contact, $sql); // Run the query


    Now this query works exactly as I expect it to, but some of the data which is pulled could cause minor problems later.

    Specifically, there are a few records which have an "Email" field value of "N/A" -- the fault of dodgy input validation, I know, but I didn't make the input interface. *shrug*

    So, is there a way to write the query so that data pulled from the Email column must make a regular expression valid for email addresses?

    Posted to '[info]'php, '[info]'sqlserver, and '[info]'mysql

    Source: http://community.livejournal.com/php/423247.html

  5. Output validation?

    Date: 03/09/06 (MySQL Communtiy)    Keywords: php, mysql, sql

    Hi guys,

    I'm wondering if it's possible to validate the output of an sql query?

    I have the following query/code (using PHP5, and MSSQL):

    $sql = "SELECT TOP 100 PERCENT Mem_Number, Title_1, Name_1, Surname_1, Email, Date_Sent_Renewal, EmailList, Renewal_Date FROM BTCMembers WHERE (DATEDIFF(d, Renewal_Date, GETDATE()) > ".$cutoff.") AND (DATEDIFF(d, Renewal_Date, Date_Sent_Renewal) < 0) AND (Email <> '') AND (Date_Sent_Renewal <> '') AND (EmailList = 1) ORDER BY Mem_Number ASC";

    $result = odbc_exec($contact, $sql); // Run the query


    Now this query works exactly as I expect it to, but some of the data which is pulled could cause minor problems later.

    Specifically, there are a few records which have an "Email" field value of "N/A" -- the fault of dodgy input validation, I know, but I didn't make the input interface. *shrug*

    So, is there a way to write the query so that data pulled from the Email column must make a regular expression valid for email addresses?

    Posted to '[info]'php, '[info]'sqlserver, and '[info]'mysql

    Source: http://community.livejournal.com/mysql/88763.html

  6. MySQL Performance Optimization - A Lesson

    Date: 03/09/06 (Java Web)    Keywords: mysql, database, sql

    The MySQL database supporting this blog was consuming massive amount of CPU, which effectively lead to site going down 3-4 times this week. I knew an obvious culprit. However reality differed. I knew for sometime I had a jumbo query, which was not cached, and is likely to contribute to MySQL server load: [...]

    Source: http://blog.taragana.com/index.php/archive/mysql-performance-optimization-a-lesson/

  7. Another informative Microsoft error message.

    Date: 03/09/06 (SQL Server)    Keywords: sql, microsoft

    My apologies. I've been quite inquisitive the past few weeks. It'll get slightly worse before it gets better, but it will get better, eventually.

    Installed SQL Server 2005. Attempted to start SQL Server Management Studio. Splash screen flashed. Then nothing. Tried to start Business Intelligence Development Studio. Got the following error message:

    Cannot find one or more components. Please reinstall the application.

    Yelled at the computer, sacrificed a few small animals, did a rain dance. Nothing worked. Attempted a "repair installation" routine which told me everything was, in fact, installed. Finally broke down and reinstalled the application-- from scratch (as in, pulled off all SQL Server 2005 components, not just the BI stuff, and reinstalled everything.) Tried to start SQL Server Management Studio. This time I got the splash screen for almost a full second, but the end result was still no program. Tried to start Business Intelligence Development Studio, and... you know the drill.

    As reinstalling is an admission of failure on both my part and Microsoft's-- especially when I have to do it twice in a row, with the same outcome expected when I do it again-- does anyone know of any way I can find out which component(s) is/are missing and work from there?

    Thanks.

    Source: http://community.livejournal.com/sqlserver/45630.html

  8. What do you do?

    Date: 03/10/06 (Web Development)    Keywords: php, mysql, asp, sql, web, microsoft

    Wow, there are 776 members in this community. I thought we could introduce ourselves. What work you currently do, levels of experience, and what your career plan for the future is. I'm just curious about all my fellow web developers. ;)

    Me: I'm a PHP/MySQL web developer in Seattle, working at a design firm that specializes in corporate identity (logos/brochures/websites/etc). I have two years of "professional" work experience, though I've been coding and building websites since I was a kid. I taught myself everything through personal side projects. I'm looking at getting into C#/ASP/.NET and trying for some Microsoft certification (MCAD/MCSD.NET?) since web applications seem to be the growing thing, and was wondering if anyone else is along the same path, or has any advice.

    Okay, your turn, share, share, share! =)

    Source: http://community.livejournal.com/webdev/305365.html

  9. arrays

    Date: 03/12/06 (PHP Community)    Keywords: mysql, database, sql

    Hi,

    I'm sure there's a better way than the one I'm using to do what I want to do.
    I'm trying to select items from a database and order them by "category", which is one of the columns of the table I use.
    Then, I want the page to display the items with the category as a title, appearing only once.
    Hopefully someone can help me improve my code :)


    Here's what the table looks like :
    ____________________________
    | category | year | title | stuff |
    ------------------------------------------
    | theatre | year1 | title1| ... |
    -----------------------------------------
    | movie | year2 | title2 | ... |


    Here's what I want :

    theatre
    year1 title1
    year2 title2
    etc


    movies
    year1 title1
    year2 title2
    etc


    Here's the code I use :
    $categorie = mysql_query("SELECT categorie FROM $nom",$connexion) or die(mysql_error());
    $nb = mysql_num_rows($categorie);
    for ($i = 0; $i<$nb; $i++) {
    	$perf = mysql_result($categorie,$i);
    	$item[] = $perf;
    }
    $reduc = array_unique($item); 
    	foreach($reduc as $genre) {
    		echo "
    "; echo "\n$genre"; echo "\n"; $liste = mysql_query("SELECT * FROM $nom WHERE categorie LIKE '" . $genre . "' ORDER BY annee DESC",$connexion); while ($row = mysql_fetch_assoc($liste)) { $annee = $row['annee']; $titre = $row['titre']; $complement = $row['complement']; echo "\n "; } echo "\n
    $annee$titre$complement
    "; echo "
    "; }


    Any help would be greatly appreciated !

    Source: http://community.livejournal.com/php/424221.html

  10. Type-matching columns and security issues.

    Date: 03/13/06 (C Sharp)    Keywords: programming, sql, web

    Setup: Visual C# 2005 Standard Edition, SQL Server 2000 Enterprise Edition (SP, erm, I think we're up to 6?)

    * * *

    1. As usual everything I'm rading on the internet seems to have something to do with web programming, and I'm not programming for the web.

    I'm trying to set a relation in a dataset, and I'm getting the following error: "Parent Columns and Child Columns don't have type-matching columns." Now, putting aside the embarrassingly painful grammar of that statement, it's quite simply not true; the two columns I'm trying to relate are both int. One was originally no-NULLs-allowed and the other nullable, but changing them to be the same in that cases didn't fix the problem. Anyone know of any other reasons why this error might crop up that actually have nothing to do with te column types involved?

    * * *

    2. This is an incredibly noobish question, sorry; I'm not used to writing stuff that other people will actually use.

    My boss is after a progress report on my current project, so I built a copy of it and put the copy out on one of our network drives to which he also has access. The computer on which he's attempting to run the program has .NET 2.0, so no problem there. When he attempts to run the program, he gets an odd error that I don't remember off the top of my head, but it translates to "SQL Server is not letting you in." Our server is set to require Windows authentication, and he is logged in.


    Any ideas? Thanks.

    Source: http://community.livejournal.com/csharp/52128.html

  11. Gettind recordsets via ADO Command Object

    Date: 03/14/06 (SQL Server)    Keywords: programming, sql, security

    Hi everyone.

    ...about programming MS ADO with MS SQL Server.
    Is it possible to get a (ADODB) Recordset having NOT Forward-only cursor type from 'Execute' method of ADO Command object?

    To be clear, in terms of VBA Code:

    Dim adocmd as ADODB.Command
    Dim rst as ADODB.Recordset
    Set adocmd = New ADODB.Command
    ' ....... Connecting 'adocmd' via MS SQLOLEDB Provider
    Set rst = adocmd.Execute

    The problem is that I could not get non-ForwardOnly recordset in the last statement in all cases, and I wish to use the result (rst) as the data source (Recordset property) for a MS Access form. Such forms don't allow to set forward-only recordsets as form data sources, of course.

    The parameters of 'Execute' method of ADODB.Command object do not include cursor type setting of the recordset returned.

    Thanks in advance for any help.

    UPDATED. A solution is found.

    Setting the client-side cursor to the active connection may fix the problem. As the documentation says, "Cursors returned by the Execute method inherit this setting", so after such setting the Recordset object returned by Execute method of the Command object has Client-side static cursor - this is appropriate for setting it as a Data Source Recordset for an MS Access Form to browse records.

    Here is a VBA sample code. (Of course, in this example using ADODB.Command for executing a simple SELECT Query to return records is senseless, but it's just for example. In my situation I call a stored procedure with parameters (including OUTPUT params and RETURN_VALUE) that also return records, and I wanted to use all advantages of ADODB.Command object for such multiple calls).

        Dim cnn As ADODB.Connection
        Dim adocmd As ADODB.Command
        Dim rst As ADODB.Recordset
        
        Set cnn = New ADODB.Connection
        cnn.CursorLocation = adUseClient
        cnn.Open "Provider=SQLOLEDB;Data Source=(local);Initial Catalog=TestDB;Persist Security Info=False;Integrated Security=SSPI;"
        
        Set adocmd = New ADODB.Record
        With adocmd
            Set .ActiveConnection = cnn
            .CommandType = adCmdText
            .CommandText = "SELECT 10 AS foo UNION SELECT 20"
            Set rst = .Execute
        End With
    
    ' Now `rst` has CursorLocation=adUseClient and CursorType=adOpenStatic
    ' and may be used as a Recordset for an MS Access Form
    ' If we are in form module, then one may set
    '       Set Me.Recordset = rst
    ' or even we could write before
    '        Set Me.Recordset = .Execute
    
    


    Source: http://community.livejournal.com/sqlserver/45984.html

  12. Apache connection woes

    Date: 03/16/06 (Apache)    Keywords: php, mysql, browser, sql, web, apache

    Hello All

    I'm sorry if this is a painfully stupid question, but I've tried looking everywhere on the interweb for an answer, but to no avail.

    I'm running apache 1.3 in XP at the moment, and am using it as a development server, as I'm currently trying to make and test a little pet project of mine using php and mysql. When I try to connect to the server through a browser (by typing "http:/ /localhost"), it loads the index page fine, but if I try any of the links off of that page, IE insists I connect to the internet, despite the fact they are locally hosted, and are in the htdocs folder. I'm certain the server is running, it just won't let ne access them through a browser. I'm pretty sure It's something blatently obvious, so any help would be greatly appreciated.

    Thankyou greatly

    Sam

    Source: http://community.livejournal.com/apache/31079.html

  13. Auto Populating a table?

    Date: 03/17/06 (PHP Community)    Keywords: mysql, browser, sql

    I've writen a function


    auto_populate($file_name)
    {
        $file=file($file_name);
        foreach($file as $sql)
        {
           mysql_query($sql);
           echo $sql."< br >"; // To test the file is being processed
        }
    }

    if I call it with a filename (eg. auto_populate("test.txt");) I see the lines in the browser but the db still remains empty.

    each line is in the format

    insert into 'area' values(0, 'Yorkshire')

    am I missing something?

    Tia

    Pual

    Source: http://community.livejournal.com/php/427879.html

  14. SELECT DISTINCT and WHERE ... or something else?

    Date: 03/21/06 (MySQL Communtiy)    Keywords: sql

    I have a query which selects a columns from a table however, there are repeats. I understand to get just one request of the value I'd use SELECT distinct.

    However the SELECT statement also displays information from a second column and I want only the highest value.

    What I want effectively is SELECT DISTINCT columnA and columnB WHERE column B is the highest value in the record for colum A.

    Thanks in advance. It's been a while since I've done these regularly and my brain has turned to SQL-mush. It'll come back tho', I promise.

    Source: http://community.livejournal.com/mysql/90364.html

  15. DB_DataObject and OOP

    Date: 03/22/06 (PHP Community)    Keywords: php, html, database, asp, sql

    Ok - I'm going to try my best to not sound like I have no idea what I'm talking about -

    I'm trying to move more towards pure OOP practices in my PHP projects, and I've been sifting through a couple of packaged MVC frameworks and some OnLAMP tutorials on writing you're own... very cool stuff, too bad i'm only like 3 years behind...

    anyway - I use DB_DataObject primarily for my database interactions (if you don't know DB_DataObject is an object relational database tool with an automatic class generating script) - I _would_ like to be able to do some things easier/better with DB_DataObject (PK+FK JOINs in particular could be a bit more elegant) but overall it's a useful tool that cuts out a lot of SQL coding...

    So - my actual question - in the article I'm digging thru (http://www.onlamp.com/pub/a/php/2005/09/15/mvc_intro.html) the author is extending his base framework class with a framework DB class that provides the database connection (it's basically a tiny class that sets $this->db) - I'm wondering what is the best way to incorporate DB_DataObject into a solid OOP class schema

    - should I use the DataObject generated class as my base class that I extend - then what if I'm writing a class that doesn't need DB connectivity? The other thing I was thinking was to attach it to my other classes like $this->DO = new DataObject_Class but I really like having my class properties line up with my database fields (user.email = $user->email _not_ $user->DO->email); Is there something I'd be better off using the DB_DataObject (I can't bear the thought of -gasp- writing SQL anymore)

    I'm somewhat new to this OOP game so any help is appreciated

    Source: http://community.livejournal.com/php/429624.html

  16. SQL joins help needed

    Date: 03/23/06 (PHP Community)    Keywords: mysql, sql

    Need some help with this - I made an external table for the categories in my blog, and now I want to join the blog and the blog_cat table, so it selects the name from the cat table where the category equals the catID. *Something* works already, but it just keeps selecting only one category one, instead of the equal one it should be selecting. I'm pretty much a noob =_=


    $sql = "SELECT * FROM $tableblog ORDER BY timestamp DESC LIMIT 5";
    $result = mysql_query($sql) or
    print ("Unable to select data.
    " . $sql . "
    " . mysql_error());
    while ($row = mysql_fetch_array($result))
    {
    $date = date("l, F dS, Y - h:ia",$row["timestamp"]);
    $category = $row["category"];
    $entry = $row["entry"];
    $id = $row["id"];
    // ....

    $result3 = mysql_query("SELECT category, catID, catname FROM $tableblog, $tableblogcat WHERE category=catID") or
    print ("Unable to select data.
    " . $sql . "
    " . mysql_error());
    while ($row = mysql_fetch_array($result3))
    {
    $catID = $row["catID"];
    $catname = $row["catname"];
    }

    print "<.a href=\"categories.php?c=$category\">$catname";
    }

    Source: http://community.livejournal.com/php/429875.html

  17. recursive query

    Date: 03/23/06 (MySQL Communtiy)    Keywords: php, database, sql

    wondering if anyone could help me, i'm trying to help a friend quickly on a project, and i'm terrible at recursive functions

    i have a table of 'genres' for music club 'venues' - each genre can have a 'parentID' if it is a sub-genre of another genre

    really roughly he has something like this -

    genre
    -----
    [genreID]
    name
    parentID

    venue
    -----
    [venueID]
    name

    venure_genre
    ------------
    [venueID
    genreID]

    I'm trying to help him build a form to submit venues into a database and assign them 1 or more genres -

    i'd like to have the genre selection be a multiple select box, with subgenres spaced over with &nbsp;'s i.e.



    I don't really need any help with the output as much as the query - I could do this the long way, and query all the top level genres, store them, then query each top level's sub genre's, etc etc, but i was wondering if anyone with experience writing recursive SQL querys/PHP functions could lend a hand

    thanks

    cross-posted to '[info]'php

    Source: http://community.livejournal.com/mysql/90644.html

  18. recursive query

    Date: 03/23/06 (PHP Community)    Keywords: php, mysql, database, sql

    wondering if anyone could help me, i'm trying to help a friend quickly on a project, and i'm terrible at recursive functions

    i have a table of 'genres' for music club 'venues' - each genre can have a 'parentID' if it is a sub-genre of another genre

    really roughly he has something like this -

    genre
    -----
    [genreID]
    name
    parentID

    venue
    -----
    [venueID]
    name

    venure_genre
    ------------
    [venueID
    genreID]

    I'm trying to help him build a form to submit venues into a database and assign them 1 or more genres -

    i'd like to have the genre selection be a multiple select box, with subgenres spaced over with &nbsp;'s i.e.



    I don't really need any help with the output as much as the query - I could do this the long way, and query all the top level genres, store them, then query each top level's sub genre's, etc etc, but i was wondering if anyone with experience writing recursive SQL querys/PHP functions could lend a hand

    thanks

    cross-posted to '[info]'mysql

    Source: http://community.livejournal.com/php/430527.html

  19. Request for help

    Date: 03/25/06 (PHP Community)    Keywords: mysql, database, sql, web

    Hi All..
    I'm working on a script that will allow admins on my website to update events.
    Basically what will happen (if I can get this to work) is the user will use some checkboxes on
    page1 that will submit the id#'s to page2. I'm streaming the id#'s into page2 as an array, where the information will be edited, and then submitted as an UPDATE statement to the database in page3 (I've confirmed the values are transmitting)

    The problem is on page 2, where the data should get called, I'm getting an error:
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
    For simplicities sake, I've
    I've put the relevant code up at  http://pastebin.com/622150  (Livejounal tends to eat code)

    If someone could take a look and tell me what I'm doing wrong or point me in the wrong direction then I'd be very appreciative.

    Source: http://community.livejournal.com/php/430883.html

  20. general site setup questions

    Date: 03/28/06 (WebDesign)    Keywords: php, mysql, database, sql, web, linux, hosting

    okay, so now that i've been picking all your brains, reading all these books, and checking out all these tutorials, last night i finally said to myself, "self, i need a god damn website."

    fast forward a few hours and now i registered a site and have some hosting thanks to godaddy. i have linux hosting because it said that's what is needed for php (correct?), but when I try to load my test page (which includes a .inc file), i get:

    Warning: main(/include/header.inc): failed to open stream: No such file or directory in /home/content/blahblahblah/1index.php on line 1

    now i tried to see if the file is where i put it (website.com/include/header.inc) but, for some reason, it loads as text. meanwhile, when i try to view a .inc file online from the site i've been maintaining for work, it asks if i want to download it. this gives me the impression that it's uploading wrong, which confuses me since i'm using Fetch both times without tweaking any settings.

    is this a case of me just trying to jump the gun and it's possible that while the ftp stuff is up and running, some other "stuff" needs to finish getting installed by them? also, it says i can have up to 15 (or 10, i forget) MySQL databases, yet damned if i know what i'll be needing them for. is that needed for include files to work, or is that for other stuff i may need?

    tried checking out tutorials but none really answer these kinds of questions, and i want to get a vague idea of what i should be asking godaddy customer support before i just sound like i'm trying to rush things too fast.

    edit: okay, now i'm confused. if i reference "/images/image.gif", so root-relative linking works in that case. yet, root-relative linking DOESN'T work for the include file. things work fine if i just make it a link (ie: include/header.inc as opposed to /include/header.inc). pretty obnoxious... how can i fix this?

    Source: http://community.livejournal.com/webdesign/1086868.html

Previous page  ||  Next page


antivirus | apache | asp | blogging | browser | bugtracking | cms | crm | css | database | ebay | ecommerce | google | hosting | html | java | jsp | linux | microsoft | mysql | offshore | offshoring | oscommerce | php | postgresql | programming | rss | security | seo | shopping | software | spam | spyware | sql | technology | templates | tracker | virus | web | xml | yahoo | home