Design Suggestions for Multiple DaqMX Task Streaming App?

I'm working on a LabVIEW application in which I'm streaming high-speed data to disk from multiple PXI devices simultaneously.  Each device has its own DaqMX task, and all tasks stream to the same file.  The PXI device configuration (which devices are in the chassis, which slots they're in, and which channels to read from each device) is determined at runtime.
Does anyone have a suggestion for a design model for this?  To make matters worse, I'd like to be able to specify a channel to monitor its data during the streaming.  I'm thinking the Producer-Consumer model is the basic approach, and I'm at the point where I have an array of DaqMX tasks, one for each device.  I could probably extend that array to be an array of clusters containing:
   1) DAQ Command (e.g. Initialize, Start, Stop, Acquire, etc)
   1) Task ID
   2) Control reference to 2-D array (where each DaqMX read can be stored)
   3) Array of channel names (to allow selection of channel to be monitored
This could be passed as notifier data, to a data collection subVI, but the part I'm struggling with is finding the best way to run X number of tasks in parallel, where X is not known until runtime.
Any suggestions would be appreciated.

Thanks for the input.  With regards to the file format, the decision has been made by my superiors not to use TDMS - unfortunate, but NI hasn't provided the information to write a MatLab file reader, which is a requirement.  So, I've created a custom file format tailored to the needs of my application, but generic enough to be used for other apps. With it, I've been able to stream 8 channels at 800KHz (4 channels each from 2 PXI-6120s) without breaking a sweat.  However, the performance varies greatly depending on which slots the cards are in (but that's a whole different discussion - see the PXI forum for that one).  Once NI solves that one, I'll feel a lot more comfortable.
I have already made reentrant subVIs that can perform a specific DAQ task.  The problem with a for loop is that the VI sits and wait for a start trigger, then acquires the streaming data.  I can't start the next VI because I'm in the first one.  I thought about creating a data collection VI, and this VI would start up to 6 other VIs in parallel, based on how many and which cards were present.  It's a bit messy, because each slot can contain one of two devices, so I'd need to check which type it was before calling it.  I'm thinking I'll have to create the task list and the references to the data in the main GUI loop, and then pass this using a notifier or queue to the data collection loop. 

