Any comments about JGraphT?

Hi,
I'm designing the data structures for representing simple undirected graphs in my application, and came across JGraphT http://jgrapht.sourceforge.net (it's also been mentioned in this forum).
If there's anyone here who's used JGraphT, could I get some feedback on the scalability etc? I'm dealing with graphs of 10000 vertices and approx 50 million edges, so I was wondering if JGraphT can handle something as big?
TIA,
Linda

yEd which is available as a WebStart applicationfrom
http://www.yworks.com/products/yedthis is impressive :)thank you!
do you intend to start charging at some point?Good news: currently not, yed is free of charge and probably will stay free in the current form.
(or is
there a difference between the priced and free
versions?)You should have taken a closer look at what you get when you or your company purchases yFiles, which indeed is a library. yEd is using yFiles and demonstrates some of the capabilities of the library.
Paying the price for a yFiles license, means you get the right to use the API of the library (which by the way is online on our site, if you are interested). Also you get the right to create your own applications that use the yFiles library and distribute them in almost any way you like and you do not have to pay any royalties, i.e. the price is a one time cost and you can develop as many programs as you like.
yEd on the other hand offers no API and you are not allowed to reuse, modify, disassemble, redistribute (and so on) the application.
also what do you make of the JGraph
project?nothing ;-) JGraph is a well done Graph Viewer with editing capabilities. The strength of the yFiles library is the automatic layout feature for diagrams and graphs. These are highly sophisticated algorithm which produce impressive layouts very quickly (see our site, there is a gallery or try the editor). JGraph(Pad) has very rudimentary automatic layout support.
Also I would say yFiles' view component performs better than JGraph's. And last but not least since it is a commercial library you get high class support, warranties and the usual things you might miss with Open Source projects, but I really don't want to start any flame wars ;-)
Gaudenz did a great job and JGraph is good if you want to create your own application that has basic support for editing graph structures, but if your company wants to create an application I would definitely recommend using yFiles. You could even use the JGraph component to display and edit graph structures and use yFiles to do the algorithms and the layout, but why should you use two different libraries if one offers both?
greetings, Sebastian

