Indy 10 Delphi XE2 confusion

I have just taken the plunge and updated from Delphi 5 to XE2.  In D5 I have been happily using the ClientSocket and ServerSocket components to do some fairly basic TCP comms. I am now trying to understand how to do it using Indy 10. Unfortunately there seems to be very little in the way of examples and doco that is written for non gurus. Is there a huge demo folder somewhere that I have missed seeing?
If I understand correctly there also seems to have been a change sometime during Indy 10 from Threads to Contexts. Most of the examples I have been able to find will not compile under XE2, even ones that say they are using Indy10.

So can anyone please point me to a complete (ie not just snippets) example of something like the old Delphi Chat demo program that is fully up to date for XE2/Indy10?

All I need is a simple exchange of text using TidTCPClient and TidTCPServer.

TIA,
DG
3
David
12/6/2011 11:23:01 PM
embarcadero.delphi.winsock 1874 articles. 2 followers. Follow

31 Replies
3588 Views

Similar Articles

[PageSpeed] 22
Get it on Google Play
Get it on Apple App Store

> 
> So can anyone please point me to a complete (ie not just snippets)
> example of something like the old Delphi Chat demo program that is
> fully up to date for XE2/Indy10?
> 


Indy9 and Indy10 ancient demos: 

http://www.indyproject.org/sockets/demos/index.en.aspx
0
Darian
12/7/2011 2:39:17 PM
David wrote:

> I am now trying to understand how to do it using Indy 10. Unfortunately
> there seems to be very little in the way of examples and doco that is written
> for non gurus.

