text:
Release Date:
April 26, 2005
Rating: pg - Scary Moments, Profanity
The best-selling series of subversive children's books from author Lemony Snicket (aka Daniel Handler) come to the screen in this black comedy for the whole family (and how often do you get to see one of those?). The Baudelaire siblings -- gadget freak Violet (Emily Browning), bookworm Klaus (Liam Aiken), and baby Sunny (Kara Hoffman and Shelby Hoffman) -- were living a fairy-tale existence with their parents until they died in a fire that destroyed the family home. With few close relatives and a large fortune the children won't inherit until they reach adulthood, the Baudelaire children are left in the care of the peculiar Count Olaf (Jim Carrey), an out-of-work actor who would love nothing more than to get his hands on the kids' money. It doesn't take long for the children to figure out that Count Olaf is up to no good, and they try to steer clear of his various murderous schemes with the help of wildly paranoid Aunt Josephine (Meryl Streep) and snake-fancying Uncle Monty (Billy Connolly). Lemony Snicket's A Series of Unfortunate Events also features Catherine O'Hara, Timothy Spall, Cedric the Entertainer, and Luis Guzman; Jude Law narrates in the guise of author Snicket. ~ Mark Deming, Rovi
- Genre: Kids and Family
- Category Gothic Film, Family-Oriented Comedy, Black Comedy
- Theme: Orphans, Inheritance at Stake
- Run Time: 01 hr 47 min
- Language: English , French , Spanish
- Subtitle Language: English
- Picture Format: pan_and_scan
- Lead Actor: Jim Carrey , Liam Aiken , Emily Browning , Kara Hoffman , Shelby Hoffman
- Supporting Actor: Meryl Streep , Billy Connolly , Cedric the Entertainer , Jane Adams , Catherine O'Hara , Timothy Spall , Jude Law , Craig Ferguson , Luis Guzman , Jamie Harris , Jennifer Coolidge
- Director: Brad Silberling
- Academy Awards (1)
- Academy Awards , Best Makeup , 2004 , Bill Corso, Valli O'Reilly
- Academy Awards (3)
- Academy Awards , Best Art Direction , 2004 , Cheryl Carasik, Rick Heinrichs
- Academy Awards , Best Score , 2004 , Thomas Newman
- Academy Awards , Best Costume Design , 2004 , Colleen Atwood
other Info.
- Online Item #: 11296781
- Store Item Number (DPCI): 058-10-1089
- Made in the USA or Imported


text:
Information on Loughborough
News Index
2015Jul 2015
Jun 2015
May 2015
Apr 2015
Mar 2015
Feb 2015
Jan 2015
2014Dec 2014
Nov 2014
Oct 2014
Sep 2014
Aug 2014
Jul 2014
Jun 2014
May 2014
Apr 2014
Mar 2014
Feb 2014
Jan 2014
2013Dec 2013
Nov 2013
Oct 2013
Sep 2013
Aug 2013
Jul 2013
Jun 2013
May 2013
Apr 2013
Mar 2013
Feb 2013
Jan 2013
2012Dec 2012
Nov 2012
Oct 2012
Sep 2012
Aug 2012
Jul 2012
Jun 2012
May 2012
Apr 2012
Mar 2012
Feb 2012
Jan 2012
2011Dec 2011
Nov 2011
Oct 2011
Sep 2011
Aug 2011
Jul 2011
Jun 2011
May 2011
Apr 2011
Mar 2011
Feb 2011
Jan 2011
2010Dec 2010
Nov 2010
Oct 2010
Sep 2010
Aug 2010
Jul 2010
Jun 2010
May 2010
Apr 2010
Mar 2010
Feb 2010
Jan 2010
2009Dec 2009
Nov 2009
Oct 2009
Sep 2009
Aug 2009
Jul 2009
Jun 2009
May 2009
Apr 2009
Mar 2009
Feb 2009
Jan 2009
2008Dec 2008
Nov 2008
Oct 2008
Sep 2008
Aug 2008
Jul 2008
Jun 2008
May 2008
Apr 2008
Mar 2008
Feb 2008
Jan 2008
2007Dec 2007
Nov 2007
Oct 2007
Sep 2007
Aug 2007
Jul 2007
Jun 2007
May 2007
New advance announced in reducing 'bad' cholesterol
Posted on 09/12/2011
University of Leicester
Scientists from the University of Leicester and University of California Los Angeles (UCLA) have announced a breakthrough advance in tackling dangerous 'bad' cholesterol in the body.
They have filed two patents for developing targeted drugs that would act as a catalyst for lowering levels of 'bad' cholesterol.
Two research papers published by the academics enhance the understanding of the regulation of low-density lipoprotein (LDL) or "bad" cholesterol.
LDL, the so-called "bad" cholesterol, is often linked to medical problems like heart disease, stroke and clogged arteries.
In the body, cells in the liver produce an LDL receptor that binds LDL and removes it from the blood, thereby lowering cholesterol levels.
However, the LDL receptors can be hindered from their mission.
The scientists found that an enzyme called IDOL has been shown to play a key and specific role in the ability of the LDL receptor to bind with 'bad' cholesterol. Therefore targeting the enzyme with drugs would assist the LDL receptors in lowering circulating cholesterol in humans.
Professor John Schwabe, Head of Biochemistry at the University of Leicester, said: "Development of a drug that interferes with IDOL's activity could help lower levels of LDL. Our research has greatly enhanced our understanding of this important process."
Prof John Schwabe, Dr Ben Goult and Dr Louise Fairall at the University of Leicester in collaboration with the University of California Los Angeles (UCLA) published their research in Genes & Development and the Proceeds of the National Academy of Science (PNAS) . The research in the UK was funded by the Wellcome Trust and in the US by NIH and the National Heart Foundation of Australia Overseas Fellowship.
The study in Genes & Development announced the first atomic structural information on IDOL and identified the E2 ligase, UBE2D that works with IDOL to degrade the LDL receptor.
In the second research article published in PNAS, the team elucidated the molecular basis for the stringent specificity of IDOL for the LDL receptor.
Professor Schwabe added: "Remarkably, IDOL only targets three proteins for degradation (all lipoprotein receptors) and this research paper greatly enhances our understanding of this specificity and identifies key residues involved in mediating this interaction.
"A potential future drug that targets IDOL could be prescribed in conjunction with statin drugs, which also cut cholesterol levels by increasing production of the LDL receptor and these two studies make considerable headway towards this. "
The universities have filed 2 patents related to the research findings.
Both research papers are available online at:
Full PDF versions of the papers can be accessed for free through the website.
Pictured: Illustration of how the enzyme IDOL binds with LDL receptors, degrading them and hampering their ability to bind with 'bad' cholesterol.
Latest Loughborough News
Borough council steps in to support parish
Created: Monday 24th of November 2014 11:11:58 AM
Charnwood Borough Council is supporting a parish council which is unable to function because of a low number of councillors. Following a series of resignations, East Goscote Parish Council has three councillors and seven vacancies. It needs a minimum of four councillors to make decisions and conduct its ongoing business. ...
Read More: Borough council steps in to support parish
Loughborough highly commended at tourism awards
Created: Monday 24th of November 2014 10:11:36 AM
The Loughborough museum, run in partnership by Charnwood Borough Council and Leicestershire County Council, was Highly Commended at the 2014 Leicester and Leicestershire Excellence in Tourism Awards on November, 20, 2014....
Loughborough Alcohol Ban
Created: Monday 24th of November 2014 10:11:02 AM
International Supermarket, in Sparrow Hill, Loughborough, has had its licence to sell alcohol removed by CBC after a hearing of the Council s Licensing Sub-Committee....
Read More: Loughborough Alcohol Ban
Loughborough University Fuel Cell
Created: Saturday 22nd of November 2014 03:11:36 PM
Intelligent Energy Holdings plc the energy technology group founded on Loughborough University research has just announced the UK retail launch of Upp , the portable power solution driven by a hydrogen fuel cell to power up USB compatible devices....
Read More: Loughborough University Fuel Cell
Landlords invited to learn more about accreditation scheme
Created: Saturday 22nd of November 2014 10:11:32 AM
A roadshow to encourage private landlords in the borough to join an accreditation scheme will be held in Thurmaston....
Read More: Landlords invited to learn more about accreditation scheme
Related Loughborough News
Unexpected discovery opens up new opportunities for targetting cancer
Created: Wednesday 11th of January 2012 04:01:57 PM
University of Leicester scientists announce a major advance in understanding the regulation of an important cancer target in Nature paper...
Read More: Unexpected discovery opens up new opportunities for targetting cancer
Leicester leads on heart attack genetic link discovery
Created: Monday 7th of March 2011 10:03:04 AM
University of Leicester Professor highlights potential for new treatments in 13 new genes associated with heart disease risk...
Read More: Leicester leads on heart attack genetic link discovery
Scientists discover new mechanism for controlling blood sugar level
Created: Monday 29th of November 2010 02:11:02 PM
Advance in understanding of insulin secretion could impact on diabetes control involves University of Leicester...
Read More: Scientists discover new mechanism for controlling blood sugar level
Discovery of blood pressure genes could help prevent cardiovascular disease
Created: Monday 12th of September 2011 12:09:12 PM
Measurements can predict hypertension and cardiovascular disease in study co-led by University of Leicester researchers...
Read More: Discovery of blood pressure genes could help prevent cardiovascular disease
Fatal blood clot genetic risk breakthrough announced
Created: Thursday 25th of November 2010 01:11:11 PM
Researchers from Leicester and Cambridge lead discovery of genetic markers that identify people at risk of clot formation and heart attack ...
Read More: Fatal blood clot genetic risk breakthrough announced
Most Read Loughborough News (today)
Mini moto campaign in Loughborough is a crushing success.
Created: Wednesday 2nd of July 2008 03:31:00 PM
14 motorbikes and mini-motos have been crushed after they were confiscated by police in Loughborough during a crack down on young people who drive dangerously and inconsiderately on roads, parks and public places....
Read More: Mini moto campaign in Loughborough is a crushing success.
Social media 'not to blame' for inciting rioters
Created: Friday 9th of December 2011 03:12:57 PM
University of Leicester researchers are involved in a study of the use of Twitter during the August riots...
Billion euro ESA mission to explore icy worlds of Jupiter
Created: Thursday 3rd of May 2012 04:05:46 PM
University of Leicester scientists involved in new European space exploration mission to the solar system's largest planet...
Read More: Billion euro ESA mission to explore icy worlds of Jupiter
The Art of Jackson Pollock
Created: Wednesday 6th of June 2007 12:00:00 AM
Charnwood Museum in Loughborough and ArtSpace are offering visitors the chance to explore their own creative talents and produce their own ...
Read More: The Art of Jackson Pollock
Ladybird Survey
Created: Tuesday 29th of April 2008 09:03:00 AM
Ladybirds ( or ladybugs if you are American) are loved by the public but now help is needed to monitor local numbers as an invasive species called the harlequin ladybird spreads across England....
Read More: Ladybird Survey