Similar Messages

  • Any comments about this code regaarding naming conventions and flow and e

    CREATE OR REPLACE PACKAGE SEODS02.ODS_APPEND_REPLACE
    AS
    /* Description : This procedure will start the process step for moving
    data from staging to live table for Append and Replace paradigms
    /**************** Change History ***********************************/
    /* Date Version Author Description */
    -- Global Specifications.
    package_name_in VARCHAR2(50) :='ODS_APPEND_REPLACE';
    v_location INTEGER := 10;
    v_cntl_schema VARCHAR2(20):= 'SCNTL02';
    -- Procedure Specifications.
    PROCEDURE APPEND_REPLACE_INSERT (job_name_in IN VARCHAR2,
    schema_name_in IN VARCHAR2,
    proc_cd_in IN VARCHAR2,
    proc_step_cd_in IN VARCHAR2,
    bch_dte_in IN DATE,
    fl_nbr_in IN VARCHAR2,
    verbose_log_flag_in IN INTEGER,
    pred_check_req_in IN INTEGER,
    error_code_1_in IN VARCHAR2,
    ibd_id_in IN INTEGER,
    proc_step_status_out OUT INTEGER,
    sp_hier_inout IN OUT VARCHAR2);
    PROCEDURE APPEND_EXPOSE (job_name_in IN VARCHAR2,
    schema_name_in IN VARCHAR2,
    proc_cd_in IN VARCHAR2,
    proc_step_cd_in IN VARCHAR2,
    bch_dte_in IN DATE,
    data_grp_cde_in IN VARCHAR2,
    verbose_log_flag_in IN INTEGER,
    pred_check_req_in IN INTEGER,
    ibd_id_in IN INTEGER,
    proc_step_status_out OUT INTEGER,
    sp_hier_inout IN OUT VARCHAR2);
    END ODS_APPEND_REPLACE;
    CREATE OR REPLACE
    PACKAGE BODY SEODS02.ODS_APPEND_REPLACE
    AS
    PROCEDURE APPEND_REPLACE_INSERT (job_name_in IN VARCHAR2,
    schema_name_in IN VARCHAR2,
    proc_cd_in IN VARCHAR2,
    proc_step_cd_in IN VARCHAR2,
    bch_dte_in IN DATE,
    fl_nbr_in IN VARCHAR2,
    verbose_log_flag_in IN INTEGER,
    pred_check_req_in IN INTEGER,
    error_code_1_in IN VARCHAR2,
    ibd_id_in IN INTEGER,
    proc_step_status_out OUT INTEGER,
    sp_hier_inout IN OUT VARCHAR2)
    AS
    /* Local Variables Declaration*/
    v_curr_date DATE := CURRENT_DATE;
    v_procedure_name VARCHAR2(100):= 'APPEND_REPLACE_INSERT';
    v_stg_tbl VARCHAR2(100);
    v_act_tbl VARCHAR2(100);
    v_whr_clause_out VARCHAR2(1000);
    option_in VARCHAR2(30);
    v_common_col_list VARCHAR2(10000);
    v_stg_col_list VARCHAR2(10000);
    v_act_col_list VARCHAR2(10000);
    v_query VARCHAR2(10000);
    v_thrshld_query VARCHAR2(10000);
    v_actl_inpt_query VARCHAR2(10000);
    v_proc_step_stat_query VARCHAR2(10000);
    v_error_msg_in VARCHAR2(10000);
    v_part_val_out INTEGER;
    v_row_cnt NUMBER(10);
    v_cmit_nbr NUMBER(10);
    v_actl_inpt_cnt NUMBER(10);
    v_rec_inserted_cnt NUMBER(10);
    v_rec_errored_cnt NUMBER(10);
    v_thrshld_nbr NUMBER(10);
    v_data_grp_query VARCHAR2(10000);
    v_data_grp_cde VARCHAR2(30);
    v_proc_step_upd_out NUMBER(1);
    proc_step_start_out NUMBER(1);
    proc_step_status VARCHAR2(30);
    handled_exception EXCEPTION;
    BEGIN
    /* Enable the logging if verbose log flag is 0*/
    IF verbose_log_flag_in = 0 THEN
    DBMS_OUTPUT.ENABLE();
    ELSE
    DBMS_OUTPUT.DISABLE();
    END IF;
    /* Start the Append/Replace Update process step after all the predecessor process steps are complete */
    ODS_CONTROL_UTILITY.PROC_STEP_START( proc_cd_in => proc_cd_in,
    proc_step_cd_in => proc_step_cd_in,
    ibd_id_in => ibd_id_in,
    bch_dte_in => bch_dte_in,
    job_name_in => job_name_in,
    verbose_log_flag_in => verbose_log_flag_in,
    pred_chk_reqd_in => pred_check_req_in,
    proc_step_stat_out => proc_step_start_out,
    sp_hier_inout => sp_hier_inout);
    IF proc_step_start_out = 0 THEN
    dbms_output.put_line('Process Step '|| proc_step_cd_in ||' started for Process '||proc_cd_in);
    /*If process step is successfully started then get the active and stage table names */
    ODS_CONTROL_UTILITY.GET_TABLE_NAME( proc_cd_in => proc_cd_in,
    proc_step_in => proc_step_cd_in,
    ibd_id_in => ibd_id_in,
    actv_tbl_out => v_act_tbl,
    stg_tbl_out => v_stg_tbl,
    sp_hier_inout => sp_hier_inout);
    IF v_act_tbl IS NULL THEN
    v_error_msg_in := 'Active table name is null. Please check the parameters passed';
    option_in := 'others';
    RAISE handled_exception;
    /* If Active table is not null then get the active partition of the table*/
    ELSE
    dbms_output.put_line('Active table name is : '||v_act_tbl);
    v_data_grp_query := 'SELECT data_grp_cde
    FROM '||v_cntl_schema ||'.proc
    WHERE proc_id = '||chr(39)||proc_cd_in ||chr(39)||
    ' AND ibd_id = '||ibd_id_in;
    EXECUTE IMMEDIATE v_data_grp_query INTO v_data_grp_cde;
    ODS_CONTROL_UTILITY.GET_ACT_PART(tbl_name_in => v_act_tbl,
    data_grp_cde_in => v_data_grp_cde,
    meta_data_in => 'VIEW DYN METADATA',
    part_val_out => v_part_val_out,
    sp_hier_inout => sp_hier_inout);
    IF v_part_val_out IS NULL THEN
    v_error_msg_in := 'Incorrect table name ' || v_act_tbl;
    option_in := 'others';
    v_location := 20;
    RAISE handled_exception;
    END IF;
    dbms_output.put_line('Active partition for the table '|| v_act_tbl ||' is : '||v_part_val_out);
    /*Get the list of active table columns*/
    ODS_APPLICATION_UTILITY.GET_TAB_COLS (schema_name_in => schema_name_in,
    table_name_in => v_act_tbl,
    col_name_out => v_act_col_list,
    sp_hier_inout => sp_hier_inout);
    v_act_col_list := SUBSTR(v_act_col_list,1,LENGTH(v_act_col_list)-1);
    IF v_act_col_list IS NULL THEN
    v_error_msg_in := 'Failed fetching columns for ' || v_act_tbl || '. Check for the columns in table name';
    option_in := 'others';
    v_location := 30;
    RAISE handled_exception;
    /*Get the list of active table columns and concatenate the columns with 'stg_array(i)' */
    ELSE
    dbms_output.put_line('Active Table Columns List: '||v_act_col_list);
    ODS_APPLICATION_UTILITY.GET_TAB_COLS (schema_name_in => schema_name_in,
    table_name_in => v_act_tbl,
    identifier_name_in => 'stg_array(i)',
    col_name_out => v_common_col_list,
    sp_hier_inout => sp_hier_inout);
    v_common_col_list := SUBSTR(v_common_col_list,1,LENGTH(v_common_col_list)-1);
    IF v_common_col_list IS NULL THEN
    v_error_msg_in := 'Failed fetching columns for ' || v_act_tbl || ' and get concatenated with ' || 'STTG_ARRAY' ||'. Check for the columns in table name';
    option_in := 'others';
    v_location := 40;
    RAISE handled_exception;
    ELSE
    ODS_APPLICATION_UTILITY.GET_TAB_COLS (schema_name_in => schema_name_in,
    table_name_in => v_stg_tbl,
    col_name_out => v_stg_col_list,
    sp_hier_inout => sp_hier_inout);
    v_stg_col_list := SUBSTR(v_stg_col_list,1,LENGTH(v_stg_col_list)-1);
    IF v_stg_col_list IS NULL THEN
    v_error_msg_in := 'Failed fetching columns for ' || v_stg_tbl || '. Check for the columns in table name';
    option_in := 'others';
    v_location := 50;
    RAISE handled_exception;
    ELSE
    /* Form the WHERE clause on the primary key columns to update the proc_flag
    column of appropriate record in stage table */
    ODS_APPLICATION_UTILITY.GET_WHERE_CLAUSE( schema_nme_in => schema_name_in,
    tbl_nme_in => v_stg_tbl,
    trg_id => 'stg_array(i)',
    whr_clause_out => v_whr_clause_out,
    sp_hier_inout => sp_hier_inout);
    IF v_whr_clause_out IS NULL THEN
    v_error_msg_in := 'No columns fetched for ' || v_stg_tbl || '. Check for the columns in table name';
    option_in := 'others';
    v_location := 60;
    RAISE handled_exception;
    ELSE
    dbms_output.put_line('Where Clause is : ' || v_whr_clause_out );
    v_thrshld_query := 'SELECT proc_step_thrshld_nbr FROM '|| v_cntl_schema ||'.proc_step
    WHERE proc_id = '|| chr(39) ||proc_cd_in|| chr(39) ||
    ' AND proc_step_cde = '|| chr(39) ||proc_step_cd_in|| chr(39) ||
    ' AND ibd_id = ' || ibd_id_in;
    EXECUTE IMMEDIATE v_thrshld_query INTO v_thrshld_nbr;
    dbms_output.put_line('Threshold number for the process step '||proc_step_cd_in||' is '||v_thrshld_nbr||' for the process '||proc_cd_in);
    END IF;
    END IF;
    END IF;
    END IF;
    END IF;
    v_query := 'SELECT proc_cmit_nbr FROM '||v_cntl_schema||'.proc
    WHERE proc_id = '|| chr(39) || proc_cd_in || chr(39) ||
    ' AND ibd_id = '|| ibd_id_in;
    EXECUTE IMMEDIATE v_query INTO v_cmit_nbr;
    IF v_part_val_out = 999 THEN
    /* Execute the dynamic pl/sql block to append the data to the active table*/
    dbms_output.put_line('Executing Dynamic Insert Block for Append Paradigm');
    dbms_output.put_line('--------------------------------------------------');
    v_location := 80;
    EXECUTE IMMEDIATE q'{
    DECLARE
    v_rec_inserted_cnt_in NUMBER(10):=0;
    error_msg_in VARCHAR2(1000);
    v_dyn_proc_step_upd_out NUMBER(1);
    v_rec_updt_cnt_in NUMBER(10):=0;
    v_actl_inpt_cnt NUMBER(10):=0;
    v_rec_errored_cnt_in NUMBER(10):=0;
    v_dyn_option_in VARCHAR2(30);
    v_dyn_sp_hier VARCHAR2(30);
    v_dyn_handled_exception EXCEPTION;
    v_dyn_verbose_flag NUMBER(1):=0;
    CURSOR c IS
    SELECT }' || v_stg_col_list ||
    ' FROM ' || v_stg_tbl ||
    ' WHERE fl_nbr = ' || fl_nbr_in ||
    ' AND proc_flag = ' || chr(39) || 'N' || chr(39) ||
    ' AND to_date(bch_dte,'||CHR(39)||'DD-MON-YY'||CHR(39)||') <= '||CHR(39)|| bch_dte_in || CHR(39)||q'{;
    TYPE array IS TABLE OF c%ROWTYPE;
    stg_array array;
    BEGIN
    /* Enable the logging if verbose log flag is 0*/
    IF v_dyn_verbose_flag = }' || verbose_log_flag_in || q'{ THEN
    DBMS_OUTPUT.ENABLE();
    END IF;
    OPEN c;
    LOOP
    FETCH c BULK COLLECT INTO stg_array LIMIT }'|| v_cmit_nbr ||q'{;
    FOR i IN 1..stg_array.COUNT LOOP
    BEGIN
    INSERT INTO }' || schema_name_in || q'{.}'|| v_act_tbl || q'{( }'|| v_act_col_list ||q'{,crte_pgm, updt_pgm, crte_tstp, updt_tstp, expsd_rec_ind) VALUES }' || q'{ ( }' || v_common_col_list || q'{,'}' || job_name_in || q'{','}' || job_name_in ||q'{','}' || v_curr_date ||q'{','}' || v_curr_date||q'{','N' );}' ||
    q'{
    v_rec_inserted_cnt_in := v_rec_inserted_cnt_in + 1 ;
    v_actl_inpt_cnt := v_actl_inpt_cnt + 1 ;
    error_msg_in := 'Error in updating PROC_STAT as inserted';
    UPDATE }' || schema_name_in || q'{.}' || v_stg_tbl || q'{
    SET proc_flag = 'I' ,
    updt_pgm = '}' || job_name_in || q'{',
    updt_tstp = '}' || v_curr_date || q'{'
    WHERE }'|| v_whr_clause_out ||q'{;
    EXCEPTION
    WHEN DUP_VAL_ON_INDEX THEN
    error_msg_in := 'Record duplicated';
    v_actl_inpt_cnt := v_actl_inpt_cnt + 1 ;
    v_rec_errored_cnt_in := v_rec_errored_cnt_in + 1;
    IF v_rec_errored_cnt_in >}' || v_thrshld_nbr || q'{ THEN
    error_msg_in := 'Threshold limit }' || v_thrshld_nbr || q'{ Reached';
    v_dyn_option_in := 'proc_step';
    RAISE v_dyn_handled_exception;
    ELSE
    error_msg_in := 'Error in updating PROC_STAT as error';
    UPDATE }' || schema_name_in || q'{.}' || v_stg_tbl || q'{
    SET proc_flag = 'E',
    -- err_code = }' || error_code_1_in || q'{, --need to uncomment once the err_code column is created in stage table
    updt_pgm = '}' || job_name_in || q'{',
    updt_tstp = '}' || v_curr_date || q'{'
    WHERE }'|| v_whr_clause_out ||q'{;
    END IF;
    END;
    END LOOP;
    EXIT WHEN c%NOTFOUND;
    END LOOP;
    CLOSE c;
    ND ODS_APPEND_REPLACE;
    /

    DUPLICATE
    Any suggestions about this program to improve performance and effective cod

  • Any comments about the Moshi AG screen protector?

    Ordered my laptop with a glossy screen. Then found a anti-glare screen protector by the same company that makes one for the keyboard. Has anyone any comments regarding either the keyboard or screen units.

    There have been many posts here praising the Moshi keyboard protector, several of them from me. It's thinner, less obstructive, better fitting, holds its shape better, and is less sticky to the touch than any of the silicone protectors, and it doesn't accumulate nearly as much dirt as they do. I switched to it after a month with a silicone protector and would never consider any other kind again. My keyboard looks exactly like it did the day I bought it after fourteen months of heavy use.
    The glass covering your screen doesn't need any protection.

  • Any comments about Samsung Monitors?

    Hi everyone,
    I am contemplating between two monitors:
    FutureShop: Samsung 22" Widescreen LCD Monitor (226BW)
    BestBuy: Samsung SyncMaster 22" Widescreen LCD (226CW)
    I will need to order one of them from either BestBuy or FutureShop and I am trying to avoid choosing the wrong one for my MacPro.
    Does anyone have any feedback or comments to share?
    Rio.

    Hi Kappy,
    Thanks for your details about the smaller pixel size. I finally went for the 226BW model on Friday, August, 13th. I purchased it without an extended protection from FutureShop. I already have a 19" Samsung SyncMaster and it is still serving me well with no faults or dead pixels. I am VERY HAPPY with this new 22" SyncMaster (226BW)!
    But, sadly, I think I found a few dead pixels on the left far side (almost on the edge of the screen). They are very slight but it's still disappointing. I am not sure how I will procede because I bought the last 226BW model they had at the FutureShop in my area. I'll probably keep it anyway. I theoretically have 2 weeks to make up my mind to keep it or not per FutureShop's policy.
    PS: Maybe Friday the 13th was the wrong day to buy it!
    Rio.

  • OT: Any comment about mediatemple dot com

    I have some issues with my current web host provider for some
    time. They used to be really good, but as it seems losing its
    efficiency being reliable due to rapid growth and slow responses to
    fix systemwide from time to time. Such slow responses to fix is not
    acceptable in my humble opinion.
    Before I am making a final decision, I am considering
    mediatemple dot com. But I would like some comment, whether it is
    excellent or negative ABOUT this particular web host provider:
    mediatemple. Unless if there is solid, good reason for you or
    someome to recommend me to consider other web host provider, say it
    so. I am looking for some web provider that have quite powerful,
    industrial-strength and very fast web servers with strong backings
    of excellent tech support team (24 hours real live tech support,
    the better).
    TIA, DWD.

    I make the final decision to go with mediatemple.com in
    effective first day of November and move on. TIA and cheers,
    DWD

  • I have an Ipad2 and installed the Jeppesen Mobile TC (aeronautical Charts) I am afraid if I make the upgrade to OSI5 I will lose the license of the Jeppensen Mobile TC,, any help or comments about it,, thanks

    I have an Ipad2 and installed the Jeppesen Mobile TC (aeronautical Charts) I am afraid if I make the upgrade to OSI5 I will lose the license of the Jeppensen Mobile TC,, any help or comments about it,, thanks

    Being an iOS developer, I can tell you that iOS. 7 compatibility for iPad came later in the beta process.
    Therefore there wa less time to test iOS 7 on iPad. My suggestion to you would be to wait until Apple refreshes the iPad line before you update. At that point they will most likely release an iOS 7 update optimized for iPad.
    With that said they are many people running iOS 7 on their iPads without issue.
    Remember, this is a help forum. No one posts success stories here.

  • Any experiences about troubles with ipad 2 after upgraded to IOS7?

    Hello everyone! I've read in several blogs and websites warnings about possible problems or slowdowns of IPAD2 after the upgrade to IOS7. Has anybody decided to "challenge" these warnings? If yes, have you have any problems or is everything going ok?
    Thanks!

    I upgraded to ios7 on my ipad2 (Model MC773LL/A) and was very happy with it despite some minor quirks until the 7.0.2 update.  Since then, I can't use the home button.  It worked just fine and I was even able to make it work after a couple of resets, but as soon as I open the first app, it no longer works.  Since the 7.0.3 update which I expected to fix the problem, I can't even get the home button to work after a reset.  This iPad2 is pristine and had been cocooned in my Griffen rubberized case since the day it was unboxed. (yes, I took it out of the case since to make sure it wasn't the cause)
    While I can use all the other tricks such as assisted touch or gestures, it just ticks me off that the home button doesn't work any longer.  Since I am out of warranty, I don't want to waste my time waiting on line to get them to fix something they broke and being asked to pay for it.  The button worked fine until the iOS7 upgrade and there is no reason why it shouldn't work today.
    My iPad Mini (Model MD528LL/A) appears to be working just fine with iOS 7.0.2, though a bit slower than when it was 6.1.3.  However, it seems that since 7.0.3 broke my iPad2 further, I am hesitant to even consider blowing up my iPad Mini as well.  My iPhone 5 is working really well on iOS 7.0.3...thank goodness.
    I agree with the many comments about the loss of Steve Jobs... Tim, you better get these thing straightened out or that iPhone 5 will be the last Apple product I purchase. Kwon Oh Yun and Risto Siilasmaa are looking pretty innovative these days!

  • New Magic Mouse.. Any comments?

    I'm trying to figure out which mouse and keyboard to order with my new imac. I'm excited about the new wireless magic mouse but I have to admit that after a test drive at my local Apple store I'm unsure about it. It's sharp on the sides and maybe a little too low profile for my taste. I think I might miss the pinch buttons on the side for expose as well. (Maybe it just takes a little getting used to). I'm looking for comments from those of you who have used it for a while... Any comments?

    There have been quite a few topics on that same subject. You can read this one, for example.
    http://discussions.apple.com/message.jspa?messageID=10575543

  • Postal Outlet Comments About eBay

    This is not a complaint ... simply a few notes about a conversation I had with the Postal Outlet manager this morning. I dropped off a couple of packages and, because it was quiet in the store, I asked him if he had received any comments from the regular eBay sellers who use that outlet.  He said that, in the last few months, the number of parcels brought in has dropped dramatically.  He said it wasn't unusual, after a weekend, to have as many as 100 to 150 parcels (from eBay sellers) in the Monday pick-up.  He says that now, on most Mondays, there might 25 to 30.  And sellers who used to bring in 10 to 20 a day... he says they only come in the store about twice a week now with a few packages.  And the refrain is the same -- no sales. I asked him if he and his friends ever shop on eBay (he's about 25 or so).  He said that he had a few times in the past but, the last couple of years, he never even thinks about that site.  Depending what he's shopping for, he uses Amazon, Staples, Best Buy, Costco or manufacturer's websites because they all offer free, fast and tracked shipping.  He went on to say that he's amazed that eBay is even "a thing" anymore, which made me laugh. Anyway, his comments didn't surprise me ... it just confirmed what I had been thinking.  I was little surprised, however, by the overall decrease in number of packages. So, a few thoughts from a millennial (him, not me)   

    pierrelebel wrote:
     Now, even if sales by Canadian sellers had remained even over the last few years (while the rest of the world is growing), the local postal station may have noticed a decline in the number of parcels for which they sold postage for eBay's business.   There are many factors including the fact that more Canadian sellers purchase their postage online to get discounts and do not need to go to the PO to buy it.  Others use forwarding services shipping through USPS and - based on posts on these boards - these businesses seem to be growing quickly.  Again these are parcels not seen by the local post office.  Also, a large percentage of sales by Canadians are in the lettermail/letterpost variety (including light packet).  These shipments do not require bringing anything to the local post office.  Finally another factor is that a growing number of Canadian sellers use discount postage to send their letters/parcels.  That is one way to fight the constantly increasing rates by Canada Post. You're absolutely right about the various ways sellers purchase their postage.  I purchase all my labels online and have sufficient stamps on hand to affix to lettermail.  BUT I still go into the drugstore where the postal outlet is located to drop them off.  Sometimes it's because I want the clerk to scan the expedited labels; sometimes I need stamps or usually I just need to purchase something in the drugstore.  The parcels I was referring to (which the manager said had decreased) have also physically been dropped off by other sellers in the neighbourhood.  So the manager (who also works behind the counter for full shifts) has first-hand knowledge of the number of parcels being dropped off.  I live in a highly populated area -- lots of apartment blocks -- and the mailbox in the strip mall where the postal outlet is located is usually full.  It's difficult to throw in a dozen or more letters, let alone parcels.  So we've all gotten in the habit of dropping them off personally.  And it's a friendly place to meet and visit. Why your local manager thinks his business has dropped that much is a mystery to me. Well, he really doesn't think that, he knows for certain how many parcels used to go through his outlet. 

  • Have Comments about Windows 7? (Part 4 - Do not post questions in this thread)

    To all forum users:
    Please use this thread to note any comments that you have about Windows 7. Do not use this thread for any specific question or issue that you are having - it is just for comments or feedback. For questions/issues that require an answer, create a new thread.
    PLEASE DO NOT USE THIS THREAD TO DISCUSS WINDOWS 7 BETA OR WINDOWS 7 RC.
    This thread is a continuation from Have Comments about Windows 7? (Part 3).Windows Client IT Pro Audience Manager for Web Forums

    Here are important Windows 7 missing/broken features which were working in XP and some were working even in the broken Vista OS. I have tried since 2006 to bring these to the attention of various Windows feature teams through their blogs,
    forums, newsgroups, Windows 7 Beta program on Connect, Windows Feedback Program, newly opened Windows 7 feedback website and even asked customer service for hotfixes but all of them have been largely ignored. How many more years, service packs and
    Windows releases is it going to take to fix XP to Vista issues?
    XP to Vista issues:
    - Shell/Explorer issue: Auto refresh / auto sorting is mandatory making it impossibly difficult to work with many files, especially when they are extracted from archives.
    - Shell/Explorer issue: Can't view size of folders in columns. Previously at least a shell extension called "Folder size" allow that but MS took away the core ability to be able to do that so the shell extension doesn't work any more
    - Shell/Explorer issue: Can't view the icons of 16-bit programs in 32-bit Windows 7 (I know 16-bit is stone age but if they can run, why not show the icons of those EXEs as well?). I can understand 64-bit Windows not showing icons for 16-bit EXEs but 32-bit
    Windows 7 should.
    - Shell/Explorer issue: No advanced file type association settings like Windows XP
    - Shell/Explorer issue: Access to network connection settings (IP address, DNS) status, details, repair, enable/disable is too many clicks away. Of course I can create a shortcut but if I have 2 wireless connections and 2 ethernet, I don't want to create 4
    shortcuts. Earlier XP allowed quick access to these settings depending on which connection was active.
    - Logon issue: I have set my system to auto logon but there are times when I want to log on to a different account, but there's no way in Windows 7 to stop the auto logon from happening. Previously in XP, holding down Shift prevented auto logon so you could
    switch to another user account. Or maybe Windows should have some timer at logon (like it has at startup) to wait for x number of seconds after which it should auto logon
    - Audio issue: I can't hear audio simultaneously from my headphones and from my speakers, or output to another set of speakers installed in the other room the same audio as I am listening to in my computer room
    - Audio issue: I am a big fan of MIDI songs and MIDI music in games so I want to be able to select a better sounding MIDI synthesizer than the ordinary sounding one that Windows 7 comes with by default but I can no longer do that. XP allowed that.
    - Servicing issue: Updates cannot be installed with the progess bar shown but unattended. It's either manual or completely silent without any indication that the MSU update completed or failed.
    - Servicing issue: Can't quickly and easily slipstream hotfixes like XP could using the /integrate switch
    - Shell/Explorer issue: WinSxS takes up too much disk space and Explorer doesn't let me view the correct size (nor any other utility that I know of since no size calculation utility can handle NTFS junction points points)
    - Driver installation issue: Whenever I want to install a custom driver for my hardware, the Plug and Play wizard now first installs its own Microsoft supplied driver or fails to install the driver if it doesn't have one out of the box. Then I have to open
    Device Manager with UAC prompts and start the "Update driver wizard" to install my own driver. In XP, the "Found new hardware" wizard itself had "Have disk" functionality where I could supply the path to my driver on CD.
    - System issue: No in place reinstall of OS to replace some corrupted files. With XP, I could reinstall the OS in-place so the OS would get repaired without my settings getting lost and programs having to be installed all over again
    - System issue: No hardware profiles so I can start my laptop with certain hardware disabled (like 2 NICs-1 wireless, 1 wired), 2 sound cards) depending on what hardware I want to use
    - IIS issue: SMTP and POP3 servers gone from IIS7
    - Management issue: Offline Files can't be automated from command line like one could in XP using CscCmd.exe
    - Power management issue:USB devices don't power off upon "safely removing". Data transfer stops but Windows 7 continues to supply power to USB devices
    - Power management issue: There is no progress bar when hibernating, the screen just turns black
    - Power management issue: Hardware power button can't be set to "Ask me what to do" every single time
    Vista to Windows 7 issues:
    - Shell/Explorer issue: Can't run 32-bit Explorer.exe in 64-bit Windows 7. Vista and XP x64 allowed that. Not all of my shell extensions are 64-bit.
    - Shell/Explorer issue: There used to be a sort bar with column headers for every view in Windows Explorer in Vista. In Windows 7, only details view has it.
    - Shell/Explorer issue: Windows Explorer doesn't remember toolbar positions so I can't unlock toolbars, rearrange them and lock them again. Every time I start Windows Explorer, each toolbar is forced on its own line.
    - Shell/Explorer issue: Auto arrange and Align to Grid in icon views is always on so I can't drag a few files away from a group if I want to work only with them.
    - Shell/Explorer issue: Old Vista style dialog boxes which use the ListView control still have the annoying full row selection in List view which makes it difficult to click in an empty area without making a file get selected. The new Windows 7 style dialogs
    and Windows Explorer doesn't have this annoying issue thankfully though
    - Shell/Explorer issue: If I select files then if I do an Edit menu -> Sort, they get deselected. I have to select them all over again.
    - Shell/Explorer issue: I can't set a background JPEG for folders any more
    - Taskbar issue: Clicking a grouped application's taskbar button or thumbnail when it is active (in the foreground) does not minimize it like it used to happen in XP. Only ungrouped application buttons minimize upon being clicked again. Another feature MS
    probably forgot with grouping.
    - Taskbar issue: Number of combined taskbar windows is not shown on the taskbar
    - Taskbar issue: I can't select taskbar buttons with Ctrl+click and then selectively group maximize or group close
    - Shell/Explorer issue: Advanced Query Syntax for searching has to be remembered. No advanced search GUI so search become easy like Vista
    - Shell/Explorer issue: Game Explorer doesn't allow customizing game shortcuts. Many times I have to add switches to game shortcuts for compatiblity or resolution, it's so annoying!
    - Taskbar issue: No network activity indicator.
    - Shell/Explorer issue: In Windows Explorer, when you group items by category, I can longer Ctrl click on group headers to select entire group. Could do that in Vista.
    - Power management issue: All three power plans (especially combination of Power Saver and High Performance) aren't shown from taskbar's power icons.
    - Missing tool: No equivalent to Meeting Space or NetMeeting which was very useful for screen sharing and conferencing over LAN without internet access
    It's no use whatsoever giving any kind of feedback or comments as I don't see the results of my feedback in service packs or hotfixes. Windows 7 is a wonderful but broken OS. Last non-broken with all functionality intact and working as intended was WinXP.
    Anonymuos

  • I Bought lightroom 5 online and for lizensation my seriesnummer  is named as Aktiualisierungsnummer and i was asked for a series number of a previous version. I never had one, when I bought the lr5 version there was no comment about having a previous vers

    I bought lightroom 5 online and for licensation my seriesnummer  was named as Aktiualisierungsnummer and i was asked for a series number of a previous version. I never had one, when I bought the lr5 version there was no comment about having a previous version. How can I get my version licensed

    Babowa
    Thank you for your prompt reply.  I have bought 1 MacbookPor 17, 1 Macbook air, 1 MacbookPro 15 , 2 ipads, 3 iphones, and this iMac27 and 2 of iMAC24 or 20 not sure   but I do not recall ever doing what you are telling me in your reply.   When you get a extended car warranty, you don't   sign up for it.. it is just there and is included in the sale.   You don't buy this warranty to use it.. You buy it, in case something happens.   Here a perfect iMAC with minimum 100 hour useage has a dead drive.  That is not normal and I should not have to even be requesting anything since most MFG offer a 3-5 year warranty on their disc drives and I believe that is probably passed on to Apple regardless if an extended warranty is purchased or not.   Customer service dictates a more flexible approach to make sure the lifetime value of a customer is not lost due to some misunderstanding.
    I was in the MacStore that I purchased the unit..and they found and pulled the invoice and confirmed
    the purchase of it in front of me.  I had paid with credit card and fortunately it was there in their system.   I do not also recall recieving any box or paper although most everything I ever get remains sealed.. I am not in the habit of opening anything since I have never encountered any serious issues before.
       I have used my Macbookpro warranty 1 time  and that is all throughout the years I have been investing in Apple equipment.
    I just recieved a letter from the store asking me to get the paper to them so they can register it... I don't recall getting any paper actually.  But I do have several boxes sealed here..  On this iMAC27, it was a hurry up and get it done thing and I don't remember taking anything extra with it.   Regardless,  my request does not seem unreasonable.
    Thank you

  • My sudoku program, any comments, improvements appreciated

    Hi all,
    So I've been refining my amateur-ish programming skills for around a month, and have been writing a C++ program that solves sudoku. (My background is in physics.) I realize there are a lot of mathematical sides in sudoku, but I'm concentrating on the programming side and not too much on the math/brain side. Now the program is basically finished (I hope!) and I just thought the hackers here can have a look and see if there are any things I can improve.
    The link is here: http://ifile.it/jkr56v8/Sudoku.tar
    Basically, a sudoku is an instance of Board, an abstract base class with the pure abstract function Go(). Any concrete class derived from it is essentially a strategy. I think this design pattern is called strategy?
    I've implemented two basic strategies, BruteForce and Priority. BruteForce does the good old sudoku brute force algorithm, which use trial-and-error from the top left box to the bottom right box all possibilitiies until the correct one is found. Priority does basically the same as BruteForce, except instead of trying from top left to bottom right, it plugs numbers in the box that has the most filled "associated" boxes.
    To accommodate "composite strategies," I implemented the prototype pattern, so for example, I can write
    void HyperBF::Go(void)
    BruteForce::Go();
    When a solution is found, I throw an exception to notify the main program, am I correct in that this is a clear and elegant use? Or is it a misuse and an alternative should be considered?
    To actually choose a strategy, I created an abstract factory, a singleton. I'm aware there are all the advice out there that says don't use a singleton unless absolutely necessary? So, should I use a singleton in this case? Also, I think my implementation of the singleton leads to a bug, which is the only known bug: when I put a completed sudoku as input, it gives the output as usual, but gives a segmentation fault afterwards:
    ./Sudoku Puzzle/test_1_Basic.psv BruteForce | tail -n 12 | head -n9 | tee completed
    |5|1|8|2|9|6|7|3|4|
    |3|9|7|8|4|1|2|6|5|
    |6|4|2|5|7|3|1|9|8|
    |1|5|6|4|2|7|3|8|9|
    |4|7|9|3|6|8|5|1|2|
    |8|2|3|9|1|5|6|4|7|
    |7|8|4|1|3|2|9|5|6|
    |2|3|5|6|8|9|4|7|1|
    |9|6|1|7|5|4|8|2|3|
    ./Sudoku completed BruteForce
    Starting configuration:
    |5|1|8|2|9|6|7|3|4|
    |3|9|7|8|4|1|2|6|5|
    |6|4|2|5|7|3|1|9|8|
    |1|5|6|4|2|7|3|8|9|
    |4|7|9|3|6|8|5|1|2|
    |8|2|3|9|1|5|6|4|7|
    |7|8|4|1|3|2|9|5|6|
    |2|3|5|6|8|9|4|7|1|
    |9|6|1|7|5|4|8|2|3|
    Final configuration:
    |5|1|8|2|9|6|7|3|4|
    |3|9|7|8|4|1|2|6|5|
    |6|4|2|5|7|3|1|9|8|
    |1|5|6|4|2|7|3|8|9|
    |4|7|9|3|6|8|5|1|2|
    |8|2|3|9|1|5|6|4|7|
    |7|8|4|1|3|2|9|5|6|
    |2|3|5|6|8|9|4|7|1|
    |9|6|1|7|5|4|8|2|3|
    Number of attempts: 0.
    Time elapsed: 0.00 s.
    Segmentation fault
    So what's wrong here?
    Having implemented the basic functionalities, I tried to play around and gain some simple experience in some optimization. I looked at the Go() function and saw probably the expensive operation is IsConsistent(), so I optimized it by only checking the consistency of changed boxes. By doing so, I reduced the computational time to around 1/3 the original time. Is this the right move, or bad move, or are there better moves?
    As a last question, I defined the number of attempts as a global variable. My reason is that, although it is possible to put it in class Board, I just think it doesn't "naturally belong" there, and putting it in a restricted scope would mean a lot of passing of parameters, slowing the program down unnecessarily. So, is this global variable fine?
    Lastly, please have a look at my Makefile. This is the first Makefile I wrote, and it took me 3 solid days to get all the .o files in Release/ ! Are there things I've left out?
    I realize the Generator is a joke, but at this moment I don't care too much about that, unless anyone has some good ideas.
    Any comments would be greatly appreciated! Thanks in advance!

    Grazz256 wrote:
    Just looking over your code a little I have a couple of comments about your coding style. Please keep in mind that these are just comments...
    I think you need to comment your code more. I know its a pain and I'm horrible about it as well but it really does help when/if you go back to read your code in a couple of years.
    I try to avoid lines like these:
      fprintf( stdout, "Starting configuration:\n" ); a->Write(stdout);
      start = clock(); a->Go();
    by putting two commands on one line it makes the code harder to read. with one command on each line I can quickly scan through and know
    generally what each line does, with two I have to actually read each line fully so that I don't miss anything.
    Descriptive variable names can also help with readability, I've always been taught the convention of using the first character to indicate type then
    using a short descriptive name. For instance you have a function that returns a long value, the value would be decalred like this:
    long lRetVal;
    so looking through the code I would know thats a long value that represents a return value.
    This is an area I'm all over the place with, I always try to stick to one convention but never seem manage it...
    As far as your problem goes, where are the boards normally deleted? ie if an incomplete sudoku is inputed?
    One possible solution is to run an IsComplete check before you start processing the board. so you would have...
    if (a->IsConsistent()) {
    if (a->IsComplete()) {
    a->Go()
    I'll be honest in that I don't really understand the flow of your code, but instead of having the board deleted within strategy or within win why not just delete it on the next line... eg:
    start = clock(); a->Go();
    delete a;
    the downside to this approach is that you would have to delete it within each exception as well but this is relatively minor.
    Cheers
    Thanks for your comments. At my present level of programming skills, any comments will help.
    I thought all my code was basically concise and self-explanatory, and each function is small enough that a quick skim through the definition and declaration would be enough to understand. As the project grew, however, things got slightly more complicated. I have added more comments in my source files, trying to comment why rather than how. I thought the flow of the code was fairly obvious though, by inspecting the main loop. It takes care of the input, bark if anything's wrong, trigger a.Go(), and try to catch a Win. Do you mean the flow within Go()? Anyway, it is very true I need clearer coding style.
    Yeah I now solved the segfault problem. The reason a completed sudoku was deleted twice is because the original sudoku is meant to be deleted by the abstract factory, while the solved sudoku is meant to be deleted by Win. When a solved sudoku is inputted it would be deleted twice. Due to lack of programming experience, I failed to see the obvious way is to, as Grazz256 said, check in the beginning whether the inputted sudoku is already solved. If it is, then I duplicate the inputted sudoku and throw the win exception.
    By the way, I think I'm beginning to understand why some people are obsessed wtih optimization. I did 3 optimization techniques in my program. First, I thought the most expensive procedure is the IsConsistent() method. By evaluating it lazily I reduced the time to 1/3 the original time. Then following http://www.acm.org/crossroads/xrds1-4/ovp.html, I used initialized the 2D vector within each sudoku via constructor rather than as statements. Doing so gave a 20% time boost. Using a friend procedure while copying sudokus boost another 5%. Doing a right move and getting positive feedback through better performance can be so satisfying.
    EDIT:
    I found out there was memory leak after all, which I finally solved.
    What happens is with all my brute force algorithms I keep creating new Board's and call the Board's Go() recursively. To delete all Board's in the heap I need to have, within each Board::Go(), instead of
    Board* a = Clone(); // return new derived Board(*this);
    a->Put(x,y,'0'+k);
    a->Go();
    delete a; // if an exception is thrown this line never gets executed
    this
    Board* a = Clone();
    a->Put(x,y,'0'+k);
    try {a->Go(); }
    catch( const Win& e) {
    delete a;
    throw(e);
    delete a;
    But this deletes the winning sudoku too. This means I have to keep the result in Win, either by duplicating the winning sudoku or storing the string. In the end I overloaded Board::Write(File* f) to also have Board::Write(std::string& p) to sprintf on the reference of a string, so Win just stores the solution in string format. Finally, no memory leak, no need to do a first check to see if the inputted sudoku is already solved, and no pointer deleted twice.
    So in the end, to manage pointers I recursively threw exceptions. That made me ask, is using exceptions worth it, or should I stick to the more conventional methods, such as have Go() return a boolean value, then deleting pointers which would give an implementation that is essentially the same as recursive exceptions?
    I still think exceptions is the way to go, the reasons being:
    1) Exception mechanism provide a natural place to hold the result. Throwing exceptions recursively and the traditional way is essentially the same, but where should the result be stored in the latter case?
    2) Arguing over the dictionary, an exception is not necessarily an "error." Winning is an exception in this algorithm, because failure is the norm (as in life).
    3) Exception arguably gives better presentation in the main loop, to my "unbiased" eyes at least. Board* a->Go() is triggered in the try block in the main(), with all (foreseeable) possible results caught as exceptions. It is true that this might be a bit unconventional, but given proper comments I still think it is at least as good as the conventional way, in terms of presentation.
    So what do you think?
    Last edited by dumas (2009-12-21 12:37:47)

  • Any Comments On Tascam FireOne Audio Interface?

    I ordered a Tascam FireOne FireWire Audio Interface today after doing a fair amount of research, online reviews, website, GB discussion, etc. I also looked at Lexicon and M-Audio USB boxes, but heard that FireWire would prevent any potential latency issues and sound glitches. Since I updated to OS 10.5.3 yesterday, I am wondering if there may be a driver or any software issues.
    Is anyone here using the FireOne with GB? If so, could you post some comments about the box?
    Thanks Steve

    Well, I guess I have to respond to my own post. The Tascam FireOne arrived and I plugged it in to test it on my older iBook G4. I installed the software from the CD. The iBook is running the latest Tiger OS, I haven't had time to test it on my MacBook OS 10.5.3, but I'm sure it should be fine. So far, all is well. The box runs smooth, no latency issues, background noise, crashes, seems very stable. I went into the Audio/MIDI utility and the app picked it up immediately. I then set up the Sound Pref and the GB pref. Everything seemed fine. The Tascam is built like a tank, really heavy and solid. It has a large weighted control wheel that moves smooth as silk and various function keys that can be assigned to various tasks.
    In the bundle, they also put in Abelton LIve Lite and a BBE Sonic Maximizer Plug-In, whatever that thing does, I don't have a clue, but it lists for $129. Unfortunately the plug-in can't be installed in Intel Macs. I guess I could install it in the iBook G4, but I am only running GB ver2. I want to use the MacBook for all my digital recording projects.
    At this point, it looks like the Tascam FireOne is a good choice as an Audio/MIDI interface and a good price, $149, cheaper than some of the M-Audio USB boxes. It comes with a 6 ft, very thick well made FireWire cable, AC adapter and a few other toys. Of course the 6 pin FireWire input in the Mac self powers the box, so you don't need to run the AC.
    That's about it for now
    Steve

  • Any comments on battery backup

    any comments on battery backup, size of backup, favorite brand?

    What is your goal with battery backup? You can invest hundreds in a battery backup (UPS) system that will allow you to keep your computer running for an hour until the power turns back on, or you can invest a much smaller sum (~$100) to get a UPS system that will provide you with enough time to safely shut your system down in the event of a power failure. I chose the inexpensive solution by purchasing a 1000 VA UPS from my local discount warehouse store. I have been quite happy with it, although after about 4 years the lead acid battery wore out and required replacing.

  • Any issue about Apple Bluetooth mouse ???

    Hello there
    I was reading so many issues about the Apple Bluetooth mouse in the Apple Store page for this item.
    I was reading it because i want to change my Kensington PilotMouse for the Apple mouse. Actually i have so many issues with the PilotMouse, like the lately wake up on the sytem startup, battery eater and so many times work in slowly way.
    I don't want nothing of this with the Apple mouse and i read all of this in the feedback pages. I love the 3 buttoms from the PilotMouse but i prefer the technically "no problem way" from Apple.
    Any of you know any issue about the Apple Bluetooth mouse (before go to store for one) ???
    I have a good experience with the Apple Bluetooth keyboard (i have one), but i don't know nothing about the mouse.
    Thanks for any recommendations or comment about this item.

    Hello junihh:
    I use one myself and it has performed flawlessly. I have no other data except my personal experience.
    If you scan this forum, you will find posts about problems. Those are not representative - only people with problems post.
    Barry

Maybe you are looking for

  • Is there a way to make the background transparent ..

    ... so that i can import the rendered movie into keynote and not have black visible? Project: I have photographs that need to dissolve into each other and play like a movie. The photos are not all the same shape (horizontal, vertical and square) so t

  • Canon IR-C3100N Snow Leopard work around

    I just got this printer. Installed PPD v2.85, setup using LDP, select print from Mac and nothing come out from printer. UFR II not working on this model. Finally got it to work by installing older iR-PS v1.8.1 Canon PS driver meant for 10.5. Will not

  • How to mark the physical tables as cacheable

    Hi All, Can someone please tell me how to mark the physical tables as cacheable. Thnaks a lot

  • NWBC - new tab instead of window

    Hi, I know this question was discussed some days ago, but I come from a different angle. Not programming anything, just working using standard transaction. Of course when you come from the index page, the NWBC nicely opens a new tab for every transac

  • Punch in gets burried

    Using CS6, when I punch in to an existing track when multi track recording, then click anywhere on the original track, the punch in gets burried. How can I prevent this?