Official docs and demos are not up to date.  You can try asking for demos 
in the Indy-Demos yahoo group (http://tech.groups.yahoo.com/group/Indy-Demos/).

> Is there a huge demo folder somewhere that I have missed seeing?

No.  There are some old Indy 10 demos available, but like I said they are 
not up-to-date with the latest code.

> If I understand correctly there also seems to have been a change
> sometime during Indy 10 from Threads to Contexts.

The change was in the very first Indy 10 release.

> Most of the examples I have been able to find will not compile under
> XE2, even ones that say they are using Indy10.

Indy 10 has undergone a lot of changes over the past few years. Iti s hard 
to keep demos up-to-date at the pace that Indy gets updated.

> All I need is a simple exchange of text using TidTCPClient and
> TidTCPServer.

Simple demos, even old ones, should still work for basic operations, but 
more complex operations might need tweaking to compile correctly.  What exactly 
have you tried so far that is not working for you?

--
Remy Lebeau (TeamB)
0
Remy
12/7/2011 7:10:44 PM
Thanks for the comments.

At least you confirmed some of my suspicions. 

When Indy 10 was changed in such a way that it would no longer compile previous code without changes, I would have thought it should be called Indy 11.

The old samples I found won't compile and I am not sure of exactly what needs to be changed.

I'll check out the Yahoo group.

DG
0
David
12/7/2011 8:50:05 PM
David wrote:

> When Indy 10 was changed in such a way that it would no longer
> compile previous code without changes, I would have thought it
> should be called Indy 11.

Indy 10 *was* the changing version.  You must be looking at code that is 
meant for Indy 9 or earlier instead.

> The old samples I found won't compile and I am not sure of exactly
> what needs to be changed.

Well, why don't you post an example of something you are having trouble with? 
 Then someone can show you how to make it work in Indy 10.

--
Remy Lebeau (TeamB)
0
Remy
12/7/2011 9:07:40 PM
> Well, why don't you post an example of something you are having trouble with? 

Just take the CHAT 2.0\Client and Server that is included in the Indy10demo.zip 
on the Fulgan site and try to compile as it can not be done.
0
Dennis
12/8/2011 12:11:27 AM
Hello Dennis,

> Just take the CHAT 2.0\Client and Server that is included in the
> Indy10demo.zip on the Fulgan site and try to compile as it can not be
> done.

That is a VERY OLD demo (as evident by the 2002 timestamp).

TIdIOHandler does not have WriteBuffer() and ReadBuffer() methods, or a Buffer 
property.  The Buffer property is now named InputBuffer, and you should use 
the TIdIOHandler.WriteLn() and TIdIOHandler.ReadLn() methods, along with 
the TIdIOHandler.CheckForDataOnSource() method, eg:

{code:delphi}
procedure TfrmMain.edMsgKeyPress(Sender: TObject; var Key: Char);
var
  s : String;
begin
  if Key = #13 then
    begin
      s := edMsg.Text;
      Key := #0;
      edMsg.Text := '';
      Client.IOHandler.WriteLn(s);
    end;
end;

procedure TfrmMain.Timer1Timer(Sender: TObject);
var
  i : integer;
  s : String;
begin
  if not Client.Connected then
    exit;

  if Client.IOHandler.InputBufferIsEmpty then
  begin
    Client.IOHandler.CheckForDataOnSource(0);
    if Client.IOHandler.InputBufferIsEmpty then
      Exit;
  end;

  s := Client.IOHandler.ReadLn;
  memMsgs.Lines.add(s);
end;
{code}

On the server side, similar changes are needed (there are other problems 
with the demo - thread-safety issues, etc - but I will ignore those for the 
moment):

{code:delphi}
procedure TChatContextData.CheckForMsg;
var
  UN : String;
begin
  if FCurMsg.Count > 1 then
    begin
      if UserName = '' then
        begin
          UN := Pop;
          if Assigned(FOnUserNameSet) then
            FOnUserNameSet(Self, UN);
          UserName := UN;
          Context.Connection.IOHandler.WriteLn('Welcome ' + UN);
        end
      else
        if Assigned(FOnMsgAvail) then
          FOnMsgAvail(Self);
    end;
end;

procedure TChatContextData.CheckMsg(AContext: TIdContext);
var
  S: String;
begin
  FContext := AContext;
  S := AContext.Connection.IOHandler.ReadLn;
  FLock.Enter;
  try
    FCurMsg.Add(S);
    CheckForMsg;
  finally
    FLock.Leave;
  end;
end;
{code}

{code:delphi}
procedure TfrmMain.ServerConnect(AContext: TIdContext);
begin
  AContext.Data := TChatContextData.Create;
  TChatContextData(AContext.Data).OnMsgAvail := MsgAvail;

  AContext.Connection.IOHandler.WriteLn(edUserPrompt.Text);

  Log('Client connection established from ip: ' + AContext.Binding.PeerIP, 
clBlue);
end;

procedure TfrmMain.ServerDisconnect(AContext: TIdContext);
begin
  Log('Client connection removed from ip: ' + AContext.Binding.PeerIP, clBlue);
  AContext.Data.Free;
  AContext.Data := nil;
end;

procedure TfrmMain.WriteMessage(Msg: string);
var
  cList : TList;
  Count : Integer;
begin
  cList := Server.Contexts.LockList;
  try
    for Count := 0 to cList.Count -1 do
      begin
        with TIdContext(cList[Count]) do
          begin
            Connection.IOHandler.WriteLn(Msg);
          end;
      end;
  finally
    Server.Contexts.UnlockList;
  end;
end;

procedure TfrmMain.MsgAvail(Sender: TChatContextData);
begin
  WriteMessage(Sender.Pop);
end;
{code}

--
Remy Lebeau (TeamB)
0
Remy
12/8/2011 1:01:30 AM
You are close but not quite there.

Unit MainForm.pas

uses IdCoreGlobal.dcu and IdCoreResourceStrings.dcu
which do not exist in current Indy versions
and the last time I saw them published was in 2003


function TfrmMain.PortDescription(const PortNumber: integer): string;
begin
// Guess what more code that shouldn't change
  with GStack.WSGetServByPort(PortNumber) do //  < WSGetServByPort does not exist
0
Dennis
12/8/2011 2:52:13 PM
Dennis wrote:

> with GStack.WSGetServByPort(PortNumber) do //  < WSGetServByPort
> does not exist

Change GStack to GBSDStack.

--
Remy Lebeau (TeamB)
0
Remy
12/8/2011 4:10:14 PM
Thanks for your comments Dennis and Remy.  

I had looked at the old Chat demo and been confused by what needed changing. I will work through the changes you suggest and see what I end up with.

DG
0
David
12/12/2011 2:03:26 AM
> I will work through the changes you suggest and see what I end up with.

Good luck because I could not make it compile or work either way
0
Dennis
12/12/2011 4:51:15 PM
Dennis wrote:

> uses IdCoreGlobal.dcu and IdCoreResourceStrings.dcu
> which do not exist in current Indy versions

IdCoreGlobal is now IdGlobal, and IdCoreResourceStrings is now IdResourceStringsCore.

--
Remy Lebeau (TeamB)
0
Remy
12/12/2011 7:09:18 PM
Dennis wrote:

> Good luck because I could not make it compile or work either way

What are you still having trouble with?

--
Remy Lebeau (TeamB)
0
Remy
12/12/2011 7:09:39 PM
Hi,

Remy do you have a compilable version of this demo?  If so would you be kind enough to post it somewhere?  I was also a little concerned by the early comment that it still contained some unsafe thread handling.

Thanks,
DG
0
David
12/13/2011 12:02:52 AM
David wrote:

> Remy do you have a compilable version of this demo?

Not offhand, no.  I will have to find some free time soon to update it for 
you.

--
Remy Lebeau (TeamB)
0
Remy
12/13/2011 2:50:41 AM
Remy wrote:

> Not offhand, no.  I will have to find some free time soon to update it
> for you.

I have posted an updated Chat demo in the attachments forum for you.

--
Remy Lebeau (TeamB)
0
Remy
12/13/2011 6:16:39 AM
Thank you for finaly helping someone get started.

One last thought. Where you inserted the CHARINSET
changes does not work in older Delphi versions as
it was never in sysutils.pas in older versions and the
original code as was posted in the demos worked just fine.
0
Dennis
12/13/2011 11:55:36 PM
Dennis wrote:

> Where you inserted the CHARINSET changes does not work in older Delphi 
versions

No, because CharInSet() was introduced in D2009, to address legacy code that 
uses the 'in' operator with Char sets.  With the change to Unicode, where 
Char became WideChar, such uses of 'in' do not work the same anymore. 

> the original code as was posted in the demos worked just fine.

The original code was not meant for nwer Delphi versions or even newer Indy 
versions.

--
Remy Lebeau (TeamB)
0
Remy
12/14/2011 12:12:54 AM
Many thanks Remy.  Almost there.

The Client compiles OK but the Server doesn't.  I had to change the Uses to IdResourceStringsCore, which is fine but it still says 'Undeclared identifier RSBindingAny'. I am guessing this is a constant that used to be defined but no longer is. What should it be?  [OK I realised it doesn't really matter so I put junk and it compiles and runs OK]  It is somewhat staggering how many units are now needed to do what ClientSocket and SevrerSocket used to do!

