XI Integation to BW and EP

Hi
We have upgraded our system from version 4.6b to ECC 6.0.  Do we require to do Interfacing with EP and BW to R/3 using XI ????? If Yes then In which scenarios???
Regards
Swatantra

Hi Swatantra,
There is no need to use XI if there is no change in your buisness process or in  your IT solution.
You can (if requirerd) create buisness processes trigered from the portal and send&recieve information to it.
For example if you have an inranet portal for purchasing,you can create a purchase order from the portal,and send the data to your different purchase partners and wait for a response that will be integrated to you R3 or to your mail...
You can imagin any buisness process (in-house or B2B) and craete it using the XI.
One more thing, now that you have a R3 system based on the WAS>=6.2 you can use Proxies for your interfaces to the R3.
Using the XI and the Proxies you can develope all your interfaces with other systems pritty fast and have the xi as the massgae broker as well as the interfaces software deveoping center to manage centraly all your Interfaces  developing projects - easy maintanance,monitoring and understanding of the interfaces landscape.
Hope this cleared up the picture.
Nimrod

Similar Messages

  • Value must be of type integer (between -2147483648 and 2147483647)

    Hi,
    Does anyone knows how to overcome this issue?
    NW7.01.05
    My Table in the View uses as dataSource a node called "DumpReport" - This has been created using a Structure type Zwd_S_Dumpage_Data.
    The structure has some elements, and my issue is in the Quantity element. This element is defined as:
    Element Name: Quantity
    Simple Type Package: [irrelevant]
    Simple Type: Zwd_E_Dumpqty
    Built-in Type: decimal
    Length: 13
    Decimals: 3
    I have one InputField, binding to this property. When I try to submit any decimal values, I get this error:
    " Value must be of type integer (between -2147483648 and 2147483647) " - related to that Context Property (Quantity).
    Regards,
    Daniel

    For future reference,
    External Length for this dataType was 17. We made it bigger in the R/3, since we compared to a Price field and it was 18 and working.
    Somehow this fixed our issue. I'm still looking for some additional information, since the Built-in type was a Decimal (WDP side) and it was being validated as an Integer?!!?
    Daniel

  • Convertion to integer from array and logical mask

    hi all.
    please look at my VI.
    1)i want to convert this array to 4 display. each displaywill show one element(=1 row, in this case) from the array. 
        how i do it ?
    2) i need to make logical mask  to those numbers. how i convert the integer number to binary and make this logical mask ?
    with best regards
    pro111
    Message Edited by pro111 on 12-02-2006 05:41 PM
    Attachments:
    Untitled 2.vi ‏6 KB

    Hi pro,
    I did not follow you and came up with another example while Christian was doing his.
    This is my guess at what I thought you were asking.
    Ben
    PS Christian, I am not trying to side step your example. I figured if I drew it up I should post.
    PPS talk about a post collision!
    Message Edited by Ben on 12-03-2006 12:32 PM
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction
    Attachments:
    ConvetI32.JPG ‏76 KB

  • INTEGER DATA TYPE and Numeric Oracle URGENT Help needed

    Hello does any body knows if i run this statement of create table in oracle 9.2
    what is maximum number of digit the test_num can stores....
    create table test
    test_num INTEGER NOT NULL
    I have to reply to my client urgently..
    Regards
    Mahesh
    Ramnarayan123

    All the Oracle reference manuals are on-line at <http://tahiti.oracle.com>. A quick search on "INTEGER" will reveal the answer (38 decimal digits).
    Justin

  • Integation between HR and PS

    Hi,
    I have created a new work center with 8 digit colde, it should popup in PS module there we need to integrate, for that where should go and what to do.
    Regards,
    Hasini.

    Hi,
    Now you need to assign the respective personnel to that work center so that projects can use that personnel as resource.
    For this purpose, goto CNR2 transaction -> click capacities -> click HRMS -> create new.
    Best regards,
    Dilek

  • Integ bn OM and Cost Distribution

    What is the use of integration between OM and Cost Distribution. What if I activate it and what if I do not activate it?
    Points assured,
    Thanks.

    Hi,
    In case you define Cost Assignments for your OM object like Org Units or Positions, then the person who occupies such positions or belongs to such Org Units (via positions) are automatically assigned cost centers attached to that Postion/Org unit.
    This way you do not need to have cost centers defined in IT 0027 for the employees.
    Payroll reads the Cost Center from OM and the results are posted accordingly in FI.
    I have not heard of any switch to activate this or to deactivate this. However, there is no problem whether you use this functionality or not. It purely depends on the client requirements.
    VK

  • Have tried to restore recently bookmarked setting the integer to 0 and it doesn't work

    Followed the instructions in help to restore smart folders, I had accidentally deleted recently bookmarked, it didn't work. Is the procedure different for 4?

    You can create new smart bookmarks if you can't restore them.
    Most Visited:
    <pre><nowiki>place:sort=8&maxResults=10</nowiki></pre>
    Recently Bookmarked:
    <pre><nowiki>place:folder=BOOKMARKS_MENU&folder=UNFILED_BOOKMARKS&folder=TOOLBAR&sort=12&excludeQueries=1&excludeItemIfParentHasAnnotation=livemark%2FfeedURI&maxResults=10&queryType=1
    </nowiki></pre>
    Recent Tags:
    <pre><nowiki>place:sort=14&type=6&maxResults=10
    </nowiki></pre>

  • 32 bit integer size on 64 bit processor and OS

    Although not strictly a dbx question, I think the audience here is the correct one to bounce this off of:
    I'm curious: Why are 64 bit processes compiled with the -xarch=v9 switch having a 32 bit integer size, versus having 64 bit integer size?
    Although not cast in stone, and implementation dependent, an "int was originally intended to be the "natural" word size of the processor - to use the processor's "natural" word size to improve efficiency (avoid masking, etc).".
    I know you 'force' more 64 bit use (see some of Sun's doc on this below).
    ===============
    The 64-bit Solaris operating environment is a complete 32-bit and 64-bit application and development environment supported by a 64-bit operating system. The 64-bit Solaris operating environment overcomes the limitations of the 32-bit system by supporting a 64-bit virtual address space as well as removing other existing 32-bit system limitations.
    For C, C++, and Fortran software developers, this means the following when compiling with -xarch=v9,v9a, or v9b in a Solaris 7 or Solaris 8 environment:
    Full 64-bit integer arithmetic for 64-bit applications. Though 64-bit arithmetic has been available in all Solaris 2 releases, the 64-bit implementation now uses full 64-bit machine registers for integer operations and parameter passing.
    A 64-bit virtual address space allows programs to access very large blocks of memory.
    For C and C++, the data model is "LP64" for 64-bit applications: long and pointer data types are 64-bits and the programmer needs to be aware that this change may be the cause of many 32-bit to 64-bit conversion issues. The details are in the Solaris 64-bit Developer's Guide, available on AnswerBook2. Also, the lint -errchk=longptr64 option can be used to check a C program's portability to an LP64 environment. Lint will check for assignments of pointer expressions and long integer expressions to plain (32-bit) integers, even for explicit casts.
    The Fortran programmer needs to be aware that POINTER variables in a 64-bit environment are INTEGER*8. Also, certain library routines and intrinsics will require INTEGER*8 arguments and/or return INTEGER*8 values when programs are compiled with -xarch=v9,v9a, or v9b that would otherwise require INTEGER*4.
    Be aware however that even though a program is compiled to run in a 64-bit environment, default data sizes for INTEGER, REAL, COMPLEX, and DOUBLE PRECISION do not change. That is, even though a program is compiled with -xarch=v9, default INTEGER and REAL are still INTEGER*4 and REAL*4, and so on. To use the full features of the 64-bit environment, some explicit typing of variables as INTEGER*8 and REAL*8 may be required. (See also the -xtypemap option.) Also, some 64-bit specific library routines (such as qsort(3F) and malloc64(3F)) may have to be used. For details, see the FORTRAN 77 or Fortran 95 READMEs (also viewable with the f77 or f95 compiler option: -xhelp=readme).
    A: No program is available that specifically invokes 64-bit capabilities. In order to take advantage of the 64-bit capabilities of your system running the 64-bit version of the operating environment, you need to rebuild your applications using the -xarch=v9 option of the compiler or assembler.

    I think that this was basically to keep down the headaches in porting code (and having code that will compile to both 32bit and 64bit object files). int is probably the most common type, so by keeping it at 32bits, the LP64 model has less effect on code that was originally written for 32bit platforms.
    If you want to have portable code (in terms of the sizes of integral types), then you should consider using int32_t, int64_t etc from inttypes.h. Note that this header is post-ANSI C 90, so might not be portable to old C/C++ compilers.
    A+
    Paul

  • How to display integer values and decimal values in same column in a table

    hi 
    in my report amount column is there in that column integer values (2234) and decimal values (3562.34) 
    i want to print this values as 1000 separate as like 2,234 as integer and 3,562.34 as decimal
    but this values print like 2,234.00 as integer and 3,562.34 as decimal

    Hi akilreddy,
    Per my understanding you have an field which data type may be "float" in the DB, so it have value which format like "2234" and "3562.34" in the same column, now you want to format them differently in the report, right?
    I have tested on my local environement and you can use the expression in the custom format in the Textbox properties to do this:
    Right click the field which you want to add the format and select the "Text Box Properties"
    Select the "Number" on the left pane and using expression below in the Custom format:
    =IIF(Split(Fields!yourfieldname.Value,".").Length=2,"#,###.##",Nothing)
    Or you can just use "#,###.##" in the format.
    Preview you will go the result like below:
    If you still have any problem, please feel free to ask.
    Regards
    Vicky Liu
    Vicky Liu
    TechNet Community Support

  • INTEGER and NUMBER in pl/sql

    Hi Experts,
    I have a procedure where I have to split the total contracted hours of a resource timesheet equally for 5 days.
    e.g if a resource has 36 hours, I should book 36/5 = 7.2 hours from Monday to Friday.
    I have used a INTEGER data type and the code in my procedure is like this:
      VN_EQUAL_HOURS      INTEGER;
    BEGIN
    VN_EQUAL_HOURS := (GS_HRS_AVAIL_WEEK/5);
    INSERT INTO XYZ (HOURS) VALUES (VN_EQUAL_HOURS);
    END;where GS_HRS_AVAIL_WEEK = 36
    Ideally I should get 7.2 in my table, but I am getting 7 !!
    Pls can you tell why it is removing the decimal part.
    Thanks

    Friends... got it !
    this time i declared the variable as
    VN_EQUAL_HOURS     NUMBER(5,2);
    and it is working fine now. Inserting 7.2 instead of 7
    Thanks.

  • How to update a large (over 4 million item) List(Of Byte) quickly by altering indexes contained in a Dictionary(Of Integer, Byte) where the Dictionaries keys are the indexes in the List(Of Byte) that need to be changed to the values for those indexes?

       I'm having some difficulty with transferring images from a UDP Client to a UDP Server. The issue is receiving the bytes necessary to update an original image sent from the Client to the Server and updating the Servers List(Of Byte) with the
    new bytes replacing bytes in that list. This is a simplex connection where the Sever receives and the Client sends to utilize the least amount of bandwidth for a "Remote Desktop" style application where the Server side needs image updates of whatever
    occurs on the Client desktop.
       So far I can tranfer images with no issue. The images can be be any image type (.Bmp, .Gif, .JPeg, .Png, etc). I was working with sending .JPeg's as they appear to be the smallest size image when a Bitmap is saved to a memory stream as type
    .JPeg. And then I am using GZip to compress that byte array again so it is much smaller. However on a loopback on my NIC the speed for sending a full size screen capture is not very fast as the Server updates fairly slowly unless the Clients screen capture
    Bitmap is reduced in size to about 1/3'd of the original size. Then about 12000 bytes or less are sent for each update.
       Due to .JPeg compression I suppose there is no way to get the difference in bytes between two .JPegs and only send those when something occurs on the desktop that alters the desktop screen capture image. Therefore I went to using .Bmp's as each
    .Bmp contains the same number of bytes in its array regardless of the image alterations on the desktop. So I suppose the difference in bytes from a second screen capture and an inital screen capture are what is different in the second image from the initial
    image.
       What I have done so far is save an initial Bitmap of a screen capture using a memory stream and saving as type .Bmp which takes less than 93 milliseconds for 4196406 bytes. Compressing that takes less than 118 milliseconds to 197325 bytes for
    the current windows on the desktop. When that is done PictureBox1 is updated from nothing to the captured image as the PictureBox's background image with image layout zoom and the PictureBox sized at 1/2 my screens width and 1/2 my screens height.
       Then I save a new Bitmap the same way which now contains different image information as the PictureBox is now displaying an image so its back color is no longer displayed (solid color Aqua) and the cursor has moved to a different location. The
    second Bitmap is also 4196406 in bytes and compressed it was 315473 bytes in size.
       I also just found code from this link Converting a Bitmap to a Byte Array (and Byte Array to Bitmap) which gets a byte array
    directly from a Bitmap and the size of that is 3148800 for whatever is full screen captured on my laptop. So I should be able to work with smaller byte arrays at some point.
       The issue I'm having is that once the Client sends an image of the desktop to the Server I only want to update the server with any differences occuring on the Clients desktop. So what I have done is compare the first screen captures bytes (stored
    in a List(Of Byte)) to the second screen captures bytes (stored in a List(Of Byte)) by using a For/Next for 0 to 4196405 where if a byte in the first screen captures List is not equal to a byte in the second screen captures List I add the index and byte of
    the second screen captures list to a Dictionary(Of Integer, Byte). The Dictionary then only contains the indexes and bytes that are different between the first screen capture and second screen capture. This takes about 125 milliseconds which I think is pretty
    fast for 4196406 byte comparison using a For/Next and adding all the different bytes and indexes for each byte to a Dictionary.
        The difference in Bytes between the inital screen capture and the second screen capture is 242587 as an example which changes of course. For that amount of bytes the Dictionary contains 242587 integers as indexes and 242587 bytes as different
    bytes totaling 485174 bytes for both arrays (keys, values).  Compressed the indexes go from 242587 to 43489 bytes and the values go from 242587 to 34982 bytes. Which means I will have to send 78, 481 bytes from the Client to the Server to update the display
    on the server. Quite smaller than the original 4196406 bytes of the second Bitmap saved to type .Bmp or the compressed size of that array which was 315473 bytes. Plus a few bytes I add as overhead so the server knows when an image array ends and how many packets
    were sent for the array so it can discard complete arrays if necessary since UDP is lossfull although probably not so much in current networks like it may originally have been when the internet started.
        In reality the data from the Client to the Server will mostly be the cursor as it moves and updating the Server image with only a few hundred bytes I would imagine at a time. Or when the cursor selects a Button for example and the Buttons
    color changes causing those differences in the original screen capture.
       But the problem is if I send the Dictionaries Indexes and Bytes to the Server then I need to update the original Bitmap List(Of Byte) on the server by removing the Bytes in the received informations Index locations array from the Servers Bitmap
    List(Of Byte) and replacing those Bytes with the Bytes in the received informations Byte array. This takes so long using a For/Next for however many indexes are in the received informations Index array to update the Bitmap List(Of Byte) on the server using
    "Bmp1Bytes.RemoveAt(Index As Integer)" followed by "Bmp1Bytes.Insert(Index As Integer, Item As Byte)" in the For/Next.
        I've tried various For/Next statements including using a new List(Of Byte) with If statements so If the the integer for the For/Next ='s the Key in a Dictionary(Of Integer, Byte) using a Counter to provide the Dictionaries Key value then
    the Dictionaries byte value will be added to the List(Of Byte) and the counter will increas by one Else the List(Of Byte) adds the original "Bmp1Bytes" byte at that index to the new List(Of Byte). This takes forever also.
       I also tried the same For/Next adding to a new Dictionary(Of Integer, Byte) but that takes forever too.
       I think I could use RemoveRange and AddRange to speed things up. But I don't know how to retrieve a contiguous range of indexes in the received indexes that need to be updated in the servers "Bmp1Bytes" List(Of Byte) from the received
    array of indexes and bytes which are in a Dictionary(Of Integer, Byte).  But I believe this would even be slower than some realistic method for replacing all Bytes in a List(Of Byte) when I have the indexes that need to be replaced and the bytes to replace
    them with.
       Even if I just used AddRange on a new List(Of Byte) to add ranges of bytes from the original "Bmp1Bytes" and the changes from the Dictionary(Of Integer, Byte) I think this would be rather slow. Although I don't know how to do that
    by getting contiguous ranges of indexes from the Dictionaries keys.
       So I was wondering if there is some method perhaps using Linq or IEnumerable which I've been unable to figure anything out which could do this.
       I do have some copy and pasted code which I don't understand how it works that I am using which I would guess could be altered for doing something like this but I can't find information that provides how the code works.  Or even if I did
    maybe I can't understand it. Like the code below which is extremely fast.
       Dim strArray() As String = Array.ConvertAll(Of Integer, String)(BmpComparisonDict.Keys.ToArray, Function(x) x.ToString())
    La vida loca

    Monkeyboy,
    That was quite a bit to read, but still a bit unclear. Could you put a specific list of goals/questions, asked in the smallest possible form?
    It seems like either you're making a program that monitors activity on your computer, or you're writing some kind of remote pc app.
    When you do get your bytes from using lockbits, keep in mind all the files header info would be lost. I think retaining the header info is worth the extra bytes.
    The other, thing: I'm not sure if you're taking 32bpp screen shots, but also keep in mind that the "whole desktop" is the final destination for blended graphics, if that makes sense. What I mean is that there is no need to capture an "alpha"
    channel for a desktop screenshot, as alpha would always be 255, this could save you 1 byte per pixel captured... Theres nothing "behind" the desktop, therefore no alpha, and every window shown above the desktop is already blended. I suggest using
    24Bpp for a full screen capture.
    Your X,Y information for the mouse could be stored as UINT16, this would save you a measly 2 bytes per location update/save.
    When you update your byte arrays, maybe you can turn the array into a stream and write to whatever index, however many bytes, that should prevent a "Shift" of bytes, and instead overwrite any bytes that "get in the way".
    ex
    Dim example As String = "This is an example."
    Dim insertString As String = "was"
    Dim insertBytes As Byte() = System.Text.Encoding.ASCII.GetBytes(insertString)
    Dim bytes As Byte() = System.Text.Encoding.ASCII.GetBytes(example)
    Dim modifiedBytes As Byte() = {}
    Using ms As New System.IO.MemoryStream(bytes)
    ms.Position = 5
    ms.Write(insertBytes, 0, 3)
    modifiedBytes = ms.ToArray
    End Using
    Dim newString As String = System.Text.Encoding.ASCII.GetString(modifiedBytes)
    'Notice how below there isn't the word "is" anymore, and that there isn't a
    'space.
    'This demonstrates that you overwrite existing data, versus shifting everything to
    'the right.
    'Returns: This wasan example.
    MsgBox(newString)
    “If you want something you've never had, you need to do something you've never done.”
    Don't forget to mark
    helpful posts and answers
    ! Answer an interesting question? Write a
    new article
    about it! My Articles
    *This post does not reflect the opinion of Microsoft, or its employees.
    Well it's too much to read. I was really tired when I wrote it. Even the below is too much to read but perhaps gets the point across of what I would like to do which I think
    Joel Engineer may have answered but I'm not sure. As I'm still too tired to understand that yet and research what he said in order to figure it out yet.
    But maybe the code below can provide the concept of the operation with the comments in it. But seeing as how I'm still tired it may be confused.
    Option Strict On
    Imports System.Windows.Forms
    Imports System.IO
    Imports System.IO.Compression
    Imports System.Drawing.Imaging
    Imports System.Runtime.InteropServices
    Public Class Form1
    Dim Bmp1Bytes As New List(Of Byte)
    Dim Bmp1BytesCompressed As New List(Of Byte)
    Dim Bmp2Bytes As New List(Of Byte)
    Dim BmpComparisonDict As New Dictionary(Of Integer, Byte)
    Dim BmpDifferenceIndexesCompressed As New List(Of Byte)
    Dim BmpDifferenceBytesCompressed As New List(Of Byte)
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    SomeSub()
    End Sub
    Private Sub SomeSub()
    ' Pretend this code is in UDP Client app. A screen capture is performed of the desktop. Takes about 90 milliseconds.
    Bmp1Bytes.Clear()
    Using BMP1 As New Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height)
    Using g1 As Graphics = Graphics.FromImage(BMP1)
    g1.CopyFromScreen(0, 0, 0, 0, BMP1.Size)
    Cursor.Draw(g1, New Rectangle(Cursor.Position.X, Cursor.Position.Y, Cursor.Size.Width, Cursor.Size.Height))
    Using MS As New MemoryStream
    BMP1.Save(MS, System.Drawing.Imaging.ImageFormat.Bmp)
    Bmp1Bytes.AddRange(MS.ToArray)
    End Using
    End Using
    End Using
    Bmp1BytesCompressed.AddRange(Compress(Bmp1Bytes.ToArray))
    ' UDP Client app sends Bmp1BytesCompressed.ToArray to UDP Server which is the entire image of the desktop that the UDP
    ' Client is on. This image takes awhile to send since compressed it is about 177000 bytes from over 4000000 bytes.
    ' I will be using different code just to get the bytes from the actual Bitmap in the future. That is not important for now.
    ' Pretend the UDP Server has received the bytes, decompressed the array received into a List(Of Byte) and is displaying
    ' the image of the UDP Clients desktop in a PictureBox.
    ' Now the image on the UDP Clients desktop changes due to the mouse cursor moving as an example. Therefore a new Bitmap
    ' is created from a screen capture. This takes about 90 milliseconds.
    Bmp2Bytes.Clear()
    Using BMP2 As New Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height)
    Using g1 As Graphics = Graphics.FromImage(BMP2)
    g1.CopyFromScreen(0, 0, 0, 0, BMP2.Size)
    Cursor.Draw(g1, New Rectangle(Cursor.Position.X, Cursor.Position.Y, Cursor.Size.Width, Cursor.Size.Height))
    Using MS As New MemoryStream
    BMP2.Save(MS, System.Drawing.Imaging.ImageFormat.Bmp)
    Bmp2Bytes.AddRange(MS.ToArray)
    End Using
    End Using
    End Using
    ' Now I have the original images bytes in Bmp1Bytes and the new images bytes in Bmp2Bytes on the UDP Client. But I don't
    ' want to send all of the bytes in Bmp2Bytes to the UDP Server. Just the indexes of and the bytes that are different in
    ' Bmp2Bytes from Bmp1Bytes.
    ' This takes less than 100 milliseconds for what I've tested so far where over 500000 bytes in Bmp2Bytes are different
    ' than the bytes in Bmp1Bytes. Usually that amount would be much less. But during testing I was displaying the image
    ' from Bmp1 bytes in a PictureBox so a large amount of data would change between the first screen shot, the PictureBox
    ' then displaying an image on the same PC and then the second screen shot.
    BmpComparisonDict.Clear()
    For i = 0 To Bmp1Bytes.Count - 1
    If Bmp1Bytes(i) <> Bmp2Bytes(i) Then
    BmpComparisonDict.Add(i, Bmp2Bytes(i))
    End If
    Next
    ' So now I have all the difference bytes and their indexes from Bmp2Bytes in the BmpComparisonDict. So I compress
    ' the indexes into on List and the Bytes into another List.
    BmpDifferenceIndexesCompressed.Clear()
    BmpDifferenceBytesCompressed.Clear()
    BmpDifferenceIndexesCompressed.AddRange(Compress(BmpComparisonDict.Keys.SelectMany(Function(d) BitConverter.GetBytes(d)).ToArray()))
    BmpDifferenceBytesCompressed.AddRange(Compress(BmpComparisonDict.Values.ToArray))
    ' Now pretend the UDP Client has sent both those arrays to the UDP Server which has added both decompressed arrays
    ' to a Dictionary(Of Integer, Byte). And the server has the original image decompressed bytes received in a List
    ' called Bmp1Bytes also.
    ' This is where I am stuck. The UDP Server has the Dictionary. That part was fast. However there is no
    ' fast method I have found for creating a new List(Of Byte) where bytes in the originally received List(Of Byte) that
    ' do not have to be altered are placed into a new List(Of Byte) except for the indexes listed in the
    ' Dictionary(Of Integer, Byte) that need to be placed into the appropriate index locations of the new List(Of Byte).
    ' The below example for doing so is exceptionally slow. Pretend UpdateDictionary has all of the decompressed indexes
    ' and bytes received by the UDP Server for the update contained within it.
    Dim UpdateDictionary As New Dictionary(Of Integer, Byte)
    Dim UpdatedBytes As New List(Of Byte)
    Dim Counter As Integer = 0
    For i = 0 To Bmp1Bytes.Count - 1
    If i = UpdateDictionary.Keys(Counter) Then ' Provides the index contained in the Keys for the Dictionary
    UpdatedBytes.Add(UpdateDictionary.Values(Counter))
    Counter += 1
    If Counter > UpdateDictionary.Count - 1 Then Counter = 0
    Else
    UpdatedBytes.Add(Bmp1Bytes(i))
    End If
    Next
    ' So what I'm trying to do is find an extremely fast method for performing something similar to what the
    ' above operation performs.
    End Sub
    Private Function Compress(BytesToCompress() As Byte) As List(Of Byte)
    Dim BytesCompressed As New List(Of Byte)
    Using compressedStream = New MemoryStream()
    Using zipStream = New GZipStream(compressedStream, CompressionMode.Compress)
    zipStream.Write(BytesToCompress, 0, BytesToCompress.Count)
    zipStream.Close()
    BytesCompressed.AddRange(compressedStream.ToArray)
    End Using
    End Using
    Return BytesCompressed
    End Function
    Private Function Decompress(BytesToDecompress() As Byte) As List(Of Byte)
    Dim BytesDecompressed As New List(Of Byte)
    Using DecompressedStream = New MemoryStream()
    Using zipStream = New GZipStream(DecompressedStream, CompressionMode.Decompress)
    zipStream.Write(BytesToDecompress, 0, BytesToDecompress.Count)
    zipStream.Close()
    BytesDecompressed.AddRange(DecompressedStream.ToArray)
    End Using
    End Using
    Return BytesDecompressed
    End Function
    End Class
    La vida loca

  • My MacBook Pro is running painfully slow all of a sudden. I am trying to clean up my iPhoto library and it's all of a sudden running really slow. I've uninstalled and disabled as many unnecessary apps as possible as far as I can tell.

    Here is the etrecheck info. Please advise... thank you!
    Problem description:
    iPhoto is running painfully slow. My library is on an external hard drive. It was runing just fine yesterday. i disabled Dropbox and a few other applications, to no avail.
    EtreCheck version: 2.1.5 (108)
    Report generated January 7, 2015 at 12:40:17 PM EST
    Click the [Support] links for help with non-Apple products.
    Click the [Details] links for more information about that line.
    Click the [Adware] links for help removing adware.
    Hardware Information: ℹ️
      MacBook Pro (15-inch, Mid 2010) (Verified)
      MacBook Pro - model: MacBookPro6,2
      1 2.4 GHz Intel Core i5 CPU: 2-core
      8 GB RAM Upgradeable
      BANK 0/DIMM0
      4 GB DDR3 1067 MHz ok
      BANK 1/DIMM0
      4 GB DDR3 1067 MHz ok
      Bluetooth: Old - Handoff/Airdrop2 not supported
      Wireless:  en1: 802.11 a/b/g/n
    Video Information: ℹ️
      Intel HD Graphics - VRAM: 288 MB
      NVIDIA GeForce GT 330M - VRAM: 256 MB
      Color LCD 1440 x 900
    System Software: ℹ️
      OS X 10.10 (14A389) - Uptime: 0:55:4
    Disk Information: ℹ️
      Hitachi HTS545032B9SA02 disk0 : (320.07 GB)
      EFI (disk0s1) <not mounted> : 210 MB
      Recovery HD (disk0s3) <not mounted>  [Recovery]: 650 MB
      Macintosh HD (disk1) / : 318.84 GB (54.79 GB free)
      Encrypted AES-XTS Unlocked
      Core Storage: disk0s2 319.21 GB Online
      MATSHITADVD-R   UJ-898 
    USB Information: ℹ️
      Seagate Backup+ Desk 4 TB
      disk2s1 (disk2s1) <not mounted> : 262 KB
      Seagate Backup Plus Drive (disk2s3) /Volumes/Seagate Backup Plus Drive : 4.00 TB (2.73 TB free)
      Apple Internal Memory Card Reader
      Apple Inc. Apple Internal Keyboard / Trackpad
      Apple Inc. BRCM2070 Hub
      Apple Inc. Bluetooth USB Host Controller
      Logitech USB Receiver
      Apple Inc. Built-in iSight
      Apple Computer, Inc. IR Receiver
    Gatekeeper: ℹ️
      Mac App Store and identified developers
    Kernel Extensions: ℹ️
      /System/Library/Extensions
      [loaded] com.logmein.driver.LogMeInSoundDriver (4.1.46f67) [Support]
      [not loaded] com.seagate.driver.PowSecDriverCore (5.2.3 - SDK 10.4) [Support]
      /System/Library/Extensions/Seagate Storage Driver.kext/Contents/PlugIns
      [not loaded] com.seagate.driver.PowSecLeafDriver_10_4 (5.2.3 - SDK 10.4) [Support]
      [not loaded] com.seagate.driver.PowSecLeafDriver_10_5 (5.2.3 - SDK 10.5) [Support]
      [not loaded] com.seagate.driver.SeagateDriveIcons (5.2.3 - SDK 10.4) [Support]
    Startup Items: ℹ️
      ProTec6b: Path: /Library/StartupItems/ProTec6b
      Startup items are obsolete in OS X Yosemite
    Launch Agents: ℹ️
      [loaded] com.citrix.AuthManager_Mac.plist [Support]
      [running] com.citrix.ReceiverHelper.plist [Support]
      [running] com.citrix.ServiceRecords.plist [Support]
      [invalid?] com.logmein.LMILaunchAgentFixer.plist [Support]
      [not loaded] com.logmein.logmeingui.plist [Support]
      [not loaded] com.logmein.logmeinguiagent.plist [Support]
      [not loaded] com.logmein.logmeinguiagentatlogin.plist [Support]
      [invalid?] com.oracle.java.Java-Updater.plist [Support]
    Launch Daemons: ℹ️
      [loaded] com.adobe.fpsaud.plist [Support]
      [not loaded] com.gopro.stereomodestatus.plist [Support]
      [not loaded] com.logmein.logmeinserver.plist [Support]
      [invalid?] com.logmein.raupdate.plist [Support]
      [loaded] com.macpaw.CleanMyMac2.Agent.plist [Support]
      [invalid?] com.oracle.java.Helper-Tool.plist [Support]
      [loaded] com.sharpcast.xfsmond.plist [Support]
    User Launch Agents: ℹ️
      [loaded] com.adobe.ARM.[...].plist [Support]
      [loaded] com.google.keystone.agent.plist [Support]
    User Login Items: ℹ️
      Garmin Express Service Application (/Applications/Garmin Express.app/Contents/Library/LoginItems/Garmin Express Service.app)
      Dropbox Application (/Applications/Dropbox.app)
      Google Chrome ApplicationHidden (/Applications/Google Chrome.app)
      ThisLife Uploader ApplicationHidden (/Applications/ThisLife Uploader.app)
      WDQuickView Application (/Library/Application Support/WDSmartWare/WDQuickView.app)
    Internet Plug-ins: ℹ️
      LogMeInSafari64: Version: 1.0.586 [Support]
      Default Browser: Version: 600 - SDK 10.10
      AdobePDFViewerNPAPI: Version: 11.0.09 - SDK 10.6 [Support]
      FlashPlayer-10.6: Version: 15.0.0.246 - SDK 10.6 [Support]
      LogMeIn: Version: 1.0.586 [Support]
      Silverlight: Version: 4.0.60831.0 [Support]
      Flash Player: Version: 15.0.0.246 - SDK 10.6 Mismatch! Adobe recommends 16.0.0.235
      LogMeInSafari32: Version: 1.0.586 [Support]
      CitrixICAClientPlugIn: Version: 11.8.0 - SDK 10.7 [Support]
      QuickTime Plugin: Version: 7.7.3
      AdobePDFViewer: Version: 11.0.09 - SDK 10.6 [Support]
      GarminGpsControl: Version: 4.2.0.0 - SDK 10.8 [Support]
      iPhotoPhotocast: Version: 7.0 - SDK 10.8
    User internet Plug-ins: ℹ️
      Picasa: Version: 1.0 [Support]
    Safari Extensions: ℹ️
      Evernote Web Clipper [Installed]
    3rd Party Preference Panes: ℹ️
      Flash Player  [Support]
      GoPro  [Support]
    Time Machine: ℹ️
      Mobile backups: OFF
      Auto backup: NO - Auto backup turned off
      Volumes being backed up:
      Macintosh HD: Disk size: 318.84 GB Disk used: 264.06 GB
      Destinations:
      Seagate Backup Plus Drive [Local]
      Total size: 0 B
      Total number of backups: 0
      Oldest backup: -
      Last backup: -
      Size of backup disk: Too small
      Backup size 0 B < (Disk used 264.06 GB X 3)
    Top Processes by CPU: ℹ️
          8% WindowServer
          2% Safari
          1% mds
          1% loginwindow
          0% AppleSpell
    Top Processes by Memory: ℹ️
      2.13 GB iPhoto
      610 MB Image Capture Extension
      155 MB mds_stores
      129 MB Safari
      129 MB Finder
    Virtual Memory Information: ℹ️
      48 MB Free RAM
      3.71 GB Active RAM
      3.68 GB Inactive RAM
      1.04 GB Wired RAM
      6.89 GB Page-ins
      293 MB Page-outs
    Diagnostics Information: ℹ️
      Jan 7, 2015, 12:28:48 PM /Library/Logs/DiagnosticReports/iPhoto_2015-01-07-122848_[redacted].cpu_resourc e.diag [Details]
      Jan 7, 2015, 12:13:08 PM /Library/Logs/DiagnosticReports/iPhoto_2015-01-07-121308_[redacted].hang
      Jan 7, 2015, 12:07:39 PM /Library/Logs/DiagnosticReports/iPhoto_2015-01-07-120739_[redacted].cpu_resourc e.diag [Details]
      Jan 7, 2015, 12:02:48 PM /Library/Logs/DiagnosticReports/iPhoto_2015-01-07-120248_[redacted].hang
      Jan 7, 2015, 11:51:45 AM /Library/Logs/DiagnosticReports/iPhoto_2015-01-07-115145_[redacted].cpu_resourc e.diag [Details]
      Jan 7, 2015, 11:45:54 AM Self test - passed
      Jan 6, 2015, 05:01:58 PM /Users/[redacted]/Library/Logs/DiagnosticReports/garcon_2015-01-06-170158_[reda cted].crash
      Jan 5, 2015, 02:12:40 PM /Library/Logs/DiagnosticReports/iPhoto_2015-01-05-141240_[redacted].cpu_resourc e.diag [Details]
      Jan 5, 2015, 10:04:15 AM /Library/Logs/DiagnosticReports/com.apple.MediaLibraryService_2015-01-05-100415 _[redacted].cpu_resource.diag [Details]
      Jan 4, 2015, 05:28:20 PM /Users/[redacted]/Library/Logs/DiagnosticReports/HandBrake_2015-01-04-172820_[r edacted].crash
      Jan 4, 2015, 05:28:04 PM /Users/[redacted]/Library/Logs/DiagnosticReports/garcon_2015-01-04-172804_[reda cted].crash
      Jan 4, 2015, 03:09:50 PM /Users/[redacted]/Library/Logs/DiagnosticReports/Finder_2015-01-04-150950_[reda cted].crash
      Jan 4, 2015, 03:09:15 PM /Users/[redacted]/Library/Logs/DiagnosticReports/garcon_2015-01-04-150915_[reda cted].crash

    Start time: 15:08:00 01/08/15
    Model Identifier: MacBookPro6,2
    System Version: OS X 10.10 (14A389)
    Kernel Version: Darwin 14.0.0
    Time since boot: 1 day3:22
    Memory
        BANK 0/DIMM0:
          Size: 4 GB
          Speed: 1067 MHz
          Status: OK
          Manufacturer: 0x859B
        BANK 1/DIMM0:
          Size: 4 GB
          Speed: 1067 MHz
          Status: OK
          Manufacturer: 0x859B
    SerialATA
       Hitachi HTS545032B9SA02                
    USB
       Backup+ Desk (Seagate LLC)
       USB Receiver (Logitech Inc.)
    FileVault: On
    Diagnostic reports
       2014-12-17 Safari crash
       2014-12-17 com.apple.appkit.xpc.openAndSavePanelService crash
       2014-12-17 garcon crash x4
       2014-12-27 Finder crash
       2014-12-27 ThisLife Uploader crash
       2014-12-27 garcon crash x2
       2014-12-28 Finder crash
       2014-12-28 garcon crash x3
       2014-12-31 com.apple.appkit.xpc.openAndSavePanelService crash
       2014-12-31 garcon crash
       2015-01-02 Finder crash
       2015-01-02 garcon crash
       2015-01-05 Finder crash
       2015-01-05 HandBrake crash
       2015-01-05 garcon crash x2
       2015-01-07 garcon crash
       2015-01-08 iPhoto hang x2
    Log
       Jan  7 11:47:39 com.apple.xpc.launchd.domain.user.55: Failed to bootstrap path: path = /Library/LaunchAgents/com.oracle.java.Java-Updater.plist, error = 2: No such file or directory
       Jan  7 11:47:43 com.apple.xpc.launchd.domain.user.202: Could not read path: path = /Library/LaunchAgents/com.oracle.java.Java-Updater.plist, error = 2: No such file or directory
       Jan  7 11:47:43 com.apple.xpc.launchd.domain.user.202: Failed to bootstrap path: path = /Library/LaunchAgents/com.oracle.java.Java-Updater.plist, error = 2: No such file or directory
       Jan  7 11:47:58 com.apple.xpc.launchd.domain.user.89: Could not read path: path = /Library/LaunchAgents/com.oracle.java.Java-Updater.plist, error = 2: No such file or directory
       Jan  7 11:47:58 com.apple.xpc.launchd.domain.user.89: Failed to bootstrap path: path = /Library/LaunchAgents/com.oracle.java.Java-Updater.plist, error = 2: No such file or directory
       Jan  7 11:48:38 jnl: disk2s3: replay_journal: from: 50180096 to: 50778112 (joffset 0x3a3c000)
       Jan  7 11:48:39 jnl: disk2s3: journal replay done.
       Jan  7 11:49:37 com.logmein.LMILaunchAgentFixer: Service setup event to handle failure and will not launch until it fires.
       Jan  7 11:49:39 com.apple.xpc.launchd.domain.pid.om.apple.photostream-agent.319: Path not allowed in target domain: type = pid, path = /Applications/iPhoto.app/Contents/Frameworks/PhotoFoundation.framework/Versions /A/XPCServices/com.apple.PhotoApps.DevicePropertyReader.xpc error = 147: The specified service did not ship in the requestor's bundle, origin = /Applications/iPhoto.app/Contents/Library/LoginItems/PhotoStreamAgent.app
       Jan  7 11:49:39 com.apple.xpc.launchd.domain.pid.om.apple.photostream-agent.319: Path not allowed in target domain: type = pid, path = /Applications/iPhoto.app/Contents/Frameworks/PhotoFoundation.framework/Versions /A/XPCServices/com.apple.PhotoApps.DevicePropertyReader.xpc error = 147: The specified service did not ship in the requestor's bundle, origin = /Applications/iPhoto.app/Contents/Library/LoginItems/PhotoStreamAgent.app
       Jan  7 11:49:39 com.citrix.ServiceRecords: Endpoint has been activated through legacy launch(3) APIs. Please switch to XPC or bootstrap_check_in(): com.citrix.Beacons
       Jan  7 11:51:29 process iPhoto[248] thread 2450 caught burning CPU! It used more than 50% CPU (Actual recent usage: 52%) over 180 seconds. thread lifetime cpu usage 90.109268 seconds, (87.476202 user, 2.633066 system) ledger info: balance: 90008641218 credit: 90014455352 debit: 5814134 limit: 90000000000 (50%) period: 180000000000 time since last refill (ns): 172082865204
       Jan  7 11:52:49 com.apple.xpc.launchd.domain.user.99: Could not read path: path = /Library/LaunchAgents/com.oracle.java.Java-Updater.plist, error = 2: No such file or directory
       Jan  7 11:52:49 com.apple.xpc.launchd.domain.user.99: Failed to bootstrap path: path = /Library/LaunchAgents/com.oracle.java.Java-Updater.plist, error = 2: No such file or directory
       Jan  7 12:07:36 process iPhoto[490] thread 12067 caught burning CPU! It used more than 50% CPU (Actual recent usage: 93%) over 180 seconds. thread lifetime cpu usage 90.200179 seconds, (88.682346 user, 1.517833 system) ledger info: balance: 90012025000 credit: 90016246356 debit: 4221356 limit: 90000000000 (50%) period: 180000000000 time since last refill (ns): 96436947650
       Jan  7 12:19:32 com.apple.xpc.launchd.domain.pid.quicklookd.536: Path not allowed in target domain: type = pid, path = /Library/Frameworks/iTunesLibrary.framework/Versions/A/XPCServices/com.apple.iT unesLibraryService.xpc error = 147: The specified service did not ship in the requestor's bundle, origin = /System/Library/Frameworks/QuickLook.framework/Versions/A/Resources/quicklookd. app
       Jan  7 12:21:38 process WindowServer[134] caught causing excessive wakeups. Observed wakeups rate (per sec): 174; Maximum permitted wakeups rate (per sec): 150; Observation period: 300 seconds; Task lifetime number of wakeups: 130324
       Jan  7 12:24:23 process Image Capture Ex[494] caught causing excessive wakeups. Observed wakeups rate (per sec): 1570; Maximum permitted wakeups rate (per sec): 150; Observation period: 300 seconds; Task lifetime number of wakeups: 45166
       Jan  7 12:28:45 process iPhoto[643] thread 21591 caught burning CPU! It used more than 50% CPU (Actual recent usage: 90%) over 180 seconds. thread lifetime cpu usage 90.114637 seconds, (88.373536 user, 1.741101 system) ledger info: balance: 90002127665 credit: 90005648813 debit: 3521148 limit: 90000000000 (50%) period: 180000000000 time since last refill (ns): 99086317519
       Jan  7 12:30:17 com.apple.xpc.launchd.domain.pid.om.apple.photostream-agent.655: Path not allowed in target domain: type = pid, path = /Applications/iPhoto.app/Contents/Frameworks/PhotoFoundation.framework/Versions /A/XPCServices/com.apple.PhotoApps.DevicePropertyReader.xpc error = 147: The specified service did not ship in the requestor's bundle, origin = /Applications/iPhoto.app/Contents/Library/LoginItems/PhotoStreamAgent.app
       Jan  7 12:30:17 com.apple.xpc.launchd.domain.pid.om.apple.photostream-agent.655: Path not allowed in target domain: type = pid, path = /Applications/iPhoto.app/Contents/Frameworks/PhotoFoundation.framework/Versions /A/XPCServices/com.apple.PhotoApps.DevicePropertyReader.xpc error = 147: The specified service did not ship in the requestor's bundle, origin = /Applications/iPhoto.app/Contents/Library/LoginItems/PhotoStreamAgent.app
       Jan  7 13:13:15 process com.apple.WebKit[827] caught causing excessive wakeups. Observed wakeups rate (per sec): 560; Maximum permitted wakeups rate (per sec): 150; Observation period: 300 seconds; Task lifetime number of wakeups: 55866
       Jan  7 20:09:33 process iPhoto[643] caught causing excessive wakeups. Observed wakeups rate (per sec): 198; Maximum permitted wakeups rate (per sec): 150; Observation period: 300 seconds; Task lifetime number of wakeups: 269536
       Jan  8 01:12:04 AppleUSBMultitouchDriver::validateChecksum - 512-byte packet checksum is incorrect (expected 0xf60c, checksum bytes were 0xdead)
       Jan  8 15:06:18 com.apple.xpc.launchd.domain.pid.quicklookd.1302: Path not allowed in target domain: type = pid, path = /Library/Frameworks/iTunesLibrary.framework/Versions/A/XPCServices/com.apple.iT unesLibraryService.xpc error = 147: The specified service did not ship in the requestor's bundle, origin = /System/Library/Frameworks/QuickLook.framework/Versions/A/Resources/quicklookd. app
    Memory: iPhoto (UID 501) is using 2093 MB
    kexts
       com.logmein.driver.LogMeInSoundDriver (4.1.46f67)
    Daemons
       com.adobe.fpsaud
       com.apple.installer.osmessagetracing
       com.logmein.raupdate
       com.macpaw.CleanMyMac2.Agent
       com.sharpcast.xfsmond
    Agents
       com.adobe.ARM.UUID
       com.apple.AirPortBaseStationAgent
       com.apple.photostream-agent
       com.citrix.AuthManager_Mac
       com.citrix.ReceiverHelper
       com.citrix.ServiceRecords
       com.google.keystone.user.agent
       com.logmein.LMILaunchAgentFixer
    Startup items
       /Library/StartupItems/ProTec6b/DemoOver
       /Library/StartupItems/ProTec6b/Nalpeirond6b
       /Library/StartupItems/ProTec6b/ProTec6b
       /Library/StartupItems/ProTec6b/StartupParameters.plist
    dylibs
       /Library/Frameworks/Adobe AIR.framework/Versions/1.0/Resources/WebKit.dylib
       /Users/USER/Library/Application Support/Google/Chrome/WidevineCDM/1.4.6.703/_platform_specific/mac_x64/libwidev inecdm.dylib
       /usr/lib/HDREfexProFC.dylib
    App extensions
       com.getdropbox.dropbox.garcon
    Contents of /Library/LaunchAgents/com.citrix.AuthManager_Mac.plist
       - mod date: Jun  7 11:58:25 2013
       - checksum: 1591517921
       <?xml version="1.0" encoding="UTF-8"?>
       <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
       <plist version="1.0">
       <dict>
        <key>ServiceIPC</key>
        <true/>
        <key>MachServices</key>
        <dict>
        <key>com.citrix.AuthManager_Mac</key>
        <true/>
        </dict>
        <key>Label</key>
        <string>com.citrix.AuthManager_Mac</string>
        <key>WaitForDebugger</key>
        <false/>
        <key>ProgramArguments</key>
        <array>
        <string>/usr/local/libexec/AuthManager_Mac.app/Contents/MacOS/AuthManager_Mac</ string>
        </array>
        <key>LimitLoadToSessionType</key>
        <string>Aqua</string>
        <key>Disabled</key>
        <false/>
       </dict>
       </plist>
    Contents of /Library/LaunchAgents/com.citrix.ReceiverHelper.plist
       - mod date: Jun  7 11:58:25 2013
       - checksum: 676087606
       <?xml version="1.0" encoding="UTF-8"?>
       <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
       <plist version="1.0">
       <dict>
        <key>Label</key>
        <string>com.citrix.ReceiverHelper</string>
        <key>RunAtLoad</key>
        <true/>
        <key>KeepAlive</key>
        <dict>
        <key>SuccessfulExit</key>
        <false/>
        </dict>
        <key>WaitForDebugger</key>
        <false/>
        <key>ProgramArguments</key>
        <array>
        <string>/usr/local/libexec/ReceiverHelper.app/Contents/MacOS/ReceiverHelper</st ring>
        </array>
        <key>LimitLoadToSessionType</key>
        <string>Aqua</string>
        <key>Disabled</key>
        <false/>
       </dict>
       </plist>
    Contents of /Library/LaunchAgents/com.citrix.ServiceRecords.plist
       - mod date: Jun  7 11:58:25 2013
       - checksum: 1445213025
       <?xml version="1.0" encoding="UTF-8"?>
       <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
       <plist version="1.0">
       <dict>
        <key>ServiceIPC</key>
        <true/>
        <key>MachServices</key>
        <dict>
        <key>com.citrix.Beacons</key>
        <true/>
        <key>com.citrix.ServiceRecords</key>
        <true/>
        </dict>
        <key>Label</key>
        <string>com.citrix.ServiceRecords</string>
        <key>RunAtLoad</key>
        <true/>
        <key>KeepAlive</key>
        <true/>
        <key>WaitForDebugger</key>
        <false/>
        <key>ProgramArguments</key>
        <array>
        <string>/usr/local/libexec/ServiceRecords.app/Contents/MacOS/ServiceRecords</st ring>
        </array>
       ...and 8 more line(s)
    Contents of /Library/LaunchAgents/com.logmein.LMILaunchAgentFixer.plist
       - mod date: Nov 10 20:47:41 2014
       - checksum: 94065829
       <?xml version="1.0" encoding="UTF-8"?>
       <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
       <plist version="1.0">
       <dict>
        <key>Debug</key>
        <true/>
        <key>Label</key>
        <string>com.logmein.LMILaunchAgentFixer</string>
        <key>OnDemand</key>
        <true/>
        <key>ThrottleInterval</key>
        <integer>1</integer>
        <key>ProgramArguments</key>
        <array>
        <string>/Library/Application Support/LogMeIn/bin/LMILaunchAgentFixer.app/Contents/MacOS/LMILaunchAgentFixer< /string>
        <string>fromlaunchagent</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
       </dict>
       </plist>
    Contents of /Library/LaunchAgents/com.logmein.logmeingui.plist
       - mod date: Jan  7 12:05:30 2015
       - checksum: 849719711
       <?xml version="1.0" encoding="UTF-8"?>
       <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
       <plist version="1.0">
       <dict>
        <key>Debug</key>
        <true/>
        <key>Disabled</key>
        <true/>
        <key>Label</key>
        <string>com.logmein.logmeingui</string>
        <key>LimitLoadToSessionType</key>
        <array>
        <string>Aqua</string>
        </array>
        <key>OnDemand</key>
        <false/>
        <key>ProgramArguments</key>
        <array>
        <string>/Library/Application Support/LogMeIn/bin/LogMeInGUI.app/Contents/MacOS/LogMeInGUI</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
       </dict>
       </plist>
    Contents of /Library/LaunchAgents/com.logmein.logmeinguiagent.plist
       - mod date: Jan  7 12:05:30 2015
       - checksum: 1227007658
       <?xml version="1.0" encoding="UTF-8"?>
       <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
       <plist version="1.0">
       <dict>
        <key>Debug</key>
        <true/>
        <key>Disabled</key>
        <true/>
        <key>Label</key>
        <string>com.logmein.logmeinguiagent</string>
        <key>LimitLoadToSessionType</key>
        <array>
        <string>Aqua</string>
        </array>
        <key>OnDemand</key>
        <true/>
        <key>ProgramArguments</key>
        <array>
        <string>/Library/Application Support/LogMeIn/bin/LogMeIn.app/Contents/Helpers/LMIGUIAgent.app/Contents/MacOS /LMIGUIAgent</string>
        </array>
        <key>RunAtLoad</key>
        <false/>
        <key>Sockets</key>
        <dict>
        <key>Listeners</key>
       ...and 19 more line(s)
    Contents of /Library/LaunchAgents/com.logmein.logmeinguiagentatlogin.plist
       - mod date: Jan  7 12:05:30 2015
       - checksum: 3390435066
       <?xml version="1.0" encoding="UTF-8"?>
       <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
       <plist version="1.0">
       <dict>
        <key>Debug</key>
        <true/>
        <key>Disabled</key>
        <true/>
        <key>Label</key>
        <string>com.logmein.logmeinguiagentatlogin</string>
        <key>LimitLoadToSessionType</key>
        <array>
        <string>LoginWindow</string>
        </array>
        <key>OnDemand</key>
        <true/>
        <key>ProgramArguments</key>
        <array>
        <string>/Library/Application Support/LogMeIn/bin/LogMeIn.app/Contents/Helpers/LMIGUIAgent.app/Contents/MacOS /LMIGUIAgent</string>
        </array>
        <key>RunAtLoad</key>
        <false/>
        <key>Sockets</key>
        <dict>
        <key>Listeners</key>
       ...and 19 more line(s)
    Contents of /Library/LaunchDaemons/com.gopro.stereomodestatus.plist
       - mod date: Jan 29 17:22:17 2014
       - checksum: 2319101607
       <?xml version="1.0" encoding="UTF-8"?>
       <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
       <plist version="1.0">
       <dict>
        <key>Label</key>
        <string>com.gopro.stereomodestatus</string>
        <key>LimitLoadToSessionType</key>
        <string>Aqua</string>
        <key>RunAtLoad</key>
        <true/>
        <key>ProgramArguments</key>
        <array>
        <string>/Applications/GoPro/Tools/StereoModeStatus.app/Contents/MacOS/StereoMod eStatus</string>
        </array>
       </dict>
       </plist>
    Contents of /Library/LaunchDaemons/com.logmein.logmeinserver.plist
       - mod date: Jan  7 12:05:30 2015
       - checksum: 1427099528
       <?xml version="1.0" encoding="UTF-8"?>
       <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
       <plist version="1.0">
       <dict>
        <key>Debug</key>
        <true/>
        <key>Disabled</key>
        <true/>
        <key>Label</key>
        <string>com.logmein.logmeinserver</string>
        <key>LegacyTimers</key>
        <true/>
        <key>OnDemand</key>
        <false/>
        <key>ProcessType</key>
        <string>Interactive</string>
        <key>ProgramArguments</key>
        <array>
        <string>/Library/Application Support/LogMeIn/bin/LogMeIn.app/Contents/MacOS/LogMeIn</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
        <key>StandardErrorPath</key>
        <string>/Library/Logs/LogMeIn/stderr.log</string>
        <key>StandardOutPath</key>
       ...and 7 more line(s)
    Contents of /Library/LaunchDaemons/com.logmein.raupdate.plist
       - mod date: Nov 10 20:46:56 2014
       - checksum: 3493110929
       <?xml version="1.0" encoding="UTF-8"?>
       <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
       <plist version="1.0">
        <dict>
        <key>Label</key>
        <string>com.logmein.raupdate</string>
        <key>OnDemand</key>
        <true/>
        <key>RunAtLoad</key>
        <false/>
        <key>KeepAlive</key>
        <false/>
        <key>LaunchOnlyOnce</key>
        <true/>
        <key>ProgramArguments</key>
        <array>
        <string>/Library/Application Support/LogMeIn/update/raupdate</string>
        <string>/s</string>
        </array>
        <key>StandardErrorPath</key>
        <string>/Library/Logs/LogMeIn/stderr.log</string>
        <key>StandardOutPath</key>
        <string>/Library/Logs/LogMeIn/stdout.log</string>
        <key>WorkingDirectory</key>
        <string>/Library/Application Support/LogMeIn/bin/</string>
       ...and 2 more line(s)
    Contents of /Library/LaunchDaemons/com.macpaw.CleanMyMac2.Agent.plist
       - mod date: Sep  1 15:15:35 2014
       - checksum: 2214847194
       <?xml version="1.0" encoding="UTF-8"?>
       <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
       <plist version="1.0">
       <dict>
        <key>Label</key>
        <string>com.macpaw.CleanMyMac2.Agent</string>
        <key>MachServices</key>
        <dict>
        <key>com.macpaw.CleanMyMac2.Agent</key>
        <true/>
        </dict>
        <key>ProgramArguments</key>
        <array>
        <string>/Library/PrivilegedHelperTools/com.macpaw.CleanMyMac2.Agent</string>
        </array>
        <key>ServiceIPC</key>
        <true/>
        <key>Sockets</key>
        <dict>
        <key>MasterSocket</key>
        <dict>
        <key>SockFamily</key>
        <string>Unix</string>
        <key>SockPathMode</key>
        <integer>438</integer>
       ...and 8 more line(s)
    Contents of /Library/LaunchDaemons/com.sharpcast.xfsmond.plist
       - mod date: May  4 20:28:27 2013
       - checksum: 3377386094
       <?xml version="1.0" encoding="UTF-8"?>
       <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//ENhttp://www.apple.com/DTDs/PropertyList-1.0.dtd">
       <!-- SugarSync version 1.9.96.111090.20130403 -->
       <plist version="1.0">
       <dict>
        <key>Disabled</key>
        <false/>
        <key>Label</key>
        <string>com.sharpcast.xfsmond</string>
        <key>ProgramArguments</key>
        <array>
        <string>/Library/Application Support/SugarSync/scxfsmond</string>
        <string>-log</string>
        <string>error</string>
        <string>-launchd</string>
        </array>
        <key>Sockets</key>
        <dict>
        <key>Listeners</key>
        <dict>
        <key>SockFamily</key>
        <string>Unix</string>
        <key>SockPathMode</key>
        <integer>438</integer>
        <key>SockPathName</key>
       ...and 14 more line(s)
    Contents of Library/LaunchAgents/com.adobe.ARM.UUID.plist
       - mod date: Jul 24 11:11:09 2013
       - checksum: 394026997
       <?xml version="1.0" encoding="UTF-8"?>
       <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
       <plist version="1.0">
       <dict>
        <key>Label</key>
        <string>com.adobe.ARM.UUID</string>
        <key>ProgramArguments</key>
        <array>
        <string>/Applications/Adobe Reader.app/Contents/MacOS/Updater/Adobe Reader Updater Helper.app/Contents/MacOS/Adobe Reader Updater Helper</string>
        <string>semi-auto</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
        <key>StartInterval</key>
        <integer>12600</integer>
       </dict>
       </plist>
    Contents of Library/LaunchAgents/com.google.keystone.agent.plist
       - mod date: Nov 30 14:26:35 2014
       - checksum: 4084537214
       <?xml version="1.0" encoding="UTF-8"?>
       <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
       <plist version="1.0">
       <dict>
        <key>Label</key>
        <string>com.google.keystone.user.agent</string>
        <key>LimitLoadToSessionType</key>
        <string>Aqua</string>
        <key>ProgramArguments</key>
        <array>
         <string>/Users/USER/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bu ndle/Contents/Resources/GoogleSoftwareUpdateAgent.app/Contents/MacOS/GoogleSoftw areUpdateAgent</string>
         <string>-runMode</string>
         <string>ifneeded</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
        <key>StartInterval</key>
        <integer>3523</integer>
        <key>StandardErrorPath</key>
        <string>/dev/null</string>
        <key>StandardOutPath</key>
        <string>/dev/null</string>
       </dict>
       </plist>
    Listeners
       cupsd: ipp
    User login items
       Garmin Express Service
       - /Applications/Garmin Express.app/Contents/Library/LoginItems/Garmin Express Service.app
       Dropbox
       - /Applications/Dropbox.app
       Google Chrome
       - /Applications/Google Chrome.app
       ThisLife Uploader
       - /Applications/ThisLife Uploader.app
       WDQuickView
       - /Library/Application Support/WDSmartWare/WDQuickView.app
    Safari extensions
       Evernote Web Clipper
       - com.evernote.safari.clipper
    Widgets
       iCal
       Earth
    Restricted files: 339
    Lockfiles: 101
    Elapsed time (s): 844
    Wow, that's a lot of data for you to sift through, but I suppose you know what you are looking to find. I bet you earned every one of those points. Thanks, Linc. All the folks in the world waiting for me to share their photos with them thank you as well : )  Cathleen

  • Can I disable/delete CarbonCore, Perl, Python and Ruby...

    without causing any issues to my mbp (early 2011)? I'm not a developer so I'm not sure why I'd need them but if they're vital to running SL 10.6.8 then I won't disable them. Reason I'm asking is that MacScan is picking up multiple issues in my /usr/share/emacs/22.1/etc location. I just learned what an emac was today and I'm not sure why this is on my mbp. All of my sharing is turned off in system preferences but when I click on xgrid a drop down message appears that say "unable to locate xgrid agent. Screen sharing is turned on." One file in particular is labeled condom.1 and was created back in 2006. The file is written as follows:
    CONDOM(1)                EUNUCH Programmer's Manual                    CONDOM(1)
    NAME
              condom - Protection against viruses and prevention of child
                         processes
    SYNOPSIS
              condom [options] [processid]
    DESCRIPTION
              _condom_ provides protection against System Transmitted
    Viruses (STVs) that may invade your system.  Although the spread of
    such viruses across a network can only be abated by aware and cautious
    users, _condom_ is the only highly-effective means of preventing
    viruses from entering your system (see celibacy(1)).  Any data passed
    to _condom_ by the protected process will be blocked, as specified by
    the value of the -s option (see OPTIONS below).  _condom_ is known to
    defend against the following viruses and other malicious
    afflictions...
              o AIDS
              o Herpes Simplex (genital varieties)
              o Syphilis
              o Crabs
              o Genital warts
              o Gonorrhea
              o Chlamydia
              o Michelangelo
              o Jerusalem
              When used alone or in conjunction with pill(1), sponge(1),
    foam(1), and/or setiud(3), _condom_ also prevents the conception of a
    child process.  If invoked from within a synchronous process, _condom_
    has, by default, an 80% chance of preventing the external processes
    from becoming parent processes (see the -s option below).  When other
    process contraceptives are used, the chance of preventing a child
    process from being forked becomes much greater.  See pill(1),
    sponge(1), foam(1), and setiud(3) for more information.
              If no options are given, the current user's login process (as
    determined by the environment variable USER) is protected with a
    Trojan rough-cut latex condom without a reservoir tip.  The optional
    'processid' argument is an integer specifying the process to protect.
              NOTE: _condom_ may only be used with a hard disk.  _condom_
    will terminate abnormally with exit code -1 if used with a floppy
    disk (see DIAGNOSTICS below).
    OPTIONS
         The following options may be given to _condom_...
              -b BRAND          BRANDs are as follows...
                                  trojan (default)
                                  ramses
                                  sheik
                                  goldcoin
                                  fourex
              -m MATERIAL          The valid MATERIALs are...
                                  latex (default)
                                  saranwrap
                                  membrane -- WARNING!  The membrane option is _not_
                                  endorsed by the System Administrator General as an
                                  effective barrier against certain viruses.  It is
                                  supported only for the sake of tradition.
              -f FLAVOR          The following FLAVORs are currently supported...
                                  plain (default)
                                  apple
                                  banana
                                  cherry
                                  cinnamon
                                  licorice
                                  orange
                                  peppermint
                                  raspberry
                                  spearmint
                                  strawberry
              -r                    Toggle reservoir tip (default is no reservoir tip)
              -s STRENGTH          STRENGTH is an integer between 20 and 100 specifying
                                  the resilience of _condom_ against data passed to
                                  _condom_ by the protected process.  Using a larger
                                  value of STRENGTH increases _condom_'s protective
                                  abilities, but also reduces interprocess communication.
                                  A smaller value of STRENGTH increases interprocess
                                  communication, but also increases the likelihood of a
                                  security breach.  An extremely vigorous process or
                                  one passing an enormous amount of data to _condom_
                                  will increase the chance of _condom_'s failure.  The
                                  default STRENGTH is 80%.
              -t TEXTURE          Valid TEXTUREs are...
                                  rough (default)
                                  ribbed
                                  bumps
                                  lubricated (provides smoother interaction between
                                              processes)
              WARNING: The use of an external application to _condom_ in
    order to reduce friction between processes has been proven in
    benchmark tests to decrease _condom_'s strength factor!  If execution
    speed is important to your process, use the '-t lubricated' option.
    DIAGNOSTICS
              _condom_ terminates with one of the following exit codes...
              -1          An attempt was made to use _condom_ on a floppy disk.
               0          _condom_ exited successfully (no data was passed to
                        the synchronous process).
               1          _condom_ failed and data was allowed through.  The
                        danger of transmission of an STV or the forking of a child
                        process is inversely proportional to the number of other
                        protections employed and is directly proportional to
                        the ages of the processes involved.
    BUGS
              _condom_ is NOT 100% effective at preventing a child process
    from being forked or at deterring the invasion of a virus (although
    the System Administrator General has deemed that _condom_ is the most
    effective means of preventing the spread of system transmitted
    viruses).  See celibacy(1) for information on a 100% effective program
    for preventing these problems.
              Remember... the use of sex(1) and other related routines
    should only occur between mature, consenting processes.  If you must
    use sex(1), please employ _condom_ to protect your process and your
    synchronous process.  If we are all responsible, we can stop the
    spread of STVs.
    AUTHORS and HISTORY
              The original version of _condom_ was released in Roman times
    and was only marginally effective.  With the advent of modern
    technology, _condom_ now supports many more options and is much more
    effective.
              The current release of _condom_ was written by Ken Maupin at
    the University of Washington ([email protected]) and was last
    updated on 10/7/92.
    SEE ALSO
              celibacy(1), sex(1), pill(1), sponge(1), foam(1), and
    setiud(3)
    Is this some sort of opensource coding joke? Thanks in advance for any help!

    The first Apple Care rep didn't seem incompetent but not exactly up to speed on lower level system issues. The second AppleCare rep suggested ESET CyberSecurity for Mac and I purchased it while on the phone with this AppleCare rep. That didn't solve the issue either. I also used ClamXav which is Apple endorsed since it's available and free in the App Store. No dice on the results though. I then also purchased Intego Virus Barrier, also in the App Store but to no avail since, as I later discovered, I don't actually have a virus, since Mac viruses don't exist. I then was instructed by another AppleCare rep to reset the PRAM as well as doing an SMC reset but still the issue remains.
    MacScan doesn't detect viruses. Only malware and trojans and it didn't even detect this trojan but alerted me to some odd messages alerts in the Console utility specifically in regards to the usr/share section . That's how I discovered something must be wrong and I contacted Apple once again and they asked me to ship my mbp to them in California and they shipped me a new replacement direct from Shanghai. And once again after 10+ Express Lane cases and one emailed system shot from a data gatherer application sent to me by a Senior Technical Advisor from Worldwide AppleCare and returned to him, I'm still having the same issue and no, I'm not the only one to have experienced this issue so thanks for the congratulations but I'll share the congrats with the other unfortunate users who are experiencing the same frustrating issue but not all carried out in the same manner as mine. I thought instead of trying to only work with AppleCare, who've been stellar btw in terms of customer service, I'd go ahead and give the community a shot at possible solving the problem in hopes of answering my question. Unfortnately the previous hostile responses from the community act as though I'm being sarcastic or something. I assure you I'm not.
    No, apparently not all trojans are detected by the built in malware protection in SL. I'm not trying to make this some outdated Mac vs. PC battle, which is juvenile in my opinion and accomplishes nothing. I'm a big fan of all things Apple and always have been. 
    There are quite a few trojans written everyday and so far I haven't noticed daily security updates from Apple b/c there's no realistic way to keep up with an ultra fast response to new ones until they're actually discovered however, I get the security updates every few weeks or so for SL and I'm grateful for that. Maybe now all active trojans are detected by Lion but I haven't upgraded yet so I wouldn't know but I hope to upgrade soon. Seems like a kewl OS and hopefully impregnable.
    No, I didn't read an article an Ars Techinca but I did read an article on the battery firmware password exploit on slashdot which was linked to a threatpost.com article. If I recall correctly it didn't mention much other than the default password issue for the battery firmware but I believe it had to do with some guy trying to kill the battery or blow up the machine which apparenty didn't work.  Nothing about the way the exploit can be carried out to alter your OS.
    Anyway, thanks for your answer to my question. Much appreciated and best regards.

  • Saving an image as PNG to a specific location, and appending the document's existing name.

    Hello
      I'm building a very complex action that references several scripts. One of the scripts needs to save the existing canvas as a .png file to a specific directory, and rename the .png with the document's existing name and adding "-SCREEN" to the end. So the name sould be "originalname-SCREEN.png"
      I found a script below that almost kinda works. It can find the directory, but it is cropping the image for some unknown reason. It also does not append the name (I have not looked into how to do that at all yet).
      Is anyone able to figure out how to fix this script, or perhaps lend some insight to how I might go about generating a new script?
      I'm not familiar with JS, but I'm learning. Slowly...
    Thank you.
    #target photoshop
    app.bringToFront();
    $.level = 0;
    // Globals
    Settings = {
      storedPaths: {},
      storedSelections: {},
      scriptName: "Save PR JPG LANDING",
      units: "pixels"
    // Main entry point
    main();
    function main() {
      var formatOptions;
      // Create JPEG save options
      formatOptions = formatJPEG(FormatOptions.OPTIMIZEDBASELINE, "10", "3", MatteType.NONE, true);
      // Save copy of document as
      docSaveAs(formatOptions, "Add After", "-LANDING", "No Change", "Path", "~/Desktop/PR/Landing Page (RGB | 105px W x 108px H | 72ppi)/", "");
    // Functions
    function docSaveAs(formatOptions, nameChange, nameText, newCase, destType, destRef, storeName) {
      var hasPath, f, name, nameArray, n, ext;
      if (!documents.length) { logErr(arguments, "noOpenDocs"); return; }
      if (!formatOptions) { logErr(arguments, "noFormatOptions"); return; }
      if (nameChange=="Replace" && !nameText) { logErr(arguments, "badNameValue"); return; }
      f = fileGetFolder(destType, destRef);
      if (!f) { logErr(arguments, "noDestFolder"); return; }
      try { activeDocument.path; hasPath=true; } catch(e){ hasPath=false; }
      name = activeDocument.name;
      if (hasPath) {
      nameArray = name.split(".");
      n = nameArray.length-1;
      ext = nameArray[n];
      switch (nameChange) {
      case "Add Before": nameArray[0] = nameText + nameArray[0]; break;
      case "Add After": nameArray[n-1] = nameArray[n-1] + nameText; break;
      case "Replace": nameArray = [nameText, ext]; break;
      name = nameArray.join(".");
      else {
      ext = {"[BMPSaveOptions]":".bmp", "[DCS1_SaveOptions]":".eps", "[DCS2_SaveOptions":".eps",
      "[EPSSaveOptions]":".eps", "[GIFSaveOptions]":".gif", "[JPEGSaveOptions]":".jpg",
      "[PhotoshopSaveOptions]":".psd", "[PICTFileSaveOptions]":".pct", "[PICTResourceSaveOptions":".pct",
      "[PixarSaveOptions]":".pxr", "[PNGSaveOptions]":".png", "[RawSaveOptions]":".raw",
      "[TargaSaveOptions]":".tga", "[TiffSaveOptions]":".tif"}[formatOptions.constructor.toString()]||"";
      switch (nameChange) {
      case "Add Before": name = nameText + name; break;
      case "Add After": name = name + nameText; break;
      case "Replace": name = nameText; break;
      if (!name) { name = "Untitled"; }
      name += ext;
      switch (newCase) {
      case "Lowercase": name = name.toLowerCase(); break;
      case "Uppercase": name = name.toUpperCase(); break;
      try {
      f = new File(f.fullName+"/"+name);
      activeDocument.saveAs(f, formatOptions, true);
      Settings.storedPaths.lastCreated = f.fullName;
      if (storeName) { Settings.storedPaths[storeName] = f.fullName; }
      catch(e) { log(arguments.callee, e); }
    function fileAppend(path, data, encoding) {
      var file;
      file = new File(path);
      file.open("a");
      if (typeof(encoding) == "string") {file.encoding = encoding;}
      file.write(data);
      file.close();
    function fileGetFolder(srcType, srcRef) {
      var path, f, msg;
      switch (srcType) {
      case "Last Created": path = Settings.storedPaths.lastCreated; break;
      case "Path": path = srcRef; break;
      case "Named Path": path = Settings.storedPaths[srcRef.toLowerCase()]; break;
      if (!path) {
      msg = "Select a folder:";
      if (Settings.lastFolderPath) { f = new Folder(Settings.lastFolderPath).selectDlg(msg); }
      else { f = Folder.selectDialog(msg); }
      if (f&&f.exists) { Settings.lastFolderPath = f.fsName.split("\\").join("/")+"/"; }
      else { f = new Folder(path); }
      if (!f||!f.exists) { logErr(arguments, "noFileSystemPath"); return; }
      return f;
    function fileWrite(path, data, encoding) {
      var file;
      file = new File(path);
      if (file.exists) {file.remove();}
      file.open("e");
      if (typeof(encoding) == "string") {file.encoding = encoding;}
      file.write(data);
      file.close();
    function formatJPEG(format, quality, scans, matte, embed) {
      var result = new JPEGSaveOptions();
      try {
      result.formatOptions = format;
      result.quality = parseInt(quality);
      result.scans = parseInt(scans);
      result.matte = matte;
      result.embedColorProfile = embed;
      catch(e) { log(arguments.callee, e); }
      return result;
    function log(v, err, msg) {
      // Initialization
      if (!Settings.debug) {
      var pathArray, date, str;
      Settings.debug = {
      delim:String.fromCharCode(13, 10),
      path: Folder.userData+ "/Script Builder Files/" +Settings.scriptName+ " - Log.txt",
      text:""
      date = new Date();
      str = "Begin debug log: " + date.toLocaleString() +Settings.debug.delim;
      str += "------------------------------------------------------------" +Settings.debug.delim;
      fileWrite(Settings.debug.path, str);
      // Error logging
      if (typeof v == "function") {
      v = "Error in " +v.name+ "(): ";
      if (err && msg) { v += msg + " " + err.message; }
      else if (err) { v += err.message; }
      else if (msg) { v += msg; }
      else { v = v.substring(0, v.length-2) + "."; }
      // Normal message logging
      else {
      if (typeof v != "string") {
      if (v == undefined) {v = "undefined";}
      else {v = v.toString();}
      if (Settings.debug.path) { fileAppend(Settings.debug.path, v + Settings.debug.delim); }
    function logErr(src, id) {
      var err = {
      badChannelValue: "Invalid channel number entered.",
      badColorValue: "Invalid color value entered.",
      badDocDimsValue: "Invalid document dimensions entered.",
      badExportValues: "Invalid file path or file name value supplied for export.",
      badNameValue: "Invalid name value supplied.",
      badNumberValue: "Invalid number value supplied.",
      badPathName: "Path name supplied is not unique.",
      badRefEdgeOuput: "Output method cannot be used when decontaminating colors.",
      badSubdivValue: "Subdivisions value must be an integer between 1 and 100.",
      badTestValue: "Invalid comparison value supplied.",
      fileError: "Could not read file.",
      fileExists: "A file of the same name already exists in the chosen location.",
      flatImagesOnly: "This function only works on flattened images.",
      layerDataError: "An error occurred while reading the layer settings.",
      logNotEnabled: "Log must be enabled in order to assign file path.",
      multiLayerOnly: "More than one layer must be selected.",
      noClipImageData: "No image data on clipboard.",
      noDocFile: "Document has never been saved.",
      noActionName: "No action name specified.",
      noActionSetName: "No action set name specified.",
      noBkgdLayer: "There is no background layer.",
      noDestFolder: "Destination folder not defined.",
      noFile: "File does not exist at the specified location.",
      noFileSystemPath: "No file or folder path was chosen.",
      noFilterImg: "Image file does not exist, or none was selected.",
      noFilterMask: "Layer has no filter mask.",
      noFolder: "Folder does not exist at the specified location.",
      noFormatOptions: "The \"formatOptions\" parameter is not defined.",
      noHTMLExporter: "The \"htmlExporter\" object does not exist or is not valid.",
      noLayerArtwork: "Layer has no image data.",
      noLayerComps: "Document has no layer comps.",
      noLayerFX: "Layer has no effects.",
      noLayerMask: "Layer has no layer mask.",
      noLogTextFile: "Log file path should point to a text file.",
      noLogFile: "Log file path does not point to a file.",
      noNameValue: "No new name entered.",
      noOpenDocs: "There are no documents open.",
      noQuicktime: "File format requires QuickTime.",
      noSelectedPath: "There is no path selected.",
      noSelection: "There is no selection.",
      noSelectionMod: "There is no selection to modify.",
      noTextExporter: "The \"textExporter\" object does not exist or is not valid.",
      noVectorMask: "Layer has no vector mask.",
      noWorkPath: "Document has no work path.",
      singleLayerOnly: "Only one layer should be selected.",
      wrongLayerKind: "Selected layer is the wrong kind for the requested action."
      }[id];
      if (err) { log(src.callee, null, err); }

    Go to  http://russellbrown.com/scripts.html
    download http://russellbrown.com/images/tips_downloads/Services_Installer_2.3.1.zip
    extract the "Services_Installer_2.3.1.zip"  do not install the extracted files instead find "Services_Installer_2.3.1.zxp" in the extracted files. This is also a zip file extract the files in it. You may need the reneme it to "Services_Installer_2.3.1.zip" first.  In the extracted files find:
    "Image Processor Pro.jsx" and "Image Processor Pro.xml" copy these to Photoshop's Presets\Scripts folder. The "Image Processor Pro: script written by Ross Huitt, [email protected] X use to contribute here but is feed up with Adobe has left. For Adobe does not fix the bugs that have been reported  in Photoshop scripting support. 
    However he will continue to support the "Image Processor Pro" script for some time.  Once installed you will find it in  Photoshop's menu File>Automate>Image Processor Pro... . This script is very powerful and configurable and is a Photoshop Plug-in that Action support so not only can use use your actions in its processing you can record its used in actions to bypass its dialog. When the action's Image Processor Pro step is played the recorded dialog setting will be used and  the script will bypass displaying its dialog.
    The Script has all the options you need to save PNG files with the original document name with custom text added.  You may be able to do what you want by just recording some simple actions and have the Image Processor Pro script include your actions as part of its processing.

  • How to use integer as char

    Hi!
    I have an integer (5). And now i want to use it as char ('5').
    I have already tried (char)(5) but that returns me a strange char--char with unicode (5).
    How should i change the type of variable?
    Thanks

    The following might be logical (not practical).
    char c = ((Integer.toString(5)).toCharArray()[0]);

Maybe you are looking for