text:
Simplifying project maintenance
By Greg Smith
Greg is a senior DSP engineer at Silicon Optix. He uses Python for prototyping and verification of ASIC circuitry. He can be contacted at [email protected]
One of Python's greatest strengths is that you can extend it with modules written in C or C++. By creating extensions, you can make existing C facilities available to Python programs; for example, the data compression facilities of the standard zlib library are available to Python programmers by means of the zlib module, which is simply a Python extension acting as a wrapper around the zlib API.
The process of creating such a module is well documented in the "Extending and Embedding" section of the Python manual (http://www.python.org/doc/current/ext/ext.html). It is also possible to implement new Python data types in C/C++ extensions. In this article, I only address C, but the concepts are equally applicable to C++.
There are three main reasons to write Python extension modules (as opposed to, say, solving the problem entirely in Python):
- You need the higher execution speed of C.
- You have an existing C module that you want to make available for Python applications.
- The C module may be your primary project, and you want to give it a Python API, allowing the testing and verification framework to be in Python. I've found myself in this situation fairly often. For example, when debugging and verifying a C module, I don't want to spend a lot of time writing and debugging a test framework. By quickly implementing a Python wrapper, I can move on to writing complex test frameworks in Python with much less overall effort than would be required for an "all-C" approach.
When writing a Python-to-C adapter, most of the work usually involves converting Python data (the parameters to functions) into the basic data types required by the C function, then converting the return value, if any, to a Python object. The Python/C API provides many handy functions to help with these conversions. For instance, the PyArg_ParseTuple function (which is rather like scanf, but reading Python data types instead of strings) is useful for converting Python parameters into C data, while simultaneously checking the types.
However, there are many cases where the data conversion you'd really like requires a fair bit of code.
A Simple Example
Listing One (stats.c) is a simple C module that implements a function, which finds the mean and variance of an array of floats (the stats.h file contains just a function prototype and is not shown). Listing Two is statsmodule.c, a Python extension module based on stats.c.
Since the find_variance function accepts a variable-sized input array, its Python parameter list cannot be directly handled by PyArg_ParseTuple. The interface function has been written to accept a list of floats; in fact, to be more "Pythonic," it accepts any sequence of objects that can be converted to floats.
Refer to the function stats_find_variance in Listing Two. To perform the conversion, the C code must:
- Verify that there is only one parameter, and that it is a sequence.
- Obtain the length of the sequence and verify that it is nonzero (since the C function to be called requires that).
- Allocate an array of floats to hold the data.
- Retrieve each element of the sequence, and if it is not a Python float, convert it to a float while checking for an error in the conversion; then, store the result in the array.
If all of these operations succeed, the code calls the find_variance function in the stats.c module, and then converts the results (two doubles) back into Python floats. In addition, the code must carefully maintain the reference counts on Python objects to avoid memory leaks or similar problems.
As you can see, the code to perform this conversion amounts to more than half of the program. In fact, I wrote most of the rest of this module by simply pasting the examples from the Python documentation, then changing "spam" into "stats." In addition to the find_variance function, the module contains a table of pointers to functions, which is used by the Python internals to find the entry points; and an initialization routine, initstats, makes this table available to Python.
Usually, I finish writing the C/Python interface quickly, and move on to something else. This means avoiding the kind of code that can be seen in Listing Two, which is fairly involved. It needs to check for several error conditions, even for a simple case such as this.
Using a Python Wrapper Layer
The solution is to do the work in Python. Since the underlying C function needs a pointer to an array of floats, why not require the Python code to supply a contiguous chunk of memory containing that array? The data could be contained in a Python string, for instance. There are several ways to do this, but it puts you in an odd position if, to obtain statistics on a set of floating-point numbers, they must be first converted to a binary string format.
To fix that problem, add a layer of Python to do the work. Listing Three is statsimodule.c, a new extension module that is the same as statsmodule.c, except that the find_variance function accepts a string instead of a sequence of floats. The function is simplerit can now use PyArg_ParseTuple to obtain the address and length of the supplied string data (while checking that the parameter is of suitable type). It then performs a simple length check and calls the find_variance function, passing it a pointer to the data supplied by the caller.
The Python wrapper code, stats2.py (Listing Four), contains a function find_variance that does the conversion and passes the result to the built-in function in the statsi module (a Python function implemented in C is referred to as "built-in," even when it is in an extension module). To convert the parameter to a string, it creates an instance of the Python type array.array with typecode 'f'; that operation packs the data internally into machine floats, exactly as desired. It is then possible to convert the array to a string. Instead, I pass the array directly to the built-in find_variance function. This works because array.array implements the buffer interfaceit is based on a memory buffer, and can identify the location and length of that buffer via the standard buffer protocol.
So, both of these code snippets give the same result:
>>> import stats
>>> print stats.find_variance( [ 1.0, 1.5, 1.8, 2.12 ] )
(0.17007496588230353, 1.6049999594688416)
>>> import stats2
>>> print stats2.find_variance( [ 1.0, 1.5, 1.8, 2.12 ] )
(0.17007496588230353, 1.6049999594688416)
However, the stats module is all C, including a fairly complex conversion routine, while the stats2 module is split into two layers. Also, I've removed the docstring from find_variance in statsimodule, instead placing it in stats2.py where it is visible at the upper layer.
Splitting code up like this is a popular approach; for instance, the socket module in the standard Python library is written in Python and uses a lower level C module, _socket. However, the socket module is not just a wrapper. It provides additional higher level functions.
I find that splitting the code up like this can create a maintenance problem; there is now an interface between stats2.py and statsimodule.c, and it is rather an odd interface. In fact, this is the whole point of the exercise: to use an unusual (some might just say crude) interface to make the C programming easier, but to supply a conversion layer so that Python programmers don't need to use that unusual interface. If I have to maintain that interface (which could mean documenting it somewhere other than in the comments of the source, or taking steps to make sure that both files are always updated together) then I've made extra work, which is what I've been trying to avoid in the first place. Code used as part of a test framework is frequently modified and run during development. Changes to the Python code generally take effect immediately, while changes to the C module do not take effect until it is rebuilt. So the potential risk of problems arising from incompatible versions is higher than usual.
Combining the Wrapper Layer with The Extension Module
Version incompatibility problems can be avoided by putting the C code and the Python code in the same file. Fans of the Obfuscated C contest are, no doubt, now scribbling down #if 0 and figuring out how to make the same file acceptable to both C and Python. This is pretty easy, actually, but it's not what I meant.
Built-in Python modules (including those based on C extensions) are of exactly the same basic Python type as modules created from pure Python code. Both types have a dictionary attached, which contains the global namespace of the module; the difference lies only in the kinds of function objects that are placed in this namespace when the module is constructed. So rather than putting the wrapper function in a separate Python file, you can include it in the C module.
The program stats3module.c (available electronically; see "Resource Center," page 5) is identical to statsimodule.c, except that the entry point is called _find_variance instead of find_variance. This lets you introduce find_variance later. Also, there are a few lines of Python code in a char[] variable called py_code_string and some extra code in the module initialization function.
The extra code simply obtains the namespace dictionary for the module and calls PyRun_String to execute the Python code. The module dictionary is supplied as the context for the execution, which means that all global values defined in the Python code wind up in the module's namespace. It also means that any Python functions defined by this operation will have, as their global namespace, the module's namespace.
So, referring to the contents of py_code_string, it looks a lot like stats2.py, except that it doesn't need to import a lower level module, and it refers to the lower level function directly as _find_variance, rather than as statsi.find_variance.
There is another step performed during the module initialization: Before calling PyRun_String, I obtain a reference to the __builtins__ module and place this reference into the stats3 module namespace. This module is part of the namespace of any pure-Python module; without it, all the built-in objects and functions (None, abs, len, range, open, to name a few) are unavailable. In fact, without this entry, you can't even execute an import statement because that is hooked through the __import__ function in __builtins__.
Another little detail: The Python code in py_code_string imports array as _array, to keep it from being included when "from stats3 import *" is done. This statement includes all names not starting with an underscore; in the case of stats3, that means just find_variance.
So, stats3 looks just like stats and stats2, from the Python side; like stats, it's implemented as a standalone C extension, but, like stats2, it includes a Python wrapper layer.
When initially creating and debugging such a module, I sometimes replace the entire py_code_string contents temporarily with the single statement
This lets me compile the extension just once, and debug the contained Python code by changing the contents of the file mycode.py. When it's working, I can just paste it back into the C string.
A Note on Type Conversions
There is an interesting difference between stats (implemented in statsmodule.c) and the other two implementations:
>>> import stats
>>> stats.find_variance( [ 10.0, 11, "12"] )
(0.66666666666666663, 11.0)
If you try this with the other modules, it raises an exception. statsmodule.c simply looks at each of the elements in the supplied sequence, and if the element is not a float, it tries to convert it to one. The string "12" can be converted to a float, 12.0. This is rather more implicit type conversion than most Python programmers are used to. Here is a more dangerous example:
>>> stats.find_variance( ("1234",) )
(0.0, 1234.0)
>>> stats.find_variance( ("1234") )
(1.25, 2.5)
The first example shows a tuple of stringsjust one stringbeing passed to the function, so the mean is 1234.0 and the variance is zero. The second example shows a string being passed to the functionthe parentheses without the comma have no effect. The string is, according to Python type conventions, a sequence of one-character strings, each being a single digit. So the second example finds the mean and variance of the four values 1.0, 2.0, 3.0, 4.0. This is a hazard of having too many automatic type conversionsa simple programming error may result in behavior different from what was expected, where you would rather get an exception.
If you actually want the other modules to have this behavior, it's easy to add, since you can do it in the Python layer. Just change this:
if type(fltlist) is not list:
fltlist = list(fltlist)
fltlist= map(float, fltlist)
This breaks the supplied sequence into its components, explicitly converts each one to a Python float, and builds a list of the results. Making a similar kind of change to C code could require substantially more work.
Calling Python Code from C
stats4module.c (available electronically) implements the find_variance function directly in C again; but this time it takes its parameter and passes it to a pure Python function attached to the module, and lets that do all the work of the conversion. That function, _flts_to_array, converts whatever is passed to find_array into an array.array of C floats, and returns that. It enforces the minimum length of one element and returns the result inside a tuple, so that the C code can pass it directly to PyArg_ParseTuple to get its address and length. The args parameter, passed to the C function stats4_find_variance, is a reference to a Python tuple containing all of the parameters passed to the function. The same protocol is used when calling an arbitrary Python object from C, using PyObject_CallObject; the first parameter is the object to call, while the second is a tuple of the parameters. If someone improperly calls find_variance with zero parameters, or more than one, then an error will occur when PyObject_CallObject attempts to call _flts_to_array with the same parameter set. It is possible to catch this error in the Python code, and to provide more detailed error descriptions for other conditions, if desired.
If your C module uses callback functions, your wrapper needs to implement these C functions; the callback function generally needs to manipulate Python data. Calling Python code from these C functions is often the easiest way to handle this.
Reporting Errors
It is fairly easy to check the parameters in such a way that an exception is raised when there is a problemmany of the possible error conditions cause the normal conversions to throw exceptions.
It is generally more work to make sure that the exception messages are detailed and directly meaningful to API programmers. In the previous example, if the parameter count to find_variance is incorrect, the exception indicates that the number of parameters passed to the internal function _flts_to_array is incorrect, which may certainly be confusing. This issue is fairly common in Python; it is convenient to allow lower levels of code to check for problems and raise exceptions. The drawback is that you end up with possibly confusing error messages; you need to look at each line on the stack traceback to find where the problem really originated. With extra work, you can either check these conditions at a level closer to the API, or catch exceptions thrown by lower level code and restate them in better terms.
As I mentioned, I often write Python-C interfaces in order to create test frameworks in Python. I don't need to be too concerned about API users being confused by error messages, because this code does not wander very far from my desk. It is, however, important that the type and range checking is thorough. If, during testing, the application throws a segmentation fault, I want to be sure that this did not occur simply because the test framework actually passed bad data through the Python API. In other words, it should not be possible to cause memory corruption simply by writing incorrect Python code. This principle should be applied to all C/Python interfaces; much of the convenience of using Python is lost if you need to use C-language debugging techniques to find problems in your Python code.
User-Defined Python Types
If your C extension implements a Python data type, the interface between the Python wrapper and the C code can become more complex, and these techniques can be even more useful. For instance, the Python wrapper can define a Python class, which is based on the type defined in the C module, and supply implementations for methods that are more easily coded in Python. The methods of the base class, being written in C, could use the Python/C API calls to ensure that when member functions written in C are overridden in a derived class, the correct function is called even from C code. It is useful to be able to split such an implementation into a C layer and a Python layer, but it may be cumbersome to have these in separate source files.
The Downside
There are only two real drawbacks to this approach: The Python source code must appear in quoted strings in the C file, making it inconvenient to maintain, and the Python layer is "compiled" to Python byte-code every time the module is loaded. In a conventional approach, with a separate .py file, Python compiles the code once, and save the results in a .pyc file for later use. So, the technique is mainly applicable when the Python code is quite short. This is not unusual because significant data conversions can be performed in a few lines of Python.
/* ---------- stats.c -------------- * simple example of a C module */ #include <math.h> #include "stats.h" /* given a set of pointers to 'n' floats (>=1), find the mean and variance. * The variance is returned directly; the mean via a pointer. */ double find_variance( float const *data, int npts, double *mean_p) { int i; double sum = 0; double sumsq = 0; double mean; /* * there are more numerically stable ways to do this, but * that's a different article... */ for( i = 0; i < npts; ++ i ){ double x= data[i]; sum += x; sumsq += x*x; } mean = sum/npts; *mean_p = mean; return ( sumsq - mean*sum )/npts ; }Back to article
Listing Two
/* ---------- statsmodule.c -------------- */ /* python extension based on stats.c */ #include <Python.h> #include "stats.h" static char stats_find_variance_doc[] = "Given a sequence of floats, find the standard deviation and mean"; static PyObject * stats_find_variance(PyObject *self, PyObject *args) { double mean, var; PyObject * flt_list; PyObject * lst_element; int n,i; float *tmp_arr; /* must be a single parameter which is a sequence of floats. */ if( PySequence_Size(args)!=1 ){ flt_list = 0; }else{ flt_list = PySequence_GetItem(args,0); } /* at this point either flt_list is NULL, or * it's the param and we own a reference to it */ if( flt_list ==0 || !PySequence_Check(flt_list)){ PyErr_SetString( PyExc_TypeError, "find_variance accepts a list of floats"); Py_XDECREF(flt_list); return 0; } /* we know it's a sequence. Get its length, and allocate an * array of floats. Length of 0 is an error. */ n = PySequence_Size( flt_list ); if( n < 1 ){ PyErr_SetString( PyExc_ValueError,"find_variance: empty list"); Py_XDECREF(flt_list); return 0; } tmp_arr= PyMem_Malloc( n * sizeof(float)); if( !tmp_arr ){ PyErr_SetString( PyExc_MemoryError, "out of memory"); Py_DECREF(flt_list); return 0; } /* now fill in all the floats. If any operation fails, we have to free * everything. The code is structured so that if something returns NULL, * it will drop down to the single error test. We don't need to * set the exception, since the failed operation will do it. */ for( i = 0; i < n ; i++ ){ lst_element = PySequence_GetItem( flt_list, i ); if( lst_element != 0 && !PyFloat_Check(lst_element)){ /* succeeded, but not a float - convert it */ PyObject *new_obj= PyNumber_Float( lst_element ); Py_DECREF(lst_element); lst_element = new_obj; /* may be 0 */ } if( lst_element != 0 ){ tmp_arr[i] = (float)PyFloat_AsDouble(lst_element); Py_DECREF(lst_element); }else{ Py_DECREF(flt_list); PyMem_Free(tmp_arr); return 0; } } Py_DECREF(flt_list); /* don't need that any more */ /* call the actual C routine with all the floats */ var = find_variance( tmp_arr, n , & mean ); /* free our tmp array and return results */ PyMem_Free(tmp_arr); return Py_BuildValue("dd", var, mean); } /* table of module methods. If the module has multiple * Python-callable functions, they are all listed here. */ static PyMethodDef StatsMethods[] = { {"find_variance", stats_find_variance, METH_VARARGS, stats_find_variance_doc}, {NULL, NULL, 0, NULL} /* Sentinel */ }; /* The module initialization function */ PyMODINIT_FUNC initstats(void) { Py_InitModule("stats", StatsMethods); }Back to article
Listing Three
/* ---------- statsimodule.c ----------------- */ #include <Python.h> #include "stats.h" /* * This is an extension implementing the 'stats' * module which is intended to be wrapped by a * python module; it provides a simple internal * interface. * * the 'find_variance' entry point accepts * a single parameter, which is expected to * be a read-only buffer of floats (at least one) */ static PyObject * statsi_find_variance(PyObject *self, PyObject *args) { double mean, var; char *data_ptr; int nbytes,n; /* * expect a single parameter, which is a string * or buffer, containing value in native order. * The API call below gets us the address and len * of the string, or fails. */ if (!PyArg_ParseTuple(args, "s#", &data_ptr, &nbytes)) return NULL; /* * check the len - it must be a multiple of sizeof(float) */ n = nbytes/sizeof(float); if( n <= 0 || n*sizeof(float) != nbytes ){ PyErr_SetString( PyExc_ValueError, "find_variance: bad length"); return 0; } /* * call the actual C routine with all the floats. * Note: there is a risk here that the data will not * be aligned on a suitable boundary for floats. This * is not an issue on X86 hardware; also, the Python * wrapper can guarantee this, if needed, by using * array.array type instead of a string. */ var = find_variance( (float const*) data_ptr, n , & mean ); /* * return results */ return Py_BuildValue("dd", var, mean); } /* * table of module methods. If the module has multiple * Python-callable functions, they are all listed here. */ static PyMethodDef StatsiMethods[] = { {"find_variance", statsi_find_variance, METH_VARARGS, ""}, {NULL, NULL, 0, NULL} /* Sentinel */ }; /* * The module initialization function */ PyMODINIT_FUNC initstatsi(void) { Py_InitModule("statsi", StatsiMethods); }Back to article
Listing Four
#---- stats2.py ---- # same as 'stats', but done as a wrapper around a C # extension (statsi) # import statsi import array def find_variance( fltlist ): "Given a sequence of floats, find the "\ "standard deviation and mean" try: if type(fltlist) is not list: fltlist = list(fltlist) data = array.array( 'f', fltlist) except (TypeError,ValueError): raise ValueError, 'bad parameter to find_variance' return statsi.find_variance(data) # # don't export array and statsi # __all__ = ['find_variance']Back to article


text:
Wale Turner x Olamide – Achopia
DOWNLOAD Wale Turner x Olamide – Achopia MP3
Wale Turner comes through with a brand new potential hit collaborative single and he's titled this one "Achopia" featuring Olamide.
Leave a Reply
MUSIC: DJ Notorious Marshal – Badder Ft. Bmystiro, T-why, Ashlo
DJ Notorious Marshal – Badder Ft. Bmystiro, T-why, Ashlo | Mp3 Download
Been A Dj Myself I know How Important It Is To Have The Extended Version Of our Favourite Club Bangers To Blend In Easily During Transistion From A Song To The Other, So I decided To Make A Dj Friendly Extended Version Of My Debut Song Called "BADDER" With The Help Of My Brother And Colleague Dj Untee To Share Amongst My Fellow Colleagues In Same Dj Trade. Please Kindly Help By supporting, Playing And Sharing With Other Dj colleagues Of yours I May Not Have Easy Access To.
BADDER, is the long awaited and most anticipated song by DJ NOTORIOUS MARSHAL Featuring, BMYSTIREO, ASHLO & T WHY & Major Lazer will be officially released on all platforms this friday 25th but am sharing it in advance with all djs.
DOWNLOAD MP3: DJ Notorious Marshal – Badder Ft. Bmystiro, T-why, Ashlo
Navy Kenzo Ft. Mugeez – Body Tight
K Kruse – Ere Ft. Qdot
K Kruse – Ere Ft. Qdot MP3 Download
K Kruse Ft. Qdot – Ere: Talented record producer, K Kruse has teams up with the Alagbe himself, Qdot on this banging tune titled "Ere" which is a Yoruba word for Profit.
DOWNLOAD MP3 K Kruse – Ere Ft. Qdot
Music9 months ago
Nasty C – Tough Times ft Kwesta & Shane Eagle
Music9 months ago
Mayorkun ft Peruzzi – Slowly
Music9 months ago
Nasty C – Perfect ft Runtown
Music9 months ago
Nasty C – Umzabalazo ft Tellaman & Tshego
Music11 months ago
AUDIO & VIDEO: Henry Nice & Don Haykay – Wake up ft. Oritse Femi
Music1 year ago
HK Ligi – Water ft. Jamima Troublekid
Music9 months ago
Frizzy D – New Year
Music1 year ago
BravoHucci x Dasingsong x Lil2thugs x Jamima Troublekid x Hk ligi x Tekno Richie x Harlly Berry & Afrikaboi Eros – Do My Girl

subset: commoncrawl


text:
View an interactive 3D floor plan of this spacious Victorian home located in coastal Eureka, Ca. Click on any room to view a photo slide show of that room.
Take a tour from the comfort of your own home as you virtually walk from room to room using our customized visual tour guide with links that allow you to control the tour.
How far do you have to walk to find groceries, coffee, books, or entertainment? You can find out HERE.


text:
I just stumbled across genealogy records available (for free) on the Internet Archive, a repository of Internet info that chronicles changes on the Web and stores all kinds of historical and cultural data. Want to see a video of old Commodore 64 video games? You can find 'em on the Internet Archive.
The link to the genealogy holdings takes you to holdings shared by the Allen County Public Library Genealogy Center in Fort Wayne, Indiana; Robarts Library at the University of Toronto; the University of Illinois Urbana-Champaign Library; the National Library of Scotland; and the Boston Public Library.
Info ranges from publications about Mayflower descendants to Passenger and Crew Vessel Lists for NYC, 1910 and 1940 and other years.
Check it out! Maybe you'll find something you were looking for.


text: The second annual Johnny Cash Music Festival raised approximately $200,000 to help fund the restoration of his boyhood home in Dyess, Ark., and to support a scholarship fund established in his name. His daughter, Rosanne Cash, hosted Friday's (Oct. 5) event at Arkansas State University in Jonesboro featuring performances by Dierks Bentley, Willie Nelson, the Civil Wars and others. Plans are underway for next year's event which marks the 10th anniversary of Johnny Cash's death.


text:
Washington (September 19, 2012) - The National Association of Black Journalists (NABJ) announced today the official release of its 2012 Television Newsroom Management Diversity Census. The report, now in its fifth year, consists of two studies examining current diversity figures within 295 television stations owned by 19 companies, and the diversity of newsroom management at the major networks. Though strides have been made, the report, the only one of its kind, recognizes the lack of parity that still exists among managers within television newsrooms.
According to the 2010 United States Census, non-whites comprise nearly 35% of the U.S. population, but the study finds that people of color fill only 12% of the newsroom managerial positions at stations owned by ABC, Allbritton Communications, Belo Corporation, CBS, Cox Media Group, Fox Television Stations, Gannett, Hearst, Journal Broadcast, Lin Media, Media General, Meredith, NBC, Nexstar Broadcasting, E.W. Scripps Company, Post-Newsweek, Raycom Media, Sinclair Broadcasting and Tribune.
The study of network news organizations CBS, NBC, ABC, MSNBC and CNN show that people of color comprise 34% of newsroom managers and executives. Attempts to retrieve data from News Corporation/Fox News were unsuccessful.
NABJ's local television newsroom survey examines senior-level personnel with the title of general manager, news director, assistant news director, managing editor, assignment manager, executive producer or web manager/director of digital media.
NABJ's television network census examines senior-level personnel with the title of president, vice president, executive producer, senior producer, director, bureau chief, and other top managerial positions
"These reports highlight the urgent need for news organizations to go further to make newsrooms inclusive, and to clearly demonstrate that they truly value diversity in the workplace," said NABJ President Gregory Lee Jr. "While we are pleased to know there has been some increase in newsroom diversity, NABJ will continue to push to ensure that black journalists are provided the opportunity to attain executive positions. "
NABJ continues to examine diversity in newsrooms and urges mainstream media companies to reach out to NABJ to help them fill openings in their newsrooms.
It must be noted that NABJ's report provides information that Congress ordered the Federal Communications Commission (FCC) to collect beginning in 1996.Section 257 of the amended Communications Act of 1934 mandates that the FCC "identify and eliminate, through regulatory action, market entry barriers for entrepreneurs and other small businesses in the provision and ownership of telecommunications and information services."
Recent studies show people of color own less than 8% of all commercial radio stations and just more than 3% of all commercial television stations.
"The numbers in this report are discouraging," said NABJ Vice President of Broadcast and television station report author Bob Butler. "What's even more troubling is FCC's own statute directs it to collect this data, but for some reason it is not doing so."
NABJ welcomes the opportunity to partner with media companies to provide talent development training such as the "Advancing in Broadcast Management" NABJ Media Institute Seminar hosted along with the CBS Television Stations Group. NABJ is also able to assist stations in selecting candidates to fill openings in their newsrooms.
Click here for the 2012 NABJ Television Diversity Census.
Click here to listen to NABJ VP of Broadcast, Bob Butler on NPR's, Tell Me More, on these two reports.
Click here to view NABJ's Online Press Conference on the Diversity Census.
About the National Association of Black Journalists: An advocacy group established in 1975 in Washington, D.C., NABJ is the largest organization of journalists of color in the nation. NABJ provides educational, career development and support to black journalists worldwide. For additional information, please visit, www.nabj.org.
Remember Me
9/25/2020On President Trump's Continued Attacks on the Press
9/25/2020Addressing Women's Issues in Media, Launching a New Webinar Series
9/16/2020NABJ, Black Male Media Project Issue Guidance on Reporting on Police Shootings, Criminal Records
10/15/2020NABJ Fall Chapter Grant Application Due
10/16/2020 » 10/17/2020NABJ Board of Directors Fall Board Meeting
11/1/2020NABJ Annual Student Chapter Audit Due
11/21/2020NABJ Regional Conference
12/1/2020NABJ Annual Professional Chapter Audit Due
Scripps Journalism
Career Program


text:
I grew up in Wales where my passion for painting and drawing started at an early age. I obtained my BA in Fine Art from the University of Wales before moving to Hertfordshire where I spent nearly 10 years living on a canal boat. It was here that I first found my love of making kiln formed glass pieces, inspired by the continuing natural forms and scenery around me. I now live near Bedford and have my own on-site studio where I create my vibrant work.
I work part time as a print technician/tutor at a local FE college and also dabble with photography and ceramics when I have time. When creating new pieces, I enjoy working with the number of processes involved with each medium to achieve the finished result. As each layer is produced, new thoughts and emotions combine to inspire my next piece of work. My travels abroad have also provided my regular inspiration as I have experienced many different countries and cultures. For example, a recent visit to the aquarium in Valencia, Spain inspired my recent jelly fish work.
I have exhibited my work extensively across Hertfordshire, Wales and parts of London.All Artists


text:
Close to 1500 high school and college students from San Antonio and South Texas attended the 2015 Science Expo this year which is held annually on the UT Health Science Center campus. The event features activities and presentations to encourage students to consider health occupations and research careers. A number of campus departments participate including the School of Medicine, School of Dentistry, School of Health Professions, School of Nursing and Graduate School of Biomedical Sciences.
This year, Library staff Emme Lopez, Patrick Lemelle, and Peg Seger talked with students about resources from the National Library of Medicine. Patrick Lemelle also developed a special exhibit presentation introducing students to the career of Health Science Librarianship. Accompanied by music, the presentation proved quite successful in drawing attention to a career option that seemed to appeal to many students.
Tags: December 2015


text:
Weekly Davespeak is Retired
After a long run, Weekly Davespeak has retired from the internet. You can connect with the WDS community on Facebook.
WDS has always been a special portion of the Dave Matthews Band community.
The style and interaction of this group was unique and perhaps the most welcoming hub for new and old DMB fans to connect online.
The primary reasons for ending this website are: maintenance, server costs, security concerns and the general migration of the online communities to other services like Twitter and Facebook.
"Do what you will, always walk where you like your steps."
Q: Is WDS Live still available?
A: Nope. It is not.
Q: Aw man, I liked this website. How can I share my story, express my sadness and gratitude?
A: Post on the WDS page on Facebook.
Q: I have something really important I need to check in with the site owners about. How do I do that?
A: Contact Rob Banagale.
Q: What happened to the website, like the articles and forums?
A: They have been archived for now. They may return to the web but not right now.


text:
Email address was first invented in year 1965 where the first email was send through a computer network. Then the following year it was introduced to the masses. Since then, there were couple of innovation of email communication and now it became one of the primary tools for communication. Aol is one of those old and free unlimited email services that people used. For a long time they have been serving the people only few knows about the many benefits that Aol login account brings to their clients. You might be surprise how many benefits you can have while reading this whole article.
- You can watch free the online streaming of sports and news that is updated every hour. This service is offered free only to Aol users that are also accessed by paid CNN.com users. Just go to www.aol.com login page.
- You won't longer need your radio or stereo since there is also an online radio integrated where there are about 30 radio stations you can listen to. Almost all types of music are played on the radio such as classic, RnB, country songs and even the oldest from 80's and 90's.
- You can be sure that you can access your email and instant messaging with any gadget and computer as long as you have the internet connection. You can download the messenger and install it your device.
- If you get bored you can choose among the online card games that are integrated on the Aol account where you can play with other online opponents.
- You can watch music videos that are not yet release by the artists from their top hits. You are updated first on their tracks.
These are the few benefits that Aol users may experience. Now are you ready to have your own Aol account? Just go to www.aol.com sign up page now.


text:
Tuesday, 10 September 2013 01:17 PM
Marriage, divorce or continued cohabitation? Nestle, the world's biggest food company, is under pressure to make its intentions clear toward L'Oreal, its partner of 40 years, when the ties that bind them loosen next year.
The decision is the preserve of long-serving Chairman Peter Brabeck, who is trying to reposition Nestle away from reliance on processed foods toward higher-margin products with a "nutrition, health and wellness" profile.
One can argue that L'Oreal's cosmetics and shampoos are compatible with that mission, but eight of the nine analysts that spoke to Reuters thought Nestle was likely to sell down its holdings in L'Oreal, once restrictions on doing so end in April.
They think the company can sell the stake, worth 23 billion euros ($30 billion), in tranches and use the cash on something central to its own business or return the cash to shareholders.
"If investors want to invest in L'Oreal, they can invest directly in L'Oreal," said a consumer industry banker who spoke on condition of anonymity. "They don't need Nestle for that."
The Swiss food group has been a major shareholder in the French cosmetics firm since 1974, when L'Oreal heiress Liliane Bettencourt, now the world's richest woman, entrusted nearly half her stake to Nestle for fear it would be nationalized if Socialists came to power.
It turned out to be a great investment for Nestle, as L'Oreal shares have yielded a total return of 15 percent on an annualised basis since then. Nestle's own shares yielded 11.6 percent.
Nestle owns 29.5 percent and Bettencourt owns 30.5 percent of L'Oreal, the firm her father founded as a maker of hair dye. The heiress is now 90 and under the guardianship of family members since a court fight ended with a 2011 ruling that she was incapable of looking after her fortune.
According to a shareholder pact agreed to in 2004, Nestle cannot increase its stake until six months after Bettencourt dies. Bettencourt and Nestle also promised not to sell their stake without first offering it to the other until April 29, 2014, 40 years after the initial deal was signed.
The Bettencourts have said they had no plans to sell.
Last month, Brabeck said Nestle did not plan to renew its right of first refusal with the Bettencourts, arguing that the lock-up depresses the value of the stake.
He said Nestle wanted to keep its options open, which include maintaining the status quo.
That prompted speculation that the maker of Nescafe coffee, KitKat chocolate bars and Purina dog food might be preparing to part company from the world's biggest beauty firm, which makes Lancome skin cream, Garnier shampoo and Maybelline mascara.
"The comment makes us think that Nestle has no intentions to increase its stake in L'Oreal, and we now believe that the scenario of Nestle selling its stake in or after April 2014 is more probable," Liberum Capital analysts said in a note.
L'Oreal was quick to say it would be able to buy back the stake from Nestle, thanks to a net cash position of 572 million euros that frees it to raise debt, and a 9 percent stake in drugmaker Sanofi worth 9 billion euros.
The speculation has contributed to a nearly 2 percent decline over the last eight days in shares of L'Oreal, the third most valuable company in France, while slightly pressuring those of Sanofi, the second biggest.
"It would be very surprising if Nestle remained nebulous about their plans," one fund manager said. "It is their responsibility to state out clearly what they plan to do."
Nestle might prefer to keep the market guessing, but L'Oreal will want a decision soon, because keeping cash in place to buy the stake curbs its firepower for other big deals.
Last month, L'Oreal offered to buy Chinese facial mask maker Magic Holding International for HK$6.54 billion ($840 million).
Formerly best-in-class Nestle, which is grappling with disappointing results for the first time in years, will be grilled on the issue at an investor seminar at its Vevey headquarters on Sept. 30 and Oct. 1.
Were Nestle to decide to sell out, L'Oreal could buy back its shares and cancel them, a move that analysts gauge would lift earnings per share for remaining shareholders by around 20 percent.
Depending on how a deal was structured, if Nestle returns proceeds to shareholders from selling its L'Oreal stake it could potentially increase its own earnings per share by more than 10 percent, and lift its underperforming shares.
In the year to date, Nestle shares have risen 3.4 percent, while L'Oreal shares are up 20 percent, and the Stoxx European personal and household goods index is up 11.6 percent.
Nestle declined to comment beyond pointing to a statement on its website that says the board is addressing the future of the stake "with great attention in the framework of the group's global nutrition, health and wellness strategy."
Former chairman and CEO Helmut Maucher, who is still honorary chairman, stated in 1992 that Nestle eventually wanted to buy L'Oreal, souring relations with Liliane Bettencourt that were only patched up with the shareholder pact in 2004.
Although a merger to create a giant food and cosmetics conglomerate could be seen to fit Brabeck's "health and wellness" strategy, no Nestle executive has expressed any interest in a takeover in recent years, and the companies share little operationally apart from two dermatology joint ventures.
Any attempt would likely face resistance from the French government, hostile to foreign takeover attempts in the past.
Nestle, which started as Europe's first condensed milk factory 147 years ago before growing into a global food and beverages giant, selling everything from baby formula to bottled water, has been independently pursuing its health ambitions by developing foods that help prevent chronic diseases.
Brabeck, 68, will be keen to cement his legacy by giving more clarity on Nestle's strategy before he retires in 2016.
"He will want to have defined a clear line for his 'nutrition, health and wellness' concept, and the future of the L'Oreal stake ultimately depends on that," said Friedhelm Schwarz, author of books on Brabeck and Nestle.
A member of the L'Oreal board since 1997, Brabeck stepped down as CEO in 2008 after a decade in the job but stayed on as chairman with a remit to review Nestle's stakes in L'Oreal and eye care firm Alcon, which the firm sold later that year.
Nestle has no urgent need to sell its L'Oreal stake, which contributes roughly 10 percent of its earnings per share. It does not need the cash; it had 3.9 billion Swiss francs ($4.1 billion) as of end-June and generates earnings before interest, depreciation and amortization of around 18 billion francs.
Nestle is also still integrating its $11.9 billion acquisition of Pfizer's baby food business, which it funded with the Alcon proceeds.
JP Morgan Cazenove says one scenario could be that L'Oreal buys the Nestle stake in three tranches over four years, which it estimates would lift L'Oreal's 2018 earnings by 23 percent.
It would be difficult for L'Oreal to buy more than 10 percent a year as companies are limited in the amount of share capital they can cancel every two years.
Unlike Nestle, L'Oreal is outperforming its peers, having successfully revamped and repositioned many of its big brands such as Vichy creams and Garnier shampoo, with sales growth of 5-6 percent in a market growing at 3.5-4 percent.
L'Oreal declined to comment for this report.
© 2020 Thomson/Reuters. All rights reserved.
Newsmax Comment Policy
Keep discussions on topic, avoid personal attacks and threats of any kind. Links will not be permitted.
Newsmax, Moneynews, Newsmax Health, and Independent. American. are registered trademarks of Newsmax Media, Inc. Newsmax TV, and Newsmax World are trademarks of Newsmax Media, Inc.


text:
Nufloors wants you to consider becoming a part of our team. We are looking for highly motivated individuals interested in a career with a stable and growing retail floor covering organization. See current job postings below
Thank you for your interest but at this time there are no positions available. Please come back again.


text:
Durham: June 11th Solidarity Noise Demo Reportback
written by comrades
On Friday 13th, June 2014, around 8:00PM, an angry crowd of about sixty people converged on the Durham County Detention Center in downtown Durham for the June 11th international day of solidarity with long term anarchist eco-prisoners Marie Mason, Eric McDavid, and all others whom the state has imprisoned. The crowd brought banners bearing messages of solidarity with those inside, one even saying "We Are the Bad Luck" with a provocative image of a cop being kicked, drums, a variety of noisemakers, and a giant crow puppet which waved around visible to inmates, until it eventually blended in with the night sky, creating a witchy silhouette. Bandanas were brought along with "How to Do It" posters, which provided info about how to mask and bloc up properly in order to conceal one's identity from police or random do-gooders who might be filming. Almost immediately, a pig tried to talk to us, but his unwelcomed chit-chat was stopped ultimately when people gathered around him and drove him away with loud, disruptive drumming.


text:
Parents spend it on travel, home renovations – and having fun.
It makes perfect sense – or does it?
A full house must make it harder to save for retirement, since kids are expensive, right? Even when they're over 18, they might be in college or still living at home until they get that good job that they're seeking.
The expectation is that once the kids move out of the house for good, the parents can save more for retirement and be ready for their golden years.
Don't bet on it. Because you'd be wrong.
The latest study for the Center for Retirement Research at Boston College shows that empty-nesting parents aren't saving more after the kids are out the door. Instead, they're spending their money it more than ever, putting a comfortable retirement in jeopardy.
"There's long been a debate in retirement research about how parents react when their kids leave," says Geoff Sanzenbacher, a research economist at Boston College who participated in the study. "We found that when the kids leave, we don't see a large increase in their 401(k) plans. Given how people save for retirement these days, we would have expected to see that."
That's surprising because when you go from a household with the parents and two children to just the parents, that's a lot of extra money that could be saved.
"The debate has implications on how prepared people are for retirement," Sanzenbacher says. "If when the kids do leave and people start saving a lot more, obviously they're more likely to be prepared for retirement than if they don't."
The numbers show that parents in the study with access to a 401(k) saved about 7 percent of their income a year in those plans, he says. The most it grows to on average is 8 percent for those parents, and sometimes there's not much a discernable increase.
So what are they doing with the money?
Sanzenbacher says the study doesn't answer that, but the evidence points to people spending it on renovation projects around the house, including kitchen remodels. The parents are also traveling more, he says.
"I know my parents have traveled more since we got done with college, and I think they take it as a chance to do the things they couldn't do when the kids were around," Sanzenbacher says. "That's my reading of it. When the kids leave, they don't view it as a chance to save more but a chance to spend more. The kids were around for so long, and now it's time to have some fun."
That let's-have-fun attitude causes concern because people aren't saving enough for their retirement as it is, Sanzenbacher says. This was one of the best opportunities to change that equation. Instead, some Baby Boomers are supporting their adult children, and are otherwise spending more in general. So maybe rather than buying dinner at a family restaurant for four, the parents are going to a fancier restaurant by themselves.
"We're concerned," Sanzenbacher says. "The evidence suggests that a lot of people won't be ready for retirement. If we did see that people increased their savings, we would be less concerned."
Sanzenbacher advises people to heed this advice and plan. When the kids leave, budgeting becomes even more important. Empty nesters could spend at least half of the money and save the other half at a minimum, he says. That means putting the extra funds in their 401(k) plan. It's also a good time to plan for their retirement by deciding to work longer than they originally planned to do.
"That way people won't have to dip into their retirement savings so early and so you don't have to live off your retirement so long," Sanzenbacher says. "One other way to save a little more money is to put it into the mortgage. It doesn't have to be their 401(k). Taking some of that extra money and putting it somewhere it's going to be an asset for later is valuable."
Sanzenbacher says a small amount of people already do that, but researchers hoped even more people were opting for that strategy if they weren't putting it into their 401(k). None of it is enough to offset the fears that people aren't saving enough. Retirement savings are taking a hit as it is.
"The big news is that when the kids leave, see it as an opportunity to save a little bit more," Sanzenbacher says. "It's OK to have a little more fun, but saving a little bit more helps and it doesn't take a lot of hassle to do that."


text:
Why is Programming so Hard?
I'm sure many of you have written just as many lines of code over the years as I have. Have you noticed that other than garbage collection and object oriented programming, precious little has changed in programming over the past 50 years?
The IDEs are grand and ameloriate the situation somewhat, but it still comes down to writing code for each tiny little action.
I assigned my introductory class a project to write part of a student dating system a few years ago. My description of the project was terse:
"The 'Tufts Blind Date' system will pair up students for dates to interesting college events, based on a compatibility metric. Students will enter this information into the system: contact info, physical info, areas of interest, preferences in a date. The system will then pair them up based on preferences and mutual areas of interest and suggest a school event, also based on their interests."
My students were able to construct a program that did just that based solely on this description. It took them many, many lines of code to do so.
Why couldn't a system simply work off of my description like the students did?
There's a lot of leeway for vastly different implementations based on my description, but that's OK. I have no problems with refining the system after it's built.
Obvious examples of possible under-specification include: What's contact info? What's physical info? What are the possible areas of interest and how will they be compared? How will they be contacted?
I think contact info should be a well-defined term. 100 years ago it generally meant your postal address. 50 years ago it was a phone number. Now it's email. In 20 years, who knows what it will be! Let's finesse the situation by saying it's email.
Physical info is slightly less obvious. We'll go with a list: Sex, DOB, Height, Weight, Hair, and Eye Color.
Areas of interest is so wide open it could mean anything. We'll simply refer to the "Directory of American Associations and Organizations." Take all the keywords from that and we have a list of possible interests. True, that's a pretty darn big list, but we have put millions of person-hours into designing systems to allow selection from large lists, so I think the computer should be able figure out the details (pull-down lists, hierarchical lists, name-completion, etc.).
And as for "pairing them up," we'll make an simple definition. Every time two people have the same interest, we'll give 'em a point. When a preference matches a profile, we'll give another point. Highest point total wins the date. Ties will be resolved by random.
It's not much of a system, but it is sufficently specified in about 350 words that I would expect most programmers to come up with pretty similar systems.
But this is still not enough for the computer to figure out on its own.
Why not? Why do we have to drop to the level of specifying the exact list structure being used and all the loops required to make the pairing up work?
It will probably take 100x more characters to specify the system sufficently well for the Java (or whatever) compiler to produce a working program.
I don't expect a computer to be able to read my English description, but isn't there a formal syntax that would allow me to do the same thing in the same space?


text:
By Ajai Shukla
HAL, Bangalore
Business Standard, 30th Dec 13
On December 20, the Tejas light combat aircraft (LCA) was cleared to enter operational service with the Indian Air Force (IAF). Now Hindustan Aeronautics Ltd (HAL) faces the daunting transition from handcrafting Tejas prototypes into factory-assembling the 200-fighter Tejas fleet that Defence Minister AK Antony has envisioned.
The ministry of defence (MoD) has sanctioned Rs 1,556 crore for HAL's high tech production line that aims to build 12 Tejas fighters each year. The funds will come from the IAF (25 per cent); the navy (25 per cent), while HAL will put up half the money.
Business Standard visited the new Tejas production line, an expansive 28,000 square metre facility in four massive hangars in HAL, Bangalore. Work is already underway on the first IAF order of 20 Tejas Mark I fighters, with an order for 20 more in the pipeline once the aircraft gets "final operational clearance" next year. The first two fighters being "series produced" --- they are numbered SP-1 and SP-2 --- are visibly taking shape.
"By end-March 2014, SP-1 will fly, and SP-2 will fly a few months later. By the end of next year four Tejas will be in production. In 2015-16, we will build six fighters, and in 2016-17, we will build nine. We are targeting an annual capacity of 12 Tejas fighters," says V Sridharan, the project manager hand-chosen to build the LCA. Earlier, he set up HAL's production line for the Hawk trainer.
Over the years, excellent designs like the Arjun tank have failed the transition from design into product. This is because India's archaic defence production policies make the Defence R&D Organisation (DRDO) responsible for designing equipment, with production responsibility then passing onto a network of 8 defence public sector undertakings (DPSUs) and 39 ordnance factories (OFs) with long reputations for sloppy production. Having played little role in design, the manufacturing agencies struggle to produce the system.
The Tejas could be a game-changer. Firstly, HAL has played a major role both in designing the Tejas and in building prototypes for the flight-test programme. Secondly, HAL has brought a radically new approach to Tejas production, adopting global aerospace manufacturing standards and an unprecedented approach to quality control.
Walking around the Tejas assembly line, Sridharan explains that the sixteen Tejas prototypes HAL has built are each different from the other. As the Aeronautical Development Agency (ADA) incrementally refined and improved the fighter, each new prototype incorporated improvements and additions. The most recent prototype has a pressure refuelling system that lets the Tejas be topped up Formula One style, in just 8 minutes and then flown back into combat.
"As a result of all these changes, a panel from one Tejas would not fit another. Now we will implement absolute standardisation, with identical components, assemblies and panels," explains Sridharan.
This is being done with laser scanners that ensure that a number of key points (called "locators") on each aircraft being built is exactly where it should be. By measuring with the laser, it is ensured that the locator is within 80 microns, i.e. about one-tenth of a millimetre, of where it should be. These are international standards, used by companies like Boeing.
It is evident from the focus of the laser trackers teams that it is painstaking work. This standardisation, and coordinating the flow of Tejas systems and sub-systems to the assembly line constitutes what Sridharan describes as the process of "stabilising" the Tejas line.
"Once the process is stabilised, we can transition to higher rates of production. My initial focus will be on production quality; then we will scale up production. HAL will meet the target of building 20 fighters by 2016-17," he says.
That was the pattern while building the Hawk. After building just two aircraft in the first year, seven were built in the second year. In the third year, HAL built 18 Hawks, and the remaining 14 Hawks were produced within months.
Within ADA and in HAL, there is expectation that better production could improve aircraft performance. "Better build quality could well improve the Tejas' aerodynamic performance, reducing drag, and improving its speed, rate of climb and turn rate," says a designer.
HAL's chairman, RK Tyagi, explains that the international best practices being introduced in the Tejas assembly line will be replicated across all the aerospace giant's production lines, including the Sukhoi-30MKI line in Nashik and the Hawk trainer line in Bangalore.
"We have earmarked Rs 3,500 crore of HAL funds for making our production lines world class. Our focus is to gain the IAF's confidence. We will do what is necessary for that," says Tyagi.


text:
Patriots tight end Aaron Hernandez is being questioned by Boston police as part of an investigation into a possible homicide case.
Police found the body of 27-year-old Odin Lloyd on Monday and have been investigating several leads. His body was found near an industrial park by a jogger, and may have been there more than a day.
"He was stiff, motionless," the jogger that found the body said. "One of the police officers came back later and said it looked like the guy had been shot somewhere else and dumped here."
Investigators on the scene it was uncertain whether Lloyd was shot in the clearing where he was found or if his body was left there.
A law enforcement official said that Hernandez appears to be directly tied to the homicide.
A recent report shows that Hernandez was with Lloyd, a semi-pro football player, the night of the homicide. Lloyd had dated Hernandez's sister.
Lloyd, Hernandez and two other men were at a bar in Boston the night of the homicide. At some point, a source says the men left together in a car driven by Hernandez, as confirmed by one of Lloyd's text messages.
Later that night, only three men returned to Hernandez's home -- and Lloyd was not among them.
On Tuesday, 10 police cars were parked outside Hernandez's $1.3 million home while officers held a three-hour search of his home. One detective came out with a large cardboard box.
Hernandez is not believed to be the murder suspect, but a 2013 Chevrolet Suburban tied to the homicide was rented in his name and found near where Lloyd's body was found.
Police are searching for a silver side-view mirror cover that may have broken off a vehicle and a silver Chrysler 300 rental car with Rhode Island plates.
This is not the first time Hernandez has been tied to a shooting -- he is the subject of a lawsuit that alleges he shot a man in February at a Miami strip club. The case has since been dismissed for paperwork errors, but is expected to be re-filed.


text:
Tagged: Jacques Rogge
Why I'm Cool with A Baseball-less Olympics
When baseball lost its status as an Olympic sport after the '08 games, I admit, I was a little ticked off. How dare you take away my precious pastime, Jacques Rogge!
But having immensely enjoyed the 30th Olympiad from London thus far, the truth is, I don't miss it at all. In fact, if I want to watch the best baseball in the entire world, I just flip over to any of the 15 games being broadcast on my DirectTV Extra Innings package (do I get a credit for that plug?).
And really, that's the only reason needed for not including baseball as an Olympic sport. Remember how excruciating it used to be watching Olympic basketball without the finest athletes in the world participating? And that's in a sport lucky enough to have worldwide appeal. Sure, we US Americans love our baseball, but the truth is, outside of Japan and a few pockets of Canadian air, the rest of the world could care less.
In fact, unless you grow up around the game of baseball, it's pretty darn impossible to learn the rules of the game. Believe me, during my four years in China, I tried like crazy to teach it to anyone who would listen. But after a few hours of mass confusion, people tended to pretend they had to be somewhere, anywhere, just to get away from the crazy white guy wielding a stick and three different leather gloves.
Honestly, a professional-less international baseball tournament would be a pretty boring affair. The World Baseball Classic already features the best of the best, and even that has proven to be an extremely hard sell.
What makes the Olympic games so appealing, to me, is that it really is a celebration of glory. The absolute greatest athletes in their respective sports, from LeBron James to Roger Federer, Mary Keitany to Usain Bolt and hundreds more in between, all come to the same place, and the world is watching.
Albert Pujols ain't gonna show up. Neither is Derek Jeter nor any other Major League Baseballer. And even if they did, the world wouldn't care.
IOC Chairman Jacque Rogge's original statement to MLB columnist Mark Newman sums it up pretty well:
"To be on the Olympic program is an issue where you need universality as much as possible. You need to have a sport with a following, you need to have the best players and you need to be in strict compliance with WADA (World Anti-Doping Agency). And these are the qualifications that have to be met. When you have all that, you have to win hearts. You can win the mind, but you still must win hearts."
Oh yeah, then there's that whole juicing thing…
Hate me 'cuz I'm cool with the Olympics as is, just don't hate me 'cuz I'm right.


text:
7 sure ways to stop junk mail
As posted on May 30, 2012 on money.msn.com
By Liz Weston, MSN Money
Stopping junk mail is tough for a reason. Companies view virtually everything about you as a commodity to be sold or traded.
That includes your name and address, your age and an estimate of your income, the size of your mortgage and what you just bought on their websites or in their stores, and how much you spent there.
You may think the fact that you just purchased a swimsuit or a toy or a truss is your own bleeping business, but it's not. The retailer thinks your information is part of its business. It may share what it gleans about you with other retailers in huge databases known as co-ops that exist to help companies prospect for consumers. The retailer may sell your information to database brokers, who in turn sell it to other companies.
You don't have much of a say in this. Financial companies are required to send annual opt-out notices so customers can exclude themselves from all this sharing and trading. Other types of companies are not. There's no "don't trade me, bro" option to click when you're checking out.
That leads to an onslaught of marketers trying to grab your attention and mailboxes stuffed with junk. Many people try to fight back against this ambush. But some of the methods they try don't work. For instance, they:
Refuse to buy online. Sorry, but junk mail existed long before the Internet. Online purchases make it easy for retailers, who are prohibited from harvesting information from credit cards, to learn your address and other details about you. But companies have other methods of gleaning information, from loyalty cards to contest forms to magazine subscription databases. Public records provide a wealth of information about you as well. If you buy a home, get married, have a kid or file for bankruptcy, those events are recorded in public databases that are mined by marketers.
Even if you could somehow manage to stay off the radar, the Postal Service can find you. Thanks to the Postal Service's new "Every Door Direct Mail," businesses can send their ads to every home in a neighborhood. "Postage is as low as 14.5¢ per piece -- and you don't even need to know names or street addresses," the Postal Service crows on its website.
Use a prepaid envelope to opt out. "Any junk mail that has a prepaid return envelope, I put all their junk in that prepaid envelope and mail it back," one of my Facebook fans wrote. "Let them pay the postage, they usually get the idea."
Except they don't. The arm of the company that processes the returned envelopes is usually separate from the arm that handles the mailing list. Even if you pack the envelope with heavy stuff, hoping to cost the company more in postage, your protest typically will go nowhere other than the round file.
"You're sending it to the wrong spot," said Chuck Teller, the executive director of opt-out site Catalog Choice. "It feels good, but it doesn't work."
Ask to be taken off their mailing lists. Actually, this can work, although it's a hassle to call each company individually. The problem is the bad apples: the companies that ignore your requests, or worse.
Here's an illustration. Catalog Choice creates a unique email identity for each request it mails to companies on behalf of consumers. The mailbox that handles these requests has more than 650,000 responses, almost all of them spam, Teller said. In other words, companies are responding to the opt-out emails by sending more marketing messages.
"Email systems are messy, and most companies aren't being malicious," Teller said. "But we also can see Company A taking our opt-out email and selling (the email address) to Company B."
So what can you do that will make a real dent in the junk mail you receive? Here are seven options that work:
1. Opt out of (most) credit and insurance offers. OptOutPrescreen.com, operated by the major credit bureaus, allows you to remove yourself from the marketing lists the bureaus sell to lenders and insurance companies. You can delete yourself from these lists for five years at a time using the online form. To remove yourself permanently, you have to print out a form and mail it in. You have to supply your name and address.
The site suggests you also provide your Social Security number and birth date "to help to ensure that we can successfully process your request." Since the bureaus organize their databases using your Social Security number and birth date as identifiers, you probably want to provide those if you're serious about cutting down your junk mail. You'll still get offers, especially from companies that get your information from other sources. Still, you should see a noticeable decline in credit- and insurance-related junk mail, particularly if you've been inundated with it.
2. Take yourself off marketers' lists. DMAchoice.org, run by the trade association that represents direct marketers, promises to help remove you from the mailing lists maintained by the association's members. Basically, you'll be added to a "suppression list" that's provided to members to check against their mailing lists. Not every marketer participates in this program, but enough do that "it should reduce about 80% of the unwanted mail," said Senny Boone, the Direct Marketing Association's senior vice present for corporate and social responsibility.
Just ignore the website's advice about how you should "ideally" go about deleting yourself from marketing lists. It wants you to contact its hundreds of members individually. That way madness lies. Instead, use the button that allows you to unsubscribe from everything in each category: catalog offers, magazine offers and "other mail" offers. (The "credit offers" button takes you to OptOutPrescreen.com.)
3. Consider signing up with Catalog Choice. Once you buy a product from a retailer, chances are good you'll start getting its catalog, whether you're on a suppression list of not. Catalog Choice not only helps you get off those for free, but it also offers a $20-a-year MailStop Shield service that plucks your information out of several of the big databases, so it can't be sold to marketers. The company also has an iPhone application that makes getting off mailing lists relatively easy: You take a picture of the junk mail and send it in.


text:
* Not all products listed are available in all countries.
Proven solution for efficient sheet metal handling.
Intelligent solutions for loading and unloading laser cutting systems
Modular automation for loading and unloading laser cutting systems
Compact storage tower for lightly-manned production
Flexible solution for the loading and unloading of laser cutting systems
Cookies are necessary in order to allow you to use all the functions of the Bystronic Group's website. Some of these cookies require your express consent. Please give your consent to the use of cookies so that you can use all of the website's functions. You can find detailed information about the type, the use or the purpose, and the individual expiry dates of the cookies by clicking on "Further information".
This website uses cookies. Why?Click here to learn more.


text:
IHOP Threatens To Call The Police Because You Refuse To Show ID With Credit Card
Reader Jered says that IHOP refused to accept his credit card without seeing ID and threatened to call the police and report him for dine-and-dashing if he didn't show it to them. Here's his story:
I went to IHOP(INTERNATIONAL HOUSE OF PANCAKES) on March 30th with my wife to eat. After our meal I went to the counter to pay and presented my Visa as payment. I was asked for photo ID, and kindly declined. I was then told that they were not going to be able to accept my card without photo ID.
I then offered my MasterCard(so that I could later fill out a complaint) and was also told a photo ID would be required. I then explained that I had no other form of payment, that it was against both Visa & MasterCard's merchant rules. I was then directed to the manager, who I politely explained to that if he expected to be paid for the meal he offered me, he had the choice of accepting and honoring my card, or not getting paid.
At this point the manager called the police and was attempting to have me arrested for Dine-and-Dash, even though I was the one trying in good faith to present payment, and they were the one's refusing, based on a 'store policy' that was in a direct breach of contract, their merchant agreement. My wife then showed her Visa(same account number) and her ID, and was fully embarrassed and outraged that they were trying to have me arrested because THEY refused to accept payment. I found this completely unacceptable, I called their Corporate Headquarters in Glendale, California, as did my wife, and filed complaints. We were told a Field Rep for the area would call us, but none ever did. I'd plan on going back there with just my card and no ID and let the police come, but as a matter of principal I can simply not got back there after something like that.
— Jered,
We think you're right in not going back. Why give your money to bullies? It is indeed a violation of IHOP's merchant agreement with MasterCard to refuse payment without photo ID, except in the case that they need to ship something to you and have to verify your address. Did you plan on having your partially digested waffles FedExed?
MasterCard Merchant Manual (PDF) [MC]
Want more consumer news? Visit our parent organization, Consumer Reports, for the latest on scams, recalls, and other consumer issues.


text:
Editor's note: Do you need something to smile about? Every day, WND selects the best joke offered up by readers and contributors to its Laughlines forum and brings it to you as the WND Joke of the Day. Here is today's offering:
An elderly gentleman had serious hearing problems for a number of years.
He finally went to the doctor and was fitted for a set of hearing aids that allowed him to hear perfectly.
Advertisement - story continues below
A month later, the man went back to the doctor, and the doctor said, "Your hearing is perfect. Your family must be really pleased that you can hear again."
The man replied, "Oh, I haven't told my family yet. I just sit around and listen to the conversations. I've changed my will three times!"
TRENDING: Black leaders: BLM about overthrow of U.S., not race
Got a great joke you want to share with the world? Write it up in the WND
Laughlines forum. Who knows? It might be selected as the WND Joke of
the Day – and your wildest dreams will come true.


text:
April 30 is National Oatmeal Cookie Day. (What an awesome country we have in that it has foodie "holidays"!) So, in my continuing quest for a perfect oatmeal cookie recipe, I turned to Alice Medrich's latest cookbook, Chewy Gooey Crispy Crunchy Melt-In-Your-Mouth Cookies, another book I want to eventually acquire but prudently borrowed from the library instead.
What caught my eye is that the recipe calls for melting the butter. That immediately made me want to make the cookies with browned butter, similar to what I did with Alton Brown's chocolate chip cookie recipe. Now that recipe has become my go-to recipe for chocolate chip cookies so I thought I could give Alice Medrich's recipe a boost by doing the same thing. What I also liked about all the recipes in this book is she gives the weight measurement of the ingredients as well as the more traditional volume measurements. If you have a food scale, it's better to weigh out your ingredients rather than volume measure them – it's more accurate that way.
Browned butter smells good and makes everything tastes so much better. Just mixing this cookie dough together was an alluring experience. If I was the type of person to eat cookie dough, I could probably have downed half the batch in raw form. Fortunately, I'm not and it was easy enough to put the bowl of cookie dough in the fridge to cool, unscathed. Harder to wait overnight to bake the cookies. The dough became considerably firmer after being chilled overnight so it was a little difficult to scoop into dough balls. I'd advocate making the dough balls right after you mix the cookie dough and then chilling (not freezing) the dough balls if you want to bake them the next day. The reason for not freezing them immediately is to let the oats absorb the moisture of the dough first.
Overall, this was a good cookie. I underbaked them slightly so the edges weren't as crisp as I think they were meant to be but the middle was gooey. I liked the caramelized taste a lot from the browned butter. The cinnamon doesn't come out very much, probably because the browned butter is more prominent but I consider this another solidly good recipe from Alice Medrich.
(See next page for Browned Butter Oatmeal Cookie recipe)
Browned Butter Oatmeal Cookies
From "Chewy Gooey Crispy Crunchy Melt-In-Your-Mouth Cookies" by Alice Medrich
2 cups (6.67 ounces) rolled oats
1/4 cup water
1-1/4 cups (5.625 ounces) unbleached all-purpose flour
1/2 teaspoon baking soda
1 teaspoon ground cinnamon
1/4 teaspoon freshly grated nutmeg
1/2 pound (2 sticks) unsalted butter
3/4 cup (5.25 ounces) packed light brown sugar
1/2 cup (3.5 ounces) granulated sugar
1 teaspoon pure vanilla extract
1/2 teaspoon salt
1 large egg
1 cup (3.5 ounces) walnuts, chopped (I used milk chocolate chips)
1 cup (5 ounces) raisins (I used milk chocolate chips)
Place the oats in a small bowl and sprinkle with the water.
Combine the flour, baking soda, cinnamon and nutmeg in a medium bowl and mix together thoroughly with a whisk or fork.
Cut the butter into chunks and melt in a large saucepan over medium heat. (I browned the butter and let it cool for 10 minutes before adding the other ingredients.) Remove from the heat and stir in the sugars, vanilla, and salt. Add the egg and stir briskly. Stir in the flour mixture just until all of the dry ingredients are moistened. Stir in the walnuts, raisins and oats. Let the dough stand for at least 1 but preferably 2 hours or (better still) cover and refrigerate overnight.
Preheat the oven to 350 degrees F. Position racks in the upper and lower thirds of the oven.
For large cookies, scoop about 2 level tablespoons of dough and place the cookies about 3 inches apart on parchment-lined baking sheets. For small cookies, scoop 1 level tablespoon of dough. Bake for 12 to 15 minutes for large cookies, 10 to 12 minutes for small cookies, or until the cookies are golden brown on top. Rotate the pans from top to bottom and from front to back halfway through the baking time to ensure even baking. Cool the cookies completely before storing or stacking. May be kept in an airtight container for several days.
Carol Ramos blogs at The Pastry Chef's Baking.
Related post: Alton Brown's Chocolate Chip Cookie
The Christian Science Monitor has assembled a diverse group of food bloggers. Our guest bloggers are not employed or directed by The Monitor and the views expressed are the bloggers' own and they are responsible for the content of their blogs and their recipes. All readers are free to make ingredient substitutions to satisfy their dietary preferences, including not using wine (or substituting cooking wine) when a recipe calls for it. To contact us about a blogger, click here.
Sign-up to receive a weekly collection of recipes from Stir It Up! by clicking here.


text:
Ethan Goodey, Kathryn Nobbe and Emily Messner are shown with
their first-place Bible Bowl trophy won at Lutheran High
School in Springfield.
ZLS students win 1st place at Bible Bowl
Send a link to a friend
[December 02, 2012]
SPRINGFIELD -- Ethan Goodey, Kathryn
Nobbe and Emily Messner, seventh-graders at Zion Lutheran School in
Lincoln, represented ZLS at the Springfield Lutheran High School
Bible Bowl on Saturday.
Other participating schools were Springfield Our Savior's
Lutheran, Mount Pulaski Zion Lutheran, Jacksonville Salem Lutheran
and Champaign St. John Lutheran.
The same ZLS team members won first place in last year's
sixth-grade division.
[Text from file received from
Zion Lutheran School, Lincoln]
Recent articles
Back to top
News |
Sports | Business |
Rural Review |
Teaching & Learning
Home and Family |
| Obituaries
Community |
Law & Courts |
Leisure Time
Spiritual Life |
Health & Fitness |
Teen Scene
Letters to the Editor


text:
Lapland Mittens from Folk Mittens
by exercisebeforeknitting
While I still have no knitting progress to speak of, I thought I'd post about my lamest UFO ever (please excuse the background of diapers!) Check this out: BOTH mittens are done. One even has a thumb. The only thing remaining is another thumb. These mittens are two years old. That's right, two years. I estimate it would take me about 30 minutes to finish the second thumb. Why haven't I? I have to find the yarn, the book and some size 3 DPNs. I'm a little behind on work right now so they'll have to wait a little longer. I intend on bringing these to my knitting group next weekend so you can expect a long overdue FO post next week about these babies!
Yarn: Knit Picks Wool of the Andes
Pattern: Lapland Mittens from Folk Mittens
Needles: US 3
The other day, I was looking down at my hands and I noticed a dark indentation on my right index finger. On further inspection, I noticed another one on my left pinky finger. I pointed it out to Aaron, wondering aloud what on earth could have caused the marks. He looked at me blankly. "Knitting," he said. Of course. How could I have missed that one? So it's official: I am the biggest dork ever! My friends have been purporting this for years.
This is how I hold my knitting when knitting English style:
I wrap the yarn around my pinky when knitting Continental style, which explains the mark on my left hand. Seven years of knitting has left its mark, I suppose! Am I alone in this? Do you all have knitting marks?
Finally, my SP Deb sent a really cool final package, complete with sock yarn and Beatrix Potter books for baby Beatrix!!! She's already interested in Peter Rabbit's ears! Thanks so much, Deb! I had a great time with SP – I hope you did too!


text:
Rob lowe will be desperate for some points the match report for the Blackburn game seems to indicate they started brightly but after blackburn scored a goal they started to struggle and this was compounded by the second,. so not surprisingly confidence will be low. Rob lowe went for a 4-4-2 formation with trying to play the Wing backs to give attacking options.he is also giving players who have been on the fringes a try out.
clearly they are on a poor run but this has a banana skin written all over it, town must not let bury players or fans have any thing to feel hopeful about , we must be professional and clinical , cut out the soft free kicks and silly challenges in our third and press them hard to get the first goal,we must be ruthless . to get the points we need to keep the momentum going as we face Bradford. this game will not be easy.
we will also be without the tenacity of Ogogo


text:
President Obama's visit to Europe this week is giving him the opportunity to bury once and for all perceptions that have dogged his administration from the outset: that the US has lost interest in Europe, and has put a higher priority on resetting relations with an authoritarian Russia than it has on the completion of a Europe whole, free, and at peace. Such completion, of course, has been a goal of successive US administrations since the fall of the Berlin Wall.
After a state visit to Britain to reset the "special relationship," and a stop in Ireland – ideal for showing US support for the EU and euro given Ireland's debt troubles – he is using today's G8 Summit in France to show that the US and Europe can work together effectively on global issues, especially on supporting reform and democracy in the broader Middle East. This renews former President Bush's emphasis on these themes at the US-hosted G8 Summit in 2004.
Why Poland matters
The early stops have already been quite successful. But perhaps Mr. Obama's most symbolic stop will be in Poland tomorrow. Central Europeans have complained since the start of the "reset policy" with Moscow that the United States has ignored their interests in favor of accommodating Russia. Until now, Obama had not visited any Central European country other than for the purpose of a US-Russia meeting or a multilateral summit. Central Europeans wondered whether the administration still shared a commitment not merely to them, but to the advancement of freedom in all of Europe, including Ukraine, Georgia, Belarus, Moldova, the Balkans, the Caucasus, and even Russia itself. Did Obama actually "get" this region?
IN PICTURES: Obama visits Britain
In Poland, the president will address two areas of vital concern to the Poles: the US visa waiver program, and US defense cooperation. This will signal a renewed commitment to working with Poland as a strategic ally in Europe – and in turn stand as a signal to the region as a whole.
Moreover, Obama and Polish President Bronislaw Komorowski will co-host a dinner for some 20 leaders from Western, Central, and Eastern Europe Friday night – an excellent venue to signal continued US commitment to the completion of Europe, as Poland prepares to take over the EU presidency.
An awkward fact
Yet in doing so, he must confront an awkward fact: His will be the first administration since President Clinton's first term that has not seen NATO invite new members to join the Alliance. And it will take the EU at least five years to bring in new members following Croatia's likely accession later this year.
The reason for this is obvious: None of the other potential candidate countries is actually ready for membership at this stage. But there is more at work than just the invitations. There is the commitment to the vision of an inclusive, democratic Europe for all its citizens.
In the past, the realistic prospect of NATO and EU membership helped leaders drive through the reforms needed to meet NATO and EU standards. Yet in 2011, for a whole host of reasons, the credibility of this commitment has waned.
Not only are there no invitations – no one is even talking about further NATO enlargement, and EU enlargement is moving all too slowly. The EU is consumed with its internal political and financial crises. The backlash against Turkish membership has put a damper on all EU membership questions. And the flailing effort to build an EU foreign policy has reinforced the sense that on enlargement, the answer is clearly "not now." This, in turn, has diminished incentives to reform in much of Europe's south and east.
Meanwhile, NATO has put Georgian aspirations for NATO membership on ice. Ukraine has turned its back on European integration. And while inviting Montenegro and Bosnia into its Membership Action Program, NATO has sent a strong signal that it does not envision new members any time soon.
Obama's opportunity
In all of this, President Obama has been largely silent. Yet at the dinner he co-hosts in Warsaw, he has an opportunity to change all this: He should not merely rebuild relations with nations that felt estranged in recent years; he should declare America's enduring support for completion of a Europe that is truly whole, free, and at peace. For the right of all people to determine their own future, to choose their own security alliances.
He should explicitly state that NATO's 2008 invitations to Croatia and Albania will not be the last, and he should call on the EU to reinvigorate its own dream of a wider Europe. And he should stress that freedom, prosperity, and security for Russia's neighbors – and indeed for Russia itself – is not a threat to Russia, but indeed the best "reset" Russia could hope for.
Kurt Volker is international managing director of BGR Group and a senior fellow at the Johns Hopkins Center for Transatlantic Relations. Ivan Vejvoda is vice president of programs at the German Marshall Fund. Damon Wilson is executive vice president of the Atlantic Council.
Get the best of Monitor opinion. Sign up for our weekly e-newsletter here.


text:
Microsoft Office 2016 ISO, Crack and Product Key Download
Microsoft Office 2016 ISO, Crack and Product Key Download
Microsoft Office 2016 ISO well demonstrates how today has changed the approach to create documents and work with them. Many of us are beginning to work on the same computer, it continues on the other, as demonstrated in the third, simultaneously managing to make minor changes for laptop, tablet or smartphone. Therefore, Office 2016 Crack tried to make conceptually different. Almost all of the key elements in it have been developed from scratch, and applications oriented to a single style of work, regardless of the hardware platform.
They are designed to provide the usual functional on any device, automatically adjusting its interface to the parameters of the current screen and the available system resources. We have also provided Microsoft Office 2016 Product Key just for you enjoy full feature Software.
New Features of Office 2016 ISO:
- Already available in OneNote and Window, math input control is now available in Word, Excel and PowerPoint. You can write math equations with a digital pen, a pointing device, or even your finger, and have the ink converted to a "typed" format.
- This feature simplifies resolving conflicts when coauthoring. You can choose between two versions of the conflicting slides, your changes or others' changes, instead of sifting through the individual conflicts.
- This feature increases the number of default shape styles by introducing new "preset" styles in Word, Excel, and PowerPoint.
- We've improved the timeline view in Microsoft Project so you can now have multiple timeline bars in a single view and you can set the date range for timeline bars so they can just represent a specific phase of your project. To try this out, click on the timeline and then go to the Format tab. Note the new Date Rage and Insert Timeline Bar commands.
- Visio diagramming can be intimidating for someone who is new to Visio and not used to the rich set of tools offered. The Getting Started experience now makes the Visio canvas more inviting by providing a select set of pre-crafted starter diagrams which will help the users in some of the very core scenarios for that template. In addition, there are some tips provided with the diagram which help the users in editing and completing their diagram creation experience. Using Visio is easier than ever.
- The preview has higher DPI support for 250% and 300% so that your Office documents look great on larger screens.
- No more waiting while large charts and SmartArt diagrams load as the text will appear right away, allowing you to dive right in and start editing. A placeholder for the chart or SmartArt will be displayed until the object fully renders but you can still interact with the document.
- We've changed the default Office theme to align with the visuals of our modern apps. The default theme is now "Colorful" (previously, the default theme was "White"). You can always change your theme by going to File > Account > Office Theme.
- Now, with automatic image rotation, once you insert an image into the apps, it automatically rotates the picture to match the camera's orientation. You can manually rotate the image to any position after insertion. Note that this only affects newly inserted images and does not apply to pictures in existing documents.
- The Building Plan and Electrical stencils have been refreshed with new shapes so you have more variety to choose from.
- Open up an Excel workbook within SharePoint quickly in read-only mode to quickly get to what matters most.
- This new theme is designed to provide users with visual impairments who find overly bright displays unusable in Office 2013, with a more visually subtle background to work with in the apps.
- Dark theme also includes improvements to Word's navigation pane (better readability, fixed white flashes) and several Outlook readability fixes (white text on light background, dark text on dark background, disabled text being unreadable).
- The contextual ribbon tab text, hover states and task pane controls have also been improved.
- New chart types
- Quick data linking in Visio
- And Many More
How To Crack Microsoft Office 2016 ??
- Download and Extract The Archive File From The Links Given Below
- Run "O16Setup.exe"
- Choose edition (x64 or x86)
- Click Install Office Button & Wait Till It Installs
- Open Any Office Product (e.g. MS Word), Wait till some popup windows appear
- Cancel Popup to sign in and Activate
- Close Office and Visit Crack Page Given Below
- Follow Steps Given on That Page
- Done, Enjoy Microsoft office 2016.
Screen Shot(First look):
You can download Microsoft Office 2016 Preview, Crack , ISO and Product Key From here.


text:
Lynch launches bid for Mass. US Senate seat
Democrat enters race to fill John Kerry's seat
Massachusetts Democratic U.S. Rep. Stephen Lynch officially launched his bid for U.S. Senate on Thursday in a part of the state where few voters know much about him, and where the people are generally skeptical of Boston-based politicians.
Lynch, accompanied by some union supporters, and mingling among the breakfast regulars at O'Brien's Corner restaurant on a gray and windy day in Springfield, touted himself as the underdog outsider and played up his working class roots as an iron worker from South Boston.
He even took a shot at a possible Republican candidate, former Sen. Scott Brown.
Brown has not formally announced whether he will run, but fellow Democratic Congressman Edward Markey, has. They are vying to fill the seat left open by John Kerry, who has been named secretary of state in the Obama administration.
The special election will be held on June 25 with a primary on April 30.
"I think if the election were held today, I would lose," said Lynch, calling Markey a Washington insider. "But the election is not today."
He criticized the state's Democratic establishment for throwing its weight behind Markey, the dean of the state's congressional delegation. Voters, he said, deserve a choice.
"Shame on us if we allow someone to purchase the election, without having a choice," he said. "Let the voters of Massachusetts decide."
Lynch said he too drove a pickup truck, just as Brown was seen in campaign ads, but unlike Brown he actually had tools and work boots in his and didn't just drive it back and forth to his law practice.
"I actually slapped on a pair of work boots for 18 years," Lynch said. "I was an iron worker. I think I know what a lot of people are going through right now. I know what it's like to stand in an unemployment line and struggle"
Retiree Kathleen Murphy, 73, a Democratic activist in the western Massachusetts city, said she didn't know much about Lynch or Markey, whose name she couldn't even remember at first. Both represent parts of Boston and suburbs.
"I know very little about him and I'm here to hear his own words who he is," she said.
Lynch was scheduled to continue his tour in Worcester before ending at the iron workers union hall in South Boston.


text:
Astilbe, false goat's beard, false spirea
Astilbe species
Plants of Home and Garden
Seed sown at 60-65F/15-18C, or when fresh in fall, onto surface of evenly moist, fertile, well-drained soil, though older specimens can do well in clay soils. Sun to shade, and protect from full sun in hot climates; ensure consistent watering especially if grown in full sun. May self-seed. Divide every few years, in spring or fall, separating root clumps into fair-sized pieces. Hardy zones 3-8
Astilbe chinensis, Chinese astilbe, is especially suited as a ground cover for a wet site; hardy zones 5-8
See Also
Aaron's beard, creeping St. Johnswort (Hypericum calycinum)
Related Topics
Dividing Plants
|Copyright © 2020,
All rights reserved


text:
Not so far from home
As it turns out, the rugged terrain surrounding Joint Base Elmendorf-Richardson is actually a pretty good double for Afghanistan.
"We were out in the winter months repeatedly doing driver training to get ready for this," said Lt. Col Brad Hinson of the 725th Brigade Support Battalion (Centurions) during a recent conference call from Afghanistan.
The Centurions are tasked with providing logistical support for the 4,000 members of Task Force Spartan currently deployed in Eastern Afghanistan. That means they're responsible for getting everything from food to ammunition to soldiers who are spread out across a 19,000-square mile area of operations in the Khost and Paktia provinces.
"We distribute all the different classes of supplies for all the soldiers for Task Force Spartan," Hinson said. "That's food, water, bulk fuel, ammunition, building supplies, repair parts…"
The unit uses both air and ground equipment to accomplish this mission, and Hinson said the training done in the Alaska backcountry has been a big help in the icy mountains of Afghanistan.
"It's paying unbelievable dividends," he said.
The two locations are actually fairly similar in at least one regard, Hinson said.
"The weather is very unpredictable," he said.
Hinson and Sgt. Maj. Brian Morrison took time out from their work to speak with the Star during a conference call on Feb. 1. The soldiers deployed to Afghanistan in November and December for a 10-month tour. So far, Hinson said he couldn't be happier with how the mission has gone.
"They have hit the ground running," he said of his paratroopers.
Task Force Spartan goes through roughly 55,000 gallons of fuel each day, Hinson said, all of which has to be provided by the Centurions. The unit is also responsible for fixing broken equipment and providing medical care to both wounded Spartans as well as the occasional Afghan civilian.
Sgt. Maj. Morrison said the work is always different, and forces the Centurions to be able to think on their feet.
"It's amazing to see how fast they work these things out in their mind," he said.
Lt. Col. Hinson said the Centurions' ability to solve problems at a moment's notice — whether due to changing weather conditions or a broken-down vehicle — has the added benefit of providing the soldiers with "graduate-level logistics" training that will have applications once their time in the Army is over.
"What they do over here in supporting this brigade definitely prepares them for when they are going to get out of the Army for employment," Hinson said.
While the Centurions might be the best friends of soldiers in need of food and supplies, they're also serving to bridge the divide between American forces and the Afghan public through their medical work. Morrison described a recent event during which a young child was injured by ordnance in town. The child was admitted to the base hospital, where he was able to receive medical care.
Hinson said that whenever an Afghan civilian is cared for by the military, it can only help the Army's image in the Asian country.
"I think it definitely does," he said. "They see us as medical providers and helpers, and I think…the second- and third-order effect of doing something like that is going to pay dividends way down the road."
Morrison said one of the most gratifying things he's experienced since arriving in Afghanistan is the ability to work with Afghan security forces. One of Task Force Spartan's primary goals is to enable the Afghans to take over their own governance and security, and Morrison said he's found that the local soldiers are no different than those from the U.S.
"They are no different than we are," he said. "They are soldiers and they want what's best for their country."
Getting positive feedback from his fellow soldiers, Morrison said, is one of the best parts of the job.
"That's always reassuring to us that it's taken on a positive impact on everybody," he said.
Contact Matt Tunseth at 694-2727 or [email protected]