subset: commoncrawl


text:
A shared library optimization process relocates a code block in a platform-neutral intermediate representation (IR) of a library into the IR of another library. The shared library optimization process preserves the original control flow that passed through the relocated code block using forwarding pointers and address substitution. The shared library optimization process can also relocate code blocks from multiple shared libraries into an existing shared library, or from one shared library into an empty shared library. The shared libraries to be optimized are specified by a user, as is the type of optimization to be performed.
1. A computerized method for optimizing a heterogeneous program having a plurality of platform-dependent shared libraries for differing platforms, wherein each of the platform-dependent shared libraries has a plurality of instructions associated with the platform-dependency of the shared library, the method comprising:
translating each of the platform-dependent shared libraries into a platform-neutral shared library;
identifying instructions to be relocated from a first platform-neutral shared library;
placing a copy of the instructions from the first platform-neutral shared library into a second platform-neutral shared library; and
preserving a control flow from the first platform-neutral shared library to the copy of the instructions so that the copy of the instructions in the second platform-neutral shared library is accessible through the first platform-neutral shared library.
2. The method of
marking the first platform-neutral shared library as a shadow library when all instructions in the first shared library are relocated.
3. The method of
creating a forwarding pointer in the first platform-neutral shared library that points to the copy of the instructions in the second platform-neutral shared library.
4. The method of
substituting an address for an entry point to the instructions in the first platform-neutral shared library with an address for a corresponding entry point to the copy of the instructions in the second platform-neutral shared library.
5. The method of
arranging initialization routines for the instructions in the second platform-neutral shared library so that the initialization order after the copy of the instructions is placed in the second platform-neutral shared library matches the initialization order before the copy of the instructions was placed in the second platform-neutral shared library.
6. The method of
7. The method of
moving a portion of a data block in the first platform-neutral shared library into the second platform-neutral shared library.
8. A computerized method for optimizing shared libraries in a heterogeneous program comprising:
obtaining an platform-neutral intermediate representation of each of the shared libraries;
determining a code block in the intermediate representation of a first shared library to relocate;
placing the code block from the first shared library into the intermediate representation of a second shared library; and
substituting an address for an entry point to the code block in the first shared library with an address for the corresponding entry point to the code block from the first shared library as relocated into the second shared library.
9. The method of
determining a code block in the intermediate representation of a third shared library to relocate;
placing the code block from the third shared library into the intermediate representation of the second shared library; and
preserving a control flow between the code block from the third shared library and code blocks of the second shared library as before the code block from the third shared library was relocated.
10. A computer-readable medium having computer-executable instructions to a cause a computer to perform shared library optimization on intermediate representations for a plurality of library components comprising:
relocating a code block in the intermediate representation of one library into the intermediate representation of a different library; and
associating a reference to the code block with the relocated code block.
11. The computer-readable medium of
relocating a code block in the intermediate representation of another library into the intermediate representation of the different library.
12. The computer-readable medium of
13. The computer-readable medium of
14. A computerized system comprising:
a processing unit;
a system memory coupled to the processing unit through a system bus;
a computer-readable medium coupled to the processing unit through a system bus;
a set of platform-neutral intermediate representations for a plurality of platform-dependent shared libraries in the system memory; and
a transformation module executed from the computer-readable medium by the processing unit, wherein the transformation module causes the processing unit to move a code block from the intermediate representation of a shadow library into the intermediate representation of a merged library to optimize the shared libraries.
15. The computerized system of
16. The computerized system of
17. The computerized system of
18. The computerized system of
an output translation module executed from the computer-readable medium by the processing unit, wherein the output translation module causes the processing unit to translate the intermediate representations of the shadow and merged libraries into platform-specific code; and
an application program executed from the computer-readable medium by the processing unit, wherein a first reference to the code block in the shadow library made by the application program causes the processing unit to forward the reference to the merged library.
19. The computerized system of
20. The computerized system of
21. The computerized system of
22. The computerized system of
23. The computerized system of
an output translation module executed from the computer-readable medium by the processing unit, wherein the output translation module causes the processing unit to translate the intermediate representations of the shadow and merged libraries into platform-specific code; and
a loader process executed from the computer-readable medium by the processing unit, wherein the loader process causes the processing unit to load the platform-specific code for each shared library upon which the shadow library is dependent in an order determined by the references in the shadow library.
The present application is related to U.S. Patent applications entitled "Translation And Transformation of Heterogeneous Programs" (U.S. patent application Ser. No. 09/343,805), "Instrumentation and Optimization Tools for Heterogeneous Programs" (U.S. patent application Ser. No. 09/343,298), "Cross Module Representation in Heterogeneous Programs" (U.S. patent application Ser. No. 09/343,287), and "Application Program Interface for Transforming Heterogeneous Programs" (U.S. patent application Ser. No. 09/343,276), filed on the same day as the present application and assigned to the same assignee.
This invention relates generally to programming tools, and more particularly to translating code between computer architectures.
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. The following notice applies to the software and data as described below and in the drawings hereto: Copyright � 1998, Microsoft Corporation, All Rights Reserved.
In a new programming paradigm, a program is now a collection of components. Each component publishes an interface without exposing its inner details. Thus, a component can internally exist in any form: Intel x86 binary, Intel IA-64 binary, Visual Basic (VB) byte codes, Java class files, or any Virtual Machine (VM) binary. A heterogeneous program consists of components in different forms. Heterogeneous programs already exist in some environments: in the Microsoft Windows 32-bit environment, a Visual Basic program is compiled into VB byte codes that can call native-compiled functions in a separate dynamic linked library. Similarly Java class files can call native functions. Intel's IA-64 architecture allows IA-64 code to co-exist with x86 code.
To understand the behavior of a heterogeneous program, all its components, regardless of their form, have to be instrumented and analyzed in the same framework, otherwise, only partial information will be collected. It is important to note that systems that have been ported to several architectures are not sufficient to handle heterogeneous programs. For example, a system for VB byte codes that has been ported to x86, cannot provide a complete execution time analysis of a heterogeneous program consisting of VB byte codes and native x86 because each system operates in isolation on its own input.
Further, a heterogeneous program may consist of heterogeneous components. A heterogeneous component is a single component consisting of routines in different instruction sets. As the interface is well defined, components internally can use any instruction set. Each instruction set has its own advantages such as execution time, portability, and size.
All previous systems have been designed for homogeneous programs: conventional programs consisting of components in the same form. Some systems have been targeted to different architectures, but cannot work with heterogeneous programs. None of these systems can generate a heterogeneous component.
A large number of systems have been developed to help analyze and optimize homogeneous programs. The creation of "Pixie" by MIPS Computers Systems, Inc. in 1986 started a class of basic block counting tools by inserting pre-determined sequence of instructions to record execution frequencies of basic blocks. "Epoxie" extended the technique by using relocations to eliminate dynamic translation overheads. David W. Wall. Systems for late code modification, in Code Generation—Concept, Tools Techniques, pp. 275-293, (Robert Giegrich and Susan L. Graham, eds, 1992). "QPT" further extended the technique by constructing spanning trees to reduce the number of basic blocks that are instrumented. James Larus and Thomas Ball, Rewriting executable files to measure program behavior, Software, Practice and Experience, vol. 24, no. 2, pp 197-218 (1994). "Purify" instruments memory references to detect out-of-bounds memory accesses and memory leaks. Reed Hastings and Bob Joyce, Purify: Fast Detection of memory Leaks and Access Errors, Proceedings of Winter Usenix Conference, January 1992.
"OM" allowed general transformations to be applied to a binary by converting the binary to an intermediate representation that can be easily manipulated. AmitabhSrivastava and David Wall, A Practical System for Intermodule Code Optimization at Link Time, Journal of Programming Language, 1(1):1-18 (1993). OM has been implemented on MIPS, DEC Alpha and Intel x86 architectures. "EEL" uses a similar technique and provides an editing library for Sun SPARC architectures. James R. Larus and Eric Schnarr, EEL: machine-Independent Executable Editing, Proceedings of SIGPLAN' 95 Conference on Programming Language Design and Implementation (1995). "Alto" and "Spike" are optimizers for the DEC Alpha architectures. K. De Bosschere and S. Debray, Alto: a Link-Time Optimizer for the DEC Alpha. Technical Report TR-96-16, Computer Science Department, University of Arizona (1996). David W. Goodwin, Interprocedural Dataflow Analysis in an Executable Optimizer, Proceedings of SIGPLAN' 97 Conference on Programming Language Design and Implementation (1997).
"ATOM" extended OM by providing a flexible instrumentation interface for the DEC Alpha and Intel x86 systems. Amitabh Srivastava and Alan Eustace, ATOM: A System for Building Customized Program Analysis Tools, Proceedings of SIGPLAN' 94 Conference on Programming Language Design and Implementation (1994). However, ATOM does not allow modifications to a binary. "Etch" provided a similar system for x86 and "BIT" for Java byte codes. T. Romer, G. Voelker, D. Lee, A. Wolman, W. Wong, H. Levy, B. Chen, and B. Bershad, Instrumentation and Optimization of Win32Intel Executables Using Etch, Proceedings of the USENIX Windows NT Workshop (1997). Han Lee and Benjamin Zorn, BIT: A Tool for instrumenting Java bytecodes. Proceedings of the 1997 USENIX Symposium on Internet Technologies and Systems (1997).
None of these systems work on heterogeneous programs. Some of them have been ported to multiple architecture but they provide only a partial view when applied to heterogeneous programs as each implementation operates on its input in isolation. Although OM builds a symbolic representation, the representation was primarily designed for applying arbitrary transformations and is not sufficient to handle heterogeneous programs. None of these systems can generate heterogeneous components. ATOM provides a flexible interface for instrumentation only.
A heterogeneous program commonly invokes shared libraries to perform pre-defined functions. Shared libraries are used to provide the same pre-defined functions to multiple programs through a well-defined interface. Shared libraries also enable small patch releases. Only those shared libraries whose code has changed must be shipped as part of patch release. Finally, a shared library provides a unit in which to consolidate all code shipped for a particular organization.
However, using a large number of shared libraries can have an adverse impact on performance. Because binary optimizers are limited to a single library, the optimizations are less effective when the libraries contain less code. For example, it is not possible to pack code on a single page for working set optimization when the code is split among different libraries. Procedure calls that span libraries cannot be inlined. Boot time may be affected by the flow of control jumps between libraries.
Thus, it is advantageous to combine libraries together but doing so requires the ability to view all the code for the libraries as a whole and then partition it into libraries based on all these factors. Because the libraries can change across revisions and because libraries in a heterogeneous environment can be programmed for different platforms, there is a need for a shared library optimizer that operates on the libraries at the binary level and across architectural boundaries.
The above-mentioned shortcomings, disadvantages and problems are addressed by the present invention, which will be understood by reading and studying the following specification.
A shared library optimization process relocates a code block in a platform-neutral intermediate representation (IR) of a library into the IR of another library. The shared library optimization process preserves the original control flow that passed through the relocated code block using forwarding pointers and address substitution. The shared library optimization process can also relocate code blocks from multiple shared libraries into an existing shared library, or from one shared library into an empty shared library. The shared libraries to be optimized are specified by a user, as is the type of optimization to be performed.
Because the optimization is performed on the intermediate representation of the libraries, the user does not have to be aware of the platform for which the library was originally coded. Because the optimization is performed on the whole of the library code, the partitioning of the code into the libraries can be based on the actual interactions among the code. Furthermore, the relocation of shared library code allows other optimization processes, such as working set reduction, boot page loading, and pre-fetching, to be more effective. The shared library optimization process also enables the inlining of crossed library calls.
The present invention describes systems, clients, servers, methods, and computer-readable media of varying scope. In addition to the aspects and advantages of the present invention described in this summary, further aspects and advantages of the invention will become apparent by referencing the drawings and by reading the detailed description that follows.
FIG. 1 is a diagram of the hardware and operating environment in conjunction with which embodiments of the invention may be practiced;
FIG. 2A is a diagram illustrating a system-level overview of an exemplary embodiment of the invention;
FIGS. 2B, 2C and 2D are diagrams illustrating additional details of the processes shown in FIG. 2A;
FIG. 3 is a diagram of an intermediate representation hierarchy used by the exemplary embodiment of FIG. 2A;
FIGS. 4A, 4B and 4C are diagrams illustrating shared libraries created by an exemplary embodiment of a shared library optimization method; is a flowchart of an output translator method
FIG. 5 is a flowchart of a shared library optimization method to be performed by a computer according to an exemplary embodiment of the invention.
In the following detailed description of exemplary embodiments of the invention, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration specific exemplary embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that logical, mechanical, electrical and other changes may be made without departing from the spirit or scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims.
The detailed description is divided into four sections. In the first section, the hardware and the operating environment in conjunction with which embodiments of the invention may be practiced are described. In the second section, a system level overview of the invention is presented. In the third section, for an exemplary embodiment of the invention are provided. Finally, in the fourth section, a conclusion of the detailed description is provided.
FIG. 1 is a diagram of the hardware and operating environment in conjunction with which embodiments of the invention may be practiced. The description of FIG. 1 is intended to provide a brief, general description of suitable computer hardware and a suitable computing environment in conjunction with which the invention may be implemented. Although not required, the invention is described in the general context of computer-executable instructions, such as program modules, being executed by a computer, such as a personal computer. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types.
Moreover, those skilled in the art will appreciate that the invention may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
The exemplary hardware and operating environment of FIG. 1 for implementing the invention includes a general purpose computing device in the form of a computer 20, including a processing unit 21, a system memory 22, and a system bus 23 that operatively couples various system components, including the system memory 22, to the processing unit 21. There may be only one or there may be more than one processing unit 21, such that the processor of computer 20 comprises a single central-processing unit (CPU), or a plurality of processing units, commonly referred to as a parallel processing environment. The computer 20 may be a conventional computer, a distributed computer, or any other type of computer; the invention is not so limited.
The system bus 23 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. The system memory may also be referred to as simply the memory, and includes read only memory (ROM) 24 and random access memory (RAM) 25. A basic input/output system (BIOS) 26, containing the basic routines that help to transfer information between elements within the computer 20, such as during start-up, is stored in ROM 24. The computer 20 further includes a hard disk drive 27 for reading from and writing to a hard disk, not shown, a magnetic disk drive 28 for reading from or writing to a removable magnetic disk 29, and an optical disk drive 30 for reading from or writing to a removable optical disk 31 such as a CD ROM or other optical media.
The hard disk drive 27, magnetic disk drive 28, and optical disk drive 30 are connected to the system bus 23 by a hard disk drive interface 32, a magnetic disk drive interface 33, and an optical disk drive interface 34, respectively. The drives and their associated computer-readable media provide nonvolatile storage of computer-readable instructions, data structures, program modules and other data for the computer 20. It should be appreciated by those skilled in the art that any type of computer-readable media which can store data that is accessible by a computer, such as magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, random access memories (RAMs), read only memories (ROMs), and the like, may be used in the exemplary operating environment.
A number of program modules may be stored on the hard disk, magnetic disk 29, optical disk 31, ROM 24, or RAM 25, including an operating system 35, one or more application programs 36, other program modules 37, and program data 38. A user may enter commands and information into the personal computer 20 through input devices such as a keyboard 40 and pointing device 42. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit 21 through a serial port interface 46 that is coupled to the system bus, but may be connected by other interfaces, such as a parallel port, game port, or a universal serial bus (USB). A monitor 47 or other type of display device is also connected to the system bus 23 via an interface, such as a video adapter 48. In addition to the monitor, computers typically include other peripheral output devices (not shown), such as speakers and printers.
The computer 20 may operate in a networked environment using logical connections to one or more remote computers, such as remote computer 49. These logical connections are achieved by a communication device coupled to or a part of the computer 20; the invention is not limited to a particular type of communications device. The remote computer 49 may be another computer, a server, a router, a network PC, a client, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 20, although only a memory storage device 50 has been illustrated in FIG. 1. The logical connections depicted in FIG. 1 include a local-area network (LAN) 51 and a wide-area network (WAN) 52. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.
When used in a LAN-networking environment, the computer 20 is connected to the local network 51 through a network interface or adapter 53, which is one type of communications device. When used in a WAN-networking environment, the computer 20 typically includes a modem 54, a type of communications device, or any other type of communications device for establishing communications over the wide area network 52, such as the Internet. The modem 54, which may be internal or external, is connected to the system bus 23 via the serial port interface 46. In a networked environment, program modules depicted relative to the personal computer 20, or portions thereof, may be stored in the remote memory storage device. It is appreciated that the network connections shown are exemplary and other means of and communications devices for establishing a communications link between the computers may be used.
The hardware and operating environment in conjunction with which embodiments of the invention may be practiced has been described. The computer in conjunction with which embodiments of the invention may be practiced may be a conventional computer, a distributed computer, or any other type of computer; the invention is not so limited. Such a computer typically includes one or more processing units as its processor, and a computer-readable medium such as a memory. The computer may also include a communications device such as a network adapter or a modem, so that it is able to communicatively couple to other computers.
A system level overview of the operation of an exemplary embodiment of the invention is described by reference to FIGS. 2A-D. A heterogeneous program contains multiple executable components, such as main program code and shared libraries, written for different computer architectures (platforms) or programming languages. FIG. 2A shows a system 200 that translates and transforms components in a heterogeneous program. The system 200 comprises an input translator (reader) 210, a transformation module 230, and an output translator (writer) 240. All three modules work with a high-level abstraction of a heterogeneous program, referred to as an "intermediate representation" (IR) 220. The IR is a set of pseudo-instructions for a stack-based logical machine with an unlimited number of registers that represent the functionality of the heterogeneous program.
The reader 210 creates an IR 220 from an executable component (EXE) 201. The reader 210 is a two-stage process as shown in FIG. 2B. First, the executable 201 is parsed 211 into its basic blocks of code and data using information provided in a program database file (PDB) 202. As well-known in the art, a basic code block is defined as a code block having a single entry point and a single exit point. In an alternate embodiment, all the work performed by the parser 211 is input directly into the second stage of the reader 210, thus skipping the parsing process.
Once the code and data blocks are identified, an IR creation process 212 evaluates each platform-dependent instruction on a block-by-block basis. There are very large set of common instructions regardless of architecture, i.e., move, store, add, etc., that can be represented by a single platform-neutral IR instruction. For RISC (reduced instruction set computer) architectures, most, if not all, instructions can be easily translated into a single platform-neutral IR instruction. On the other hand, CISC (complex instruction set computer) architectures, such as the Intel x86 family, contain complex instructions that provide the function of multiple instructions. In one exemplary embodiment, the platform-dependent instructions that have a single platform-neutral IR instruction counterpart are translated into that platform-neutral instruction, while complex instructions are replicated as-is within the IR through an extended version of the basic IR instruction. A replicated complex instruction is marked with a signature that denotes its architecture. The output translator 240 recognizes a signed complex instruction and processes it as described further below. In an alternate embodiment, a complex instruction is represented by a set of platform-neutral IR instructions that perform the equivalent function.
After the instructions in the code blocks have been translated, the IR creation process 212 creates a logical hierarchical view of the executable 201 as illustrated in FIG. 3. All architectures share the basic concepts of instructions 305, code blocks 304, data blocks 306, components 302, and procedures 303, so the IR hierarchy 300 enables the user to understand the structure of the intermediate representation of a heterogeneous program 301. The code blocks are logically connected as specified in the EXE 201 so that the blocks can be more easily manipulated during the transformation process 230. Procedures are determined by following the logical connections using information provided in the PDB file 202. Procedures are collected together to create the program components. Little or no optimization of the program is performed by the creation process 212 since it is desirable that the intermediate representation be as close to what the programmer originally wrote as possible.
However, tracing the logical connections to determine the procedures can result in more procedures being created than originally coded by the programmer. Therefore, the creation process 212 annotates, or "decorates," the hierarchy 300 with the user names supplied in the symbol table for the EXE 201. The annotations enable the user to understand how the IR control flows and how the elements of the IR hierarchy correspond to the procedures and the components in the original code so the appropriate transformations can be applied to the IR. The annotations are maintained in data structures for the procedures during the transformation process and output by the output translator 240.
At the end of the creation of the IR hierarchy, all instructions are represented in the hierarchy as IR instructions within code blocks so that there is no differentiation between code written for one platform and code written for a second platform. The creation of the IR and an exemplary embodiment of the IR hierarchy are described in detail in the related "Translation and Transformation" patent application.
Once the intermediate representation is complete, the user is allowed to manipulate the code and data (illustrated by the IR transformation module 230) through an application program interface (API) 250. The exemplary embodiment of the system 200 provides some pre-defined tools 231 (FIG. 2C) used to instrument and optimize the IR that are guaranteed to be safe in that the tools will evaluate a change requested by the user and only manipulate the code in an appropriate manner. The API 250 also permits the user direct access 232 to the IR to navigate through the IR and to make changes, such as moving blocks between procedures, modifying blocks, rearranging the logical connections between blocks, and changing the platform-specific instruction set for a code block. The tools 231 are described in detail in the related "Instrumentation and Optimization Tool" patent application. The API 250 is described in detail in the related "Application Program Interface" patent application.
By instrumenting the IR using the tools 231, the user can now watch the interrelationship between the various components of a heterogeneous program and determine if a block of code contained in one component is heavily used by another component, and therefore that block of code should be moved out of the first component and placed into the second component to speed up execution. The next section describes an exemplary embodiment of this process, along with other optimizations that can be applied to shared libraries. Alternately, the user may decide to copy, instead of move, the code into the second component, a process referred to in the art as "code replication." A common optimization technique called "inlining" utilizes code replication.
The transformed IR is now input into the output translator 240. The output translator 240 operates on the IR in two phases as shown in FIG. 2D: a linker phase 241 that resolves the logical connections into absolute addresses in an address space for a modified version of the executable, and a writer phase 242 that assembles the IR into the modified version of the executable (EXE′) 203. The blocks in the executable 203 can be emitted by the writer 242 for their original platform, or can be emitted for a different platform.
The linker 241 must maintain the semantics of the code of the hierarchy when resolving the addresses, i.e., preserve the logical connections between blocks and the location of referenced data. The linker 241 determines the size of each code block based on the length of each instruction in the block. The linker 241 is also responsible for adding whenever prologue and epilogue code necessary to "glue" together contiguous blocks that will be assembled into different platform-dependent instructions. As part of the address resolution, the linker 241 also can perform limited code modification or optimization. For example, assume that prior to the transformation process 230, there was a jump between two code blocks, but those blocks are now contiguous. In this case, the linker 241 removes the now-unnecessary jump and lets the logic flow fall through to the second block. Because the hierarchy extends down to the instruction level and is consistent regardless of the manipulation performed by the user, the linker 241 has more knowledge of the placement of instructions than did the programmer. Thus, in architectures in which instructions have both a long and short form depending on the location they are addressing, the linker 241 chooses the appropriate instruction size, which can be a better choice than that originally made by the programmer.
The writer 242 assembles each IR instruction into its platform-dependent counterpart based on the architecture specified in the code block. In an exemplary embodiment in which complex instructions are replaced in the IR, if the complex instruction is being written to the same platform, the writer 242 merely emits the instruction. If the complex instruction is designated to be translated into a different architecture, the writer 242 creates the appropriate set of platform-specific instructions to perform the same function as the original, complex instruction.
As part of the EXE′ 203, the writer 242 creates an emitted block information data structure containing the annotations created by the reader process 210 for each block in the executable. This allows the EXE′ 203 to be iterated through the entire process 200 as many times as desired (represented by phantom arrow 260 and described in the related "Translation and Transformation" patent application), while enabling the user to distinguish the original procedures from those added in a previous iteration as described further below. In an alternate embodiment, the emitted block information is combined with the PDB file 202 to create a new version of the program database file (PDB′) 205 (shown in phantom). The output translation process 240 is described in detail in the related "Cross Module Representation" patent application.
In an alternate exemplary embodiment of the translation and transformation system 200 not illustrated, the IR containing the absolute addresses assigned by the linker 241 is used as input into the IR creation process 212 for further iteration through the system 200. One of skill in the art will immediately appreciate that much of the work performed by the creation process 212 as described above can be skipped when iterating the modified IR through the system 200. This embodiment allows the user to transform a heterogeneous program in stages rather than having to make all the changes in a single pass through the system 200.
The system level overview of the operation of an exemplary embodiment of the invention has been described in this section of the detailed description. A translation and transformation system translates a binary component into an intermediate representation, provides an application program interface through which a user can transform the intermediate representation, and translates the intermediate representation as transformed by the user into a modified version of the binary. While the invention is not limited to any particular arrangement of modules, for sake of clarity exemplary set of modules has been described. One of skill in the art will readily recognize that the functions attributed to the modules described in this section can be assigned to different modules without exceeding the scope of the invention. Furthermore, although the translation and transformation of only one input component (EXE 201) has been illustrated and described above, the system can take multiple components, and accompanying PDB files, as input.
In the previous section, a system level overview of the operations of exemplary embodiments of the invention was described. In this section, the particular methods performed by a computer executing such exemplary embodiments are described by reference to a series of flowcharts. The methods to be performed constitute computer programs made up of computer-executable instructions. Describing the methods by reference to a flowchart enables one skilled in the art to develop such programs including such instructions to carry out the methods on a suitable computer (the processor of the computer executing the instructions from computer-readable media). FIGS. 4A-C illustrate the inputs and outputs of a shared library optimization process 400 that operates as part of the transformation module 230 in FIG. 2A. Each of the inputs is a library component, such as EXE 201 in FIG. 2A that has been translated into an IR hierarchy 220. The shared library optimization process 400 rearranges the IR code blocks among the libraries, outputting modified versions of the libraries. The modified libraries are then translated by the output translator (writer) 240 into platform-specific instructions. The shared library optimization process 400 is performed by a computer executing an exemplary embodiment of a shared library optimization method 500 as shown in FIG. 5.
Three examples of shared library optimization are shown in FIGS. 4A-C: FIG. 4A illustrates merging multiple libraries into a single library; FIG. 4B illustrates splitting a single library into multiple libraries; and FIG. 4C illustrates moving code from one library into another.
Turning first to FIG. 4A, the IR code blocks for two libraries 404, 407 are merged into the IR for library 401. The output of the shared library optimization 400 is a merged library 411 containing the IR code block A 402 for library 401 combined with the IR code block B 405 and C 408 that were originally in libraries 404, 407. The merged library 411 retains the name and entry point(s) for library 401 so that existing programs that reference library 401 do not have to be recompiled. Two "shadow" libraries 412, 413 are also created by the shared library optimization process 400. Shadow libraries 412, 413 contain the IR data blocks 406, 409 for libraries 404, 407 respectively. Shadow libraries 412, 413 retain the names of the corresponding pre-optimization libraries and the shared library optimization 400 creates "forwarding" pointers 414, 415 from the shadow libraries to the appropriate entry points in the merged library 411.
For compatibility, the shared library optimization process 400 does not relocate resources from the shadow libraries into the merged library. Therefore, if an application tries to load resources contained in the data block 406 from the pre-optimized library 404, the same resources can be found in the data block 406 in the shadow library 412. In an alternate embodiment not shown, the shared library optimization process 400 does merge thread local storage sections from the shadow libraries into the merged library. By creating the same number of libraries with the same names, all applications work as before. External applications that rely on a particular library being present do not have to change.
FIG. 4B illustrates the process in reverse. A shared library containing two IR code blocks, A 422 and B 423, is split by the shared library optimization process 400 into two shared libraries 431, 432. A shadow library 425 is input into the shared library optimization process 400 to hold the IR code block B 423. As with the merging of shared libraries, the IR data block 424 remains in its original shared library 431. The shared library optimization process 400 locates all references to code block B 423 in code block A 422 and substitutes the new addresses within the shared library 432. The two libraries are bound together, so that external programs do not have to change.
When shared libraries reference common code, instrumenting the shared libraries together (such as described in the related "Instrumentation and Optimization" patent application) may reveal that the libraries would be more efficient if the common code was moved from one library into the other. Such an optimization is illustrated in FIG. 4C. Shared library 441 contains an IR code block A′ 443 that is more frequently referenced by the shared library 445 than by library 441. The shared library optimization process 400 moves the code block A′ 443 from the shared library 441 into the shared library 445, outputting shared library 452 that contains the original code block B 446 from shared library 445 combined with the code block A′ 443 from the shared library 441. As before, the shared library optimization method does not relocate the data blocks and ensures that references to the code block A′ 443 correctly point to the new addresses within library 452.
The flowchart in FIG. 5 illustrates the acts performed by a computer when executing an exemplary embodiment of the shared library optimization method 500 that implements the shared library optimization 400 show in FIGS. 4A-C. The user invokes the method 500, naming the libraries to be optimized (block 501) and specifying what IR code blocks are to be relocated and the type of relocation desired (block 502). The method 500 moves the specified code blocks from their original IR into one of the other IRs as determined by the type of relocation (block 503).
The method 500 preserves the semantics of the original control flow through the IR code blocks by creating forwarding pointers or re-assigning references to the relocated code blocks (block 504). The initialization for the constituent libraries in an application occurs in a specific order so the libraries need to retain the same initialization sequence after optimization. To maintain the correct library loading order, the shared library optimization method 500 arranges the initialization routines within the libraries so that when a new thread or new process is initialized, the loader invokes the initialization routines in the correct order.
In one exemplary embodiment, the method 500 maintains the original loading order for the libraries by preserving the dependencies among the libraries, such as when one library imports data from another. Returning to FIG. 4A, assume that shared library B 404 was originally dependent upon both library A 401 and library C 407. The shared library optimization method 500 leaves a single reference in shadow library 412 (corresponding to library A) to merged library 411 and a single reference to shadow library 413, even though there is no longer any code in shadow library 412 that depends on the data imported from the libraries 411, 413. Only one reference to each of the other libraries is required to describe the dependency among the libraries and to cause the operating system to follow the original loading sequence when loading the shadow library 412.
When the shared libraries are programmed for different architectures, the relocation of a code block can place it into a library programmed for a different platform. Because the optimization is performed on the IRs for the shared libraries, instead of on the platform-specific instructions, the user can ignore cross-platform issues. Any "glue" code necessary to interface the relocated code block to the existing code blocks in the output library is provided by the output translator (writer) 240 as described in the related "Cross Module Representation" patent application.
Using the shared library optimization method 500 to produce a merged library and shadow libraries as shown in FIG. 4A requires that the binding process be modified to allow binding through a shadow library. As a result, if an application invokes a library that has been merged, it will always goes to the shadow library at least once. The second time the application invokes the shadow library, it will be patched through to the merged library by the loader in the operating system. Alternately, the first-time forwarding can be eliminated for known libraries by having the loader rebind those libraries to go directly to the merged library rather than being forwarded through the pointers.
The particular methods performed by computer in executing an exemplary embodiment of a transformation process in module 230 that optimizes shared libraries has been described with reference to flowcharts including all the acts from 501 until 504. In addition, three examples of shared library optimizations in accordance with the methods have been illustrated.
A shared library optimization process has been described that enables the relocation of code among shared libraries. All the code of one library can be merged into another library, or part of the code of one library can be placed into a different existing library or used to create a new library.
The relocation of shared library code allows other optimization processes to be more effective. If the libraries are interdependent, optimization tools that partition code into pages can be more effective in reducing the working set. In particular if the libraries are less than one page of live code, the page utilization can be improved. Furthermore, data can be packed onto the pages more effectively. If the libraries are related or loaded at about the same time, optimization tools will be able to place the boot pages in sequential order according to the boot scenario, thus minimizing disk seeks. In addition, "tickling" optimization will also be more effective. Tickling optimization is a process that pre-fetches all related pages at boot time when the library initialization code is invoked. Therefore, if more libraries are merged together, the tickling of boot pages can extend to all libraries that have been merged. The merging of small libraries can increase the number of live pages in the library and consequently, make clustering more effective, i.e. when bringing more than one code page into memory for each disk read. Also code relocation permits the inlining of crossed library calls.
Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that any arrangement which is calculated to achieve the same purpose may be substituted for the specific embodiments shown. This application is intended to cover any adaptations or variations of the present invention. For example, those of ordinary skill within the art will appreciate that the code blocks in FIGS. 4A-C are shown as contiguous within the libraries for ease of illustration but that the relocated code blocks can originate from, or be placed in, non-contiguous locations in the shared libraries. The terminology used in this application with respect to is meant to include all architectural environments that support the basic programming constructs embodied in the IR hierarchy. Therefore, it is manifestly intended that this invention be limited only by the following claims and equivalents thereof.
Patent Citations
Non-Patent Citations
Referenced by
Legal Events
Original Image