Similar Messages

  • Examples for good programming practice with multiple DAQmx tasks

    I'm writing a program to continuously log data from 8 counters, 8 encoders, and 8 voltages. The proof of concept VI with a single counter was simple and elegant, but scaling up to all signals resulted in a wiring mess. I've been working through the Labview Core courses, and am currently on Core 3. I still haven't come across a discussion on how to work with multiple DAQmx tasks without making a mess of the block diagram. Can anyone point me in the right direction?
    Also, say I have a state machine that has a configure, idle, and logging states. I need to set the initial values of the encoders during configuration, and keep up with their changes while in the idle state so I have appropriate starting values when entering the logging state. Can anyone point to an example that shows how this might be accomplished?
    Thanks

    I'm very familiar with AE's/Functional Globals - but I have struggled in the past with handling multiple DAQmx tasks - particularly when you're using multiple devices and using different types of measurements which require seperate tasks/handling (e.g. such as thermocouples which require extra compensation).
    I'm not even sure I know whare the requirements are for needing multiple tasks - I know you can need multiple tasks for a single device if the type of measurement is different but can you share an Analogue Input task amongst multiple devices?
    I think in hindsight (and without too much thought now) it looks like a good case for Object Oriented LabVIEW - with a base DAQmx class (initialise, configure, start, acquire, stop, close etc.) and then child classes for each type of measurement (with one task associated with each - and private data unique to that specific class). You then hold an array of objects (one for each task) and iterate through each one with dynamic despatch to get the data.
    I don't know your particular experience level of using LabVIEW (and as such, OO may not be appropriate) - but as a wider discussion of 'best practice' it seems like an appropriate method I would use going forward.
    Certified LabVIEW Architect, Certified TestStand Developer
    NI Days (and A&DF): 2010, 2011, 2013, 2014
    NI Week: 2012, 2014
    Knowledgeable in all things Giant Tetris and WebSockets

  • LDAP design question for multiple sites

    LDAP design question for multiple sites
    I'm planning to implement the Sun Java System Directory Server 5.2 2005Q1 for replacing the NIS.
    Currently we have 3 sites with different NIS domains.
    Since the NFS over the WAN connection is very unreliable, I would like to implement as follows:
    1. 3 LDAP servers + replica for each sites.
    2. Single username and password for every end user cross those 3 sites.
    3. Different auto_master, auto_home and auto_local maps for three sites. So when user login to different site, the password is the same but the home directory is different (local).
    So the questions are
    1. Should I need to have 3 domains for LDAP?
    2. If yes for question 1, then how can I keep the username password sync for three domains? If no for question 1, then what is the DIT (Directory Infrastructure Tree) or directory structure I should use?
    3. How to make auto map work on LDAP as well as mount local home directory?
    I really appreciate that some LDAP experta can light me up on this project.

    Thanks for your information.
    My current environment has 3 sites with 3 different NIS domainname: SiteA: A.com, SiteB:B.A.com, SiteC:C.A.com (A.com is our company domainname).
    So everytime I add a new user account and I need to create on three NIS domains separately. Also, the password is out of sync if user change the password on one site.
    I would like to migrate NIS to LDAP.
    I want to have single username and password for each user on 3 sites. However, the home directory is on local NFS filer.
    Say for userA, his home directory is /user/userA in passwd file/map. On location X, his home directory will mount FilerX:/vol/user/userA,
    On location Y, userA's home directory will mount FilerY:/vol/user/userA.
    So the mount drive is determined by auto_user map in NIS.
    In other words, there will be 3 different auto_user maps in 3 different LDAP servers.
    So userA login hostX in location X will mount home directory on local FilerX, and login hostY in location Y will mount home directory on local FilerY.
    But the username and password will be the same on three sites.
    That'd my goal.
    Some LDAP expert suggest me the MMR (Multiple-Master-Replication). But I still no quite sure how to do MMR.
    It would be appreciated if some LDAP guru can give me some guideline at start point.
    Best wishes

  • Database design problem for multiple language application

    Hi All,
    We are working on a travelling portal and for a traveling portal its content and details are the heart.we are planning to have it in multiple locale so this means we need to handle the dynamic data for each locale.
    currently we have following tables
    Destination
    Transport
    Places of Interests
    user comments etc.
    each table contains a lot of fields like
    Name
    ShortDescription
    LongDescription
    and many other fields which can contains a lot of data and we need to handle data in locale specific way.
    i am not sure how best we can design an application to handle this case,one thing came to my mind is like putting extra column for each locale in each table but that means for a new locale things needs to be changed from database to code level and that is not good at all.
    Since each table contains a lot of columns which can contain data eligible for internationalization so my question is what might be the best way to handle this case
    After doing some analysis and some goggling one approach that came to my mind is as below..
    i am planning to create a translation table for each table,like for destination i have the following design
    table languages
    -- uuid (varchar)
    -- language_id(varchar)
    -- name (varchar)
    table Destination
    --uuid (varchar)
    other fields which are not part of internationalization.
    table Destination_translation
    -- id (int)
    -- destination_id (int)
    -- language_id (int)
    -- name (text)
    -- description(text)
    Any valuable suggestion for above mentioned approach are most welcome...

    This approach sounds reasonable - it is the same approach used by Oracle Applications (Oracle ERP software). It de-normalizes information into two tables for every key object - one contains information that is not language sensitive and the other contains information that is language sensitive. The two tables are joined by a common internal id. Views are then created for each language that join these tables based on the common id and the language id column in the second table.
    HTH
    Srini

  • Drive setup suggestion for multiple users editing simultaneously?

    At work here, a city college, not a professional company or broadcast studio, so resources are limited, we often have three people editing HDV content simultaneously in Final Cut Pro.
    Keeping the content on our multiple backup servers, there's simply too much network traffic to do this smoothly.
    Instead of keeping projects locally spread across multiple machines, I would like one centralized place for everything, for the Macs to access directly over gigabit or something else.
    So, what kind of setup do you guys suggest for this?
    The machines here are two quad-core G5s (no RAID or fiber-channel right now), and a Core2Duo iMac, F400 only.
    Again, it'd need to be able to handle three HDV projects going on simultaneously without skipping due to having to seek back and forth all over the drive.
    Thanks.

    Yes, an XSan system would perfectly fit the bill for what you want to do, but an XSAN is not a cheap solution. When it is all said and done, it will cost you tens of thousands of dollars.
    The best, cheap solution would be to use Firewire drives. I would not duplicate a project onto three drives, because you will then always be trying to figure out which version is the most current. Instead, keep all of your project, capture scratch and render files on the firewire drives. Then move the drive to whichever computer you want to do the editing on.
    Properly log & capture all your footage, then archive all your project files, because Firewire hard drives will fail over time, loosing all the info on the discs. I did say this was the cheap solution. "Cheap" does have its costs…

  • Design forms for multiple users

    Dear sir
    I am developing new application for my company.I don't know how to desing the the tables for multiple users and how to give rights to users to access certain forms.This application will use in two differnet languages.
    how to switch one language to other languages
    give me some ideas
    thanks
    Dev

    ...how to desing the the tables for multiple users and how to give rights to users to access certain forms.
    There are several ways to do this. One way is to create different database accounts for each user, and give each user priviledges to the tables they need. (Your DBA may need to do this.) Then, when the users logs in, check who it is and call the appropriate form.
    how to switch one language to other languages
    This is a common question. See Experts Experience Required: Direction In 10g or search the forum for additional help.

  • Any suggestions for hard drive memory management apps

    I am looking for a software tool or app that can show me an overview of my hard drive in terms of memory, which will allow me to clear up space more efficiently and target which files are taking up the most room on my hard drive.

    Both just as uninvasive as they can be - OmniDiskSweeper or Grand Perspective.
    Personally, I prefer OmniDiskSweeper - just don't use any of those maintenance apps.
    Good luck,
    Clinton

  • Design pattern suggestion for multiple PersistenceManagers?

    Hi!
    I'm getting the following error (see end of message), and I would love to
    hear a good design solution.
    I get this error when adding a RequestLog object into the db, which
    contains a field for User. Now, I pass in the User object and since I am
    use a ThreadLocal pool for PersistenceManagers, sometimes the User object
    is being monitored by another PersistenceManager.
    Firstly, why is that causing a problem? I am not updating or changing the
    User object from this RequestLog object?
    I attempted to make the User object non-transactional, and I have
    javax.jdo.option.NontransactionalRead: true
    javax.jdo.option.NontransactionalWrite: true
    in my kodo.properties, but that made no improvement.
    What is the standard solution to this type of problem?
    Thanks!
    Nic.
    Stack trace:
    com.solarmetric.kodo.runtime.UserException: The instance
    "com.everwhere.idiomatica.app.security.User" of id
    "com.everwhere.idiomatica.app.security.User-0" is not managed by this
    PersistenceManager.
    FailedObject:User: admin
         at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.makePersistentFilter(PersistenceManagerImpl.java:1402)
         at
    com.solarmetric.kodo.runtime.PersistFCOFieldManager.storeFirstClassObject(PersistFCOFieldManager.java:109)
         at
    com.solarmetric.kodo.runtime.PersistFCOFieldManager.storeObjectField(PersistFCOFieldManager.java:78)
         at
    com.solarmetric.kodo.runtime.StateManagerImpl.providedObjectField(StateManagerImpl.java:1354)
         at
    com.everwhere.idiomatica.app.etc.request.TranslationRequest.jdoProvideField(TranslationRequest.java)
         at
    com.solarmetric.kodo.runtime.StateManagerImpl.provideFields(StateManagerImpl.java:2360)
         at
    com.solarmetric.kodo.runtime.StateManagerImpl.preFlush(StateManagerImpl.java:2037)
         at com.solarmetric.kodo.runtime.PNewState.beforeCommit(PNewState.java:39)
         at
    com.solarmetric.kodo.runtime.StateManagerImpl.beforeCommit(StateManagerImpl.java:597)
         at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.preCommitCallbacks(PersistenceManagerImpl.java:650)
         at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:454)
         at
    com.everwhere.idiomatica.db.KodoDatabase.insertDirectlyIntoDB(KodoDatabase.java:45)

    You cannot share objects directly across multiple pms.
    For example:
    Person p = (Person) pm1.getObjectById ...
    Person p2 = (Person) pm2.getObjectById ...
    p.setParent (p2); // bad!
    instead you should do:
    p2.setParent ((Person) pm2.getObjectById (JDOHelper.getObjectId (p),
    false));
    This should be a low cost operation (and even more so with L2 caching)
    It is usually best to allocate a PM per context so that these
    semi-messy situations are avoided.
    On Wed, 18 Jun 2003 10:53:09 +0000, Nic Cottrell wrote:
    Hi!
    I'm getting the following error (see end of message), and I would love to
    hear a good design solution.
    I get this error when adding a RequestLog object into the db, which
    contains a field for User. Now, I pass in the User object and since I am
    use a ThreadLocal pool for PersistenceManagers, sometimes the User object
    is being monitored by another PersistenceManager.
    Firstly, why is that causing a problem? I am not updating or changing the
    User object from this RequestLog object?
    I attempted to make the User object non-transactional, and I have
    javax.jdo.option.NontransactionalRead: true
    javax.jdo.option.NontransactionalWrite: true
    in my kodo.properties, but that made no improvement.
    What is the standard solution to this type of problem?
    Thanks!
    Nic.
    Stack trace:
    com.solarmetric.kodo.runtime.UserException: The instance
    "com.everwhere.idiomatica.app.security.User" of id
    "com.everwhere.idiomatica.app.security.User-0" is not managed by this
    PersistenceManager.
    FailedObject:User: admin
         at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.makePersistentFilter(PersistenceManagerImpl.java:1402)
         at
    com.solarmetric.kodo.runtime.PersistFCOFieldManager.storeFirstClassObject(PersistFCOFieldManager.java:109)
         at
    com.solarmetric.kodo.runtime.PersistFCOFieldManager.storeObjectField(PersistFCOFieldManager.java:78)
         at
    com.solarmetric.kodo.runtime.StateManagerImpl.providedObjectField(StateManagerImpl.java:1354)
         at
    com.everwhere.idiomatica.app.etc.request.TranslationRequest.jdoProvideField(TranslationRequest.java)
         at
    com.solarmetric.kodo.runtime.StateManagerImpl.provideFields(StateManagerImpl.java:2360)
         at
    com.solarmetric.kodo.runtime.StateManagerImpl.preFlush(StateManagerImpl.java:2037)
         at com.solarmetric.kodo.runtime.PNewState.beforeCommit(PNewState.java:39)
         at
    com.solarmetric.kodo.runtime.StateManagerImpl.beforeCommit(StateManagerImpl.java:597)
         at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.preCommitCallbacks(PersistenceManagerImpl.java:650)
         at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:454)
         at
    com.everwhere.idiomatica.db.KodoDatabase.insertDirectlyIntoDB(KodoDatabase.java:45)--
    Steve Kim
    [email protected]
    SolarMetric Inc.
    http://www.solarmetric.com

  • Design suggestion for application-wide configuration properties

    Hello all
    I am seeking opinions on how to design an application in which multiple classes have access to a common set of configuration properties that may change at runtime.
    Until now, I would create an abstract class dedicated to initializing the properties set and enabling access to them from anywhere in the application through appropriate get/set static methods (most probably using an internal java.util.Properties object). Lately, my confidence in that approach seems to diminish.
    So, I thought I should ask... do you see any issues with the above approach? Would you suggest any alternatives?
    What I am essentially looking for here is a best practice to stick with from now on.
    Thanks in advance
    G

    909773 wrote:
    For example a 24x7 service that is supposed to handle requests on port X is very unlikely to need to change to port Y while running.
    Or what happens if you have a plugin architecture and someone changes the root plugin directory to another directory.On the other hand, the maximum draw distance in a virtual world, an application's "skin", or a filesharing client's bandwidth limit are, in my view, properties that may very well need to change at runtime.
    Seems reasonable to me. That is the easy part. The hard part is
    1. How/when do you reload
    2. How do you code your app so it gets the new values and uses themAs for 1, apologies if I haven't explained correctly: I am talking about properties that may change programmatically at runtime, e.g., by a user through a configuration dialog. Ok.
    I can think of at least one way to deal with 2 (classes interested in all or a few of the properties implement some property listener interface and accordingly re-get values when notified about changes).That is how you detect it. It has nothing to do with whether the current running process is in a state that allows changes to be made.
    all over the code reflects a wise design decision vs using a singleton property manager, references to a single property manager object (maybe even a java.util.Properties object) passed around through constructors, approaches involving dependency injection (not relying on any framework though), or else.Depends on the application. For example with a distributed system propogating the changes correctly so systems are not out of sync can be problematic.
    Depends on the context in which your user makes changes. If it is an admin then it has the same context has if you were using a file. In that case I would use a singleton.
    If it is a user changing part of the system, then you can't use a singleton. In that case you would need a context object from which other code derives the configuration values it uses. That is a one layer hierarchy and of course more levels require more complexity via a context object for each level.

  • Design Suggestion for Custom ADF Application

    Hi
    I have a custom database table.
    I have a custom database view which has query from multiple tables including the above table.
    The custom table in the view is joined with other tables by columns like inventory_item_id, organization_id etc.
    I have to show user a screen where the results of this view are shown in a table.
    The user should be able to enter some data in the screen for these rows.
    (he will be able to enter the data only for fields from my custom table)
    When he press save button, we should enter the new data given by user into the custom table
    along with some other values from view rows .. like inventory_item_id, organization_id etc ..
    Can you suggest a best approach to achieve this ?
    I have to use BC4J for Model and ADF For UI.
    As far as my knowledge goes, I think we will not be able to do this with an updateable view since we might hit the error
    ORA-01779: cannot modify a column which maps to a non key-preserved table
    Is there a design pattern we can follow in BC4J so that this can be achieved?
    Thanks for any help.
    Sameer

    Any view can be made updatable if you write INSTEAD OF triggers for it. That might be a good solution for you. You can also base a View Object on more than one Entity Object, and as long as there are good associations between the EOs it ought to work fine.

  • Suggestion for better Multi Tasking

    The Multitasking isn't what it should be.
    It is quite a hassle to quit every app separately. And it seems to drain the battery life quickly.
    So I have a few suggestions:
    In the settings, add the possibility of giving the amount of apps that can be opened for multi tasking. So if you set this to e.g. 4, only the last 4 apps will stay open.
    In the settings add the possibility of defining which apps can run for multi tasking and which apps should close immediately, so they will not be used as multi tasking.
    Add the possibility of closing all open apps in one action e.g. by adding a button for this in the multi tasking bar.
    If someone has other suggestions, please add them to this discussion item

    Just because an app is available in the multi-task bar does not mean the app is running in the background. This is also a recently used app list to quickly select an app that may not be launched.
    http://discussions.apple.com/thread.jspa?messageID=11728192&#11728192

  • Idea for iTunes: Slideshow for "Now Playing" (new suggestion for multiple artwork in one song)

    As some may know, you can put more than one album art (picture) in a song. When it's done, the "Now Playing" window, which usually showcases the artwork of the song playing, would have a small right/left arrow beside it. When pressed, you switch to a new artwork.
    However with the recent updates on iTunes, that arrow button's disappeared. Now it's as pointless as ever to put multiple pictures. My purpose with this feature is to put album covers and the single artwork together, only if they are the first tracks of whichever album. (Yes, I like to stare at the album covers while listening to music).
    IDEA - Why not have the "Now playing" window fade between pictures like a slideshow? So for example, Kelly Clarkson's "Stronger" album's 1st track "Mr. Know It All", a single that bears its own artwork. Putting the album and single cover in the song while playing, they'd alternate between pictures every 5 seconds.
    I just think that if you can put more than one picture in a song, might as well make use of it. There are a lot of albums that have singles as track no.1. Some have a great single artwork but can't be shown because it needs the album cover. This would make a great compromise. It might even be more neat to put a real life picture of you or someone or a place you know because the song reminds you of .
    What do you guys think?
    (Say is this normally the way to suggest them ideas or do I just e-mail them a customer support form?)

    Since this is a user-to-user forum, for better results with Apple, give them feedback at:
    http://www.apple.com/feedback
    That will get the informatin to Apple.

  • Suggestions for a stylus and drawing app

    I want to do some simple freehand drawing on my iPad.  I know nothing about the technology involved, other than the fact that I know it can be done.
    Stylus:  Can someone suggest a good stylus?  I've heard of styluses that will make a thin or thick line depending on how hard you press.
    App:  Can someone suggest a good app?  For the moment, I'm considering doing only black and white, but I eventually might want to get into multi color.
    Upload: Would I be able to transfer my stuff from the iPad to my iMac for printing or publishing to a web page?  I would want my drawing to appear at least as big as the original on the iPad, without having to expand it and have problems with pixellation.

    The last thing you need is a script.
    When you want to make your TOC, go to Pages, Numbering and Section Options, and put a section prefix in like 1- for each section (both 1 and 2 in your case). Click "Include Prefix When Numbering Pages".
    Then make your TOC.
    It will have all the section prefixes. ("1-1", "2-2-4", examples)
    Now just change the Numbering and Section Options BACK to your pre-TOC defaults. As long as  you don't update the TOC under Layout/Update TOC, your TOC text will contain the prefix, but your page numbers will look normal. If you have to change the text in the TOC for any reason, do it manually.
    Let me know if that works.
    Greg Ledger
    www.macproductionartist.wordpress.com

  • ID help for basic rtmfp video stream app

    In the article:
    http://www.adobe.com/devnet/flashplayer/articles/rtmfp_cirrus_app.html
    I need help understanding the following section:
    "Now, create the receiving NetStream:
    private var recvStream:NetStream;
    recvStream = new NetStream(netConnection, id_of_publishing_client);
    recvStream.addEventListener(NetStatusEvent.NET_STATUS, netStreamHandler);
    recvStream.play("media");
    At this point, you hear audio and you can create a Video object to display video. In order to create the receiving NetStream, you must know the 256-bit peer ID of the publisher (id_of_publishing_client). In order to receive audio/video, you must know the name of the stream being published."
    I do not understand what "id_of_publishing client" is supposed to be?
    Where do I get it from or how do I produce it? Can this be string that user can enter in a text field on the flash object and when two strings match it produces a connection between the two?
    Is there a hash system I have to pass the string through to generate a 256bit peer id from a string thats input or do i use the one given to me through adobe labs?
    Is there any relation to creating a Netgroup?
    I have the dev_key and cirrus address to access  the cirrus service provided by adobe, Im just stuck on the ID part that I cant fully understand from the article, do require a database to store and manage the IDs in a simple app?
    Im trying to develop a very basic program that uses the rtmfp examples provided in the article but Im stuck here, I would appreciate anyones help in the matter. Additionally I have looked at the cirrus phone example that uses the cgi file to manage IDs but I find it to be even more troublesome to work with therefore I have resorted to making a extremely basic example that avoid creating an ID database or use my own FMS.
    Thank you in advance for your help.

    the "id_of_publishing_client" is the peer ID of the publisher.  a peer ID is a unique cryptographic identifier that every RTMFP instance has. it's the NetConnection.nearID of an RTMFP NetConnection object. the idea is you use some method (such as a web service database or copy-and-paste between two windows on your development computer) to transfer the peer ID of a publisher (a peer with a NetStream in DIRECT_CONNECTIONS mode) to a subscriber for use in its NetStream constructor.
    a Flash Player's NetConnection peer ID is the SHA256 hash of the RTMFP certificate, which contains (among other things) a Diffie-Hellman public key.  the Diffie-Hellman public/private key pair is made fresh each time you make a new RTMFP NetConnection from your computer's cryptographic pseudorandom number source (example: /dev/urandom on Mac/Unix/Linux computers), and those keys are used (with other data) to establish the symmetric encryption & decryption keys for AES, which is used to encrypt all communication between RTMFP peers.  a client's peer ID is unforgeable* because you must have the private key that goes with the public key in order to generate the same AES keys that your peer is using. without the private key, the communication just won't work. *performing the discrete logarithm of a 1024-bit DH public key to get the private key or finding a collision in SHA256 are both "hard enough" to claim that peer IDs are unforgeable.

  • IBook design suggestion for Apple

    For background, I've spent many years in the PC [but not Windows] world, and done plenty of work inside those spaghetti cable boxes. When I added a hard drive to my dual G5 powermac, I was duly impressed by the clean, elegant design, inside [!] the box.
    Meanwhile, I realized the time had come to put a bigger hard drive into my iBook, moving from 20 Gb in two partitions, to 100 Gb in three. There is excellent photographic advice on the web for the procedure, which is intricate but straightforward. There was the little issue of a stripped screw head, and some breath holding while I used a power drill to turn a phillips into a flat head.
    But all is well. Firewire target mode disk image and restore made that part of the process very simple, if time consuming. The new drive is faster and has a 16 Mb cache on board, so the iBook is more responsive.
    To the point of this subject:
    For some reason, the hard drive is buried in the bowels of the iBook, behind a wall of many many screws, phillips and torx head, to unscrew and screw, and cables to unplug and plug. Of all the hardware in there, the hard drive is probably the most likely to fail and need replacement.
    It should be EASILY accessible!!!
    For example, it could slide on rails similar to the ones that now hold it, and come out through a panel in the side where it sits. A panel that could be held by two screws [to make one think about opening it] and no more [to make it easy and quick].
    Flipping out the keyboard to install an airport card takes 5 minutes. Replacing a hard drive should take no longer. It would save Apple techs a lot of time, too.
    I'd like Apple to sprinkle some of that elegant design pixie dust onto this.
    Please.

    This is a user-to-user to forum, so it is unlikely that Apple will read your suggestion here.
    Try using the Feedback Form. In the PowerBook drop-down menu, you will find the iBooks listed. Leave your suggestion there. I would have already upgraded my hard drive if it were as easy as it is on a Windows laptop.

