text:
{% extends "cal/includes/base.html" %}

{% load i18n messages userprofile %}

{% block right %}
  {% include "cal/includes/calendar.html" with doctor=doctor patient_user=patient_user %}
{% endblock %}

{% block container %}

{% trans 'Editar cita' %} {{ day }} {% trans "de" %} {{ mname }} {% trans "de" %} {{ year }}

          {% trans 'Volver' %}

{% if vacations %}

      {% if request.user.get_profile.is_doctor %}
        {% trans "No es posible crear una cita en un día de vacaciones." %}
      {% else %}
        {% trans "El doctor no está disponible este día." %}
      {% endif %}
      {% trans "Seleccione otro día distinto." %}

{% endif%}
  {% if request.user.get_profile.is_administrative %}

{{ doctor.get_profile|name_with_title }}

  {% endif %}
  {% if patient_user %}

{% trans "Paciente:" %} {{ patient_user.get_profile.get_full_name }}

  {% endif %}

  <form class="form-horizontal" method="post" action="{{request.path}}">{% csrf_token %}

    <fieldset>
        {% if not_available_error %}

              {% trans '¡Error!' %}
              {{ error_msg|escape }}

        {% endif %}

        {% if  form.non_field_errors  %}

              {% for error in form.non_field_errors %}
                  {% trans '¡Error!' %}
                  {{ error|escape }}
              {% endfor %}

        {% endif %}

        {% if form.app_type.errors %}

            {{form.app_type.label}}

                  {% if request.user.get_profile.is_doctor %}

                  {% endif %}

                {{ form.app_type }}

              {% for error in form.app_type.errors %}
                 {{ error|escape }}
              {% endfor %}

        {% else %}

            {{form.app_type.label}}

                {% if request.user.get_profile.is_doctor %}

                  {% endif %}

                {{ form.app_type }}

        {% endif %}

          {{form.notify.label}}

            {{ form.notify }}
             * {{  form.notify.help_text }}

        {% if form.status.errors %}

            {{form.status.label}}

              {{ form.status }}
              {% for error in form.status.errors %}
                 {{ error|escape }}
              {% endfor %}

        {% else %}

            {{form.status.label}}

              {{ form.status }}

        {% endif %}

      {% if form.date.errors %}

          {{form.date.label}}

              {{ form.date }}

            {% for error in form.date.errors %}
               {{ error|escape }}
            {% endfor %}

      {% else %}

          {{form.date.label}}

              {{ form.date }}

      {% endif %}

        {% if form.start_time.errors %}

            {{form.start_time.label}}

              {{ form.start_time }}

              {% for error in form.start_time.errors %}
                 {{ error|escape }}
              {% endfor %}

        {% else %}

            {{form.start_time.label}}

              {{ form.start_time }}

        {% endif %}

        {% if form.end_time.errors %}

            {{form.end_time.label}}

              {{ form.end_time }}

              {% for error in form.end_time.errors %}
                 {{ error|escape }}
              {% endfor %}

        {% else %}

            {{form.end_time.label}}

              {{ form.end_time }}

        {% endif %}

        {% if form.description.errors %}

            {{form.description.label}}

              {{ form.description }}
              {% for error in form.description.errors %}
                 {{ error|escape }}
              {% endfor %}

        {% else %}

            {{form.description.label}}

              {{ form.description }}

        {% endif %}

            {% trans 'Eliminar' %}

            {% trans 'Registrar pago' %}

          <button class="btn btn-large btn-primary" type="submit">

            {% trans 'Guardar cambios' %}</button>

    </fieldset>
  </form>

{% trans 'Eliminar cita' %}

{% trans 'Los cambios que va a realizar no se pueden deshacer. Si sólo desea anular la cita cambie su estado y guarde los cambios. ¿Está usted seguro de querer eliminar la cita?' %}

    {% trans 'Sí' %}
    {% trans 'No' %}

{% endblock %}

{% block jquery_init %}
  $('#id_date').change(function(){
    var date = $(this).val().split("/");
    if(date.length==3){
    {% if patient_user %}
      $('#right_bar').load("/calendar/widget/this/"+date[2]+"/"+date[1]+"/"+date[0]+"/for/{{patient_user.id}}/");
    {% else %}
      $('#right_bar').load("/calendar/widget/this/"+date[2]+"/"+date[1]+"/"+date[0]+"/for/{{doctor.id}}/");
    {% endif %}
    }
  });

  $('#id_date').datepicker({'format':'dd/mm/yyyy', weekStart:1, language: 'es'});
  $('#id_start_time').timepicker({'showMeridian': false, 'defaultTime': '{% if  form.start_time.value %}{{ form.start_time.value|time:"H:i" }}{% else %}08:00{% endif %}' });
  $('#id_end_time').timepicker({'showMeridian': false, 'defaultTime': '{{ form.end_time.value|time:"H:i" }}'});
  var app_type_container = $('#id_app_type');
  $('#id_app_type').on("change", update_end_time);
  $('#id_start_time').on("change", update_end_time);

  function update_end_time(){
    if (app_type_container.val()){
      var matches = app_type_container.find(':selected').text().match(/(\d+)/);
      var end_minutes = (parseInt($('#id_start_time').val().split(':')[1], 10)+parseInt(matches[0], 10))%60;
      var end_hour = parseInt($('#id_start_time').val().split(':')[0], 10)+Math.floor((parseInt($('#id_start_time').val().split(':')[1], 10)+parseInt(matches[0], 10))/60);
      if (end_minutes < 10){
        end_minutes='0'+end_minutes;
      }
      if (end_hour < 10){
        end_hour='0'+end_hour;
      }
      $('#id_end_time').val(end_hour+':'+end_minutes);
    }
    else {
      $('#id_end_time').removeClass('disabled');
      $('#id_end_time').val($('#id_start_time').val());
    }
  };

  $('#remove-event').live('click', function(event){
    $('#modal-screen').modal({
      'backdrop':'static',
      'keyboard':false,
    });
  });

  $('#confirm-delete').live('click', function(event){
    event.preventDefault();
    $(this).html($(this).attr('data-loadingmsg') + '');

    $(this).attr('disabled', true);
    $(this).siblings().attr('disabled', true);
    $(this).siblings().attr('data-dismiss', 'static');

    var json = { app_id: {{ event.id }}, csrfmiddlewaretoken: '{{ csrf_token }}' };

    $.ajax({
      url: '{% url cal.delete event.id %}',
      type: 'DELETE',
      dataType: 'json',
      contentType: "application/json",
      data: JSON.stringify(json),
      beforeSend: function(xhr) {
        xhr.setRequestHeader("X-CSRFToken", '{{ csrf_token }}');
      },
      processData: false,
      success:function(data) {
                if(data.action){
                  back();
                }
              },
      complete: function() {
                $('#modal-screen').modal('hide');
              }
    });

});

{% endblock %}

redpajama_set_name: RedPajamaGithub


We made this All About Me book in early January this year as a Preschool project.We were just after a long holiday in Sri Lanka to spend time with kid's grandparents.We started this year with back to school shopping in Malaysia.We ended 2017 with happy memories and kid was eagerly waiting to start his new preschool term as a kindergartner.
My kid's preschool teacher asked to prepare an 'All About Me book' as part of their learning series. Always these DIY projects are challenging for me. Once we did a paper lantern decoration project for last year Lantern Festival.It was a good DIY project for us to bond.We also made a paper plate toucan when teacher asked to create a craft using paper plates.
As a mom I try to help my kid with ideas while allowing him to do most of his projects alone. Therefore I tried finding an idea for his All About Me book with things he can do alone.
At the beginning of this year, he was 4 years old and he just started writing without help. Therefore we used pages about him with his handwriting.As he cannot write much,I used simple questions about him which answers are easy to write.
I printed few headings for the book to make it easier for the kid.
Below are some pages from this All About Me booklet which was fun in making. It was a great bonding time for both of us.
One of the pages of the booklet was filled with 'Bitter gourd stamps' which was fun to do.
At the end of the book, we also inserted few pages to show my kid's interest and ability to arts and crafts.
If you love to do DIY and art crafts with your kids, try such All About Me book. It is interesting and exciting way to spend time together.
Do you love DIY projects?Do you love Arts and crafts?How do you spend time with your kids together?Please share your thoughts below.
It is September school holidays in Singapore. Although it is a short holiday, keeping the kid busy without getting bored is not so easy. While I plan different activities to engage him during the day time, here are some of the ideas which we did before. These can be helpful for you if you look for activities to do with a preschooler. Even these activities are good for toddlers to keep them happy!
This is a noisy idea. But my kid loves to have a balloon drum whenever there is a burst balloon skin. To make this drum, you don't need many skills. Just wrap the balloon skin over a cup or an empty tin using a rubber band. Your kid will have a new toy to enjoy at least for few hours!
Recycling is a great cause to teach the kids from their younger age. By having a recycling bin at home, they will learn the value of recycling and treasure the earth. We made a recycling bin using an empty cardboard box. It was a lovely idea and my kid knows that we can recycle certain items.
Kids don't want a special reason to party! I know that with experience of my kid. These days he loves pretend playing. So, a party hat is an easy way to help him to play with his toys creating a pretend party at home.
Check this easy DIY party hat. You will only need some colour papers and a band only!
Above are really simple and easy projects to do with a kid. I am sure you will have great time with your kid if you try these fun projects!