text:
Book Search
The New Regulation and Governance of Food
Beyond the Food Crisis?
Series: Routledge Studies in Human Geography
Major questions surround who, how, and by what means should the interests of government, the private sector, or consumers hold authority and powers over decisions concerning the production and consumption of foods. This book examines the development of food policy and regulation following the BSE (...
Published July 27th 2012 by Routledge
Forensic Mental Health Consulting in Family Law
Part of the Problem or Part of the Solution?
Forensic Mental Health Professionals have entered the fray of child custody litigation in ways that could not have been predicted even a decade ago. Traditionally engaged as neutral court appointed evaluators or mediators, or as treatment providers for children, parents or families, FMHPs are...
Published December 13th 2011 by Routledge
Relational Child, Relational Brain
Development and Therapy in Childhood and Adolescence
Volume II in the Evolution of Gestalt series, Relational Child, Relational Brain continues the development of the paradigm shift that places human development in a field that is deeply complex and fundamentally one of interconnection, taking us away from the limiting view of us as separate...
Published September 27th 2011 by Gestalt Press
Modern American Counter Writing
Beats, Outriders, Ethnics
Series: Literary Criticism and Cultural Theory
The dissident voice in US culture might almost be said to have been born with the territory. Its span runs from Roger Williams to Thoreau, Anne Bradstreet to Gertrude Stein, Ambrose Bierce to the New Journalism, The Beats to the recent Bad Subjects cyber-crowd. In this new study, A. Robert Lee aims...
Published May 16th 2011 by Routledge
Native American Writing
Co-published by Routledge and Edition Synapse If white settlers landing in the New World brought with them smallpox, oppression, and Christianity, they also conveyed the cultural practice of writing. Adopters of this technology from within Native America and First Nations Canada began to adapt...
Published May 4th 2011 by Routledge
Global Perspectives on the Rule of Law
Series: Law, Development and Globalization
Global Perspectives on the Rule of Law is a collection of original research on the rule of law from a panel of leading economists, political scientists, legal scholars, sociologists and historians. The chapters critically analyse the meaning and foundations of the rule of law and its relationship...
Published July 12th 2010 by Routledge-Cavendish
The Secret Language of Intimacy
Releasing the Hidden Power in Couple Relationships
In The Secret Language of Intimacy, shame and its consequences are foregrounded as a major, if not the major, impediment to the healthy functioning in the relationships of couples. In the first part of the book, Robert Lee presents the "Secret Language of Intimacy Workshop," developed and...
Published March 7th 2008 by Gestalt Press
When Marriages Fail
Systemic Family Therapy Interventions and Issues
Leading experts reveal systemic and integrative approaches to family therapyWhen Marriages Fail: Systemic Family Therapy Interventions and Issues presents several leading experts in the field discussing the full spectrum of clinical interventions and family therapy for troubled and divorcing...
Published October 6th 2006 by Routledge
Social Work and Divinity
The milestone text integrating the disciplines of social work and divinity!In everyday life, spirituality and the practice of effective social work are inseparable. As a result, professionals and social service administrators have in recent years felt a stronger obligation to attend to the...
Published June 8th 2005 by Routledge
The Values of Connection
A Relational Approach to Ethics
Much more than an obligation to protect our clients' rights, ethics is better understood as the very fabric that underpins and supports our most basic efforts in working with clients and interacting with others in our everyday lives. Robert Lee brings together a diverse group of voices...
Published August 27th 2004 by Gestalt Press


text:
Podcast: Juggy and the Java Tools Team (and Jack Adams)
Juggy, leader of the java.net Java Finch Project, visited the java.net booth during this year's JavaOne, and spoke with (sometimes "at") Java Tools Community leaders Fabiane Nardon and Toni Epple in a wide-ranging discussion. We recorded the conversation as a java.net Community Corner 2009 podcast.
Juggy opens the questioning by asking Fabiane to describe the Java Tools community. She noted that the community, which is focused on tools related to Java development, has almost 800 projects at present, including three Duke's Award winners. Toni pointed out that Sven Reimers, leader of the Java Tools SQE (Software Quality Environment) project, won a Duke's Award this year, for NetBeans-related work performed as part of his work at his company, ND Satcom. (You can hear Sven talk about both the Duke's Award and SQE in the Java Tools SQE Roundtable podcast.)
Another Duke's Award winner is the Mifos project, an open source toolkit that facilitates microfinance. The project was founded by the Grameen Foundation. See the Mifos home page for more information on how the project's software can be applied.
Last year, the Hudson project won a Duke. Hudson is an extensible continuous integration engine.
Juggy is quite an enthusiastic character. He finds a lot that is going on in the Java Tools Community "very cool!" But, he has little patience for wasted words. He asked Fabiane which Java Tools projects she really likes, and her answer was Hudson, which she uses regularly. When he asked Toni which Java Tools project he likes, and Toni's first response was Hudson, Juggy immediately cut him off: "That one Fabiane already said! Say another one!" To which Toni responded that he likes a lot of the NetBeans plugins (and was allowed by Juggy to continue talking).
About a third into the podcast, a new visitor, Jack Adams, showed up. He had been working previously and wasn't able to make the start of the conversation between Fabiane, Toni, and Juggy. Jack's focus of interest is the Mobile and Embedded realm. Poor Jack had lost his arm, somewhere around the time of JavaOne, the result of too much fast programming. Therefore, he was unable to accept an invitation to help write the Java Tools Newsletter. Perhaps he's gotten his arm back by now...
To be fair and provide full disclosure, I must admit that I know something about Juggy that he himself may not know: he's actually an alter-ego of Bruno Souza. I believe Jack Adams has a similar relationship with Roger Brinkley...
It was an intersting 27 minutes of Java Tools related discussion. If you'd like to hear the full conversation, listen to the Juggy and the Java Tools Team podcast.
In Java Today, In NetBeans IDE 6.7.1 with JavaFX Now Available for Download!, The java.net NetBeans Community announces NetBeans IDE 6.7.1 with JavaFX Now Available for Download!: "The NetBeans Team is pleased to announce the release of NetBeans IDE 6.7.1, which supports the latest JavaFX SDK. Download NetBeans 6.7.1 (A JavaFX-only download bundle is also available.) NetBeans IDE 6.7.1 is an update to NetBeans IDE 6.7 and includes the following changes: Support for JavaFX 1.2..."
Peligri came across something interesting and invites us to Check this Virtual Tour of Sun's DataCenter - And GlassFish v3 Launch?: "I've only used Second Life a couple of times and in either time I didn't spend enough time to have a good feel for the experience - I'll confess I'm not a gamer, unless you count the occasional GT5 and Rock Band - but Mary pointed me to a recent event that seemed compelling..."
Rick Palkovic wrote an interesting JavaOne-related article titled 'Design Patterns' for Dynamic Languages on the JVM Machine: 'Neal Ford is a popular presenter at computer science conferences, and he showed why at the 2009 JavaOne conference. His session, "Design Patterns" for Dynamic Languages on the JVM (TS-4961), was largely a critique of the book Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides (collectively known as the "Gang of Four")...'
In today's Weblogs, Kohsuke Kawaguchi writes about Why can't we get rid of JNLP @codebase?: 'The real reason why JNLP file needs to know its own URL. "Java Web Start demands that the JNLP file contains the codebase attribute on the root
Marina Sum writes about New Features in OpenDS 2.0: "Read their highlights, complete with configuration steps and other nuances, thanks to Ludo Poitou. "OpenDS community manager and architect Ludo Poitou has posted a series that highlights the new features in OpenDS 2.0, which he announced on July 17...""
And John Catherino writes about I claim King of the Mountain! ;-): "Hear ye, hear ye: I forthwith throw down the gauntlet, to all Java distributed computing wizards out there: Who is up for a good tourney? Be the network truly the computer? ;-)"
In the Forums,
bentomasini asks about Capturing protocol timing information: "Hi, I am interested in capturing the duration of the actual HTTP call made by a JAX-WS client. I understand that content is streamed back, so this may not entirely straightforward. The goal is to, as closely as possible, determine how long the server on the other end spent processing the request, along with network transmission and latency. Parsing time and other client processing should be excluded from this timing as much as possible. Does the JAX-WS RI have any facility to support this? ..."
Paul Sterk asks about Heads Up: GlassFish Wiki Migration: "All, I am in the process of migrating the GlassFish, Open ESB, Metro and Update Center wikis (including all data and history) to an HA environment with updated hardware. The staging server and new wikis are here: http://glassfishwiki1.foundry.sun.com/, http://glassfishwiki1.foundry.sun.com/open-esb, http://glassfishwiki1.foundry.sun.com/metro/, http://glassfishwiki1.foundry.sun.com/updatecenter/. Please take a few minutes to review the wikis and report back to me on any issues..."
growse asks about Glassfish, JSPs and Java classes. How static is static?: "I've been playing with Glassfish recently and getting to know Java a bit better. I've been building a fairly simple website and had some questions. So, my model is this: I've got some JSPs (tier 1, effectively). These then call methods within classes in various classes / packages (tier 2). The database conneciton (tier 3) is created in the glassfish admin console as a JDBC resource - when one of the methods needs to access the db, it calls this..."
The current Spotlight is the Alice Team Roundtable. Sonya Barry moderates a discussion with the Alice Team in this java.net Community Corner 2009 podcast, recorded at JavaOne: "Alice is an innovative 3D programming environment that makes it easy to create an animation for telling a story, playing an interactive game, or a video to share on the web. Created at Carnegie Mellon University, Alice is a freely available teaching tool designed to be a student's first exposure to object-oriented programming..."
This week's java.net Poll asks "What's your view of the emerging JDK 7?". Thursday is the last full day of voting.
Our Feature Articles include an article by Jeff Friesen, Introducting Custom Cursors to JavaFX. In this article, Jeff shows developers how to leverage undocumented JavaFX capabilities to support custom cursors in versions 1.2 and 1.1.1. Meanwhile, Francesco Azzola's Integrating JavaFX with JavaEE Using Spring and Hessian Protocol shows how a JavaFX client can call remote JavaEE services using the Spring framework and the Hessian protocol.
The latest Java Mobility Podcast is Java Mobility Podcast 82: M3DD/LA: a conversation with the organizers of Mobile, Media, and eMbedded Developer Days/Latin America in Goiania, Brazil.
The latest JavaOne Community Corner Podcast is
Current and upcoming Java
Events :
- July 27-31: Java Power Tools - Wellington
- July 28: Cloud Computing: JClouds and JBoss Infinispan
- August 3-5: Enterprise Java with Spring Training Philippines
- August 3-7: Java Power Tools - Auckland
- August 6-7: Hibernate Training Philippines
- August 7-9: 2009 Central Iowa Software Symposium
- August 21-23: 2009 Central Florida Software Symposium
- August 23-30: WOWODC East 2009
- August 28-30: 2009 Research Triangle Software Symposium
- September 9-11: Java Power Tools - Canberra
- September 11-13: 2009 New England Software Symposium: Fall Edition
- September 14-16: The Ajax Experience
- September 18-20: 2009 Pacific Northwest Software Symposium
- October 5-9: Java Power Tools - Brisbane
- October 19-23: Java Power Tools - Sydney
- October 23: Strange Loop Conference - St. Louis
- October 24: Florida Linux Show 2009 Orlando
Registered users can submit event listings for the
href="http://www.java.net/events">java.net Events Page using our
href="http://today.java.net/cs/user/create/e">events submission form.
All submissions go through an editorial review before being posted to the
Archives and Subscriptions: This blog is delivered weekdays as
the Java
Today RSS feed. Also, once this page is no longer featured as the
front page of java.net it will be
archived along with other past issues in the href="http://today.java.net/today/archive/">java.net Archive.
Juggy, leader of the java.net Java Finch Project, visited the java.net booth during this year's JavaOne, and spoke with (sometimes "at") Java Tools Community leaders Fabiane Nardon and Toni Epple...
- Login or register to post comments
- Printer-friendly version
- editor's blog
- 2691 reads


text:
Had to troubleshoot my website as it kept getting slower and would spit 500 errors.
Turned-off all the plugins and re-enabled them one by one while testing to see which ones had the biggest hit on performance. Stock Quote Sidebar was dragging the WP system. Even though my other websites on the same server ran fine the site with SQS on it was slow.
Deactivated it and now the site is zippy again. Might have to look for another solution or just forget about using stock quotes as a sidebar widget.


text:
There has been concern about whether or not the Kingdom Hearts HD 1.5 Remix would see release in North America & Europe. (Given past re-releases being Japan exclusives and an only for Japan comment). However, a post from Jesse McCartney who voices Roxas in the series shows him doing new voice work on what appears to be 358/2 Days. So, I am posting this as a rumor for now since Square Enix hasn't confirmed it yet, but given that a voice actor from the series is doing new work on it, it seems like the HD Collection is indeed coming to Western territories.
Slight Rumor: Kingdom Hearts HD Collection probably coming West.
This edit will also create new pages on Giant Bomb for:Beware, you are proposing to add brand new pages to the wiki along with your edits. Make sure this is what you intended. This will likely increase the time it takes for your changes to go live.
Comment and Save
Until you earn 1000 points all your submissions need to be vetted by other Giant Bomb users. This process takes no more than a few hours and we'll send you an email once approved.


text:
Originally written on Fox Soccer | Last updated 4/23/13
Swansea manager Michael Laudrup has suggested the club are looking to recruit a new striker in the summer. City sold Danny Graham to Sunderland in January, leaving Luke Moore and the on-loan Itay Shechter as the only recognised forwards in their squad. Michu has spent much of the season successfully fulfilling the role but Laudrup has hinted that he is looking for reinforcements before next campaign. "You can't stop rumours and I can't tell you not to ask me about something you have heard," the Dane told the South Wales Evening Post. "When it is one forward and then another and another, I cannot lie to you and say we are not looking for a forward. "If there are rumours it is because people think this club is looking for someone in that position, and it will go on until the start of next season." Laudrup was unwilling to discuss any further targets, saying: "I don't want to go into detail, but we are looking for players, as we have been all season. "Sometimes we have to take pe...
Comments are closed.
What do you think?To leave a comment, you can:
Soccer News
Delivered to your inbox
You'll also receive Yardbarker's daily Top 10, featuring the best sports stories from around the web. Customize your newsletter to get articles on your favorite sports and teams. And the best part? It's free!
Follow us on Twitter
|Best of Yardbarker
|NFL News
|MLB News
Today's Best Stuff
For Bloggers
Join the Yardbarker Network for more promotion, traffic, and money.
Company Info
What is Yardbarker?
Yardbarker is the largest network of sports blogs and pro athlete blogs on the web. This site is the hub of the Yardbarker Network, where our editors and algorithms curate the best sports content from our network and beyond.
|© 2015 Yardbarker, Inc. All rights reserved. Use of this website (including any and all parts and components) constitutes your acceptance of these Terms of Use and Privacy Policy. (What's New?)


text:
Edward Paul Grimsley
Position: LB
Height: 6-0 Weight: 235 lbs.
Born: March 22, 1963 in Canton, OH
High School: McKinley
College: Akron (school history)
Weighted Career AV (100-95-...): 2 (11422nd overall since 1950)
Relatives: Brother of John Grimsley
Promote your website or business by sponsoring this page for $5 on Pro-Football-Reference.com. Your message will replace this ad.


text:
these are a few of the "context menus" (Short for "context sensitive menus") in the latest game I created the UI for. In my opinion, they are a big improvement from the ones in TIny Monsters, from both the visual UI and UX standpoints. The new "back" button in particular really improves the UX flow for these buttons.
More Melissa Pohl
keyboard shortcuts: ← previous shot → next shot L or F like Z toggle zoom


text:
Catch up on the latest news from Chemsafety and relevant business updates. Subscribe to our mailing list here
The team at Chemsaftey wish all our customers and suppliers a very merry Christmas and a Happy New Year. This issue of our newsletter has our trading hours over Christmas, asbestos legislation changes, chemical awareness training and an update from Mike.
On 1 October Chemsafety won the Deliottes Fast 50 Fastest Growing Service Business Awards AND the Mature Business Award for the Canterbury and Upper South Island Region.
Welcome. Spring has sprung and it's an exciting time at Chemsafety and in the world of health and safety.
© 2010-12 Chemsafety Ltd., last updated Jun 2012
Web design by Avatar
Site Map | Terms of Use | SOID


text:
See his memoirs, A Cab at the Door (1968) and Midnight Oil (1971); biography by J. Treglown (2005).
Pritchett is a Statutory Town in Baca County, Colorado, United States. The population was 137 at the 2000 census.
According to the United States Census Bureau, the town has a total area of 0.2 square miles (0.6 km²), all of it land.
There were 58 households out of which 36.2% had children under the age of 18 living with them, 53.4% were married couples living together, 12.1% had a female householder with no husband present, and 31.0% were non-families. 27.6% of all households were made up of individuals and 19.0% had someone living alone who was 65 years of age or older. The average household size was 2.36 and the average family size was 2.93.
In the town the population was spread out with 28.5% under the age of 18, 4.4% from 18 to 24, 27.0% from 25 to 44, 19.7% from 45 to 64, and 20.4% who were 65 years of age or older. The median age was 39 years. For every 100 females there were 95.7 males. For every 100 females age 18 and over, there were 88.5 males.
The median income for a household in the town was $19,750, and the median income for a family was $25,625. Males had a median income of $17,917 versus $15,625 for females. The per capita income for the town was $10,876. There were 9.1% of families and 14.6% of the population living below the poverty line, including 16.0% of under eighteens and 3.2% of those over 64.
The film "Hi-Lo Country" which starred Woody Harrelson, was filmed in part in the town of Pritchett.


text:
HR Assistant (PCK593-8535) Plymouth, Minnesota
Who is Mosaic?
The Mosaic Company (www.mosaicco.com), NYSE: MOS, headquartered in Minneapolis, Minnesota, is a $10 billion company that stands alone as one of the world's leading producers of concentrated phosphate and potash crop nutrients. Our world-class mining and processing operations produce the highest quality fertilizer and animal feed ingredients. As a global leader in nourishing crops and delivering distinctive value to the world's agriculture, Mosaic offers an opportunity to share in an exciting future.
What are our Values?
We consider our employees to be our most valued ingredient. Mosaic employees are richly diverse in their skills, experience and backgrounds. From engineering, operations, finance, HR, marketing and research, our team came to Mosaic not just for a job but a career that makes a positive impact on the world by nourishing the crops our growing population needs.
Are you our next HR Assistant?
We are currently seeking an HR Assistant for our Plymouth, MN location. The HR Assistant will provide administrative support and handle routine and special assignments to support the Director, HR Service Delivery in the Plymouth office and will work to provide a culture that supports innovation and continuous improvement.
What will you do?
- HR Administrative Support:Provide administrative support for the Director, HR Service Delivery. Coordinate schedules (calendars, meeting attendance, conference calls, etc.). Schedule and coordinate all aspects of small to large business meetings (internal office conference rooms/ off-site locations, meals, materials, supplies, etc.). Prepare, proof, and format correspondence, which will include first drafts of memos and presentations for various projects and initiatives. Make domestic and international travel arrangements, which will include making arrangements for passports and visas. Assist with expense reporting as needed. May act as a knowledge resource for HR systems and support training of others.
- Data Management:Organize and maintain department files. Maintain documents on appropriate file servers and repositories, adhering to Mosaic's record retention policies. Support the collection of data for measures, metrics and reporting and respond to client requests. Collect, compile and analyze moderately complex data. Develop and demonstrate solid knowledge of Mosaic's tools, processes and databases. Help maintain integrity of Mosaic's HR systems. Proactively notify appropriate individuals of issues and associated risk. Manage confidential information as appropriate.
- Department Projects:Assist with project plans for small project teams in local and virtual team settings. With guidance may manage certain administrative aspects of client projects. Make recommendations on cost-effective ways to complete tasks and participate in department process improvement initiatives. Coordinate flow of messages to appropriate tier 3 support in vendor management. May assist with implementation of systems and HR processes and procedures.
- Other Job Duties:Other miscellaneous job duties and special projects as assigned under general supervision.
- Be vigilant of issues and conditions that can affect their fellow workers.
- Report any issues that can impact the environment or the safety of the employees.
What do you need for this role?
- High School Diploma/GED required, Bachelor's Degree preferred. Major in Human Resources, Business, or related field.
- 2+ years of experience in administrative support role.
- Ability to comply with all laws, rules, regulations, policies and procedures of Mosaic, county, state and federal regulatory agencies.
- Candidates with HR support experience are preferred.
- Strong computer skills, which includes proficiency with Microsoft Office (Word, Excel, PowerPoint, and Outlook).
- Experience with Workday is preferred.
- Strong verbal, written and listening communication skills.
- Proven ability to handle confidential information.
- Strong organizational skills and attention to detail.
- Excellent teamwork and interpersonal skills.
- Demonstrated problem-solving and analytical skills.
- Ability to effectively work with employees at all levels within the organization.
- Demonstrated ability to work independently.
- Ability to adapt to a continually changing business and work environment and manage multiple priorities.
- Ability to play a consultative role and deliver innovative results.
- Ability to work indoors in a consistent temperature, lift approximately 0-25 lbs occasionally, distinguish varying or specific colors, patterns, or materials, travel unassisted, use fine hand motor skills, work rotating shifts and overtime as required, physically able to use standard safety equipment which is rated for 300 pounds or less, see with or without correction, hear with or without correction, read, write, and understand basic English.
- Must be authorized to work in the United States.
Mosaic is an Equal Opportunity Employer that values the strength diversity brings to the workplace.
Mosaic participates in the US E-Verify program.
We Help the World Grow the Food it Needs - Apply today at: http://www.mosaicco.com/careers


text:
- Filed Under
Greenville County residents told deputies they heard the sound of gunshots on the Swamp Rabbit Trail near State 253.
No injuries were reported.
According to a report from the Greenville County Sheriff's Office, a resident called 911 about hearing the sound of gunshots Friday night. A deputy in the area also heard the gunshots, the report said. ...


text:
1925-S 5C MS65 PCGS. One of the foremost strike rarities ...
2004 June Long Beach Signature Sale #349
|Sold for:
|Sign-in or Join (free & quick)
|Claim Item:
|Sign-in or Join (free & quick)
|Auction Ended On:
|Jun 3, 2004
|Item Activity:
5 Internet/mail/phone bidders
690 page views
|Long Beach, CA
Extremely Scarce 1925-S Buffalo Nickel MS651925-S 5C MS65 PCGS. One of the foremost strike rarities in the Buffalo Nickel series and a scarcity at any level of Mint State, the 1925-S emerges as one of the most challenging issues of this popular type at the Gem level of preservation. A soft, frosted sheen over both sides is complemented by delicate accents of golden and sky-blue patina. Just a trace of mushiness is noted on the highpoints of the obverse, although nothing like the deficiency that is normally encountered on Mint State representatives. The reverse, however, possesses an even stronger strike, sharp enough that the presence of the S mintmark almost defies belief. Any 1925-S Buffalo in Gem condition is of the utmost importance to the serious collector of this challenging series. Population: 12 in 65, 1 finer (3/04). (#3956) (Registry values: N7079) (NGC ID# 22S4, PCGS# 3956)
View large image(s) of this item
Service and Handling Description: Coin/Currency (view shipping information)
Sales Tax information | PCGS Guarantee of Grade and Authenticity | Terms and Conditions
Guides and Pricing Information:
Previous Prices from Heritage Auctions
|Sign-in or Join (free & quick)
Price Guide
|Sign-in or Join (free & quick)
Population Guide
|Sign-in or Join (free & quick)
Find Auction Prices for Comparable Items:
Sign-in or Join (free & quick) to see the full image


text:
Star Trek morality test - best and worst episodes
View Single Post
June 28 2013, 03:18 AM
Dale Sams
Fleet Captain
Re: Star Trek morality test - best and worst episodes
JirinPanthosa wrote:
I would argue that fewer Romulans died because they joined the war effort.
Or, it's possible that Romulus would have just surrendered once they were surrounded by the Dominion. But centuries of slavery isn't much better than death.
What Sisko did is very debatably the right thing to do, but it has nothing to do with Star Trek morality. It's an outright critique of Star Trek morality.
It's entirely possible that the average citizen wouldn't even have noticed a difference. Pay your bills, do exactly what they say, and the Dominion won't send in the Jem'Hadar.
The Founders goals are not to be evil overlords, but to bring order from chaos and to set up mechanisms to protect themselves from solids.
The real problem for the Klingons and Feds if they lose the war (other than that whole 'let's wipe out Earth's population' thing) is they are going to be the CARDASSIANS and BREEN's subjects. *That* is going to suck.
Now Romulus does have the problem that they tried to wipe the Founders out (even though they were manipulated into doing so.)
Last edited by Dale Sams; June 28 2013 at
Dale Sams
View Public Profile
Send a private message to Dale Sams
Find More Posts by Dale Sams


text:
Powered With Pride Run/Walk, presented by Humana Vitality, returns to Louisville's Pride Weekend line-up in 2014 after an incredibly successful inaugural event in June 2013.
Spring is here! Participating in a 5K is a great way to get out and explore Louisville while getting your grind on!
it's the weekend before Christmas! Commence panicking now.
Move it, Santa. It's race time.
Who doesn't want to get down and dirty in the mud with other women for a good cause?
The Louisville Sports Commission's Fall Runathon has been finalized with three races that get longer as the season continues.
Walk or run your way Throo the Zoo this weekend and enjoy a 5K with yhe family (strollers welcome!)
If you are one of the delusional about to doze off into a turkey-coma, lulled by the comfort that your 2am Black Friday power shopping will negate the cornucopia of calories consumed at dinner- let me step in and offer a quick reality check, along with some winter race suggestions!
Have a very merry, and sweaty, Christmas with a 5k that benefits Louisville's homeless community- not to mention that there is an eggnog challenge and Christmas costume contest. Who could pass up this amount of Christmas spirit?
Saturday morning saw the annual Louisville half marathon and 5K, and I was in the middle of it.
The Making Strides Against Breast Cancer Walk came into Louisville on Sunday, to a massive success.
An area family set out to raise money for adoption purposes on Saturday in an event that welcomed corporate as well as individual sponsorship.
- 1 of 2
- next ›


text:
Lewy Goode's Scouting For Fitness Obstacle Course 5K
Bullseye Running • Sykesville, MD
Running [5K, 1 Mile], Other endurance
Save with
Online registration ends in 2 days!
Find fun things to do and upcoming local events in Baltimore, MD. Search and register for classes, running & cycling races, leagues, tournaments, camps, and more in Baltimore, Maryland.
Adding family members lets ACTIVE find events specific to your family's interests.


text:
Student union takes Mugabe to courtMail & Guardian Correspondent
Zimbabwe students union takes President Robert Mugabe to court over the awarding of a controversial doctorate of philosophy degree to Grace Mugabe.
Ten things about porn in the USAMail & Guardian Correspondent
We bring you 10 things you may or may not have known about the porn industry in the US.
Ten things about beretsMail & Guardian Correspondent
With his usual flair for style, Julius Malema has dressed the active members of his new political party, Economic Freedom Fighters, in red berets.
Literary Festival 2013: The authorsMail & Guardian Correspondent
The M&G Literary Festival features a lineup of well-known names from the worlds of media and publishing.
The ten things about The Man Booker Prize longlistMail & Guardian Correspondent
The Man Booker prize is awarded for the best original full-length novel, written in English, by a citizen of the Commonwealth, Ireland or Zimbabwe.
Ten things about the Bin Laden reportMail & Guardian Correspondent
The "Bin Laden report" is the result of an investigation by a commission appointed by the Pakistan government into the slaying of Osama bin Laden.
Ten things about surveillanceMail & Guardian Correspondent
The word comes from the French, meaning to look or watch over (veiller; to watch or keep watch, as in a sentry; sur: over or above)
Numsa respondsMail & Guardian Correspondent
The M&G has obtained a copy of the submission by the National Union of Metalworkers to facilitators conducting an inquiry into the problems in Cosatu.
Ten things about June 16 1976Mail & Guardian Correspondent
The day on which black South African school pupils rose up against "Bantu education" is now celebrated as Youth Day.
Ten things about circumcisionMail & Guardian Correspondent
The practice, which entails the removal of part or all of the foreskin of the penis, is widespread among Southern Africans as an initiation rite.


text:
February 4, 2013
Take a break from chicken noodle soup and make this vegetarian hot and sour soup instead. This soup is loaded with flavor and will definitely wake up your palette. The steamy vegetable broth is studded with bok choy, bamboo shoots, bean sprouts, and Chinese pea pods. Although you may think hot and sour soup has an intense cooking process, the majority is made from traditional Chinese pantry items (like soy sauce, hoisin, and sesame oil). A bowl of hot and sour soup will get you out of your wintertime food funk.
8 cups vegetable broth
1 ounce bean sprouts, rinsed
1 ounce bamboo shoots, rinsed and julienned
1 stalk bok choy, diagonally sliced
3 ounces Chinese pea pods, rinsed and strings pulled
6 dried Chinese mushrooms soaked in boiling water, rinsed, drained and julienned
1 tablespoon hoisin sauce
1 tablespoon tamari soy sauce, or more to taste
1 tablespoon kung pao sauce, or more to taste
leftover soba noodle (optional)
10 ounces firm tofu or as packaged, drained and sliced *see instructions
2 tablespoons potato starch dissolved in 4 tablespoons water
1/4 cup egg substitute beaten with 1/8 teaspoon light sesame oil
cilantro leaves coarsely chopped
1 dash dark sesame oil for aroma
Slowly pour in the beaten egg through the gap of a pair of chopsticks or along the back of a fork, moving the chopsticks or fork in a circular motion to shirr the egg. Remove at once from heat and cover for 30 seconds to allow egg to set and the soup will also clear somewhat.
Offer pepper oil at the table for those who want it hotter.
Image Sources:
Related Articles
- Meatless Monday: Sweet and Sour Cauliflower with Pineapple
- 30 Minute Vegetarian Ramen for Meatless Monday
- Meatless Monday: Tofu Lemongrass Soup
- Meatless Monday: 3 Gluten Free Super Sweet Potato Recipes
- Meatless Monday: Asian Vegetable Noodle Soup
- Allergy Friendly Cooking: Gluten Free & Vegan Recipes
- Meatless Monday: 5 Gluten Free Greek Recipes To Try
- Tamari Tofu and Other Tantalizing Tofu Recipes
- Meatless Monday: Garden Vegetable Gumbo
- Meatless Monday: Vegetarian Chow Mein
Related Recipes
- Slow Cooker Black Bean Soup
- Walnut Lentil Burgers with Tarragon
- Imitation Whole Bowl Tali Sauce
- Tofu Vegetable Salad
- Butternut Squash and Zucchini Lasagna-Gluten free, Vegan
- Vegetarian Hot and Sour Soup
- Stuffed Delicata Squash - gluten free, vegan
- Butternut Squash Gratin - gluten free, soy free, vegan
- Shiitake Noodle Soup
- Curry Lentil & Eggplant Lettuce Tacos
Want more from Foodista? Sign up below!


text:
October 30, 2013
Just when we thought we had seen every kind of burger combination imaginable, Philadelphia's PYT has released the Twinkie burger. This burger joint is known for their inventive dishes including the Korean fried chicken burger, the fried lasagna burger, the Szechuan lamb burger, and many more. For their latest concotion, two deep friend Twinkies hug a beef patty topped with bacon and cheese. If anything, PYT has taught us that burgers know no boundaries. What will they come up with next?
Image Sources:
Related Articles
- In-N-Out Burger Named Best Burger Chain in Consumer Reports Study
- Burger King Japan Adds Black Ninja Burger to Menu
- In-N-Out Goes After Burger Express in Boise
- Burger King Admits To Tainting Burgers With Horsemeat
- IN-N-OUT's Double Double Burger Named Best Fast Food Burger
- Twinkies Have a Dark Secret
- Burger King Quietly Testing Home Delivery
- Saying Goodbye to The Twinkie, Hostess Closes It Doors After 82 Years
- Red Robin Launches "Bring My Burger Back" Campaign
- Burger King "Abs" Ad Asks You to Listen to Your Gut
Related Recipes
- How to Make Chatpati Papdi Chaat
- Button Mushrooms stuffed with minced meat with lemon basil and grapes.
- Vegan spicy sautéed mushrooms in 10 minutes.
- Buckwheat and pork soup
- Healthy Fall Dessert: Baked apples with walnuts, honey and cinnamon.
- Steamed fishballs with lemon basil
- Delicious homemade pasta with fried pork and fresh lemon basil
- Pork liver meatballs with lemon basil
- Chicken with caramelized apple sauce
- Apple and carrot delicious 2 minute salad.
Want more from Foodista? Sign up below!


text:
Buses in Croatia
Im traveling around Crotia for about a week and half, but am finding the bus/train schedules online, a bit confusing. I fly into Zadar early in the morning on Friday, and want to continue on to Split that same day. The next day I travel to Dubrovnik.
The following Thursday or Friday I want to either go back to Split, or directly to Plitvik Lakes park, and the day after, return to Zadar to fly out. Does anyone know of any buses or trains to/from these cities, or an easier online schedule to read? Thanks!