Maybe you are looking for

  • ORA-00600: internal error code, arguments: [12333], [0], [0], [3], [], [],

    Could you tell me to to handle the following error? ORA-00600: internal error code, arguments: [12333], [0], [0], [3], [], [], [], [] Thanks a lot

  • Change "ACCEPT_LANGUAGE" header in Safari

    Hi folks, I just have a small problem with Safari. I live in Germany and want to see e.g. the Apple site from Germany. My MacOS language is Dutch. Is it possible that Safari does not send "NL_nl" but "DE_de" to the websites? I know that there is such

  • My neighbour is using my address to get an EE contract without my permission.

    Hello,Please help. My neighbour is using my address to get contracts from EE & T-moblie. They had a contract with T-mobile and have now changed to EE. I've asked them why their mail is coming to my address on a number of occasions and they said it wa

  • 2008R2 using a 2012R2 license server

    Here is the back story, we have a 2008R2 terminal server box pointing to a license server that no longer exists. We have a 2012R2 RDS environment that is working great with a new license server and all. I tried to import the 2008R2 box but that was a

  • [request] [AE] Please create (or help me) this intro

    I want to make an intro exactly like this one. Help me out with creating such particles (text doesn't matter) I have CCParticle world btw [spoiler] [URL=http://tinypic.com/r/wso07k/8]View My Video[/URL] [/spoiler]