text:
Coastalwarming
Regina Cunha, Jorge Assis, Celine Madeira, Rui Seabra, Fernando P. Lima, Evandro Lopes, Suzanne Williams and Rita Castilho (2017). Drivers of archipelagic endemism in keyhole limpets. Scientific Reports, 7:41817. doi:10.1038/srep41817 PDF
Ana Tavares, Maria P. Cabezas, Raquel Xavier, Madalena Branco, Fernando P. Lima, Rui Seabra, Pedro Ribeiro, Evandro Lopes, António M. Santos. Phylogeography and phylogeny of the genus Acanthonyx (Decapoda, Epialtidae) in the north-east Atlantic and Mediterranean (2017). Zoologica Scripta, 00:00-00. doi: 10.1111/zsc.12232 PDF
Celia Olabarria, Ignacio Gestoso, Fernando P. Lima, Elsa Vázquez, Luc Comeau, Filipa Gomes, Rui Seabra and José M.F. Babarro (2016). Response of two mytilids to a heat wave: the complex interplay of physiology, behaviour and ecological interactions. PLoS ONE, 11: e0164330. doi:10.1371/journal.pone.0164330 PDF
Justin H Baumann, Joseph E Townsend, Travis A Courtney, Hannah E Aichelman, Sarah W Davies, Fernando P. Lima and Karl D Castillo (2016). Temperature Regimes Impact Coral Assemblages along Environmental Gradients on Lagoonal Reefs in Belize. PLoS ONE, 11: e0162098. doi: 10.1371/journal.pone.0162098 PDF
Rui Seabra, David S. Wethey, António M. Santos, Filipa Gomes and Fernando P. Lima (2016). Equatorial range limits of an intertidal ectotherm are more linked to water than air temperature. Global Change Biology, 22:3320-3331. doi: 10.1111/gcb.13321 PDF
Coraline Chapperon, Nils Volkenborn, Jacques Clavier, Sarah Séité, Rui Seabra and Fernando P. Lima (2016). Exposure to solar radiation drives organismal vulnerability to climate: evidence from an intertidal limpet. Journal of Thermal Biology, 57:92-100. doi: 10.1016/j.jtherbio.2016.03.002 PDF
Benny K. K. Chan, Fernando P. Lima, Gray A. Williams, Rui Seabra and Hui-Yu Wang (2016). A simplified biomimetic temperature logger for recording intertidal barnacle body temperatures. Limnology & Oceanography: Methods, 14:448-455. doi: 10.1002/lom3.10103 PDF
Fernando P. Lima, Filipa Gomes, Rui Seabra, David S. Wethey, Inês Seabra, Teresa Cruz, António M. Santos and Thomas J. Hilbish (2016). Loss of thermal refugia near equatorial range limits. Global Change Biology, 22:254-263. doi: 0.1111/gcb.13115 PDF
Nuno Queiroz, Nicolas E. Humphries, Gonzalo Mucientes, Neil Hammerschlag, Fernando P. Lima, Kylie Scales, Peter Miller, Lara L. Sousa, Rui Seabra and David W. Sims (2016). Ocean-wide tracking of pelagic shark interactions with longline fishing vessels reveals persistent exploitation hotspots. PNAS, 113:1582-1587. doi: 10.1073/pnas.1510090113 PDF
Rui Seabra, David S. Wethey, António M. Santos and Fernando P. Lima (2015) Understanding complex biogeographic responses to climate change. Scientific Reports, 5:12930. doi: 10.1038/srep12930 PDF
Miguel Gandra, Rui Seabra and Fernando P. Lima (2015) A low-cost, versatile data logging system for ecological applications. Limnology and Oceanography: Methods, 13:115-126. doi: 10.1002/lom3.10012 PDF
Regina Cunha, Fernando P. Lima, Manuel Tenorio, Ana Ramos, Rita Castilho and Suzanne Williams (2014). Evolution at a Different Pace: Distinctive Phylogenetic Patterns of Cone Snails from Two Ancient Oceanic Archipelagos. Systematic Biology, 63:971-87. doi: 10.1093/sysbio/syu059 PDF
Gonçalo Silva, Fernando P. Lima, Paulo Martel and Rita Castilho (2014). Thermal adaptation and clinal mtDNA variation of European anchovy. Proceedings of the Royal Society B: Biological Sciences, 281. doi: 10.1098/rspb.2014.1093 PDF
Brian Helmuth, Bayden Russell, Sean Connell, Yunwei Dong, Christopher D.G. Harley, Fernando P. Lima, Gianluca Sarà, Gray Williams and Nova Mieszkowska (2014). Beyond long-term averages: Making biological sense of a rapidly changing world. Climate Change Responses, 1:10-20. doi: 10.1186/s40665-014-0005-1 PDF
Nicholas P. Burnett, Rui Seabra, Maurizio de Pirro, David S. Wethey, Sarah Woodin, Brian Helmuth, Mackenzie L. Zippay, Gianluca Sarà, Cristián Monaco and Fernando P. Lima (2013). An improved noninvasive method for measuring heartbeat of intertidal animals. Limnology and Oceanography: Methods, 11:91-100. doi:10.4319/lom.2013.11.91 PDF
Lara L. Sousa, Rui Seabra, David S. Wethey, Raquel Xavier, Nuno Queiroz, Saliha Zenboudji, and Fernando P. Lima (2012). Fate of a climate-driven colonization: demography of newly established populations of the limpet Patella rustica Linnaeus, 1758, in northern Portugal. Journal of Experimental Marine Biology and Ecology, 438:68-75. doi:10.1016/j.jembe.2012.09.005 PDF
Karl D. Castillo, Justin B. Ries, Jack M. Weiss and Fernando P. Lima (2012). Decline of forereef corals in response to recent warming linked to history of thermal exposure. Nature Climate Change, 2:756-760. doi:10.1038/nclimate1577. PDF
Fernando P. Lima and David S. Wethey (2012). Three decades of high-resolution coastal sea surface temperatures reveal more than warming. Nature Communications, 3:704. doi:10.1038/ncomms1713. PDF
Thomas J. Hilbish, Fernando P. Lima, Pamela M. Brannock, Elisabeth Fly, Rhiannon L. Rognstad and David S. Wethey (2012). Change and stasis in marine hybrid zones in response to climate warming. Journal of Biogeography, 39:676-687. doi:10.1111/j.1365-2699.2011.02633.x. PDF
Raquel Xavier, Saliha Zenboudji, Fernando P. Lima, James Harris, António M. Santos and Madalena Branco (2011). Phylogeography of the marine isopod Stenosoma nadejda(Rezig, 1989) ) in North African Atlantic and western Mediterranean coasts reveals complex differentiation patterns and a new species. Biological Journal of the Linnean Society,104:419-431. doi:10.1111/j.1095-8312.2011.01718.x. PDF
Fernando P. Lima, Nicholas P. Burnett, Brian Helmuth, Kyle Aveni-Deforge, Nicole Kish and David S. Wethey (2011). Monitoring the intertidal environment with bio-mimetic devices. George, Anne (Ed.), Biomimetic Based Applications. InTech. ISBN:978-953-307-195-4. PDF
Rui Seabra, David S. Wethey, António M. Santos and Fernando P. Lima (2011). Side matters: microhabitat influence on intertidal heat stress over a large geographical scale. Journal of Experimental Marine Biology and Ecology, 400:200-208. doi:10.1016/j.jembe.2011.02.010. PDF
David S. Wethey, Sarah A. Woodin, Thomas J. Hilbish, Sierra J. Jones, Fernando P. Lima and Pamela M. Brannock (2011). Response of Intertidal Populations to Climate: Effects of Extreme Events versus Long Term Change. Journal of Experimental Marine Biology and Ecology, 400:132-144. doi:10.1016/j.jembe.2011.02.008. PDF
Fernando P. Lima (2010). Biogeography of Intertidal Species Along the Portuguese Rocky Coast. Lambert Academic Publishing. ISBN:978-3-8433-7903-8.
Sierra J. Jones, Fernando P. Lima and David S. Wethey (2010). Rising environmental temperatures and biogeography: poleward range contraction of the blue mussel Mytilus edulis L. in the western Atlantic. Journal of Biogeography, 37:2243-2259. doi:10.1111/j.1365-2699.2010.02386.x. PDF
Raquel Xavier, Fernando P. Lima and António M. Santos (2010). Forecasting the poleward range expansion of an intertidal species driven by climate alterations. Scientia Marina, 74:669-676. doi:10.3989/scimar.2010.74n4669. PDF
Karl D. Castillo and Fernando P. Lima (2010). Comparison of in situ and satellite-derived (MODIS-Aqua/Terra) methods for assessing temperatures on coral reefs. Limnology and Oceanography: Methods, 8:107-117. doi:10.4319/lom.2010.8.0107. PDF
Sarah K. Berke, Andrew R. Mahon, Fernando P. Lima, Kenneth M. Halanych, David S. Wethey and Sarah A. Woodin (2010). Range shifts and species diversity in marine ecosystem engineers: patterns and predictions for European sedimentary habitats. Global Ecology and Biogeography,19: 223-232. doi:10.1111/j.1466-8238.2009.00509.x. PDF
Fernando P. Lima and David S. Wethey (2009). Robolimpets: measuring intertidal body temperatures using biomimetic loggers. Limnology and Oceanography: Methods, 7:347-353. doi:10.4319/lom.2009.7.347. PDF
Raquel Xavier, António M. Santos, Fernando P. Lima and Madalena Branco (2009). Invasion or invisibility: using genetic and distributional data to investigate the alien or indigenous status of the Atlantic populations of the peracarid isopod, Stenosoma nadejda (Rezig, 1989). Molecular Ecology, 18:3283–3290. doi:10.1111/j.1365-294X.2009.04260.x. PDF
David W. Sims, Nuno Queiroz, Nicolas E. Humphries, Fernando P. Lima and Graeme C. Hays (2009). Long-term GPS tracking of ocean sunfish Mola mola offers a new direction in fish monitoring. PLoS ONE, 4:e7351. doi:10.1371/journal.pone.0007351. PDF
Fernando P. Lima, Nuno Queiroz, Pedro A. Ribeiro, Raquel Xavier, Stephen J. Hawkins and António M. Santos (2008). First record of Halidrys siliquosa (Linnaeus) Lyngbye in the Portuguese coast: counter-intuitive range expansion? Marine Biodiversity Records, 2. doi:10.1017/S1755267208000018. PDF
Fernando P. Lima, Pedro A. Ribeiro, Nuno Queiroz, Stephen J. Hawkins and António M. Santos (2007). Do distributional shifts of northern and southern species of algae match the warming pattern? Global Change Biology, 13:2592–2604. doi:10.1111/j.1365-2486.2007.01451.x. PDF
Fernando P. Lima, Pedro A. Ribeiro, Nuno Queiroz, Raquel Xavier, Pedro Tarroso, Stephen J. Hawkins and António M. Santos (2007). Modelling past and present geographical distribution of the marine gastropod Patella rustica as a tool for exploring responses to environmental change. Global Change Biology, 13:2065–2077. doi:10.1111/j.1365-2486.2007.01424.x. PDF
Fernando P. Lima, Nuno Queiroz, Pedro A. Ribeiro, Stephen J.Hawkins and António M. Santos (2006). Recent changes in the distribution of a marine gastropod, Patella rustica Linnaeus, 1758, and their relationship to unusual climatic events. Journal of Biogeography, 33:812–822. doi:10.1111/j.1365-2699.2006.01457.x. PDF
Sílvia G. Pereira, Fernando P. Lima, Nuno Queiroz, Pedro A. Ribeiro and António M. Santos (2006). Biogeographic patterns of intertidal macroinvertebrates and their association with macroalgae distribution along the Portuguese coast. Hydrobiologia, 555:185–192. doi:10.1007/s10750-005-1115-3. PDF
Nuno Queiroz, Fernando P. Lima, Pedro A. Ribeiro, Sílvia G. Pereira and António M. Santos (2006). Using asymmetrical designs for environmental impact assessment of unplanned disturbances. Hydrobiologia, 555:223–227. doi:10.1007/s10750-005-1118-0. PDF
Nuno Queiroz, Fernando P. Lima, Anabela Maia, Pedro A. Ribeiro, João P. Correia and António M. Santos (2005). Movement of blue shark, Prionace glauca, in the north-east Atlantic based on mark–recapture data. Journal of the Marine Biological Association of the UK, 85:1107-1112. doi:10.1017/S0025315405012154. PDF
Copyright coastalwarming.com