There is also a warning: 
[DCC Warning] MainForm.pas(172): W1000 Symbol 'WSGetServByPort' is deprecated: 'Use AddServByPortToList()'
but that obviously won't stop it working.

Cheers,
DG

Edited by: David Griffiths on Dec 13, 2011 8:28 PM
0
David
12/14/2011 4:30:35 AM
> The Client compiles OK but the Server doesn't.  
I had to change the Uses to IdResourceStringsCore, 
which is fine but it still says 'Undeclared identifier RSBindingAny'. 

Just change the uses to "IdDsnCoreResourceStrings" instead
0
Dennis
12/14/2011 2:51:01 PM
> No, because CharInSet() was introduced in D2009

I have D2009 and it is not in the SYSUTILS.PAS there either
or any other source code in the source folders
0
Dennis
12/14/2011 2:57:40 PM
> I had to change the Uses to IdResourceStringsCore, 
> which is fine but it still says 'Undeclared identifier RSBindingAny'. 
> 
> Just change the uses to "IdDsnCoreResourceStrings" instead

No, that was what was there and it didn't compile. I had to change it to  IdResourceStringsCore.
0
David
12/14/2011 10:55:17 PM
Then I do not know what version of Indy10 you might be
using then as that is where 'RSBindingAny' is defined
as RSBindingAny = 'Any';
0
Dennis
12/15/2011 1:41:31 PM
Dennis wrote:

> Then I do not know what version of Indy10 you might be using then
> as that is where 'RSBindingAny' is defined as RSBindingAny = 'Any';

In Indy 10, RSBindingAny is defined in IdDsnCoreResourceStrings.pas, and 
has been for many years now.

--
Remy Lebeau (TeamB)
0
Remy
12/15/2011 5:47:28 PM
Ah OK, I see what happened. When I tried to compile the Server it said it couldn't find IdResourceStringsCore unit. I made the incorrect assumption that IIdDsnCoreResourceStrings should have been IdResourceStringsCore and changed it, but really it needs both. So it appears the only thing that the IdDsnCoreResourceStrings unit is needed for is the definition of RSBindingAny.

All good - *thanks again for your help*.

> {quote:title=Remy Lebeau (TeamB) wrote:}{quote}
> Dennis wrote:
> 
> > Then I do not know what version of Indy10 you might be using then
> > as that is where 'RSBindingAny' is defined as RSBindingAny = 'Any';
> 
> In Indy 10, RSBindingAny is defined in IdDsnCoreResourceStrings.pas, and 
> has been for many years now.
0
David
12/15/2011 9:56:22 PM
> {quote:title=Dennis Passmore wrote:}{quote}
> > No, because CharInSet() was introduced in D2009
> 
> I have D2009 and it is not in the SYSUTILS.PAS there either
> or any other source code in the source folders

It most certainly is, and it's in Delphi 2010, XE, and XE2 as well. I'll check when I get to a machine that has D2009 still installed (this one has D2007, XE, and XE2, but not 2009) and give you line numbers (or you could just open it yourself in the IDE and search for "CharInSet"). In XE, there are two overloaded versions declared on lines 3067 and 3068 of SysUtils.pas.
0
Ken
12/16/2011 9:44:49 PM
Ken White wrote:

> > {quote:title=Dennis Passmore wrote:}{quote}
> > > No, because CharInSet() was introduced in D2009
> > 
> > I have D2009 and it is not in the SYSUTILS.PAS there either
> > or any other source code in the source folders
> 
> It most certainly is, and it's in Delphi 2010, XE, and XE2 as well.
> I'll check when I get to a machine that has D2009 still installed
> (this one has D2007, XE, and XE2, but not 2009) and give you line
> numbers (or you could just open it yourself in the IDE and search for
> "CharInSet"). In XE, there are two overloaded versions declared on
> lines 3067 and 3068 of SysUtils.pas.

Indeed these are also in D2009, they are in SysUtils.pas declared in
lines 2833 and 2834 and implemented in lines 3930 and 3935.

-- 
Pieter

"It has become appallingly obvious that our technology has 
 exceeded our humanity." -- Albert Einstein (1879-1955)
0
Pieter
12/17/2011 1:31:29 AM
> {quote:title=David Griffiths wrote:}{quote}
> Ah OK, I see what happened. When I tried to compile the Server it said it couldn't find IdResourceStringsCore unit. I made the incorrect assumption that IIdDsnCoreResourceStrings should have been IdResourceStringsCore and changed it, but really it needs both. So it appears the only thing that the IdDsnCoreResourceStrings unit is needed for is the definition of RSBindingAny.
> 
> All good - *thanks again for your help*.
> 
> > {quote:title=Remy Lebeau (TeamB) wrote:}{quote}
> > Dennis wrote:
> > 
> > > Then I do not know what version of Indy10 you might be using then
> > > as that is where 'RSBindingAny' is defined as RSBindingAny = 'Any';
> > 
> > In Indy 10, RSBindingAny is defined in IdDsnCoreResourceStrings.pas, and 
> > has been for many years now.

