Private - encapsulation or inheritance (but not both)

Suppose that your class has some internal computation or logic that it performs, and that you wish to encapsulate this in a method that can not be called by other classes.
You provide public methods that filter, format, or somehow modify the input and/or output of this encapsulated method.
class pseudoCodeClass {
private coreLogic(Objects inputs) {
Maybe some complicated math stuff;
Or password stuff;
Or pay out functionality for a slot machine;
return(stuff);
public getUserData(inputs) {
format/check the inputs;
coreLogic(inputs);
format the output;
Now, how do you leveradge the power of OO inheritance to extend the internal logic that you encapsulated? If you make the interal logic private, then it's encapsulated, but you lose the power of OO inheritance, or you can make it protected and lose the encapsulation. I thought an OO language was supposed to have encapsulation and inheritance, not encapsulation or inheritance. (And, yes I realize that there is some techincal sense in which private methods are still inherited, but I'm talking about the general OO concept of inheritence where it includes overriding or extending.)
Suppose you want to:
class pseudoCodeSubclass extends pseudoCodeClass {
private coreLogic(inputs) {
super.coreLogic(inputs);
additional more specific code; // The whole point of OO inheritence
You can't extend super.coreLogic through your access to super.getUserData because it does all sorts of filtering and formating that is not a part of the internal logic that you wish to extend/override. And, providing other more public accessor methods to the core logic just defeats the encapsulation.
I have seen many discussions of this, but none with any answers to my satisfaction. One line of answers is that you don't want encapsulated stuff to be part of your object's contract. Some times people with this sort of answer even suggest coppying the code from the super class into the subclass. People with this sort of answer don't seem to even want the option to use inheritence because of the obligation that might go with it. But without the option of inheriting encapsulated logic, they are forced to either use cut and paste (in an OO language that seems wrong to me) or to abandon encapsulation all together. Being forced into those 2 extreems doesn't seem to me like it would simplify future support of your class, and future support seems to be the primary point of the contract line of response.
The way some people argue about this, I amost want to say - Look! In C you can encapsulate everything you want, and never have to worry about inheritance. (But you still shouldn't have to cut and paste.)
Another line of response that I have seen is that private methods should only be used in breaking up code that would have gone into a single method. In other words, the private methods aren't really 'units of program logic' they are just a mater of organizational convenience. So if you had:
public oneBigMessyMethod() {
100 lines of A;
100 lines of B;
100 lines of C;
you could maintain it as:
public oneBigMessyMethod() {
a();
b();
c();
private a() {
100 lines of A;
private b() {
100 lines of B;
private c() {
100 lines of C;
I agree private works well in this situation. Presumably since a(), b() and c() are divided up for convenience rather than because of distinct logical function, you wouldn't want to extend just a() with inheritance. But this also seems to dodge the question. Just because sometimes you might not want encapsulated functionality to be available for extention, does not mean that you would never want it. I think that I'd also have to disagree with the permise that encapsulation is only for hiding stuff that is just a convention of convenience. The main point of encapsulation is to hide information or functionality. If encapsulation is only used for the convenient breakdown of your primary functionality, then all of your primary functionality is public, package or protected. That does make it inheritable. But, now all of the primary functionality is a part of the contract for that class.
Is there an answer to this issue that does not ignore the value of either encapsulation or inheritance?
There is one way that I can see to do exactly what I think should be possible. That is to put only classes from the same hierarchy in a package. Then both package and protected effectively provide encapsulation with the ability to inherit (and you do still have the option to use private or final if there is a case where you want to disable inheritence).
What I'd like to know is - What do people actually do? In the real world, do people:
1) use private + cut and paste
2) use package/protected + self discipline
Where 2 is that you drop encapsulation within your package but then excercise self dicipline and just don't call/access stuff that you intend to be for that class only...
Or is there some 3rd thing that I'm missing? I've tried to think how maybe you could design your objects in such a way that you'd never need to inherit/extend something that you would also want to encapsulate. But I just don't see how that's possbile.
So, what do people do?
Chris

First of all, you have got to understand that I am not
suggesting that Private and Final should be changed or
removed from java. It looks to me like there should
be an additional access option (and there was
originaly).
I understand that if a class inherits something, it
could expand the access or put public accessor methods
around it. Obviously with ultra sensitive code this
would be a nightmare. So private and final are very
important. But if the very possibility of another
class expanding a given level of access is a reason
for not even having that level of access, then why do
we have package and protected?
There are a great number of places in common coding where that access does restrict usage in a usable way.
>
If the only re-use of your code that you allow is
through the public interface, what do you even need an
OO language for? Just for the polymorphism and a
different way to organize your code?
Not sure what you mean by that but see below.
But as I've said. I've seen this whole thing argued a
number of times. But what I haven't seen is any
explanation of what people who take the poslition that
I'm taking actually do when they write code. Because
I can sit here with a bunch of other people and say 'I
wish Java had this or that'. And then of couse a
bunch of people will resopond and say 'no that's dumb'
or 'I don't see the point'. But at the end of the
day, Java still is what it is. So, arguing about what
it 'should be' is not going to effect how anyone
codes.
Sure it can. That is why java now has assert().
So, what I started out wanting to know is how people
actually code. Particularly people who wish that Java
had a subclass only access modifier.
I don't wish that.
Perhapse I should also be asking about how things are
done by people who see this level of access as
unnececary. How they code is easy enough to
understand. Making everything that is not intended to
be accessed by any other class private is easy enough
to do. But what would be interesting to know is how
do you design your classes to leveradge inheritance if
you do this. Maybe there is some way of desinging
around ever having 'internal functionality' that you
would want to extend and I'm just not getting it.
There are three broad classifications of objects.
1. Those that only use encapsulation
2. Correct inheritence hierarchies
3. Incorrect inheritence hierarchies
The first of those, which I consider most classes to fall into, do not need this.
The third area occurs when programmers use inheritence as a convenience mechanism to propogate behavior amoung different classes rather than using encapsulation as should be done. They don't understand the difference between "is-a" relationships (design) and coding convienence. I would estimate that at least 50% of existing object hierarchies fall into this area. Since in this case the entire design is wrong an extension is not needed.
The second area is the only correct area where this might be needed. Since I personally believe that very few classes belong in hierarchies and this proposed extension would only be useful in a sub fraction of those. Since the correct usage is so small I don't think it would be useful addition to the language.

Similar Messages

  • Can you check for data in one table or another but not both in one query?

    I have a situation where I need to link two tables together but the data may be in another (archive) table or different records are in both but I want the latest record from either table:
    ACCOUNT
    AccountID     Name   
    123               John Doe
    124               Jane Donaldson           
    125               Harold Douglas    
    MARKETER_ACCOUNT
    Key     AccountID     Marketer    StartDate     EndDate
    1001     123               10526          8/3/2008     9/27/2009
    1017     123               10987          9/28/2009     12/31/4712    (high date ~ which means currently with this marketer)
    1023     124               10541          12/03/2010     12/31/4712
    ARCHIVE
    Key     AccountID     Marketer    StartDate     EndDate
    1015     124               10526          8/3/2008     12/02/2010
    1033     125               10987         01/01/2011     01/31/2012  
    So my query needs to return the following:
    123     John Doe                        10526     8/3/2008     9/27/2009
    124     Jane Donaldson             10541     12/03/2010     12/31/4712     (this is the later of the two records for this account between archive and marketer_account tables)
    125     Harold Douglas               10987          01/01/2011     01/31/2012     (he is only in archive, so get this record)
    I'm unsure how to proceed in one query.  Note that I am reading in possibly multiple accounts at a time and returning a collection back to .net
    open CURSOR_ACCT
              select AccountID
              from
                     ACCOUNT A,
                     MARKETER_ACCOUNT M,
                     ARCHIVE R
               where A.AccountID = nvl((select max(M.EndDate) from Marketer_account M2
                                                    where M2.AccountID = A.AccountID),
                                                      (select max(R.EndDate) from Archive R2
                                                    where R2.AccountID = A.AccountID)
                   and upper(A.Name) like parameter || '%'
    <can you do a NVL like this?   probably not...   I want to be able to get the MAX record for that account off the MarketerACcount table OR the max record for that account off the Archive table, but not both>
    (parameter could be "DO", so I return all names starting with DO...)

    if I understand your description I would assume that for John Dow we would expect the second row from marketer_account  ("high date ~ which means currently with this marketer"). Here is a solution with analytic functions:
    drop table account;
    drop table marketer_account;
    drop table marketer_account_archive;
    create table account (
        id number
      , name varchar2(20)
    insert into account values (123, 'John Doe');
    insert into account values (124, 'Jane Donaldson');
    insert into account values (125, 'Harold Douglas');
    create table marketer_account (
        key number
      , AccountId number
      , MktKey number
      , FromDt date
      , ToDate date
    insert into marketer_account values (1001, 123, 10526, to_date('03.08.2008', 'dd.mm.yyyy'), to_date('27.09.2009', 'dd.mm.yyyy'));
    insert into marketer_account values (1017, 123, 10987, to_date('28.09.2009', 'dd.mm.yyyy'), to_date('31.12.4712', 'dd.mm.yyyy'));
    insert into marketer_account values (1023, 124, 10541, to_date('03.12.2010', 'dd.mm.yyyy'), to_date('31.12.4712', 'dd.mm.yyyy'));
    create table marketer_account_archive (
        key number
      , AccountId number
      , MktKey number
      , FromDt date
      , ToDate date
    insert into marketer_account_archive values (1015, 124, 10526, to_date('03.08.2008', 'dd.mm.yyyy'), to_date('02.12.2010', 'dd.mm.yyyy'));
    insert into marketer_account_archive values (1033, 125, 10987, to_date('01.01.2011', 'dd.mm.yyyy'), to_date('31.01.2012', 'dd.mm.yyyy'));
    select key, AccountId, MktKey, FromDt, ToDate
         , max(FromDt) over(partition by AccountId) max_FromDt
      from marketer_account
    union all
    select key, AccountId, MktKey, FromDt, ToDate
         , max(FromDt) over(partition by AccountId) max_FromDt
      from marketer_account_archive;
    with
    basedata as (
    select key, AccountId, MktKey, FromDt, ToDate
      from marketer_account
    union all
    select key, AccountId, MktKey, FromDt, ToDate
      from marketer_account_archive
    basedata_with_max_intervals as (
    select key, AccountId, MktKey, FromDt, ToDate
         , row_number() over(partition by AccountId order by FromDt desc) FromDt_Rank
      from basedata
    filtered_basedata as (
    select key, AccountId, MktKey, FromDt, ToDate from basedata_with_max_intervals where FromDt_Rank = 1
    select a.id
         , a.name
         , b.MktKey
         , b.FromDt
         , b.ToDate
      from account a
      join filtered_basedata b
        on (a.id = b.AccountId)
    ID NAME                     MKTKEY FROMDT     TODATE
    123 John Doe                  10987 28.09.2009 31.12.4712
    124 Jane Donaldson            10541 03.12.2010 31.12.4712
    125 Harold Douglas            10987 01.01.2011 31.01.2012
    If your tables are big it could be necessary to do the filtering (according to your condition) in an early step (the first CTE).
    Regards
    Martin

  • How do I set upmy Imac to allow using both my computer speakers and a Bose SoundLink system as outputs at the same time.  I can use one or the other, but not both.

    how do I set up my Imac to allow using both my computer speakers and a Bose SoundLink system as outputs at the same time.  I can use one or the other, but not both.  From systems Preferences I must select one or the other.  I want both to work all the time.

    Hi,
    I would recommend you to use 0FI_AP_4 rather using both, particularly for many reasons -
    1. DS: 0FI_AP_4  replaces DataSource 0FI_AP_3 and still uses the same extraction structure. For more details refer to the OSS note 410797.
    2. You can run the 0FI_AP_4 independent of any other FI datasources like 0FI_AR_4 and 0FI_GL_4 or even 0FI_GL_14. For more details refer to the OSS note: 551044.
    3. Map the 0FI_AP_4 to DSO: 0FIAP_O03 (or create a Z one as per your requirement).
    4. Load the same to a InfoCube (0FIAP_C03).
    Hope this helps.
    Thanks.
    Nazeer

  • HT5858 In the control center I can change the mute or the rotation but not both.  How do I fix this.  In settings I can not uncheck both the mute and rotation lock.

    In the control center I can change the mute or the rotation but not both.  In the settings area therefore I can't uncheck the mute and rotation settings at the same time.

    Check your settings. The iPads have a small switch on the right edge. It can be used as a rotation lock to keep the screen from automatically reorienting itself as you move around, but you need to have the tablet’s settings configured properly. That same switch, right above the volume buttons, can also be set to function instead as a mute button to silence certain types of audio.
    If the switch is set to work as a mute button, you can change its purpose to “screen-rotation lock” by tapping the Settings icon on the home screen. On the Settings screen, tap General on the left side, and on the right side of the screen flick down to “Use Side Switch to.” Tap to select Lock Rotation or Mute to set the button’s function. Even if you set the side switch for your preferred use, you can still mute the Mini or lock the screen. Just double-click the Home button, and when the panel of apps appears along the bottom edge of the screen, flick the row from left to right with your finger. Tap the icon on the far left side of the row to either lock the iPad’s screen or mute the iPad’s alerts, notifications and sound effects. Music, podcasts and video are not muted unless you turn the volume all the way down.
     Cheers, Tom

  • How do I adjust the page orientation in Pages?  I want to keep the pages above the section break as portrait, and the ones below I want to change into landscape.  Is this possible?  I can only get it to be one or the other but not both.

    I want to keep the pages above the section break as portrait, and the ones below I want to change into landscape.  Is this possible?  I can only get it to be one or the other but not both.

    The work around is to do two documents, one in portrait format and one in landscape format. When finished export to Pdf. open in Preview by select both files and use Cmd + O or doubleclick. You can now in Previews thumbnail column the pages from one document into the other and then save.
    If you have created only one with i.e. all pages in portrait format but with the content for the landscape pages rotated on the pages, you can rotate the pages in Preview. Two ways to get the same result.

  • How do I create both endnotes and footnotes in same doc in Pages? I have iWork 2008. I understand how to create one or the other, but not both.

    How do I create both endnotes and footnotes in same doc in Pages? I have iWork 2008. I understand how to create one or the other, but not both.

    You have to select one or the other.
    Try making two documents and see if you can merge the .pdfs, but their will be problems with page flow, making the pages shift. Can't see it working really.
    Pages is not the only solution out there or the best for most jobs (let alone the safest). Try Word for Mac, LibreOffice (free) or any App that has the features you need.
    Peter

  • On VMM managed cluster hosts, I can't figure out why most of my hosts answer port 5900 and the others 2179, but not both

    Below, you see a netcat list of my hosts.  Most are answering port 5900, but not 2179.  The list on the bottom is answering 2179, but not 5900.  I need to know for 3 reason why this is, (1) to setup our enterprise firewall, (2) for port health
    monitoring of our hosts, and (3) just what is going on.  I thought that 2179 should be open on all hosts, and that 5900 was only used in legacy cases (at least from what I read from googling around).  Why aren't all of my hosts answering 2179?
    My hosts are all Server 2008 R2 Datacenter SP1 64-bit.  We have a mix of VMs with Server 2008 R2, Win7, and RHEL6, all 64-bit.
    Most answering 5900...
    [lhco-mshv01] Connection to lhco-mshv01 5900 port [tcp/vnc-server] succeeded!
    [lhco-mshv02] Connection to lhco-mshv02 5900 port [tcp/vnc-server] succeeded!
    [lhco-mshv03]
    [lhco-mshv05] Connection to lhco-mshv05 5900 port [tcp/vnc-server] succeeded!
    [lhco-mshv06]
    [lhco-mshv07]
    [lhco-mshv08] Connection to lhco-mshv08 5900 port [tcp/vnc-server] succeeded!
    [lhco-mshv09] Connection to lhco-mshv09 5900 port [tcp/vnc-server] succeeded!
    [lhco-mshv10]
    [lhco-mshv11] Connection to lhco-mshv11 5900 port [tcp/vnc-server] succeeded!
    [lhco-mshv12] Connection to lhco-mshv12 5900 port [tcp/vnc-server] succeeded!
    [lhco-mshv13] Connection to lhco-mshv13 5900 port [tcp/vnc-server] succeeded!
    [lhco-mshv14] Connection to lhco-mshv14 5900 port [tcp/vnc-server] succeeded!
    [lhco-mshv16]
    [lhco-mshv17]
    [lhco-mshv18] Connection to lhco-mshv18 5900 port [tcp/vnc-server] succeeded!
    [lhco-mshv19] Connection to lhco-mshv19 5900 port [tcp/vnc-server] succeeded!
    [lhco-mshv20]
    [lhco-mshv21]
    [lhco-mshv22] Connection to lhco-mshv22 5900 port [tcp/vnc-server] succeeded!
    [lhco-mshv23] Connection to lhco-mshv23 5900 port [tcp/vnc-server] succeeded!
    [lhco-mshv24] Connection to lhco-mshv24 5900 port [tcp/vnc-server] succeeded!
    [lhco-mshv25] Connection to lhco-mshv25 5900 port [tcp/vnc-server] succeeded!
    [lhco-mshv26] Connection to lhco-mshv26 5900 port [tcp/vnc-server] succeeded!
    [lhco-mshv27] Connection to lhco-mshv27 5900 port [tcp/vnc-server] succeeded!
    The others are answering 2179...
    [lhco-mshv01]
    [lhco-mshv02]
    [lhco-mshv03] Connection to lhco-mshv03 2179 port [tcp/vmrdp] succeeded!
    [lhco-mshv05]
    [lhco-mshv06] Connection to lhco-mshv06 2179 port [tcp/vmrdp] succeeded!
    [lhco-mshv07] Connection to lhco-mshv07 2179 port [tcp/vmrdp] succeeded!
    [lhco-mshv08]
    [lhco-mshv09]
    [lhco-mshv10] Connection to lhco-mshv10 2179 port [tcp/vmrdp] succeeded!
    [lhco-mshv11]
    [lhco-mshv12]
    [lhco-mshv13]
    [lhco-mshv14]
    [lhco-mshv16] Connection to lhco-mshv16 2179 port [tcp/vmrdp] succeeded!
    [lhco-mshv17] Connection to lhco-mshv17 2179 port [tcp/vmrdp] succeeded!
    [lhco-mshv18]
    [lhco-mshv19]
    [lhco-mshv20] Connection to lhco-mshv20 2179 port [tcp/vmrdp] succeeded!
    [lhco-mshv21] Connection to lhco-mshv21 2179 port [tcp/vmrdp] succeeded!
    [lhco-mshv22]
    [lhco-mshv23]
    [lhco-mshv24]
    [lhco-mshv25]
    [lhco-mshv26]
    [lhco-mshv27]

    Brian,
    This is specifically related to Hyper-V hosts, where the following ports may be used by the VMM to communicate to each host:
    VMConnect (RDP) to Hyper-V hosts 2179
    VMRC connection to Virtual Server host 5900
    These ports are outlined here...
    technet.microsoft.com/en-us/library/cc764268.aspx
    I am not running independent VNC servers on my hosts.  They are VMRC ports.  My confusion is why some of my hosts are only answering 2179, while the others are only answering 5900, but not both ports on all hosts (or for that matter just 2179 on
    all hosts).

  • Crop/ Straighten, but not both!

    Really weird: I straighten a photo. Then I want to crop it, but when I click the crop tool (after doing the straitening), ACR, un-straightens the image!
    I'ts like it's saying you can do one or the other, but not both.

    Rather than a rude answer to b2martin how about providing some useful information.  I read your original post, decided I couldn't tell whether you were describing your experience with the straightening tool, lens correction, or what.
    If you're using the straightening tool, it creates a crop containing the tilted image with boundaries all the way to the original image edge, at least in ACR hosted by Bridge/CS6.  Or maybe you're using Elements, can't really tell from your post.
    Richard Southworth

  • Timed loop in a subvi, one or the other runs but not both.

    I have a vi with two sub vis. Each sub vi contains a timed loop that updates a global variable. In the top level vi I read from each global and display its content. When I run the top level vi I see only one global counting but not both. If I start and stop the top level vi the sub vis take turns counting but they never both count. If I replace the timed loop with a while loop in each subvi then both count. If I move the two timed loops from their respective sub vis and place them in the top level vi then both globals show counting. Can any body explain what is going on.
    I'm using Labview 2010 SP1.
    Attachments:
    Test Of Timed Loop.zip ‏72 KB

    Never Mind!
    When I cloned the subvi I forgot to change the structure name of the timed loop. Placing an error indicator inside the subvi disclosed the error -808 (Error -808 occurred at an unidentified location. Possible reason(s):LabVIEW:  The given name is already being used by the following timed structure.).

  • How do i connect both my ipad and iphone to wifi at the same time. i can one or the other connected but not both?, how do i connect both my ipad and iphone to wifi at the same time. i can one or the other connected but not both?

    ive just moved out and have just been connected to talk talk broadband today.  Both my ipad mini and iphone are saying they are connected to wifi but only my iphone will connect to online services where my ipad mini won't.  But if i disconnect my iphone from wifi then my ipad will work online and then when trying to connect my iphone back to wifi that won't work with online services.  is this because they are both using the same apple account?  though when i was living at home my mum had sky router and i was able to connect both devices with no problem.  is there anyway of connecting both devices so they work online at the same time??

    There is absolutely no reason why they should not bothe be able to connect to your WiFi network. The easiest place to start would be to reboot your router. Unplug it for about 30 seconds and then plug it back in again. I would also restart both the iPad and the iPhone.

  • Mac mini server has suddenly stopped seeing one or the other bluetooth devices! Batteries have been changed and they will connect to an older Mac mini. Server will now only see one or the other but not both.

    My Mac mini server has suddenly stopped seeing one or the other bluetooth devices, either the wireless keyboard or the mouse( both apple products) have tried new batteries, at first it was the mouse that stopped responding, but upon rebooting the computer now the keyboard will not respond and the mouse works. Both work fine on an older Mac mini that I hooked back up to check.

    There is absolutely no reason why they should not bothe be able to connect to your WiFi network. The easiest place to start would be to reboot your router. Unplug it for about 30 seconds and then plug it back in again. I would also restart both the iPad and the iPhone.

  • Memory works in either slot, but not both at same time?

    Hi, I've recently purchased some ram to upgrade my girlfriend's powerbook G4 15" 1.3ghz, 2x1gb chips. Before I installed it, I noticed the mac was only reporting 512meg of ram when we thought there was 1gb. Sure enough, there were actually 2x512 in there, but only 1 chip was being recognized. So, I tried the new ram anyway, to find of course that it would only recognize 1 of the 1gb chips also. In searching, of course, I've found all sorts of info on the lower slots going bad, but I've found in testing that any of the 4 chips (2 512mb and 2 1gb) will work in either slot, just not 2 chips at a time. So, both the upper & lower slots will actually function.
    When I run the hardware test on the restore cd (sorry, I'm probably using the wrong name for this. I don't have it in front of me, and I generally.. gasp.. use PC's) I get this error:
    post/0/2048 SODIMM0/J25LOWER
    Now, she did upgrade to leopard maybe 6 months ago, but other than that, no major changes.
    So, my questions would be, is this the same as the lower slot failure that everyone is having? Or is this something different? And, of course, is there anything I can do or try to fix it?
    Oh, ya, and, this machine is well out of it's warranty, so hopefully no expensive repairs are needed?

    Hi, beardo. My guess, and that's all it is, is that you have the beginnings of a classic lower RAM slot failure. I suspect, and it's only a suspicion, that lower RAM slot failures are caused by cracked solder joints, which in turn are caused by repetitive heat-related expansion and contraction of components on the logic board including the RAM sockets. My hunch, and it's only a hunch (have I qualified this post enough yet?) is that your lower slot is coming unstuck from the logic board only to the extent, so far, that when the spring-loaded slot is stressed in the particular way that having RAM modules in both slots produces, a crucial lower-slot contact is broken and the RAM in it isn't seen. When the lower slot and/or the logic board is stressed a little differently, by having a module in only one slot, the contact isn't broken. I imagine that the tolerances involved are minute: probably thousandths of an inch. I won't be surprised if the problem worsens to the point that your lower slot is completely undetected, particularly if you keep stressing the hardware by inserting and removing RAM modules in both slots, trying to find the cause. And I have nothing at all to suggest except all this guesswork and this repair option. I wish I could offer something more promising and helpful.

  • SMS relay only works with one iMac or Macbook Pro, but not both?

    I recently got a new iMac (5K). I already own a Macbook Pro 13" (bought in 2013). When I got the new iMac, I wanted to transfer all my data from my Macbook onto the new iMac, so I used the most recent time machine back-up from my Macbook to install onto the new iMac. No issues there. I also own an iphone 5s and ipad mini (1st generation), all with the most recent software updates. Approximately 1 week ago, SMS relay stopped working between my iMac and my iphone. I could type an SMS text message on my iMac, send it, and although it would transmit to the recipient, it would say "not delivered" on my iMac (it would show up as delivered successfully on my iphone). Consequently any SMS messages received would not show up on my iMac. I use the same login for my macbook pro and my iMac and for some reason my iphone stopped listing my iMac as one of the devices for SMS relay. I was on-line with Apple support for 3+ hours yesterday trying to figure out why this wasn't working. I did an SMC reset which temporarily fixed the problem, but as soon as I tried to use SMS relay with both the macbook pro and the iMac, the phone would only recognize one of them and ultimately always choose the macbook pro.
    iMessage chats still sync just fine but the SMS chats do not any more. I was wondering if anyone else had the same issue, and if they did, are there any fixes?
    Thanks,
    Jon

    Both the mini-displayport plugs and TB plugs are physically compatible which is why you can plug it in.   But if the iMac has a mini-displayport for video it won't work with the TB display.
    Check your System Profile to see if it tells you whether you have a TB port.  And if there is no information about that post here or look up for yourself the kind of ports for that model of iMac.  System Profiler will give yo that information (click Hardware on the left).  From the model information it can be definitively determined whether that imac supports TB.
    Also, so long as the Displays system preferences is not showing an Arrangement tab then it is not detecting the second display.

  • Pure craziness: W530 will post with a DIMM in slot 1 **or** 3, but not both.

    I've been going nuts here, so I apologize in advance if this email sounds a litted harried.
    I have two identical W530s in front of me. Both of them are i7-3820QM and are intended to support up to 32GB of RAM. So I went and ordered 32GB of RAM from Crucial and it showed up this afternoon. I promptly installed it all in machine A because I was in the middle of doing some work on machine B. Everything was fine with machine A.
    After I finished my work on machine B I decided to move the four DIMMs over there for various reasons; machine B will be there final destination. I stuck them in, making sure to seat them nicely. The machine refused to post. I pulled a couple out. The machine refused to post. I put them back in machine A. Machine A posted. Something fishy was up with machine B.
    To make a long story short, read the title of this message. This is seriously one of the weirdest things I have ever encountered with a piece of hardware. If you have all four DIMMs installed, the machine does not post. If you remove **only** DIMM 1, the machine posts. If you remove **only** DIMM 3, the machine posts. Slots 2 and 4 work just fine; whether they are empty or full or partially full doesn't effect a **bleep** thing. I've also tried this with 4GB DIMMs instead of 8GB DIMMS; same deal.
    Just to be ridiculously clear, here are he configurations that work and those that don't. "x" means that slot is empty.
    x x x x - fails, beeps (obviously)
    x x x 4 - works
    x x 3 x - works
    x x 3 4 - works
    x 2 x x - works
    x 2 x 4 - works
    x 2 3 x - works
    x 2 3 4 - works
    1 x x x - works
    1 x x 4 - works
    1 x 3 x - fails silently
    1 x 3 4 - fails silently
    1 2 x x - works
    1 2 x 4 - works
    1 2 3 x - fails silently
    1 2 3 4 - fails silently
    **bleep** is going on here? The BIOS isn't even giving error beeps in the failure modes. If I'm somehow being a total moron, please let me know; that is so much more satisfying than the idea of a machine that can't use all its RAM slots because of some weird hardware bug.
    Thanks!

    OK, so you've contacted service for repair on this system? I think that you've exhausted all user actions to correct.
    W520, i7-2820QM, BIOS 1.42, 1920x1080 FHD, 32 GB RAM, 2000M NVIDIA GPU, Samsung 850 Pro 1TB SSD, Crucial M550 mSata 512GB, WD 2TB USB 3.0, eSata Plextor PX-LB950UE BluRay
    W520, i7-2760QM, BIOS 1.42 1920x1080 FHD, 32 GB RAM, 1000M NVIDIA GPU, Crucial M500 480GB mSata SSD, Hitachi 500GB HDD, WD 2TB USB 3.0

  • How can I record a microphone and software instrument at the same time in Garageband 10.0.1?  It seems I can record one or the other, but not both at the same time?

    I am trying to record a vocal mic and a keyboard (using a software instrument) at the same time using Garageband 10.0.1.  It seems that I can't record the mic input and the software instrument at the same time.  I can record the mic input by itself, and I can record the software instrument by itself (if I don't have a mic input track created), but I can't record them together.
    It seems like this should be an obvious thing to be able to do, but I can't figure out how to make it work.
    Can someone help?
    Thanks,
    Kurt

    Kurt1997 wrote:
    I am trying to record a vocal mic and a keyboard (using a software instrument) at the same time using Garageband 10.0.1.
    you need to "record enable" both tracks:
    http://www.bulletsandbones.com/GB/GBFAQ.html#multitrackrecordinggbv10
    This FAQ entry offers a Minute GarageBand video tutorial
    (Let the page FULLY load. The link to your answer is at the top of your screen)

Maybe you are looking for

  • How to set-up Payment terms greater than 10 years

    We have payment terms that go beyond 10 years.  In the configuration of the payment terms, the "Additional months" field (V_T052-ZMONA) only contains 2 characters.  10 years * 12 months = 120 months which is already 3 characters long. Anybody know a

  • Simple Java EJB question.

    When it comes to EJB v3 Remote and Local interfaces, (With JBoss EJB Container Software in mind, for this question,) -Does the Remote interface for the EJB include method signatures from the Bean class -that are to be seen -that are to be hidden? -Do

  • Dynamic position of an image at the right bottom of the browser window

    Dear Dreamweaver-community, I'm trying to have an image positioned at the bottom right of a html-page. It is embedded in a table so that it doesn't interfere with the rest of the site's content (which it would if I simply used an absolute position).

  • Can't play some uploaded content on other devices/mac's.

    I have an issue where iTunes refuses to play some uploaded content on my iPhone, iPad and other Mac's in iTunes. It's not purchased content, it's originally ripped. Even if it were purchased my authorized devices are under five total and I'm on autho

  • Outbound Proxy error when triggering from SPROXY

    Hi Everyone, I was working on outbound proxy from ECC to PI. I have generated the proxy and activated. When I am trying to test the proxy manually from SPROXY the message is not getting triggered to SXMB_MONI in ECC itself. But I didn't get any error