redpajama_set_name: RedPajamaCommonCrawl


text:
Title: Richard Maurice Bucke to Walt Whitman, 19 June 1890
Contributors to digital file: Blake Bronson-Bartlett, Ian Faith, and Stephanie Blalock
Cite this page: "Richard Maurice Bucke to Walt Whitman, 19 June 1890." The Walt Whitman Archive. Gen. ed. Matt Cohen, Ed Folsom, and Kenneth M. Price. Accessed 15 January 2021. <http://www.whitmanarchive.org>.
London, Ont.,1
I am now fairly settled down here for the summer, have pretty well caught up with my work and am looking forward to a pleasant summer. The weather lately is heavenly—just pleasant temperature, pure blue sky with a white cloud floating here and there, a cool fresh breeze blowing. The syringas are coming out and the first roses are showing in the rosebeds. It is the cream of the year and the place has never been quite so beautiful before. If you could only be here for a month! I think I told you that Mrs O'Connor2 gave me a copy of Harrington3—I have read it with the deepest interest—the book shows immense ability but what interested me more than the story was to trace O'Connor4 as he then was in the background of the narrative. I was greatly interested to see that even in '60 he knew his L. of G. He must have had it almost or quite from the first (from '55).
At the back of the book (Harrington) the Thayer & Eldridge5 L. of G. ('60) is advertised, and below another book, by same author, is announced, viz: "Banner at Daybreak."6 Your idea at that time seems to have been to print successive books in the way of the usual writer.
Have just received a letter from my brother Eustace7 of Ottawa containing this comical passage "I was told by a lady here last Sunday that Walt Whitman was living with his wife in a wretched hovel in the States in great poverty and neglect—she supposes that as soon as he is dead they will raise a great monument to him, and spend thousands of dollars on a grand funeral" Eustace laughed at the good lady and relieved her mind upon some of the above points.
Have you written that Preface yet for O'C.'s stories?8
1. This letter is addressed: Walt Whitman | 328 Mickle Street | Camden | New Jersey U.S.A. It is postmarked: London | PM | JU 19 | 90 | Canada; Camden, N.J. | JUL | 20 | [illegible]M | 1890 Rec'd. [back]
2. Ellen M. "Nelly" O'Connor was the wife of William D. O'Connor (1832–1889), one of Whitman's staunchest defenders. Before marrying William, Ellen Tarr was active in the antislavery and women's rights movements as a contributor to the Liberator and to a women's rights newspaper Una. Whitman dined with the O'Connors frequently during his Washington years. Though Whitman and William O'Connor would temporarily break off their friendship in late 1872 over Reconstruction policies with regard to emancipated black citizens, Ellen would remain friendly with Whitman. The correspondence between Whitman and Ellen is almost as voluminous as the poet's correspondence with William. For more on Whitman's relationship with the O'Connors, see Dashae E. Lott, "O'Connor, William Douglas [1832–1889]," Walt Whitman: An Encyclopedia, ed. J.R. LeMaster and Donald D. Kummings (New York: Garland Publishing, 1998). [back]
3. William D. O'Connor's abolitionist novel Harrington: A Story of True Love (Thayer & Eldridge, 1860) was his only novel. Thayer & Eldridge published the novel the same year that they published Whitman's 1860, third edition of Leaves of Grass. [back]
4. William Douglas O'Connor (1832–1889) was the author of the grand and grandiloquent Whitman pamphlet "The Good Gray Poet," published in 1866 (a digital version of the pamphlet is available at "The Good Gray Poet: A Vindication"). For more on Whitman's relationship with O'Connor, see Deshae E. Lott, "O'Connor, William Douglas (1832–1889)," Walt Whitman: An Encyclopedia, ed. J.R. LeMaster and Donald D. Kummings (New York: Garland Publishing, 1998). [back]
5. Thayer and Eldridge was a Boston publishing firm responsible for the third edition of Walt Whitman's Leaves of Grass (1860). For more on Whitman's relationship with Thayer and Eldridge see "Thayer, William Wilde [1829–1896] and Charles W. Eldridge [1837–1903]." [back]
6. Whitman had sent Thayer and Eldridge the text for a full-page announcement of his proposed new volume of poetry,The Banner At Day-Break (though the book was never published). The advertisement discussed here appears at the back of William Douglas O'Connor's Harrington and describes The Banner At Day-Break as "a handsome volume of about 200 pages," including the new poems "Banner At Day-Break," "Washington's First Battle," "Errand-Bearers," "Pictures," "Quadrel," "The Ox-Tamer," "Poemet," "Mannahatta," "The Days," and "Sonnets," plus a "supplement containing criticism." (For a discussion of Whitman's plans for The Banner At Day-Break, see Ted Genoways, Walt Whitman and the Civil War [University of California Press, 2009], 77–103.) [back]
7. Philip Eustace Bucke (b. 1831). His occupation is unknown, but according to Seaborn's "Genealogy of the Bucke family" (MS) Philip Eustace "Left home when 16 . . . crossed ocean 92 times . . . Retired at 55—spent rest of time in making rods & flies." [back]
8. Three of O'Connor's stories with a preface by Whitman were published in Three Tales: The Ghost, The Brazen Android, The Carpenter (Boston and New York: Houghton, Mifflin & Co., 1892). The preface was included in Good-Bye My Fancy (Philadelphia: David McKay, 1891), 51–53. [back]


A data processing method executed by a computer, the data processing method including specifying a first region range among from a data table, a first region range including a plurality of numerical value regions which are continuously disposed in a first direction, a plurality of numerical values in the plurality of numerical value regions having a relationship with a specified numerical value in an adjacent region, specifying a second region range, the second region range being specified by shifting the first region range in a second direction, the second region range including at least one character string region and at least one blank region, associating a character string in the at least one character string region and the plurality of numerical values, and outputting data that indicates an association between the character string in the at least one character string region and the plurality of numerical values.
20050119767 Configuration application for building automation June, 2005 Kiwimagi et al.
20090319595 Presence Mapping December, 2009 Millmore et al.
20080010591 Web forms creation and reporting tool January, 2008 Good et al.
20090099934 METHOD AND SOFTWARE FOR DISPLAYING ADVERTISEMENTS ON A WEB PAGE April, 2009 Lee et al.
20090150760 CREATING PUBLICATIONS USING GAME-BASED MEDIA CONTENT June, 2009 Winkler et al.
20080092193 Methods and systems for creating video files for a mobile device April, 2008 Lee et al.
20090263773 BREATHING EXERCISE APPARATUS AND METHOD October, 2009 Kotlyar et al.
20080059896 Mobile Device User Interface March, 2008 Anderson et al.
1. A data processing method executed by a computer, the data processing method comprising: specifying a first region range among from a data table including a plurality of input regions arranged in a first direction and a second direction, a first region range including a plurality of numerical value regions which are continuously disposed in the first direction, each of the plurality of numerical value regions being an input region in which a numerical value is input, a plurality of numerical values in the plurality of numerical value regions having a relationship with a specified numerical value in an adjacent region adjacent to the first region range in the first direction, the relationship including a difference between a value that indicates a result of a calculation using the plurality of numerical values and the specified numerical value is equal to or less than a predetermined value; specifying a second region range among from the data table, the second region range being specified by shifting the first region range in the second direction, the second region range including at least one character string region and at least one blank region, the string region being an input region in which a character string is input, the blank region being an input region where any value is not input; associating a character string in the at least one character string region included in the second region range and the plurality of numerical values; and outputting data that indicates an association between the character string in the at least one character string region and the plurality of numerical values created by the associating.
2. The data processing method according to claim 1, wherein the result of the calculation being a sum of the plurality of numerical values or a product of the plurality of numerical values; and wherein the first region range being specified by solving a subset sum problem or a subset product problem for the plurality of input regions in the data table.
3. The data processing method according to claim 2, wherein the first region range being specified by fixing the adjacent region sequentially and by using a binary search.
4. The data processing method according to claim 2, wherein the first region range being specified by deleting the specified first input range in the data table and repeating a processing of the specifying until the first input regions is no longer specified.
5. A non-transitory computer-readable storage medium storing a data processing program that causes a computer to execute a process comprising: specifying a first region range among from a data table including a plurality of input regions arranged in a first direction and a second direction, a first region range including a plurality of numerical value regions which are continuously disposed in the first direction, each of the plurality of numerical value regions being an input region in which a numerical value is input, a plurality of numerical values in the plurality of numerical value regions having a relationship with a specified numerical value in an adjacent region adjacent to the first region range in the first direction, the relationship including a difference between a value that indicates a result of a calculation using the plurality of numerical values and the specified numerical value is equal to or less than a predetermined value; specifying a second region range among from the data table, the second region range being specified by shifting the first region range in the second direction, the second region range including at least one character string region and at least one blank region, the string region being an input region in which a character string is input, the blank region being an input region where any value is not input; associating a character string in the at least one character string region included in the second region range and the plurality of numerical values; and outputting data that indicates an association between the character string in the at least one character string region and the plurality of numerical values created by the associating.
6. A data processing device comprising: a memory; and a processor coupled to the memory and the processor configured to: specify a first region range among from a data table including a plurality of input regions arranged in a first direction and a second direction, a first region range including a plurality of numerical value regions which are continuously disposed in the first direction, each of the plurality of numerical value regions being an input region in which a numerical value is input, a plurality of numerical values in the plurality of numerical value regions having a relationship with a specified numerical value in an adjacent region adjacent to the first region range in the first direction, the relationship including a difference between a value that indicates a result of a calculation using the plurality of numerical values and the specified numerical value is equal to or less than a predetermined value; specify a second region range among from the data table, the second region range being specified by shifting the first region range in the second direction, the second region range including at least one character string region and at least one blank region, the string region being an input region in which a character string is input, the blank region being an input region where any value is not input; associate a character string in the at least one character string region included in the second region range and the plurality of numerical values; and output data that indicates an association between the character string in the at least one character string region and the plurality of numerical values created by the associating.
This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2015-158512, filed on Aug. 10, 2015, the entire contents of which are incorporated herein by reference.
The embodiment discussed herein is related to a data processing method, a non-transitory computer-readable storage medium, and an information processing device.
An attempt to spread the use of open data which makes it possible for a third party to reuse the information held by the country or companies has become a trend. It is expected that, by combining a variety of information such as linked data, it becomes possible to perform sophisticated search and analysis which have been impossible to be performed by the existing technique. The disclosed data sometimes has a format which is easily subjected to machine processing, such as resource description framework (RDF), and sometimes has a format which is not easily subjected to machine processing (the format whose design of a correspondence between a numerical value and an attribute is not strict enough), such as Excel data or comma-separated values (CSV). What will become important in the future is how to convert efficiently such numerical tabular data into a format which is easily processed.
FIG. 1 is a diagram depicting an example of the numerical tabular data and includes numerical portion data in which numerical values are set and attribute portion data in which character strings (text) are set. In this example, in a left part (a left-hand direction) and an upper part (an upper direction) of the numerical portion data, the attribute portion data is provided. Depending on the numerical tabular data, the attribute portion data is sometimes present in only one of the left part and the upper part of the numerical portion data.
FIG. 2 indicates that, in the numerical tabular data depicted in FIG. 1, a numerical value "37,825,636" surrounded with a thick frame is related to an attribute "cash benefits" in the left part and an attribute "FY 2005 (Heisei 17)" in the upper part.
FIG. 3 indicates that, in the numerical tabular data depicted in FIG. 1, attributes surrounded with a thick frame include an unexplicit hierarchical structure. That is, although it is implicitly indicated that attributes such as "retirement pensions" hold subordinate positions to "cash benefits" in the thick frame because the heads of the characters of these attributes are shifted, it is not impossible to determine a hierarchical structure clearly. If a person who understands the meaning of the attributes such as "cash benefits" and "retirement pensions" views this numerical tabular data, the person is able to understand a hierarchical structure; however, it is difficult to perform accurate processing if processing is performed mechanically.
FIG. 4 indicates that there is a sum input-output relation among numerical values corresponding to the attributes in the thick frame described in FIG. 3. That is, a numerical value "37,188,028" corresponding to "cash benefits" is the sum of numerical values "36,724,189" to "61,174" corresponding to "retirement pensions" to "other cash benefits". Incidentally, depending on the numerical tabular data, there is sometimes a product input-output relation instead of a sum input-output relation.
FIG. 5 is an example of attribute labeling performed by appropriately recognizing a hierarchical structure of the attributes "I Elderly people" to "other cash benefits" surrounded with a thick frame in the numerical tabular data depicted in FIG. 1, and it is desired that such attribute labeling is performed automatically.
Hereinafter, a method of existing automatic attribute labeling will be described. Incidentally, the following description deals with a case in which input regions (cells) of numerical values spread in a horizontal direction and attributes are disposed in an upper part, but the same applies to a case in which the input regions of numerical values spread in a vertical direction and the attributes are disposed in a left part. Moreover, the following description deals with a case in which there is a sum input-output relation among numerical values in the input regions, but the same applies to a case in which there is a product input-output relation among numerical values in the input regions.
FIG. 6 is a diagram depicting an example of the existing attribute labeling and depicts an example in which, as numerical tabular data which is input, the "total number" and the numbers of "deaths" and "injuries" of each of "traffic accidents" and "water accidents" are indicated.
In the past, a person who performs processing has set an attribute labeling pattern such as "A cell located immediately above a certain cell is treated as a master label. If the cell located immediately above the certain cell is blank, a non-blank cell which is located on the left-hand side of the cell located immediately above the certain cell and is closest thereto is treated as a master label. If there are a plurality of stages, processing is performed recursively from a lower stage for each row of an upper stage." for such numerical tabular data in an information processing device and made the information processing device perform labeling automatically. For example, as for a label "total number" on the left end of the numerical tabular data, a label "traffic accidents" located immediately above the label "total number" is treated as a master label, and the label "total number" is regarded as a label having a hierarchical structure "traffic accidents-total number". As for a label "deaths" next to the label "total number", since a cell located immediately above the label "deaths" is blank, the label "traffic accidents" which is located on the left-hand side of the cell located immediately above the label "deaths" and is closest thereto is treated as a master label, and the label "deaths" is regarded as a label having a hierarchical structure "traffic accidents-deaths". The same goes for the other labels. In this example, labeling accurately reflecting a hierarchical structure is performed.
FIG. 7 is a diagram depicting another example of the existing attribute labeling, the example in which the positions of "traffic accidents" and "water accidents" of the numerical tabular data which is input are shifted to the right by one cell as compared to the positions in FIG. 6. As a material which humans view, this style is not an unnatural one; in this style, "traffic accidents" and "water accidents" are displayed in the middle of a group of "total number", "deaths", and "injuries".
In this case, if the same attribute labeling pattern as the attribute labeling pattern described above is applied, since another label is not present in a cell located immediately above a label "total number" located on the left end of the numerical tabular data, a cell located on a left-hand side of the cell located immediately above the label "total number", and a cell located above the cell located immediately above the label "total number", the label "total number", which is supposed to be labeled as "traffic accidents-total number", is incorrectly labeled simply as "total number". Moreover, as for "total number" belonging to "water accidents", "traffic accidents" which is located on the left-hand side of the blank cell located immediately above this "total number" and is closest thereto is treated as a master label, and this "total number", which is supposed to be labeled as "water accidents-total number", is incorrectly labeled as "traffic accidents-total number".
FIG. 8 is a diagram depicting another example of the existing attribute labeling, the example in which, as numerical tabular data which is input, on the left-hand side of the data depicted in FIG. 6, "total number", "deaths", and "injuries" related to "earthquakes" and "tsunamis" belonging to "disasters" and "total number" related to "disasters" are added. This example is a case in which there are a plurality of structural relations having different depths.
In this case, if the same attribute labeling pattern as the attribute labeling pattern described above is applied, for "traffic accidents" and "water accidents", "disasters" in the row located above "traffic accidents" and "water accidents" is treated as a master label, and a large number of incorrect labels with "disasters" attached thereto as a master label are undesirably generated.
On the other hand, a method of determining a hierarchical structure based on information defining the hierarchical structure of attribute values of tabular data and a method of determining a hierarchical structure based on the format or meaning of character strings in cells are disclosed (for example, see Japanese Laid-open Patent Publication No. 2013-257852, Japanese Examined Patent Application Publication No. 7-43707, and so forth).
Moreover, a method of judging whether or not cells have a master-slave relation by using indents or fonts as the amount of characteristics and extracting a combination having a tree structure is disclosed (for example, see Zen Chen and Michael Cafarella, "Automatic Web Spreadsheet Data Extraction", VLDB 2013 and so forth).
FIG. 22 is a diagram (II) depicting an example of the attribute labeling.
In order to deal with the above-described incorrect attribute labeling depicted in FIG. 7 or 8, consideration has to be given to various patterns of numerical tabular data. However, it is not easy to create an exhaustive attribute labeling pattern and creating such a pattern is undesirably costly. In particular, an attribute labeling pattern which correctly recognizes a plurality of hierarchical structures having different depths, the hierarchical structures depicted in FIG. 8, becomes complicated and cost for creating such a pattern becomes large.
On the other hand, in the method of determining a hierarchical structure based on information defining the hierarchical structure of attribute values of tabular data, the hierarchical structure of the attribute values has to be defined in advance, which makes it difficult to process a wide range of numerical tabular data of whatever field.
Moreover, the field of numerical tabular data which is processible by the method of determining a hierarchical structure based on the format or meaning of character strings in cells is limited, which makes it difficult to process a wide range of numerical tabular data of whatever field. As for the method of using indents or fonts as the amount of characteristics, it is difficult to apply this method to simple tabular data, such as CSV, with characters which are not qualified.
Hereinafter, a preferred embodiment will be described.
FIG. 9 is a diagram depicting a software configuration example of an information processing device 1 according to the embodiment. Incidentally, an example corresponding to a case in which there is a sum input-output relation among numerical values in input regions will be described, but the example is also applicable similarly to a case in which there is a product input-output relation among the numerical values in the input regions.
In FIG. 9, the information processing device 1 includes an attribute labeling pattern 11 and numerical tabular data 12 which are input data from a user (a person who performs an operation), an attribute portion/numerical portion separating unit 13, and numerical portion data 14 and attribute portion data 15 which are output data of the attribute portion/numerical portion separating unit 13. Moreover, the information processing device 1 includes a sum input-output range extracting unit 16, a sum input-output range 17 which is output data of the sum input-output range extracting unit 16, an attribute labeling unit 18, and label data 19 which is output data of the attribute labeling unit 18.
The attribute labeling pattern 11 is information used for attribute labeling which is performed by the attribute labeling unit 18. A specific example of the attribute labeling pattern 11 will be described later. The numerical tabular data 12 is data to be processed and is numerical tabular data having a format which is not easily subjected to machine processing, the format whose design is not strict enough, such as Excel data or CSV. Moreover, it is assumed that, in the numerical tabular data 12, there is a sum or product input-output relation among the numerical data and there is sometimes a hierarchical structure among the attributes. A specific example of the numerical tabular data 12 will be described later.
The attribute portion/numerical portion separating unit 13 has the function of separating and extracting the numerical portion data 14 and the attribute portion data 15 from the numerical tabular data 12. The numerical portion data 14 is data of the numerical value portion included in the numerical tabular data 12. A specific example of the numerical portion data 14 will be described later. The attribute portion data 15 is data of the attribute portion included in the numerical tabular data 12. A specific example of the attribute portion data 15 will be described later.
The sum input-output range extracting unit 16 has the function of extracting, from the numerical portion data 14, a range (a region range) in which a sum input-output relation is present. The details of the processing will be described later. The sum input-output range 17 is information on the range in which the sum input-output relation extracted by the sum input-output range extracting unit 16 is present. A specific example of the sum input-output range 17 will be described later. When a product input-output relation in place of the sum input-output relation is dealt with, a "product input-output range extracting unit" is used in place of the sum input-output range extracting unit 16 so as to extract a range in which a product input-output relation is present. Moreover, when there are both a sum input-output relation and a product input-output relation, both the sum input-output range extracting unit 16 and the "product input-output range extracting unit" are used.
The attribute labeling unit 18 has the function of performing attribute labeling on the attribute portion data 15 by referring to the sum input-output range 17 and the attribute labeling pattern 11. The details of the processing will be described later. The label data 19 is data obtained as a result of the attribute labeling performed by the attribute labeling unit 18. A specific example of the label data 19 will be described later.
FIG. 10 is a diagram depicting a hardware configuration example of the information processing device 1. In FIG. 10, the information processing device 1 includes a central processing unit (CPU) 102, read-only memory (ROM) 103, random-access memory (RAM) 104, and non-volatile random-access memory (NVRAM) 105 which are connected to a system bus 101. Moreover, the information processing device 1 includes an interface (I/F) 106, an input/output device (I/O) 107, hard disk drive (HDD)/flash memory 108, a network interface card (NIC) 109 which are connected to the I/F 106, a monitor 110, a keyboard 111, and a mouse 112 which are connected to the I/O 107, and so forth. To the I/O 107, a compact disk/digital versatile disk (CD/DVD) drive or the like may be connected.
The functions of the information processing device 1 described in FIG. 9 are implemented as a result of a predetermined program being executed in the CPU 102. The program may be a program which is obtained via a recording medium or a program which is obtained via a network.
FIG. 11 is a flowchart of a processing example of the above-described embodiment. In FIG. 11, the information processing device 1 performs input of the attribute labeling pattern 11 (including a case in which input is selected from the inputs prepared in advance) (step S1). FIG. 12 is a diagram depicting an example of the attribute labeling pattern 11 and the description thereof is as follows: "A cell located immediately above a certain cell is treated as a related label. If the cell located immediately above the certain cell is blank, a non-blank cell which is closest to the blank cell in a row direction in the range of a sum input-output relation and is not included in a nesting input-output relation is treated as a related label. If there are a plurality of stages, processing is performed recursively from a lower stage for each row of an upper stage." Incidentally, this example corresponds to a case in which input regions (cells) of numerical values spread in a horizontal direction and attributes are disposed in an upper part. If the input regions of the numerical values spread in a vertical direction and attributes are disposed in a left part, by replacing, for example, "immediately above", "row", "lower stage", and "upper stage" with "immediately to the left of", "column", "right stage", and "left stage", respectively, it is possible to apply this example in a similar manner. Moreover, as the format of internal data of the attribute labeling pattern 11, a format using symbols or the like may be used.
Back in FIG. 11, the information processing device 1 performs input of the numerical tabular data 12 to be processed (step S2). FIG. 13A depicts an example of the numerical tabular data 12, which is the same as the numerical tabular data on which extraction is not performed normally by the existing method (FIG. 7). Moreover, FIG. 14A depicts another example of the numerical tabular data 12, which is the same as the numerical tabular data on which extraction is not performed normally by the existing method (FIG. 8).
Back in FIG. 11, when substantial processing is started after the input data becomes complete, the attribute portion/numerical portion separating unit 13 separates and extracts the numerical portion data 14 and the attribute portion data 15 from the numerical tabular data 12 (step S3). That is, the attribute portion/numerical portion separating unit 13 recognizes whether a numerical value is set or a character string is set by scanning each cell of the numerical tabular data 12 and extracts a region in which the numerical value is set as the numerical portion data 14 and a region in which the character string is set as the attribute portion data 15. The numerical portion data 14 and the attribute portion data 15 also include information indicating the position of a column or row specifying the position of the cell in the numerical tabular data 12.
FIG. 13B depicts the numerical portion data 14 extracted from the numerical tabular data 12 of FIG. 13A, and FIG. 13C depicts the attribute portion data 15 extracted from the numerical tabular data 12 of FIG. 13A. Moreover, FIG. 14B depicts the numerical portion data 14 extracted from the numerical tabular data 12 of FIG. 14A, and FIG. 14C depicts the attribute portion data 15 extracted from the numerical tabular data 12 of FIG. 14A.
Back in FIG. 11, the sum input-output range extracting unit 16 extracts a sum input-output range from the numerical portion data 14 (step S4). Hereinafter, the details of the extraction of the sum input-output range will be described.
FIG. 15 is a flowchart of a processing example of the extraction of the sum input-output range (step S4 of FIG. 11) when no consideration is given to nesting. Nesting is a case in which one sum input-output range includes another sum input-output range. In the processing depicted in FIG. 15, although extracting a sum input-output relation is performed at a high cost, verifying whether or not a certain sum input-output relation satisfies the relation is performed at a low cost; therefore, a sum input-output relation is extracted from a sampled row and verification as to whether or not the extracted relation is satisfied in all the rows is performed. This makes it possible to reduce the total cost.
In FIG. 15, the sum input-output range extracting unit 16 extracts rows from the numerical portion data 14, the rows whose number is the same as a sample number (step S41). The sample number is the number of rows from which a possible input-output relation is calculated and is set in advance.
Then, as an extraction phase, the sum input-output range extracting unit 16 extracts a sum input-output relation (input, out) which is smaller than or equal to an error e for each sampled row (step S42). The error e is a value indicating a permissible upper limit of a subtle numerical difference which is caused by, for example, rounding of numerical values and is a small value. The error e may be defined by a value of a difference in numerical data or may be defined by a ratio (the ratio of a difference between the input sum and an output to one of the values of the input sum and the output, the one which is greater than the other).
Extracting a sum input-output relation (input, out) boils down to, if an input range and an output position are continuous, solving the "continuous subset sum problem" (the "continuous subset product problem" for a product input-output relation). FIG. 16A depicts a conditional expression in a case in which a sum input-output relation falls within the range of the error e when an output position is assumed to be i, an input range start position is assumed to be j, and an input range end position is assumed to be k for an integer array S (if the length of the array is assumed to be n, elements are S to S[n]). The input range defined by the input range start position j and the input range end position k becomes input of the sum input-output relation, and the output position i corresponds to output of the sum input-output relation. FIG. 16B depicts a case in which the input range is present on the right-hand side of the output position i and FIG. 16C depicts a case in which the input range is present on the left-hand side of the output position i, and the conditional expression of FIG. 16A covers both cases.
FIG. 17 is a flowchart of a processing example of the extraction of the sum input-output relation (step S42 of FIG. 15), the extraction using a cumulative sum array and a binary search. In this processing example, introducing a cumulative sum array R (a cumulative product array for a product input-output relation) for the integer array S and using a binary search makes calculation in time O(n log n) (O: order) possible.
In FIG. 17, the sum input-output range extracting unit 16 fixes the output position i to the head (or the end) of the array S (step S421).
Then, the sum input-output range extracting unit 16 concurrently or sequentially derives k or j by a binary search for a case in which the input range is assumed to be present on the right-hand side of the output position i and a case in which the input range is assumed to be present on the left-hand side of the output position i (step S422, S423).
The binary search which is performed in the case where the input range is assumed to be present on the right-hand side of the output position i is as follows. First, the binary search is performed by setting an upper bound up to the size of the array S and a lower bound low to i+1 (=j). If a median value c is assumed to be an intermediate position between the upper bound up and the lower bound low, c=(up+low)/2.
Here, what is desired to be obtained is k that satisfies |S[i]−(R[k]−R[i])|≦e. Thus, if the condition is satisfied when k=c, the binary search is ended. If the condition is not satisfied, the search is continuously performed by setting a new upper bound up and a new lower bound low. Since k is smaller than c if R[c]−R[i]>S[i]+e, settings are made such that up=c−1 and processing is performed recursively. Moreover, since k is greater than c if R[c]−R[i]<S[i]−e, settings are made such that low=c+1 and processing is performed recursively. If up <low, there is no solution for the current i. The same way of processing is applied to the case in which the input range is assumed to be present on the left-hand side of the output position i.
Then, the sum input-output range extracting unit 16 moves the output position i (step S424). If the extraction has not been performed on all the ranges, the sum input-output range extracting unit 16 repeats the processing from the derivation of k or j (step S422, S423); if the extraction has been performed on all the ranges, the sum input-output range extracting unit 16 outputs a sum input-output range (i, j, k) (step S425).
FIGS. 18A and 18B are diagrams depicting an example of the extraction of a sum input-output range and depict a case in which processing is performed on the numerical portion data 14 of FIG. 13B. In FIG. 18A, when the output position i=1, the condition is satisfied when j=2 and k=3; when the output position i=4, the condition is satisfied when j=5 and k=6, which is output as the sum input-output range 17 as depicted in FIG. 18B. The sum input-output range 17 is depicted in a visible manner in FIG. 18B; internally, it is possible to express the sum input-output range 17 by holding the values of i, j, and k.
Back in FIG. 15, as a verification phase, the sum input-output range extracting unit 16 calculates the number of rows that satisfy the extracted relation and outputs only an input-output relation whose rate of satisfying the extracted relation is greater than or equal to a support value support (step S43). Here, support is a threshold value used to determine whether or not to output a possible input-output relation and is set in advance.
FIG. 19 is a flowchart of a processing example of the extraction of a sum input-output range when consideration is given to nesting. This processing example makes it possible to deal with nesting by increasing the depth d of nesting sequentially from 1 and deleting the input value of the extracted sum input-output range. In this processing, together with the cumulative sum array R and the binary search of FIG. 17, if the maximum depth of nesting is set to m, it is possible to perform calculation in time O(mn log n).
In FIG. 19, the sum input-output range extracting unit 16 sets 1 as the depth d (step S401).
Then, the sum input-output range extracting unit 16 extracts rows from the numerical portion data 14, the rows whose number is the same as the sample number (step S402). This processing is the same as the above-described processing (step S41 of FIG. 15).
Next, as an extraction phase, the sum input-output range extracting unit 16 extracts a sum input-output relation (input, out) which is smaller than or equal to the error e for each sampled row (step S403). This processing is the same as the above-described processing (step S42 of FIG. 15).
Then, as a verification phase, the sum input-output range extracting unit 16 calculates the number of rows that satisfy the extracted relation and extracts only an input-output relation whose rate of satisfying the extracted relation is greater than or equal to the support value support (step S404). This processing is the same as the above-described processing (step S43 of FIG. 15).
Next, as a filtering phase, the sum input-output range extracting unit 16 makes a selection therefrom in descending order of number of rows that satisfy the input-output relation in such a way as to avoid overlaps and outputs d, input, and out (step S405).
If the number of output input-output relations is not 0 (No in step S406), the sum input-output range extracting unit 16 increments the depth d (step S407), deletes (in actuality, ignores) the input value of the output input-output relation (step S408), and repeats the processing from the extraction of rows (step S402). If the number of output input-output relations is 0 (Yes in step S406), the sum input-output range extracting unit 16 ends the processing.
FIGS. 20A to 20C are diagrams depicting another example of the extraction of a sum input-output range and depict a case in which processing is performed on the numerical portion data 14 of FIG. 14B. In FIG. 20A, in the first extraction phase (step S403), the condition is satisfied when j=3 and k=4 for the output position i=2, when j=6 and k=7 for the output position i=5, when j=9 and k=10 for the output position i=8, and when j=12 and k=13 for the output position i=11.
A state in which, in the first verification phase (step S404), the above-described sum input-output range is extracted and is output in the filtering phase (step S405) and the input value is deleted (step S408) is depicted in FIG. 20B. The deleted array position is renumbered. In this state, in the second extraction phase (step S403), the condition is satisfied when j=2 and k=3 for the output position i=1. FIG. 20C depicts the sum input-output range 17 to be output. Incidentally, the array position renumbered due to the deletion of the input value is converted to the original position (including a case in which, if another deleted input value comes after the array position, the position is extended to the rear end thereof).
Back in FIG. 11, the attribute labeling unit 18 performs attribute labeling on the attribute portion data 15 by referring to the sum input-output range 17 and the attribute labeling pattern 11 and outputs the result of the attribute labeling as the label data 19 (step S5).
FIG. 21 is a diagram depicting an example of attribute labeling and corresponds to the example of FIGS. 13A to 13C. In FIG. 21, as for a label "total number" on the left end of the attribute portion data 15, since a cell immediately above the label "total number" is blank, incorrect labeling is performed by the existing method (FIG. 7). However, in this embodiment, since "traffic accidents" which is closest to the blank cell in a row direction in the sum input-output range to which the label "total number" belongs is treated as a related label (a master label), the label "total number" is correctly labeled as "traffic accidents-total number". Moreover, as for "total number" belonging to "water accidents", incorrect labeling is performed thereon by the existing method (FIG. 7); however, in this embodiment, "total number" belonging to "water accidents" is correctly labeled as "water accidents-total number".
FIG. 22 is a diagram depicting another example of the attribute labeling and corresponds to the example of FIGS. 14A to 14C. In FIG. 22, as for "traffic accidents" and "water accidents" of the attribute portion data 15, "traffic accidents" and "water accidents" are incorrectly labeled by the existing method (FIG. 8) by being attached with "disasters" in the row located above "traffic accidents" and "water accidents". However, in this embodiment, since a determination is made based on the sum input-output range to which each of "traffic accidents" and "water accidents" belongs, there is no possibility that "disasters" is incorrectly treated as a master label thereof.
Incidentally, also in a case depicted in FIG. 5 in which the attributes and the numerical values are arranged in the vertical direction, it is possible to perform accurate labeling by the extraction of a sum input-output relation corresponding to the vertical direction.
As described above, according to this embodiment, it is possible to specify easily attribute information which is related to each piece of numerical data in numerical tabular data. Moreover, it becomes possible to process various patterns by a simpler pattern and therefore reduce pattern creation cost as compared to the existing method. Furthermore, by limiting the extraction range by a sum/product input-output relation, it is expected that a reduction in the occurrence of incorrect labeling and quality improvement are achieved.
The above is the description of the preferred embodiment. The description has been given here by using specific examples, but it goes without saying that it is possible to modify and change these specific examples in various ways without departing from the wide subject matter and scope defined in the claims.
The numerical portion data 14 is an example of "a plurality of input regions in which numerical values are input". The sum input-output relation or the product input-output relation is an example of an "arithmetic relation". The attribute portion data 15 is an example of "input regions disposed in a left-hand direction or an upper direction".


The 2016 Tyrone Senior finalists, Coalisland Na Fianna, were the visitors to a mucky Harlequins on Sunday 28th January for St Brigid's' first game of the Ulster Senior League competition.
Coalisland fielded a strong side against a youthful Brigid's selection that was without a number of key names from last year's Antrim intermediate success, including Ronan McGrady (currently undergoing final preparations for the upcoming Winter Olympics in Pyeongchang), Kevy Gallagher (about to embark on a glorious post-GAA triathlon career), Ryan Daly and Enda Clarke, as well as the likes of Conor King, Ben Sinnott, and Finn McKernan, all of whom have studying and working commitments elsewhere. Tim "Give Him Your Jersey" McCrudden once again fell victim to Lady Luck's cruel hand, and will hopefully be back from injury sooner rather than later.
However, the lack of such experienced names was counterbalanced by the welcome promotion to the senior squad of Peter King, Peter Henvey, Tom Dunford and Brogan Austin, all of whom acquitted themselves brilliantly at the older grade having made the step up from minor and under-20. Peter Cuthbert, a recent arrival from Cork, started in goal for the home side and also had a fine performance, kicking well from restarts and communicating effectively while not being at fault for any goals conceded.
St Brigid's made an excellent start to the game, with Jack Dowling and Cathal Conway working particularly well in midfield and Joe McKeever excellent in defence alongside Brogan Austin, who was his usual placid, unobtrusive self and made sure to make his marker feel welcome in South Belfast at every opportunity. Inevitably, however, Coalisland came into the game and went a couple of points ahead – making better use of possession than the home side.
St Brigid's hung in the game, however, and continued to do so throughout the rest of the match. Some costly early-season concentration lapses led to Na Fianna raising green flags, showing their quality with ruthless finishing. Despite this, St Brigid's kicked some excellent scores through Dowling, James Smith and Peter Webb and kept on battling until the end.
All in all, a decent start to the season and something to build on in the weeks ahead.
Next up for St Brigid's in Group B is a trip to Kilrea next Sunday (throwin 12pm). All the details of the Groups and Fixtures can be found here and on the Ulster GAA website.


Faux Leather + Faux Fur for the Holidays? Count me in! Whether you are heading out with friends before spending time with your family or maybe you just want to be dressed up for your family gathering, mixing faux leather + faux fur can be really chic for the holiday season. I feel like there is always a struggling when styling faux leather + faux fur because there is a fine line between classy / elevated + cheap / tacky looking haha :p I have learned over time that how you style trendy elements make all the difference, mixing high + low and not overdoing any one type of trend is crucial to a polished holiday look.
I have been a longtime fan of these HUE Leatherette Leggings…literally for years. They fit like a glove + are pretty flattering (along with being comfy) if you ask me 🙂 They can be dressed up or down…especially for the holiday season!
Awesome outfit and pair of shoes!!!


With limited exceptions, Proposition 13 prohibited local governments from increasing property tax rates in excess of 1% of the "full cash value" of a parcel. As a result, local governments cannot increase property tax rates to pay for operating expenses such as the salaries of personnel.
Within a few years after the passage of Proposition 13 in 1978, some local governments began imposing a new species of property tax that was not based on the assessed value of a parcel. The tax amount imposed per parcel was generally the same and was imposed without regard to parcel value. Structuring a tax in this manner enabled local governments to get around the property tax rate prohibitions of Proposition 13 and impose additional property taxes for operating expenses. These taxes have become known as parcel taxes.
Most parcel taxes generally impose the same fixed amount per parcel (e.g., $250 per parcel) while some parcel taxes are based on other factors such as the size of a parcel or the size of the improvements on a parcel. Some parcel tax measures include provisions for annual increases in the parcel tax amount such as for inflation. Parcel taxes are usually imposed for a shorter period of time than property tax increases to repay local bonds which can last for decades.
Unlike with local bonds, parcel tax proceeds can be spent on operating expenses such as the salaries of personnel. Parcel tax proceeds are typically used to fund local government services and programs. Various local government agencies are authorized under the law to impose a parcel tax, including cities, counties, special districts, and school districts.
It is not uncommon for homeowners to have parcel taxes imposed upon their property by several local government agencies. Some local government agencies have even imposed more than one parcel tax upon property within their jurisdiction.
Parcel taxes are subject to two-thirds voter approval pursuant to taxpayer protection initiatives approved by California voters over the years. Proposition 39, which passed in 2000 and lowered the voter approval requirement for local education bonds from a two-thirds vote to a 55% vote, does not apply to parcel taxes.
Parcel taxes are legally distinct from similar types of levies on property such as special assessments which are based on a special benefit conferred on the parcel being assessed. There is generally no requirement that a parcel tax be based on any benefit received by either the property owner or the parcel being taxed. Thus, property owners must pay a parcel tax even if they will not directly benefit from any of the programs or services that a parcel tax would fund.
Parcel taxes are similar to "Mello-Roos" taxes on property. Mello-Roos taxes are often used to help finance public facilities and/or services in connection with development projects. Mello-Roos taxes are added to the property tax bill with disclosure of the tax obligation given to prospective home buyers.
Parcel taxes appear on the property tax bill that property owners receive each year. They are usually itemized on the long list of fixed charges that appear on the property tax bill. Failure to pay a parcel tax generally results in the same penalties as the failure to pay the basic 1% property tax under Proposition 13. A homeowner could eventually lose their home if they fail to pay a parcel tax!
Homeowners have been hit with a significant increase in the number of parcel taxes by local government agencies over the past few years. Not only has the number of parcel taxes increased, but the amounts associated with those parcel taxes have also increased. The cumulative impact of all these parcel taxes has led to many homeowners facing hundreds of dollars per year in higher property taxes on top of their basic 1% property tax under Proposition 13 and any higher property taxes imposed as a result of locally approved bonds, including bonds approved as a result of the lower passing standard under Proposition 39.
All of the various "add-ons" to the property tax bill a homeowner receives each year, including from parcel taxes, have the effect of eroding the property tax relief provided by Proposition 13. The property tax relief under Proposition 13 can be effectively offset by increases in other taxes, including from parcel taxes. For example, a 2003 article in the Contra Costa Times noted the case of a homeowner whose annual school parcel tax alone (about $1,000) was nearly twice as much as the homeowner's basic 1% property tax under Proposition 13.
There are also serious equity concerns for homeowners with respect to the imposition of parcel taxes. Parcel taxes are very regressive, especially for homeowners whose assessed value is protected by Proposition 13. With a parcel tax, homeowners generally pay the same amount per parcel without regard to the value or use of the parcel. Thus, a homeowner living in a modest home can pay the same parcel tax amount as someone who lives in an expensive mansion, or the owner of a huge office building worth tens of millions of dollars.
Since only property owners generally pay a parcel tax, there is also the question of singling out property owners to pay for programs and services that benefit the community at large. Parcel taxes typically fund programs and services for the general benefit of the community at large, such as for public education or public safety. In some instances, nonresidents of a local jurisdiction will significantly benefit from the programs and services financed through a parcel tax, but would not have to bear the financial burden of paying for those services and programs.
Not only does a parcel tax disproportionately burden property owners, but such taxes are especially unfair to homeowners (single-family residential parcels). Since the amount of a parcel tax is generally the same for each parcel, and since in most local jurisdictions single-family residential parcels constitute the bulk of parcels within the jurisdiction (often more than 80% of the taxable parcels), the vast majority of the tax burden (frequently more than 80%) will disproportionately fall on single-family residential parcels.
As an example, according to 2003-04 data from the Santa Clara County Assessor, 88% of the parcels in Santa Clara County are single-family residential, while only 8% of the parcels are classified as "non-residential" (e.g., commercial). A flat parcel tax on each taxable parcel within the county would put nearly 90% of the tax burden on single-family residential parcels while less than 10% of the tax burden would fall on non-residential parcels. Note that it is not uncommon for many members of the business community to support flat parcel tax measures.
In order to stop the deluge of parcel taxes being imposed by local governments, taxpayers must defend themselves and take a more active role in opposing these taxes when they appear on the ballot in their local community.
Opposing and defeating a parcel tax is often not easy, even though a two-thirds vote is required to pass the tax. First of all, the tax proponents will be well organized and will usually have extensive financial and manpower resources at their disposal. Large campaign contributions frequently come from special interest groups that have a vested financial interest in passing a parcel tax, such as local public employee unions. Many in the local business community are also frequently supportive of parcel taxes, especially flat parcel taxes where each parcel pays the same amount without regard to value or land use.
Local governments also frequently hire expensive consultants (at taxpayer expense) to tell them the best way to pass a parcel tax. These consultants often advise local officials not to publicize the parcel tax election to the entire community, but to target only their supporters. This means running a stealth election, communicating only with known tax supporters.
It is a frequent tactic used by local governments to schedule low turnout special elections for parcel tax measures, even though such elections are very expensive, in an effort to sneak through a parcel tax. For example, a majority of the local school parcel tax elections over the past few years have been low turnout special elections.
Since it is illegal for local officials to use public resources (including public funds) to urge a vote for or against a political issue, consultants frequently counsel parcel tax supporters on the best way to wage "information" campaigns. This often means putting up signs or sending out material stating all the "good things" a parcel tax will do, but stopping just short of telling people how to vote.
Parcel tax supporters also like to frequently engage in scare tactics to enhance their chances of passing a tax measure. Tax supporters attempt to "scare" voters into supporting a tax increase. Such scare tactics are frequently observed with parcel tax measures associated with public education, health, and public safety. Taxpayers should neither tolerate nor be intimidated by such scare tactics.
When addressing the public, parcel tax backers are frequently encouraged to put the annual cost in simple, friendly sounding terms that usually begin with "it's only." "It's only a few cents a day," or "it's only a few dollars per month." Officials try to make it sound like the coming property tax increase is trivial and that anyone who is opposed must be a cheapskate.
Newspapers can be another problem for taxpayers. While editors at a few papers may be sympathetic to the taxpayers' cause, the vast majority of newspapers are almost universally hostile and will support most parcel tax increases proposed by local governments.
It is very important for taxpayers to prevent local parcel taxes from being initially imposed. Although most parcel taxes are imposed for a fixed period of time, statistics reveal that the vast majority of parcel taxes initially approved by voters are subsequently placed on the ballot by the local government in order to extend the tax. In many of these cases, the tax amount is increased in addition to being extended.
Thus, most parcel taxes that are initially approved effectively become permanent, and taxpayers should be very wary of claims made by tax proponents that a tax is a "temporary solution" to a funding "problem." Taxpayers must expect any "temporary" parcel tax that is approved will be submitted for extension at some point in the future.
While the deck may be stacked against taxpayers, should taxpayers give up? Absolutely not! Local parcel taxes can be defeated if opponents are willing to work, but it will take hard work.
The first step is to monitor news from local government agencies within your community, especially from school districts. Try to find out in advance if a local agency within your community (e.g., city, county, school district, or special district) is considering placing a parcel tax on the ballot. The local newspaper is one source of information. Another is calling the administrative offices of local government agencies in your community. They should be able to tell you the agenda for any upcoming governing board meetings of the agency. Upcoming agendas may also be posted on the website of a local government agency (if it has one), so you may also want to visit the website of the local government agency.
If you learn that a parcel tax will be discussed, alert friends and neighbors to the fact that property taxes may be going up and encourage them to join you in attending the local governing board meetings at which the parcel tax is discussed. Take advantage of the public comment portion of the meeting to express your concerns and objections.
If a local government agency (or agencies) within your community decides to place a parcel tax on the ballot, you should write and submit an argument against the measure for publication in the voter information pamphlet that will be sent to all voters residing within the agency. The ballot opposition argument is often the only opportunity parcel tax opponents will have to reach all voters within the jurisdiction to make their case against the parcel tax.
Start by contacting the clerk of the governing board of the agency that has placed the parcel tax measure on the ballot. The clerk should be able to help you obtain the written rules covering all local requirements for submitting ballot arguments.
You should also contact the applicable local elections official in charge of conducting the election for requirements applicable to submitting ballot arguments. Under California law, county election officials (generally the county registrar of voters) conduct nearly all school and community college district elections, special district elections, and county elections. For cities, an election may be conducted either by the local city clerk or by county election officials (typically when a municipal election is consolidated with a statewide election).
Independent verification of the applicable legal requirements, such as using a law library to review California Elections Code sections 9500-9509 for school measures, is always advisable. California Elections Code sections can also be viewed online at the website of the California Legislature at: http://www.legislature.ca.gov. It is important to follow all requirements applicable to the drafting and submission of ballot arguments since the failure to do so can result in election officials not accepting an argument for publication.
Note that more than 100 cities in California are known as charter cities that have their own charter (like a local constitution) setting forth the government structure of the city. Charter cities can have their own requirements applicable to ballot arguments (and other election procedures) that may either be in addition to or supersede the provisions of the California Elections Code. If a city parcel tax is being proposed in a charter city (most large cities in California are charter cities — check with the local city clerk to determine if you live in a charter city), then it is important to make certain that you comply with any applicable local election requirements.
Be sure to find out when the arguments are due. Contact your local elections official for the ballot argument deadline. The deadline is generally set by local election officials.
It is very important to note that the initial ballot arguments are generally due shortly after the deadline for placing a measure on the ballot, which is usually some three months prior to the election. Hence, you must move quickly after a parcel tax measure is placed on the ballot in order to write and submit a ballot argument in a timely manner.
Parcel tax supporters will be given an opportunity to rebut an opposition argument, but parcel tax opponents will also be given the opportunity to rebut the ballot argument of the parcel tax supporters. The rebuttal arguments are generally due 10 days after the deadline for filing the initial arguments. Note that in some cities, including some charter cities, there is no provision for rebuttal arguments. In such cities, only the initial arguments appear on the ballot.
Arguments should focus on such matters as the cost of the parcel tax, the regressive nature of parcel taxes (where each parcel generally pays the same amount without regard to value or land use), that parcel taxes single out property owners to pay for services and programs that typically benefit the community at large (and often nonresidents who would pay nothing), and that parcel taxes disproportionately burden homeowners (most of the tax burden is generally placed on single-family residential parcels). Property owners should be warned that their property taxes will go up if the parcel tax passes.
In ballot arguments it is not a good idea to attack the local agency or local officials without pointing to specific acts of mismanagement (or questionable expenditures) that demonstrate that local board members are unqualified to handle (or are undeserving to receive) the additional money a parcel tax would provide.
Be sure you are able to document any and all accusations or incidents included in an argument. If an argument is challenged in court, parcel tax opponents do not want to risk having a judge rule that the argument is "false and misleading" and have it removed from the ballot or otherwise modified. If this occurs, those submitting a "false and misleading" argument may be liable for court costs and even the attorney fees for the other side that challenged the argument. If there is any doubt about the content, keep arguments focused on the damage that the additional tax burden will do to homeowners.
If the local agency has passed other tax increases and/or bonds recently, mention this as evidence that the parcel tax may be unnecessary or too burdensome on property owners. Note that it is not uncommon for a local government placing a parcel tax measure on the ballot to have previously passed one or more tax increases in recent years, including a parcel tax.
There is generally no charge to file an opposition argument or a rebuttal argument. Costs of printing the ballot arguments are generally paid by the local agency as an election cost.
Some people will be willing to volunteer their time to help fight a parcel tax, especially if the proposed tax amount is high. Make up a fact sheet that describes the issues and ask them to distribute copies in their neighborhoods. When making up a fact sheet, just like the ballot argument, make it clear, simple, and direct. Try and limit the length to one page, and use a type size that is large enough for voters to read, especially for those voters who are senior citizens.
For those who are less ambitious, set a realistic goal. Ask them to talk to, before election day, at least five other voters who reside within the territory of the local agency. Keep the discussion short and simple, with an emphasis on the fact that property taxes will go up if the parcel tax passes and on some of the equity issues associated with the imposition of a parcel tax.
Stick to making one major point in your letter. For example, "Passage of the parcel tax will result in much higher taxes for homeowners." Parcel tax equity issues could also be briefly mentioned.
Tying the letter to a recent story in the newspaper will increase the chances it will be published. If the newspaper editorializes on the parcel tax, either for or against, consider this too an opportunity to send in a letter to the editor.
Consider forming an opposition campaign (or joining the campaign if one has already been formed), especially if it appears that there is widespread community opposition to a parcel tax. A formal opposition campaign can enhance the credibility of the opposition which can lead to such things as greater newspaper coverage and participation in campaign forums. A formal campaign can also help to focus and coordinate the activities of those who are against the parcel tax, including the receipt of campaign contributions.
Note that under the California Political Reform Act, campaign filing obligations will generally be incurred if $1,000 or more is received or spent in a calendar year in connection with opposing a local ballot measure. For additional information and/or forms in connection with campaign filing obligations, you can contact the local elections official responsible for conducting the parcel tax election. You can also contact the California Fair Political Practices Commission. The FPPC website is at: http://www.fppc.ca.gov.
Campaign forums are sometimes held in connection with a local parcel tax. At such forums, the proponents and the opponents have an opportunity to present their case to the public and debate the merits of the parcel tax measure. Such forums are often covered by local newspapers and are sometimes televised on local cable television.
Consider participating in a campaign forum if one has been scheduled. It is a cost-effective way to make your case to the electorate. It is important to make certain that you are adequately prepared on the issues. Strong preparation will enhance the chances of success.
Note, however, that the proponents of many local parcel tax measures do not want to schedule campaign forums for the very reason that it might give "undue" public attention to the measure, or give parcel tax opponents a forum to make their case. If there is a formal opposition campaign, the opponents should not hesitate to push for a campaign forum if one has not been scheduled, or if the parcel tax proponents refuse to debate the merits of a parcel tax measure.
Radio talk shows are another excellent way to get the message out. By calling programs devoted to current affairs and politics, your views will be heard by thousands of potential voters. This approach can be particularly effective in some of the larger local government agencies that have a parcel tax measure on the ballot, especially with respect to countywide parcel tax measures.
It is best for callers to be prepared on the issues surrounding the parcel tax, especially the specific issues under discussion, before calling a program. This may necessitate quickly reviewing such items as fact sheets or the ballot pamphlet before calling in.
Local radio stations that air editorial comment usually offer free time to members of the public with differing viewpoints. Those selected by the stations are usually those who call first and can demonstrate knowledge of the issue. As a taxpayer, you are as qualified to talk about tax issues as any other citizen.
In 1996, California voters overwhelmingly approved Proposition 218 (known as the "Right to Vote on Taxes Act"), an initiative constitutional amendment sponsored by the Howard Jarvis Taxpayers Association. Besides giving voters the constitutional right to vote on local government tax increases, Proposition 218 also included provisions (Section 3 of Article XIIIC of the California Constitution) allowing local voters to use the initiative process to reduce or repeal local government taxes. This includes local parcel taxes.
Under Proposition 218, local tax initiatives are generally subject to a reduced signature gathering requirement which is set at 5% of the local votes for all candidates for Governor at the last gubernatorial election. This number is approximately equal to 3% of the registered voters.
If a local parcel tax passes by a very close margin, or if local taxpayers are otherwise unhappy with an existing parcel tax, then a local tax reduction or repeal initiative can be pursued under the provisions of Proposition 218. Such local initiatives are generally the only tool taxpayers have to reduce the tax burden within their community since it is rare for local elected officials to voluntarily reduce or repeal taxes once they have been imposed.
Local initiative procedures are generally set forth in the California Elections Code. Elections Code sections can be viewed online at the website of the California Legislature at: http://www.legislature.ca.gov. Charter cities often have their own separate procedures for the exercise of the local initiative power.
The proponents of a tax reduction or repeal initiative must follow all procedures applicable to the exercise of the local initiative power without deviation. Failure to follow all procedures can result in a measure not being placed on the ballot, even if a sufficient number of signatures have been obtained. Once placed on the ballot, local tax reduction or repeal initiatives are subject to majority vote approval.
As you work, you are likely to find that others are as fed up as you are with out-of-control spending and the little respect most local officials and bureaucrats show for the taxpayer. Consider forming your own local taxpayer group to coordinate efforts in dealing with city councils or county boards of supervisors, as well as school boards and special district governing boards. If you start with only a few members, don't worry. As local tax issues become more prominent, membership will expand.


text:
Q: Serializing and Sending a Protocol Buffers Message I have written this protobuf message in c#

*

*C# client:
    public AddressBook InitializeAdressBook() {

        Person newContact = new Person();
        AddressBook addressBookBuilder = new  AddressBook();
        Person john = new Person();
        john.id=1234;
        john.name="John Doe";
        john.email="jdoe@example.com";
        Person.PhoneNumber nr = new Person.PhoneNumber();
        nr.number="5554321";
        john.phone.Add(nr);
        addressBookBuilder.person.Add(john);
        TextBox.Text += ("Client: Initialisiert? " + addressBookBuilder.ToString()) + "\t" + "\n";
        TextBox.Text += " Erster Person " + addressBookBuilder.person.First().name + "\t" + "\n";

        return addressBookBuilder;
    }

Problem
I am trying to send a protobuf message from a c# client to this java server...

*

*Java server
public ControllerThread(Socket s){
this.s = s;
try {
        AddressBook adb = AddressBook.parseFrom(s.getInputStream());
        System.out.println("Server: Addressbook:" + adb.getPersonCount());

    } catch (IOException e) {
        System.out.println("Server: BufferedReader oder PrintWriter von ThermoClient konnte nicht erstellt werden");
        e.printStackTrace(); }
    }

}
Question:
I should serialize this message to a byte array, so that i can send it to the java server...
Unfortunately the method ProtoBuf.Serializer.Serialize dont return a byte array back.
So how can i serialize it as a byte array and send it to my Java Server? Any help appreciated thanks!

A: protobuf-net (aka ProtoBuf.Serializer.Serialize) writes to streams. If you have the socket available as a NetworkStream, you can just write directly to that. If you really want a byte[], then use MemoryStream:
byte[] data;
using(var ms = new MemoryStream()) {
     Serializer.Serialize(ms, obj);
     data = ms.ToArray();
}

A: First you had better double check the protocol of the Java server. As described here protobuf is not self-delimiting.  This means if you have a TCP connection and are sending multiple protobuf messages, there must be some other underlying protocol to take care of framing - determining where one message ends and another begins.
Let's ignore that problem for now.  The actual code to serialize the message depends on which C#/protobuf library you are using.  If you are using Jon Skeet's protobuf-csharp-port you might serialize it this way:
AddressBook book = InitializeAddressBook();
byte[] bookBytes = book.ToByteArray();

bookBytes is the address book, serialized to a byte array.  Then use whatever socket library you want (for example TcpClient) to send the data (bookBytes) to the Java server.
I'm not convinced this will work because I think there are details about the Java server that you are not telling us.

redpajama_set_name: RedPajamaStackExchange


text:
Posted On July 24, 2020 October 13, 2020 In Dance
Our next weekly wordsmith is none other than the fantastic, soulful legend Joyce Sims. Joyce Sims is the infamous voice behind Billboard top ten hit Come Into My Life, a veteran in the music world and one of the most recognised voices in the club anthem scene.
Joyce has already established herself time and time again as a musical legend but she isn't stopping there. Joyce Sims is set to make her return with a new single Everybody's Going Through Something, scheduled for release 24th August and taken from her exciting new album Change coming in Autumn of 2020.
Joyce's vocal and musical prowess has been evident since childhood where she began singing in a local church choir. Her very first single (You Are My) All and All, released in 1986, set her on the path to greatness reaching number 16 in the UK singles chart and number 6 in the US Dance Chart. From their Joyce's success grew and grew, with the writing and performance of Come Into My Life in 1988 her soul legend status was confirmed.
Joyce's UK fanbase have always held a special place for the soulful singer, demonstrating their support and loyalty for her throughout her career now spanning decades. She is back, better than ever, and ready to bless the industry with her vocal prowess and soulful melodies.
Everybody's Going Through Something was originally written by Joyce with other singers in mind, but with the events of Covid-19 and BLM rattling the world Joyce knew she had to record it herself and include it on new album Change.
The track is classic Joyce Sims, authentic and raw with a vocal style you just can't match anywhere else.
The return of Joyce Sims is set to be a highlight for music in 2020.
Written By: Jessica Rowe
Dance Electronic Music News Soul SoulfulFemale singerJoyce SimsSinger-songwriterSoulSoul singer
Previous Singer Songwriter Chris Lewington brings us a much anticipated new project
Next Little Simz set to receive Pioneer Award at 2020 AIM awards