Sorry for reviving this thread, but could you tell me what exactly did you do to fix that error? I'm using Indy 10.5.8.0 and I am getting the error as well: +[DCC Fatal Error] MainForm.pas(38): F1026 File not found: 'IdDsnCoreResourceStrings.dcu'+
0
Martin
8/25/2012 2:13:42 PM
Martin wrote:

> Sorry for reviving this thread, but could you tell me what exactly did
> you do to fix that error? I'm using Indy 10.5.8.0 and I am getting the
> error as well: +[DCC Fatal Error] MainForm.pas(38): F1026 File not
> found: 'IdDsnCoreResourceStrings.dcu'+

IdDsnCoreResourceStrings is part of Indy's design-time packages.  You should 
not be using it in your projects at all.

--
Remy Lebeau (TeamB)
0
Remy
8/27/2012 7:40:05 PM
> {quote:title=Remy Lebeau (TeamB) wrote:}{quote}
> Remy wrote:
> 
> > Not offhand, no.  I will have to find some free time soon to update it
> > for you.
> 
> I have posted an updated Chat demo in the attachments forum for you.
> 
> --
> Remy Lebeau (TeamB)

Sorry to bring this up again but where can I find the updated Chat demo. Thanks for your help.
0
Jay
8/30/2012 2:30:28 PM
Jay wrote:

> Sorry to bring this up again but where can I find the updated Chat
> demo. Thanks for your help.

https://forums.embarcadero.com/thread.jspa?threadID=65247

--
Remy Lebeau (TeamB)
0
Remy
8/30/2012 9:51:35 PM
> {quote:title=Remy Lebeau (TeamB) wrote:}{quote}
> Jay wrote:
> 
> > Sorry to bring this up again but where can I find the updated Chat
> > demo. Thanks for your help.
> 
> https://forums.embarcadero.com/thread.jspa?threadID=65247
> 
> --
> Remy Lebeau (TeamB)

Thanks a lot!
0
Jay
8/31/2012 10:25:22 AM
Reply:

Similar Artilces:

Converting Delphi 2007 Indy 10.2.3 to Delphi 2009 Indy 10.5.5 [Edit]
Hello, I am currently attempting to port over a Delphi 2007 project that uses Indy 10.2.3 (very successfully) to Delphi 2009 and Indy 10.5.5 (I just got the latest development build this morning). I think I am running into an encoding issue, but am not sure. Specifically, IDHTTP with SSL calls an old CGI and the CGI returns a .zip file and I then save it to the disk. In 2007 and before this worked perfectly. In 2009, it is not. Here is the examples of the 2 different results (though cut way short in the post) I am getting back: 2007: 'PK'#3#4#$14#0#0#0#8#0'rLQ9žrPb€'#0...

migrating from Delphi 6 With Indy 10 to XE7 with Indy 10
I updated the original Indy in D6 to version 10 several years ago. Now I want to migrate my application from D6 to XE7 and would like some feedback on the best route to take. I usually send data using readln and writeln statements. The data is typically XML format. Since migrating to XE7 will include potential unicode data what is the best approach to take when reading and writing data? Will writeln and readln work in these cases or should I be using a different strategy to send unicode data between the tidtcpclient and tidtcpserver applications? al wrote: > I usually send data ...

Delphi 7 to Delphi XE2
Hi, Still using that old workhorse, Delphi7, but am going to the conference in London hosted by Embarcadero on Delphi XE2. Although I would like to "move with the times" and am keen to get the UNICODE and 64-bit support offered by the latest IDEs, I confess to being more than a little scared about all the UNICODE/String/AnsiString and 32/64 bit issues I'm probably going to fall over. Anyone recently upgraded from Delphi7 to one of the latest Delphi IDEs? Thanks, Alain On 03/02/2012 08:55, Alain Dekker wrote: > Still using that old workhorse, Delphi7, but...

Indy 10: multicasting in Windows and MAC with Delphi XE2
Hi everyone, I am trying the new version of Delphi, XE2. I want to make a mDNS client / server, so I have placed the components TIdIPMCastClient and TIdIPMCastServer, and configured them. Under Windows, I have been able to send packets using the TIdIPMCastServer, although they are not with the source port 5353 (the one for mDNS), because I get always the error "address already in use". How can I workaround this problem, so I can send multicast datagrams with source port 5353? But under MAC, I have alway the error "Socket error #22, invalid argument". I have tried two...

Delphi XE2 - Indy 10
Dear folks As result of security issues one of the email services in NZ has changed the settings of their email server. It used to be port 25 and outgoing mail was SMTP.xtra.co.nz. The port is now 465 and outgoing mail is now send.xtra.co.nz. The client configuration requires authentication and a secure connection (SSL). The result is that my code to connect for everyone using that provider is now "busted". I have changed the port and outgoing host accordingly. And have set the IOHandler of idSMTP as IdSSLIOHandlerSocketOpenSSL1. With the Authtype as satSASL. I have als...

Delphi XE2, Indy 10
Dear folks The following code is supposed to send a text string to a client that is listening on a set port and ip address. The connection works fine. The problem is that nothing seems to be sent. {code} function TFCSelectForm.SendNitroMessage(NitroRequest: String): String; var sStrm: TMemoryStream; begin try sStrm := TMemoryStream.Create; try sStrm.WriteBuffer(Pointer(NitroRequest)^,Length(NitroRequest)); // sStrm shows as () in the debugger IdTCPClient1.IOHandler.Write(sStrm, 0, False); sStrm.Position := 0; finally ...

delphi 7 Indy 9 and Indy 10
Hi, I can upgrade to indy 10 in delphi 7. But I have discover that indy 9 and Indy 10 have some different properties, so i had to change my old programs that were made in indy 9 to upgrade it to new version, but it is a long work. So I want to know if it is possible to install in the same delphi 7 both versions indy 10 and indy 9. I have tried to do it but i received a error message: Cannot load package 'IndySystem70'. It contains unit 'IdWinSock2', which is also contained in package 'Indy70'. Some can give me ideas or a link to read how to install both versi...

Indy E-Mail Problem (Indy 10, Delphi 2007)
Hello, we use Indy 10 with Delphi 2007 to get E-Mail using IMAP. We recieved an E-Mail which is not handled correctly. The E-Mail looks like this {code} Return-Path: <test@mail.com>; From: "Test Tester" <test@mail.com>; To: <test@mail.com>; Subject: Order Date: Wed, 7 Mar 2012 16:50:40 +0100 Message-ID: <15D526BEB8091D43859549D9E16E370FBA3123> MIME-Version: 1.0 Content-Type: text/html; charset=US-ASCII Content-Transfer-Encoding: quoted-printable X-Mailer: Microsoft Outlook 14.0 Thread-Index: AQFk6K6fcF3...

Delphi 7 Pro to Delphi XE2
Hi All I'm porting a project from Delphi 7 Pro to Delphi XE2 and have notice the VersionInfo "Release" and "Build" not being extracted correctly. Should be "1.2.3.4" but is getting "1.2.6150.4567" I'm using the following to extract the VersionInfo and works ok in Delphi 7 but doesnt get the "Release" and "Build" info when used in Delphi XE2. function GetVersion : string; { --------------------------------------------------------- Extracts the FileVersion element of the VERSIONINFO structure that Delphi ma...

Is GNU Gettext for Delphi compatible with Delphi XE2 ?
The site http://dxgettext.po.dk declare support for Supports for Delphi 5-2009. Thanks in advance lior ilan wrote: > The site http://dxgettext.po.dk declare support for Supports for Delphi > 5-2009. > Thanks in advance It is, if you look in the forums mentioned in that website http://tech.groups.yahoo.com/group/dxgettext/ http://tech.groups.yahoo.com/group/dxgettext/message/3639 Regards Olivier ...

Upgrading Indy in Delphi XE2
Hi, I'm having a bit of a problem upgrading Indy in XE2. Well, truth be - I have upgraded, and Indy has installed successfully. I can see in the IDE I'm running version 1.6.0.0 of the components. The problem I'm having is trying to re-install the package DCLIPINDYIMPL160.BPL According to the instructions I can find, I need to rebuild the package under $(BDS)\source\indy\implementation The only package I can find in here is IPIndyImpl.dpk, which I have rebuilt. I have deleted every IPIndyImpl.bpl file on my drive. I have then rebuilt the dpk file, which cr...

Delphi and Delphi for .Net
It seems that Delphi for .Net is slower than Delphi Win32 native applicaiton. I would like to know is it true all .Net application is slower than Win32 native applicaiton or it is Delphi for .Net only. Your information is great appreciated, Inung On 2011-06-21 18:20:17 +0100, Inung Huang said: > It seems that Delphi for .Net is slower than Delphi Win32 native applicaiton. > I would like to know is it true all .Net application is slower than > Win32 native applicaiton or it is Delphi for .Net only. If you are only running the code in the application once then, yes, yo...

Delphi 2007 to Delphi XE2 paint order change
Hello all, I have a program here that does some very specific work in the paint handlers and requires that the controls are painted from bottom to top. This worked just fine under Delphi 2007 but now that we have migrated to Delphi XE2, it no longer works. Tracing the paint order, we discovered that there are cases when the bottom most component (the form for instance) is drawn last instead of first, which means that the painting code we do in the program gets a black area for the bottom most control instead of its background. This was observed with D2007 and DXE2 on the same c...

Web resources about - Indy 10 Delphi XE2 confusion - embarcadero.delphi.winsock

Confusion - Wikipedia, the free encyclopedia
in the International Statistical Classification of Diseases and Related Health Problems and the Medical Subject Headings publications to describe ...

New Facebook Friend Lists Cause Some Confusion
Facebook's new profiles include the ability to share friend lists, but how they function is not completely clear to users.

Advertiser Confusion Led to Shutdown of Facebook Conversion Tracking Tool
When Facebook closed a private beta of a conversion tracking tool earlier this month that would have allowed advertisers to see whether users ...

Confusion (@PigsAndPlans) on Twitter
Sign in Sign up To bring you Twitter, we and our partners use cookies on our and other websites. Cookies help personalize Twitter content, tailor ...

Rebuttal to Andrew Sullivan: Blogs are an amateur thing, that's the source of confusion.
Rebuttal to Andrew Sullivan: Blogs are an amateur thing, that's the source of confusion.

SCOTUS Preview: Trademark Confusion - Jason P. Steed
... (There's still time for them to add more.) Here's a quick preview of one of them:In B&B Hardware, Inc. v. SCOTUS Preview: Trademark Confusion ...

Confusion Corner - Flickr - Photo Sharing!
The thing I like best is the two different arrows pointing "north".

Charles Bradley - "Confusion" - YouTube
The Screaming Eagle of Soul, Charles Bradley, and his band recently stopped by Studio 1A to play live on KUTX. We'll be talking about Mr. Bradley's ...

In confusion-filled David de Gea fallout, Manchester United get last word over Real Madrid
Manchester United's statement on Tuesday clarified things only to a small extent, but ultimately in the public dispute with Real Madrid, what ...

Short Film of the Day: ‘Confusion Through Sand’ Illustrates the Fog of War
... “(Notes on) Biology,” has released their latest award-winning film online, an animated commentary on the haze and horror of war called “Confusion ...

Resources last updated: 1/19/2016 1:30:55 AM