The Lazy Man's Guide To Losing Fat And Building Muscle
by Ben FordLike most guys of a certain vintage, I have mixed feelings about my body. Staying lean and not surrendering to the siren’s call of the dreaded 'Dadbod' is a key concern. But then so is building and maintaining enough muscle so that I can keep up with the young bucks on the soccer field or in the gym.
One of the main keys to success is your diet. You need a meal plan that's high in healthy carbs, fats and proteins. More importantly, it needs to be easy to prepare and affordable - so you'll actually stick to it.
There's no shortage of tips that deal with actual exercise on Lifehacker - instead, this guide focuses on the fuel you should be preparing to build muscle and reduce body fat.
Part anabolic diet, part ketogenic diet and part dopamine diet, this all-rounder is perfect for anyone looking to stay on the health train. It's a super-simple diet protocol that provides everything we need to train, grow, recover and sleep, with minimum disruption to our lives and, critically, not sacrificing taste or enjoyment.
Consider it a dietary form of GPP (General Physical Preparedness). With bodily GPP I want to be able to achieve a number of feats or accomplishments at any given time with no specific training.
For nutritional general preparedness, we’re:
- eliminating most empty, white carbs from our diet
- ensuring we get enough protein to facilitate muscle growth
- using fat increasingly as an energy source
- using green vegetables to provide carbohydrates and essential nutrients
Is it boring to eat this way? Or a chore? Not really. The healthy fats in this diet provide both satiety and sufficient hits of dopamine to keep cravings at bay. Permanently.
Can you eat this way if you have kids? Yes, absolutely. A few variations for Junior and you’re there.
The Meal Plan
#1 Pre-Breakfast: Protein Shake w Milk
- Protein 34g
- Carbs 17g
- Fat 10g
Most supplements are stuffed with all kinds of chemicals that you can't pronounce. It’s a multi-billion-dollar industry that promises silver-bullets yet delivers (mostly) damp squibs.
However, as a guy in a hurry, I need fuel after workouts and to kick-start the day. Sleep is catabolic, meaning it depletes your muscles. That's not good, especially if you're on the lean side to begin with (what's known in the trade as a 'hard-gainer'.)
A sound guiding principle is to start the day with 30g of protein if you're serious about building muscle.
A brown-rice based, all-natural protein is probably a little less effective than some of the other stuff but it helps get me to my macros and I feel somewhat better about it, especially as I'm going to be drinking three of these a day.
#2 Breakfast: 3 Egg Omelette With Cheese
- Protein 21g
- Carbs 1g
- Fat 18g
A more elaborate 'one-pan keto-feast’' could include sausages, green vegetables, smoked salmon but that will take more time than we have to play with. The omelette is super-speedy.
Variations on this theme could be to include a bowl of porridge and stirring through some protein powder to make 'chocolate protein oats'. The only ingredients for this are milk, water, oats and your protein - in less than 7 minutes you’ll be fuelling up for the day ahead.
#3 Snack: Protein Shake
- Protein 34g
- Carbs 17g
- Fat 10g
#4 Lunch - Tuna, Brown Rice & Beans + 2 Glasses Milk
- Protein 43g
- Carbs 74g
- Fat 26g
In terms of bang-for-your-buck and downright convenience, you can't go past this combination - the Holy Trinity of lunchtime goodness.
Try Sirena tuna, whose label reassures that it's line caught and sustainable etc. Basil oil flavour is especially tasty. Add a tin of Edgells 4 Bean Mix and 90 Second microwave brown rice.
Throw grated cheese over the top of this for more fat, and because, well, cheese makes everything taste better.
Total cost per meal: $5.35
#3 Snack: Protein Shake
- Protein 34g
- Carbs 17g
- Fat 10g
#6 Dinner: Chicken / Pork, Broccoli, Zucchini, Sweet Potato, Apple
- Protein 66g
- Carbs 54g
- Fat 16g
You could roast / bake a tray of vegetables and chuck some chicken breast in the other side of the tray (covered in a little foil tent for half the cooking time (usually 30-35 mins) to stop it drying out.
The beauty of this is that once you've tossed it in the oven, you can go and workout for a bit or play with junior.
However, if you can get yourself a microwave steamer, your whole whole world will change.
Here's how.
Chop up your veg and layer it in the steamer according to how long it takes to cook. Then steam it for about 4 minutes. [Note: sweet potato can handle around 3 mins on its own before you add the greens for the remaining 4 mins. This depends on the power of your microwave so play around with it.]
This could be the end of the story. You serve up your greens with your meat (which you've pan-fried and rested under foil and out of the pan for 5 minutes - this is crucial.)
You'll probably want some seasoning with this though.
Or take things to a completely different level with only a modicum of extra effort.
Drain the veggies, blanche under cold water to stop the cooking process, throw a decent knob of butter into the meat pan and then mix the greens through the butter.
In a restaurant this would be called something like 'twice-cooked greens, keto-style,' or something equally grand, and, as with a lot of the cooking here, it depends on your approach to fats and what your nutritional objectives are.
Additional fats, especially those that have traditionally been considered unhealthy, is
But, if you still want flavour and satiety, then it's worth trying because it makes them taste delicious.
Total: Protein 214g, Carbohydrate 180g, Fat: 90g
Summary
This plan works for busy guys (and gals) for a few key reasons:
- It’s cheap
- It's healthy
- It's easy to stick to
- It tastes good
- It’s easy to hit (and stick to) your macros
- It eradicates most unhealthy carbs from your diet
Is it perfect? Nope.
Could it be made healthier? Yep, pretty easily. Sub in celery sticks dipped in almond butter for one of the snacks would be an easy tweak.
But bang-for-your-buck simplicity, economy and taste it’s right on the money.
Ben Ford is the author of SuperFitDad, a lifestyle blog that focuses on health tips for busy dads.
This story has been updated since its original publication.


All-American Rejects Rock NASCAR’s Chevy Rock & Roll 400
Multi-platinum recording artists The All-American Rejects will make a pit stop from their worldwide tour at Richmond International Raceway on Saturday, September 12 to perform hits from their third album “When the World Comes Down.” The band was recently selected to perform trackside during pre-race festivities for NASCAR’s Chevy Rock & Roll 400.
In addition to sharing track time, albeit playing music on track...not driving, the band will have one more thing in common with the race’s winner. The All-American Rejects’ guitarist Mike Kennerty will be playing a new Mira X model PRS guitar during their pre-race concert, and the winner of the Chevy Rock & Roll 400 will win their very own custom built PRS guitar. The custom guitar, hand crafted at PRS, has been painted to match the pace car and is the centerpiece of the custom Rock and Roll themed race trophy created by PRS Guitars.


WHY I AM AGANIST THE CUT By Kauthar Mahamed
Hawa Ali was only five when she and three other girls were circumcised. “We were woken up very early by a group of women. My mother was there too. They were very rough with us. One of the women performed firauni,” the 45-year old mother of five says recalling the day she was circumcised. Unlike in other communities where the cut is considered a rite of passage from girlhood to womanhood and therefore a cause for celebration, Hawa’s cutting went unnoticed by all except for the women in the household and the neighbourhood. The Somali practise different types of Firauni infibulation. According to Somali oral history, this type of cutting originated from Egypt and spread into Somalia, Sudan, Eritrea, Ethiopia and other countries where this type of cutting is common. These are Faadumo — the partial or total removal of the clitoris and the labia minora, sometimes done with or without the excision of the labia majora. (The labia are the lips that surround the vagina). Hostaguden is another form of excision where thevagina opening is narrowed through the use of a covering seal by cutting and repositioning the inner labia with or without cutting the clitoris. The labia majora stays normal. Kurs which is the most common and extreme form of infibulation where the clitoris is removed and both the inner and outer labia are stitched together leaving a small opening for menstrual/urine flow. In many instances, thorns or stitches are used to hold together the two sides of the labia together and the legs are bound to prevent movement for up to 40 days. Only a small opening is left to allow urine and menstrual fluids to exit, and often this is created after the fact with a small twig or straw causes vaginal obstruction that can result in accumulation of menstrual flow in the vagina and uterus. Sexual intercourse is excruciatingly painful and in most cases, childbirth can be fatal.
The Sunna (Clitoridectomy) involves removal of the prepuce (the fold of skin surrounding the clitoris) with or without partial or total excision of the clitoris (a small, sensitive and erectile part of the female genitals).
Hawa nearly died due to excessive bleeding. She is unwilling to talk about the trauma she went through on her wedding night which was done in accordance with the Somali customs and traditions. On the eve of her wedding, she was physically examined to ensure that the vagina was still stitched as this is proof that she was a virgin. After the wedding night, the bedclothes were checked for blood to confirm the breaking of the seal. Only then was her mother presented with gifts and accolades for raising her daughter well. Since her marriage, Hawa has borne five children— two of them through excruciatingly painful vaginal births while the other three were through Ceaserean Section. To date, she still suffers medical problems which she attributes to the Firauni cut she underwent as well as the multiple C-Sections she has had. When asked why she underwent the cut, Hawa says its a cultural belief handed down over the generations. She said a Somali woman is considered clean and beautiful only after the removal of body parts that are considered unclean. It’s also believed that the cut ensures premarital virginity and marital fidelity as it reduces a woman’s libido and helps her resist extramarital sex. The Somali society also believes that,when the girl is circumcised, she will not bring any shame to the family by having babies out of wedlock. Sheikh Abdikadir Ali Mumin, 45, an imam at the a mosque in Eastliegh says the tradition has no roots in any religion, not even in Islam. He said that he has been preaching against the practise for the last three years now hoping to educate the 500 members who attend the mosque every day to understand that circumcising women is not a religious tenet. “All scholars of Islam agree that FGM is prohibited,” he said, “That’s why I’m proud as a father that I have never practiced this FGM. It is harmful. In Islam, there is a principle that says whatever is harmful, is prohibited, says Sheikh Mumin. Mohamed Moulid, a community elder in Eastleigh is full of remorse everytime he has to watch his daughter suffer through painful cramps during her menstrual period. “Her menstrual cramps last longer and she experience more pain and can’t even afford to do her daily work,” he says. He told me he had no say when several of his female relatives and his wife went ahead to have his daughter undergo the operation. He is now working hard to ensure that no any other girl endures the same pain as his daughter by talking to parents to stop the practise. The medical problem Dr Aisha Abdi is a gynaecologist who runs a private clinic in Eastleigh. She treats many women who have been subjected to FGM. “Because of the trauma and problems they have gone through, they are always scared at the sight of a scalpel,”she said.  Because of the scars, they are not as elastic and stretching is difficult,”she says. “You get more stitches to repair because this is not a normal opening.” Aisha says the medical complications of FGM are sometimes so severe that even those who undergo surgery do not regain what they have lost in terms of health or appearance. Many are the times she has had to conduct episiotomies (cut in the muscular area between the vagina and the anus (the area called the perineum) to enlarge the vaginal opening to stop women suffering from prolonged labour which can lead not only to obstetric tears and laceration but also obstetric fistulas among other complications.
 “I was sewed, and even right now feeling uncomfortable about it. I had difficulties because it was a long and difficult labour because of the cut. I wish l knew,” she says adding “I will not let this happen to my daughter.”


Base class for create a Python widget.
More...
Base class for create a Python widget.
Definition at line 40 of file widget.py.
| def airbus_cobot_gui.widget.widget.Widget.__init__ |
( |
|
self | ) |
|
| def airbus_cobot_gui.widget.widget.Widget.control_mode_changed_event |
( |
|
self, |
|
|
|
control_mode |
|
) |
| |
Methode called when control mode changed.
- Parameters
-
Definition at line 45 of file widget.py.
| def airbus_cobot_gui.widget.widget.Widget.controlModeChangedEvent |
( |
|
self, |
|
|
|
mode |
|
) |
| |
Methode called when control mode changed.
- Parameters
-
Definition at line 53 of file widget.py.
| def airbus_cobot_gui.widget.widget.Widget.emergencyStoppedEvent |
( |
|
self, |
|
|
|
state |
|
) |
| |
This methode called when emergency stop triggered.
Definition at line 90 of file widget.py.
| def airbus_cobot_gui.widget.widget.Widget.retranslate_event |
( |
|
self | ) |
|
This methode called when language changed.
Definition at line 79 of file widget.py.
| def airbus_cobot_gui.widget.widget.Widget.retranslateEvent |
( |
|
self | ) |
|
This methode called when emergency stop triggered.
Definition at line 84 of file widget.py.
| def airbus_cobot_gui.widget.widget.Widget.shutdown |
( |
|
self | ) |
|
| def airbus_cobot_gui.widget.widget.Widget.user_changed_event |
( |
|
self, |
|
|
|
user |
|
) |
| |
Methode called when user account changed.
- Parameters
-
| user | user informations. user: C{User}. |
Definition at line 62 of file widget.py.
| def airbus_cobot_gui.widget.widget.Widget.userChangedEvent |
( |
|
self, |
|
|
|
user |
|
) |
| |
Methode called when control mode changed.
- Parameters
-
Definition at line 70 of file widget.py.
The documentation for this class was generated from the following file:


ATTENDEES
{%for attendee in attendance.attendees.all%}
{{attendee}}
{%endfor%}ABSENTEES
{%for absentee in attendance.absentees%} {%if absentee.user != userclass.is_admin%}
{{absentee}}
{%endif%} {%endfor%}{%load crispy_forms_tags%} {%load crispy_forms_filters%}
{{attendee}}
{%endfor%}{{absentee}}
{%endif%} {%endfor%}NO ATTENDANCE DATA FOUND
{%endfor%}


EAStdC Changes
Version 1.26.07
Changes:
- EAStdC: fixing winsock.h include for timeval struct used in tests
- Gemini to Xbsx
- Fixing codegen bug on pc64-vc-dev-opt which was mixing up the register parameters to a string function which caused test code to strcpy a string onto stack memory. In an effort to change the code pattern I added a memclear in hopes it would bypass the compiler bug being triggered here. This appears to have worked at the time of writing of this.
Version 1.26.07
Changes:
- Updated to support PS5 0.9 SDK.
- Updated test module to compile with bulkbuild files.
Version 1.26.06 (Oct 10, 2019)
Changes
- Added GetTimeMilliseconds as a convenient helper for GetTime() / 1000000.
- Added docs, scripts and build files to VS project.
Version 1.26.05 (Oct 01, 2019)
Changes
- NX unit test memory fixes.
Version 1.26.04 (Sep 20, 2019)
Changes
- Fixing user reported regression for bit-shifting our EAFixedPoint type.
- Merging lots of repeated code in the Sprintf implementation.
- char8_t C++20 fixes.
Version 1.26.03 (Jul 10, 2019)
Changes
- Backwards compatible changes preparing for char8_t keyword promotion for UTF-8 strings.
Version 1.26.02 (May 30, 2019)
Changes
- Added support for EA_WINAPI_FAMILY_GAMES.
- Removed the EA_WINAPI_FAMILY, EA_WINAPI_PARTITION and EA_WINAPI_FAMILY_PARTITION backward compatible defines from Config.h.
- Removing EAArrayCount implementation as its available via EABase.
- Forwarding implementation of EAOffsetOf to EABase implementation.
Version 1.26.01 (March 13, 2019)
Changes
- Updated code to use EA_PLATFORM_SONY where possible.
Version 1.26.00 (Sep 07, 2018)
Changes
- Adding UTF8ReplaceInvalidChar which allows users to replace invalidate UTF8 characters with a specific character.
Version 1.25.01 (Feb 20, 2019)
Changes
- Converting PS4/Kettle platform macros to use the new Sony platform macro.
Version 1.25.00 (Sep 07, 2018)
Changes
- Renaming 'PoissonTransform' to 'RandomInt32Poisson' to align with the existing EAStdC API.
Version 1.24.00 (August 14th, 2018)
Changes
- Add Code Coverage to EAStdC Package.
Version 1.23.00 (April 30th, 2018)
Changes
- Added a new overload to Strlcpy that returns the number of consumed source code units and the number of writen code points. This allows applications to process large input in batches.
- Modified the string format in the printf family of routines to handle input strings larger than EASPRINTF_FIELD_MAX setting.
- Fixed an issue where random number generators could return a value outside the valid range. Made it additionally robust due to reducing the range to ensure double to float conversion doesn't generate a value outside the valid range.
Version 1.22.00 (January 12th, 2018)
Changes
- Retroactively incrementing the minor version number as the hash generated in CRC24 will now fill the upper 8 bits with zeros, whereas implementations prior to 1.21.01 would fill the upper bits with ones.
Version 1.21.05 (Oct 17, 2017)
Changes
- Removed Xenon and PS3 code paths.
- Moving GetNanoseconds and GetMilliseconds implementations into EADateTime.cpp to ensure warning suppressions are applied.
- Extended the Stopwatch POSIX implementation code path to take into account customized error codes on the NX platform.
- Fixed issue with not getting proper time zone name on the NX platform.
Version 1.21.04 (September 15th, 2017)
Changes
- Fixing bugs in Scanf and Printf with the support of 'j' (maxint), 't' (ptrdiff), and 'z' (size) modifiers on integer and count fields.
- Removed custom atomics and mutex implementation and forwarded the EAStdC API to use the EAThread API.
- Added GetMilliseconds & SetMilliseconds to EA::StdC::DateTime.
- Disabled EASTDC_MEMCHR16_ENABLED by default so we can remove the deprecated function in a future release.
Version 1.21.03 (August 10th, 2017)
Changes
- Resolving macro re-definition error reported by a user trying to enable the valgrind aware strlen functions.
- Resolving Clang UBSan (undefined behavior sanitizer) warnings related to signed integer overflow, shifts by negative numbers, and integral promotion.
- EAStopwatch::GetStopwatchCycle on PS4 update to call sceKernelGetProcessTimeCounter instead of using rdtsc.
Version 1.21.02 (December 7th, 2016)
Changes
- Stopwatch::GetCPUCycle() PS4 implementation changed to use 'sceKernelGetProcessTimeCounter' to account for PLM events. Note 'sceKernelGetProcessTimeCounter' incurs addition overhead that our measurements calculate at ~6 cycles.
Version 1.21.01 (October 21st, 2016)
Changes
- Made the OSGlobal implementation on Kettle, search for a free memory location starting from the top of virtual memory, since it is faster to do.
- Updated Build and Initialize scripts to remove warnings generated by Framework 3.
Version 1.21.00 (August 10th, 2016)
Changes
- Removed EATrace support as it was not being tested and the mechanism to switch between the two has rotted.
- Implemented EA::StdC::Memfill8 which reroutes to EA::StdC::MemSet8 for convienience.
- EA::StdC::Strlen calls __builtin_strlen when the Clang builtin is available.
- Added config macro to disable EAStdC GlobalPtr via EASTDC_GLOBALPTR_SUPPORT_ENABLED.
- Added support for EASTDC_STATIC_ANALYSIS_ENABLED to determine if static analysis should flag certain code paths or not.
This is important because specific string optimizations are disabled which are correctly flagged as errors but in practice do not cause any harm.
- Removed the internal definitions of IsNaN and IsInf, which are duplicates of IsNAN and IsInfinite, and switched to use the latter in Sprintf code. This was initiated because std::isnan doesn't seem to work on Android.
Version 1.20.05 (May 19, 2016)
Changes
- Resolving ps4 sdk 3.5 warning.
Version 1.20.04 (Apr 08, 2016)
Changes
- Resolved an issue with 'long double' causing an incorrect output in Sprintf.
- Performace improvements for endian swapping by use of bswap instruction. (integration request)
Version 1.20.03 (January 22, 2016)
Changes
- Resolved an issue in RandomLinearCongruential::RandomDoubleUniform(). This method would sometimes reseed the PRNG with a non-deterministic value derived from the CPU clock. The method has been updated to no longer update the seed in a non-determinstic way. (Note: the issue could lead to network desyncs.)
- Minor fix for asymmetric warning push without a pop in a cpp.
Version 1.20.02 (October 23, 2015)
Changes
- Fix to the location and search space of the Global memory initialization technique used by kettle. Call to InitOSGlobalSystem.
- Reduce the 300ms EAStopwatch startup setup time to 5ms as it is contributing to a slow startup for all applications. This of course decreases the accuracy of value which is experimentally computed however this change is only implemented on platforms that consider __rdtsc to be inaccurate.
Version 1.20.01 (September 23, 2015)
Changes
- Converted initialize.xml to structured-XML which fixes warnings generated by Framework.
EAStdC Changes
Version 1.20.00 (July 13, 2015)
Bug Fixes
- Fixed a bug in seting nanoseconds field in DateTime::Set() method.
Changes
- CallbackManager: add ThreadParameters argument to Init() so that the thread may be started with non-default arguments (such as priority).
Version 1.19.04 (Apr 23, 2015)
Changes
- Resolved issue when switching to AndroidSDK-21-2 with Sprintf generating incorrect results for Infinite/Nan float values.
Version 1.19.03 (March 12th, 2015)
Changes
- Required changes for VS2015 support.
Version 1.19.02 (February 9th, 2014)
Changes
- We now use builtin offsetof() in combination with -Wno-invalid-offsetof to suppress warnings when offsetof is applied to non-POD types instead of custom implementstion.
offsetof() returns costexpr and can be used in static_assert
- Reverted a change to EAAlloca that was causing issues for users. Users should still consider using EAMalloca/EAFreea
as an alternative to EAAlloca.
Version 1.19.01 (Oct 13th, 2014)
Bug Fixes
- Fixed a warning that surfaced in the unit tests after a recent change to EASTL.
Changes
- Added support for compiling with VS2015.
Version 1.19.00 (Sept 5th, 2014)
Changes
- Added a public version.h header.
- Users may now call SetCurrentProcessPath to manually set a path on PS4 if they want to use GetCurrentProcessPath/GetCurrentProcessDirectory on test kits.
- SetCurrentProcessPath now takes a const char8_t* instead of a non-const pointer. This change makes it possible to pass string literals without generating warnings.
- Resolved compilation warnings on PS3SDK 460.001.
Version 1.18.00 (June 12th, 2014)
Changes
- Revised RandomUint32Uniform(limit) to provide unbiased output, at the cost of being about 3x slower for non-power-of-2 values. The RandomLimitFastBiased function provides the previous behavior of being fast but with some bias (tiny bias for small limits, higher bias for large limits).
- Implemented a faster version of Itoa32/Utoa32/Itoa64/UtoA64 for base 10 conversions. The new version averages 3x faster than before.
- Implemented a faster Strcmp implementation that works by reading machine word-sized values instead of bytes. On 64 bit platforms this results in a five-fold improvement in speed.
- Added ZeroPresent8 and ZeroPresent16 to EABitTricks, which provide a fast means to identify if the supplied word has any zero byte. These were added primarily to support the fast portable Strcmp implementation.
/// ZeroPresent8
/// Returns true if a 0 byte is present in x.
/// ZeroPresent8(0xffffffff) -> false
/// ZeroPresent8(0x00000000) -> true
/// ZeroPresent16
/// Returns true if an aligned uint16_t of 0 is present in x.
/// ZeroPresent16(0xffffffff) -> false
/// ZeroPresent16(0xff0000ff) -> false (There are 16 contiguous 0 bits, but they are not uint16_t aligned)
/// ZeroPresent16(0x0000ffff) -> true
- Added timing-safe variations of some functions, as commonly needed for security purposes:
/// Similar to Memcmp but returns simply true or false. Performs slightly faster
/// than TimingSafeMemcmp. Executes slower than regular Memcmp due to being timing-safe.
/// Executes in a constant time for any given n value. The primary use case for this is
/// for security in the presence of possible timing attacks.
EASTDC_API bool TimingSafeMemEqual(const void* p1, const void* p2, size_t n);
/// Behaves the same as Memcmp, but executes slower than regular Memcmp due to being timing-safe.
/// Executes in a constant time for any given n value. The primary use case for this is
/// for security in the presence of possible timing attacks.
EASTDC_API int TimingSafeMemcmp(const void* p1, const void* p2, size_t n);
/// Returns true if the given n bytes of memory are all zero in value, as would be the case
/// if the memory was cleared with Memclear.
/// Executes in a constant time for any given n value and regardless of whether the return
/// value is true or valse. The primary use case for this is for security in the presence of
/// possible timing attacks.
EASTDC_API bool TimingSafeMemIsClear(const void* p, size_t n);
- Added EAOffsetOfBase to EABitTricks
/// Returns the offset of the class Base within the subclass Class.
/// Fails to compile for cases where Base is multiply inherited by Class.
/// Example usage:
/// struct A{ int a; };
/// struct B{ int b; };
/// struct C : public A, public B{ int c; };
/// EAOffsetOfBase<C, B>() => 4
///
/// EAOffsetOfBase is not guaranteed to be a compile-time constant expression,
/// due to the use of reinterpret_cast of a pointer.
template <typename Class, typename Base>
size_t EAOffsetOfBase();
- Fixed a compilation error on PS3 that could occur if limits.h wasn't included prior to including EABitTricks.h.
Version 1.17.00 (May, 2014)
Changes
- Fixed a compile error for platforms where wchar_t is 16 bit but unique from char16_t.
- Added char_t* Strnchr(const char_t* pString, char_t c, size_t n), which is the same as strchr except it checks no more than n chars from the string.
- Avoided internally allocating memory using global new when printing to the log on Android.
- Fixed a bug in EcvtBuf and FcvtBuf whereby they used the wrong buffer size constant. Switched them to using the right constant from EAString.h. The result was that EcvtBuf, FcvtBuf, and the printf family of functions could crash with large floating point values (e.g. DBL_MAX).
Version 1.16.00 (April 15th, 2014)
Changes
- Added the Dprintf family of functions, which print to debug output for the given platform.
- Added Dprintf and Vdprintf, with currently only char8_t implementations (and no wchar_t implementations, for example).
- Made it so that Vprintf, Vfprintf(stdout/stderr), Printf, and Fprintf(stdout/stderr) redirect to Dprintf on platforms which no-op these otherwise.
- Updated the printf-related WriteFunction documentation to clarify behavior.
- Added Memchr16, Memchr32, and MemchrW.
- Fixed a bug in StrtoU32(const char32_t* pValue, char32_t** ppEnd, int nBase) and related functions for the case of char32_t and an nBase of 16.
- Implemented EA_CACHE_PREFETCH_128 for all x64 platforms.
Version 1.15.01 (March 10, 2014)
Changes
- Made the following two functions 0-terminate even in the case of returning -1 (error).
int Strlcpy(char32_t* pDest, const char8_t* pSource, size_t nDestCapacity, size_t nSourceLength);
int Strlcpy(char32_t* pDest, const char8_t* pSource, size_t nDestCapacity, size_t nSourceLength);
- Made the VC++ version of TruncateToInt32 on x86 use a C cast for recent compiler versions, as that results in faster code.
- Removed Registry keyword
- Fixed linking of debug sony kettle libs.
-
Worked around a Coverity warning in scanf about a negatively indexed pointer, though that pointer was actually never dereferenced when negatively indexed.
-
Made the Oprintf (ordered printf) family of functions safely handle input overflows of various types.
- Implemented EAMalloca in a way that's portable to all relevant platforms. Previously it was VC++-specific due to being mapped to the VC++ malloca function.
Version 1.15.00 (February 14, 2014)
Changes
- Fixed GetCurrentProcessPath on Apple Platforms so that when executable is in a bundle it will return the path to the bundle. Changes also fix similiar issue in GetCurrentProcessDirectory.
- Added wchar_t versions of functions in EATextUtil.h.
- Added Strend and Striend:
- bool Strend(const char_t* pString, const char_t* pSuffix, size_t stringLength = kSizeTypeUnset)
- bool Striend(const char_t* pString, const char_t* pSuffix, size_t stringLength = kSizeTypeUnset)
- Improved the flexibility of Strlcpy.
- Fixed a problem with EAGlobal.cpp causing crashes on PS4 which were probably due to initialization order of that module.
Version 1.14.00 (December 5th, 2013)
Changes
- Added Capilano and Kettle support.
- Improved the definition of CountBits. Reported by Jeff Duncan
Bug Fixes
Version 1.13.00 (November 15, 2013)
Release notes:
- Added clang-specific support for EAAlignOf. This fixes a couple cases of EAAlignOf not working with some types.
- A change to the behavior for EASTDC_USE_STANDARD_NEW was made which has the effect of making so that by default EAStdC users need to link with void* operator new[] (size_t size, const char* name, int flags, unsigned debugFlags, const char* file, int line). This is the same operator new that EASTL uses, and so we don't expect many users to notice any change. However, if you get a linker error regarding a missing operator new then it's because your app needs to supply this version. Example minimal implementation of this operator new:
void* operator new[](size_t size, const char* /*name*/, int /*flags*/, unsigned /*debugFlags*/, const char* /*file*/, int /*line*/)
{
return ::operator new[](size);
}
Changes:
- Added a 64 bit version of ReverseBits. It's not optimal but is rather a working placeholder for a future optimized version.
- Made it so EASTDC_USE_STANDARD_NEW isn't unilaterally defined to 1 in the build file. Reported by Patrick Laflamme.
- Fixed int128_t::GetPartUint8 for 64 bit platforms. Reported by
Jason Beardsley.
- Added the ability for StrToInt128 to read numbers specified in binary (e.g. 0b00100110101).
- Fixed a bug in StrToInt128 with respect to auto-detecting base 16 where it would fail to detect 0x... sequences as base 16.
- Made int128_t::StrToInt128 be a static function instead of a const member function.
- Added Strstrip, in EAString.h:
/// Removes leading and trailing space, defined by the Isspace function.
/// The trailing space is removed by potentially modifying the end position
/// of the string via writing '\0'. The leading space isn't removed, but rather
/// the first non-whitespace char in pString is returned. Thus beware that
/// this function may return a pointer >= pString, and you cannot free that
/// that pointer instead of pString.
/// This is similar to the sometimes seen strstrip C function.
- Added Strstart and Stristrart, in EAString.h:
/// Strstart
/// Returns true if pString begins with pPrefix.
/// Stristart
/// Returns true if pString begins with pPrefix, compared case-insensitively.
/// Supports ASCII case comparisons only.
- Added the ConvertEpochSeconds, in EADateTime.h
/// ConvertEpochSeconds
/// Converts seconds in an epoch to seconds in another epoch. You don't need to convert
/// the nanoseconds portion of a DateTime (e.g. dateTime.GetNanoseconds()), as that value
/// is a fractional second which is unchanged regardless of epoch. Recall that an epoch is
/// a starting timepoint, such as how the Unix Epoch (time_t == 0) starts at Jan 1, 1970.
/// This function extends and generalizes the functionality in DateTimeSecondsToTimeTSeconds and
/// TimeTSecondsSecondsToDateTime.
/// Returns seconds in the destination Epoch. Returns 0 if srcEpoch or destEpoch are invalid.
/// Example usage:
/// // Convert myDateTime to Unix time.
/// int64_t unixSeconds = ConvertEpochSeconds(kEpochDateTime, myDateTime.GetSeconds(), kEpoch1970);
Version 1.12.00 (July 22, 2013)
Changes:
- Added the Memmem function, in <EAStdC/EAMemory.h>. This is equivalent to the memmem function found in GCC's glibc on Unix systems.
- Implemented an improved workaround for Scanf handling of -0.0 under VC++ with /fp:fast specified on the compiler command line.
- Fixed a bug in UTF8CharSize for the case that the leading char is 0xc2. This matches a similar fix for the UTF8Increment function in v1.04.03. Reported by Arnie Misfeldt.
- Removed support in EAStopatch for the IA-64 (Itanium) platform.
Version 1.11.01 (May 6th, 2013)
Changes:
- Removed redundant 'if' statement from UTF8CharSize(). Reported by Luc Isaak.
- Made EAGlobal.cpp compatible with Windows phone TRCs. There was a function usage that Microsoft doesn't allow.
- Fixed Valgrind complaint
- Minor updates to EABitTricks.h and EAString.h documentation
Version 1.11.00 (April 3rd, 2013)
Changes
-
Extended all BitTricks functionality to 64 bit where 64 bit wasn't previously supported.
-
Added UTF8TrimPartialChar() to EATextUtil, where the other UTF8 functions are.
- Added support for additional Microsoft platforms to EAProcess.h/cpp.
- Fixed a mistaken assertion failure in Strlcat for the case that the destination buffer capacity was specified as zero.
Version 1.10.02 (March 4th, 2013)
Changes
- Updated GetCurrentProcessDirectory for PS3 to return app_home if the GameData API fails to tell where the home directory is. This in some sense reverts the behaviour to be like previous EAStdC versions (which used to unilaterally return app_home) for the case of the GameData API failing.
Version 1.10.01 (February 4th, 2013)
Changes
Bug Fixes
- WiiU Fixes
- Windows Phone 8 restart invalid semaphone fix
- Added template<> StaticMemory, which allows for generically declaring static memory.
- Made GetProcessDirectory and GetProcessPath work on PS3.
- Fixed some issues related to getting the current process's path/directory
- Fixed PS3 library stub linker bug
- Improved GetCurrentProcessPath for OS X and made it work for iOS.
- Fixing VC++ compiler warnings
- Made GetCurrentProcessPath work on new Microsoft platforms.
Version 1.10.00 (December 10th, 2012)
Changes
- Added a pathCapacity argument to GetCurrentProcessPath and GetCurrentProcessDirectory. This allows for safer use of these functions in the case of arbitrary path buffer sizes.
- Added support for defining EASTDC_VSNPRINTF8_ENABLED globally as a nant build property. Requested by Arpit Baldeva for EAWebKit.
- Added memcpy16 usage to EAMemory under PS3 compilers where appropriate. Updated some code documentation in EAMemory related to this.
- Added WiiU support.
Bug Fixes
-
Fixed Stopwatch::SetUnits for the case of kUnitsCPUCycles. Previously it was trying to do some smart thing related to custom frequency calculations, but it resulted in kUnitsCPUCycles always being of lower resolution by default. The new code is simple and doesn't support the custom frequency feature, which was never used anyway.
Version 1.09.00 (November 5, 2012)
Changes
- Added EA_FAIL statements to StrtoU32, etc. upon overflow or underflow. For compatibility with C99, this functionality is disabled by default. However, it can be controlled at runtime via GetAssertionsEnabled / SetAssertionsEnabled. Suggested by Corey Taylor.
- Stopwatch instances can now be declared as global objects which construct and possibly used before main(). Previously there were compiler/linker global init order issues that affected some platforms. Suggested by Brian Hixon.
- Added EAPrintf support for the ' format specifier, which causes numbers to display with a thousands separator. This is a non-standard but common extension to the C Standard Library printf function. See http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man3/printf.3.html. For example, a call to Printf(%'d", -123456789) would result in -123,456,789 being printed. Currently it's not possible to substitute the ',' char for one that's more correct for a given locale, as is the case for the '.' decimal separator. This feature can be added if requested, but the EALocale package has locale-correct number formatting of its own for a variety of locales, though it doesn't have the full printf formatting functionality of the EAStdC Printf family.
Bug Fixes
- Fixed a bug in the Printf family for %g format output precision for char8_t printf (but not char16_t or char32_t). The bug was that when printing in exponent mode, %g was printing one more significant digit than the C99 and C11 Standards specify regarding the user-specified precision. For example printf("%.3g", 65432.1) printed 6.543e+04 instead of the correct 6.54e+04. The user-specified field width was obeyed according to the Standard, however, and continues to be obeyed after this fix.
- Fixed the resolution of Stopwatch::kUnitsCycles for Microsoft x86 targets to be the full CPU tick resolution as opposed to the QueryPerformanceCounter resolution. The former was what is intended by the code and results in the user getting CPU ticks when asked for. Note that CPU tick frequency on x86 targets can change over runtime, but that was the case before this fix. All this fix does is not divide the CPU tick counts returned by rtdsc by some constant.
Version 1.08.06 (October 2nd, 2012)
Changes
- Upated Microsoft platform SDK support for various platforms.
Bug Fixes
- Fixed EAGlobal's handling of pointers on 64 bit platforms.
Version 1.08.05 (October 1st, 2012)
Changes
- Changed LimitStopwatch to use uint64_t limits instead of just uint32_t limits.
- Improved EADateTime Microsoft portability, as some Microsoft platforms don't support the GetLocalTime function.
Bug Fixes
Added Features
- Limit copying DLLs manually to fw2 builds.
- Added additional support for building for Windows Phone
- Added support for EAAssert on WinPRT ARM
Version 1.08.04 (August 7 , 2012)
Changes
- Fixes warnings for constant expressions in TestCallback on Android
- Made some function arguments in EADateTime.cpp consistent.
- Cleaned up EAStopwatch.h to make its platform-specific #include usage consistent.
- Added copylocal prop so DLL build can be tested.
- Simplifying the preprocessor conditional block that decides whether or not to use type traits to determine if a type has a trivial destructor.
- Modified HasTrivialDestructor to work properly with SSE intrinsic types under the Clang compiler.
- Reduce iterations (time spent) on a data-time test.
Version 1.08.03 (July 3, 2012)
Changes
- Updated the definition of EAAlloca to be more portable to different compilers.
- Added DateTimeSecondsToTimeTSeconds(), TimeTSecondsSecondsToDateTime(), and IsDSTDateTime().
- Added kTimeZoneNameCapacity, in order to create a constant describing the space required to hold time zone names.
- Added BSD Unix support for GetTimeZoneBias().
- Added char16_t to char32_t and char32_t to char16_t conversion orverloads for Strlcat.
- Improved EAGlobal for 64 bit Microsoft platforms that aren't Windows.
Version 1.08.02 (June 4, 2012)
Changes
- Added Log2Uint32 / Log2Int32 / Log2Uint64 / Log2Int64, which provide compile-time evaluations of base 2 log for constants.
- Fixed a bug in DateTime under Microsoft OSs for the case of initializing to the current time, where the resulting calculated month could be wrong.
- Added EA_INIT_PRIORITY(1000) to gAutoStopwatchSetup to cause it to init earlier on some platforms.
- Added support for WinRT.
- Added support for FreeBSD.
Version 1.08.01 (May 7, 2012)
Changes
- Updated CountLeading0Bits and CountTrailing0Bits to use compiler intrinsics under VC++ and GCC. They have been measured as performing better.
- Fixed a theoretical (though virtually impossible) HMUTEX leak in EAGlobal InitOSGlobalSystem. Found by Coverity.
- Fixed a mistake in Scanf string reader (which supports user-defined string sources) for when kReadActionUnread is executed. This didn't (and couldn't) result in unspecified behavior, but the break should be there for correctness. Found by Coverity.
- Fixed int128_t::SetPartUint32(int nIndex, uint32_t value), which was missing break statements and generating wrong results. Found by Coverity.
- Added nanosecond support to the DateTime class. Time can now be measured in nanoseconds since the date 1/1/0000.
- Added int128_t constructors for type long and unsigned long. This allows for more seamless use of built-in int types with int128_t.
- Made int128_t::Int128ToStr allow you specify whether leading zeroes are printed, a prefix (e.g 0x) is printed, or use the default.
- Significantly improved the performance of the StrtoXXX family of functions for 32 bit platforms, due to removing the usage of a 64 bit divide and modulus for most cases.
- Changed int128_t's INT128_MIN (etc.) to EASTDC_INT128_MIN (etc.). This was needed due to potential collisions with Standard libraries and their compilers, which may #define these values to something else. This is a potentially breaking change, though the fix is trivial.
- Fixed DateTime to now obey the timeFrame argument to the Set function and default constructor. Previously it always used only local time.
- Fixed bug in the return value of the Windows version of GetEnvironmentVar for some cases.
- Revised EAProcess.cpp to add support for OS X and to fix subtle uncommon string capacity/length bugs in the existing code.
- GetCurrentProcessPath and GetCurrentProcessDirectory now properly support OS X, Android, Palm, and other non-desktop Linux variants.
- Fixed a couple warnings in EABitTricks for using the Round template functions with unsigned types. Reported by Anish Dave.
- Fixed the return value of EABitTricks' RoundUpToEx to return T instead of int32_t.
- Added required overloads for platforms where wchar_t and char16_t are not the same type.
- Added support for the clang compiler in unix64 configurations.
Version 1.08.00 (February 28, 2012)
Additions
- Added PSVita platform support (EA_PLATFORM_PSP2).
- Added EAMalloc/EAFreea to provide a safer alternative to EAAlloca. Updated the documentation to EAAlloca to make its (lack of) safety more obvious.
- Added ARM support for EA_CACHE_PREFETCH_128, etc. in EAMemory.h.
Bug Fixes
- Fixed some additional bugs in Strftime/Strptime beyond the bug fixed in EAStdC v1.07.00. These functions now pass the unit tests.
- Fixed a bug in Scanf where any of [\]^_` would be mistakenly matched as hex digits for reading %x fields. Reported by Avery Lee.
- Fixed a 64 bit warning in EATextUtil in the templated SplitTokenDelimited and SplitTokenSeparated functions.
Changes
- LimitStopwatch::IsTimeUp, GetTimeRemaining, and GetTimeRemainingFloat were changed to be const.
- Added some code to EAAlignment.h to allow working around a bug in PS3 GCC for PowerPC with respect to vector types. In particular the EASTDC_DECLARE_TRIVIAL_DESTRUCTOR macro was added.
- Added documentation on RandomTaus and on how to generate or shuffule random ranges.
- Changed the optimized Strlen to use a union of pointers instead of having a bunch of hard-to-read casts.
- Changed Memset16 to use a union of pointers in order to avoid casting between pointer types and uintptr_t.
Version 1.07.00 (December 21, 2011)
Additions
- Added EA::StdC::Init and Shutdown functions, which should be called on app startup and shutdown. The purpose of these is to init data structures that are impossible to auto-initialize within EAStdC. As it currently stands, not calling these merely results in a rare potential Android Printf log race condition, and so most users don't need to drop what they are doing and change their code to call these.
Bug Fixes
- Fixed a bug in GetTimeZoneBias for non-Microsoft platforms which caused it to take up to a second to execute. Reported by Herbert Parkes.
- Fixed a bug in Strptime's handling of %Y. Reported by Changning Zhou.
- Made it so that EASPRINTF_FIELD_MAX doesn't apply to string fields that aren't having their format converted. This is less of a bug fix than a limitation relaxation, but some users might think of it as a bug fix.
- Fixed a compiler warning in EAFixedPoint.h regarding a cast from int. Reported by Alex Lindsay.
Changes
- Added code to Stopwatch to handle the case that the stopwatch was started before the global stopwatch init.
- Bumped up EASPRINTF_FIELD_MAX to 4096 for desktop platforms (e.g. Windows, Linux, OS X).
Version 1.06.01 (October 19, 2011)
Additions
- Added string class versions of Strlcpy and Strlcat. So now you can Strlcpy and Strlcat between strings. Previously you could do that with the ConvertString function, but that function has been deprecated and replaced with these more generic and complete functions.
- Added support for the clang compiler, which is new for the iPhone iOS5 SDK. This amounted simply to avoiding a couple compiler warnings.
Bug Fixes
- Fixed a bug in GetTimeOfDay on PS3 where the result could be off by a few microseconds.
- Fixed the DJB2 hash string function under x86 to pay attention to the nLength parameter instead of looking for a 0-terminated string. This was accomplished by simply deleting the asm version of this function. Reported by Andy Younger.
Changes
- The GetTime function has been revised to have a clarified set of specifications and a revised implementation for those specifications. Thanks to Michel Donais for his contributions on this.
- Improved the endian swapping code efficiency for some ARM targets, and added some clarifying documentation.
Version 1.06.00 (September 26, 2011)
Additions
- Added StringVcprintf and StringPrintf, which allow doing printf directly into a string object. The advantage over eastl::string::printf is that it doesn't need to call printf twice.
template <typename String>
int StringVcprintf(String& s, const String::value_type* pFormat, va_list arguments);
template <typename String>
int StringPrintf(String& s, const String::value_type* pFormat, ...);
- Added char32_t functionality to match char8_t and char16_t. The primary use is for platforms that necessarily have a 32 bit wchar_t. A result of this is that wchar_t is also supported, regardless of whether it matches char8_t, char16_t, or char32_t. Another outcome of this is that sized character field specifiers are now supported: %I8s %I16s %I32s %I8c %I16c %I32c. For highest code portability across platforms that have varying versions of wchar_t, use wchar_t consistently or use these sized types for wide strings. Currently char16_t and char32_t functionality is non-optional, though it mostly or entirely gets linked away when not used.
- Added GetTimePrecision, which returns the precision of the GetTime function.
Bug Fixes
Changes
- Revised EASTDC_MEMORY_INLINE_ENABLED to be more portable to users' builds. It was being tripped up by things like users mixing debug and release builds of code.
- Improved the precision of the GetTime function on PS3 from second-level precision to (theoretically) nanosecond-level precision.
Version 1.05.05 (August 18, 2011)
Additions
- EACallback has been completed and is unit tested. EACallback allows you to have a callback called at some time in the future, based on system time or based on ticks or user events. One-shot and repeat callbacks are supported.
- Added RandomTaus to the Random number generator set. RandomTaus optimizes randomness and to some degree size at the cost of speed and thus can be a useful alternative to the other two present generators.
Bug Fixes
- Fixed cases of va_start calls not being followed up by va_end calls. While in theory this omission was a bug, in practice it should not have been affecting users, as va_end is a no-op on all the platforms we use. Repored by Luc Isaak.
- The printf family of functions for Android to the Android log is now fixed with respect to newlines. Previously a single sprintf output could be spread across multiple log lines, whereas now it works as it should. A downside to this is that if you do a printf that doesn't have a newline in it and your app exits in some way before another printf is done with a newline then that last printf will never get flushed to the outout device.
Changes
- Added the concept of a WriteFunctionState to user-supplied write WriteFunction of the Printf function family. This doesn't affect most users, but makes the implementation of a user-defined custom printf back-end more flexible.
- Made FPrintf to stdout and stderr on Android act the same as Printf and use Android log output.
- EAGlobal now supports Linux and OS X. It might be able to support other Unix and Unix-like platforms, but this isn't yet tested.
Version 1.05.04 (May 5, 2011)
Additions
- Added Playbook platform support.
- Added a code stripper script, useful for removing platform-specific code as needed.
Bug Fixes
- Fixed a unit test bug which would result in DateTime testing to mistakenly report an error.
- Changed the static storage method of EAGlobal to use a raw buffer. On some platforms the previous aligned buffer wouldn't work due to an order-of-initialization problem.
Version 1.05.03 (March 14, 2011)
Additions
Bug Fixes
- Build script files were not exporting the location of the EAStdC SPU library.
- Fixed EASprintf's AndroidLogWriter to return the written count instead of returning 1.
- Fixed Airplay (mobile platform) compile error related to QueryPerformanceFrequency usage.
- Fixed bug in
SetElapsedTime and
SetElapsedTimeFloat for the case that the stopwatch is already running. Reported by Andrei Stanescu.
Changes
- Disabled bulk builds for the EAStdC SPU library to cut down on executable code size.
- Added assertions to Memcpy functions to verify the memory doesn't overlap. Suggested by Gareth Lewin's team.
- Added 'q' modifier (acts the same as 'll') support to EASprintf as extension functionality. This addition was necessary because iOS (e.g. iPhone) exposes it in its C99 headers (e.g. through the defintion of C99's PRId64).
Version 1.05.02 (January 3, 2010)
Additions
- Added EASTDC_STOPWATCH_DISABLE_CPU_CALIBRATION, which allows you to bypass the startup wait on Windows for Stopwatch calibration. Suggested by Avery Lee.
- Added SPU build support, which is enabled by default. It can be disabled via the EASTDC_PS3_SPU_ENABLED define or the nant EAStdC.EASTDC_PS3_SPU_ENABLED property.
- Added signed integer versions of all of the EAEndian functions (previously EAEndian only supported unsigned integer types).
- Added the following for compatibility with the Endian package and existing EA code:
- uint32_t ReadFromBigEndian(const void* pSource, int32_t nSourceBytes);
- void WriteToBigEndian(const void* pDest, uint32_t data, int32_t nSourceBytes);
Bug Fixes
- Revised Memcpy on PS3 SPU to work around a broken compiler-provided version of memcpy. Previously the SPU memcpy would fail to work properly when the source or destination were not 16 byte aligned. Provided by Joe Pribele.
Changes
Version 1.05.01 (November 5, 2010)
Additions
- Added string class-based versions of EATextUtil's GetTextLine, SplitTokenDelimited, and SplitTokenSeparated.
- Added an SPU memcpy to the examples directory, with the intention of making it part of the library in the future.
Bug Fixes
- Fixed bug in MemfillAny which would not fill all the memory. Reported by James Ding.
- Fixed a compiler warning stemming from a bug in the VC++ headers. Reported by Patrick McMorris.
- Changed a memcpy to memmove in EcvtBuf. Reported by James Fairweather.
- Fixed a bug in the length of the XBox 360 game directory in EAProcess.cpp.
- Fixed a Strlcpy bug for the case of an empty source string. Submitted by Yee Cheng Chin.
- Fixed a bug in AddTime where it was limited to 32 bits of time difference instead of 64. Reported by Alexei Koulikov
- Fixed a bug on Xenon due to a difference between float rounding for int32_t vs. uint32_t
- Fixed bug in GetCurrentProcessDirectory where it would return the wrong length. Submitted by Justin Russell.
Changes
- Updated the EADateTime function to enable more precise time information on PS3, though the use of librtc. This can be enabled via the EASTDC_PS3_LIBRTC_ENABLED config parameter. This parameter exists and is disabled by default because librtc requires the user to enable librtc on startup via cellSysmoduleLoadModule(CELL_SYSMODULE_RTC) and linking librtc_stub.a into the application.
- Added a print EXIT(n) at the end of the unit tests on wii to support EARunner_Wii; it will indicate to the runner that the test is completed.
- Changes some of the tests to have better float tolerance, specifically for wii
Version 1.05.00 (June 9, 2010)
Release notes
- This version has been updated to be compatible with PS3 SN 330, CodeWarrior 1.3, and Android platform.
Additions
- Added generic EASTL string 8 <--> 16 bit conversion functions:
template <typename Source, typename Dest>
bool ConvertString(const Source& s, Dest& d);
template <typename Source, typename Dest>
Dest ConvertString(const Source& s);
Bug Fixes
Changes
- Compiler compatibility work.
Version 1.04.05 (April 5, 2010)
Additions
- Added Mobile support: iPhone, Palm Pre, and Android. More mobile platforms to follow.
- Added encoding versions of strlcat, provided by Andrew Willmott:
size_t Strlcat(char16_t* pDestination, const char8_t* pSource, size_t nDestCapacity);
size_t Strlcat(char8_t* pDestination, const char16_t* pSource, size_t nDestCapacity);
Bug Fixes
- Worked around some GCC 4.4 Linux warnings related to strict aliasing.
Changes
- Added PS3 SN compiler v320 and later compatibility. The new compiler was generating some new warnings.
Version 1.04.04 (March 1, 2010)
Additions
Bug Fixes
Changes
- Worked around new Xenon XDK version compiler error in the unit tests.
Version 1.04.03 (November 18, 2009)
Additions
Bug Fixes
- Fixed bug in UTF8Increment. Reported by Nick Beatty.
- Fixed bug in Scanf for the case of Sscanf("0.1797734499", "%f", &someFloat). What was special about this case was that it represented an exponent of the power -10 (wouldn't happen with -9 or -11), and the code was mistakenly doing a test for >10 where it needed to do >=10. Submitted by Amelia Von Haden.
- Fixed bug in Scanf for the case of Sscanf(".750", "%f", &someFloat). Submitted by Amelia Von Haden.
- Fixed bug in Strlcpy(char16_t* pDestination, const char8_t* pSource, size_t nDestCapacity, size_t nSourceLength) which could cause it to mistakenly fail if the user passed the source strlen instead of -1. Reported by Arpit Baldeva.
- Fixed a potential EAOSGlobal leak of the OSGlobalManager singleton. A small problem arising out of this fix is that the application cannot Call InitOSGlobalSystem more than once and then pair it with ShutdownOSGlobalSystem more than once without causing the refcount to go negative. In practice the negative refcount should be harmless unless the application wants to subsequently re-use the OSGlobalSystem after it has been shut down. The solution is to call ShutdownOSGlobalSystem only once after its usage.
- Fixed a bug in Scanf reading an "INFINITY" string beyond its bounds.
Changes
- Implemented a workaround for a VS2005 SP1 bug related to Microsoft's <intrin.h>.
- Made OSGlobal clear the OS global environment variable in ShutdownOSGlobalSystem. This allows the OSGlobal system to be reused in a DLL that is multiply loaded and unloaded in a process. Requested by Cameron Dunn, for use in a Photoshop plugin.
- Updated char16_t support to use EA_CHAR16("") instead of L"". This allows for C++0x compatibility.
Version 1.04.02 (October 5, 2009)
Additions
- EAStdC: Added support for EAStopwatch on Linux64.
- Added AtoF32, which is identical to Atof but returns float instead of double. Also added StrtoF32.
Bug Fixes
- Fixed some Linux64 / GCC 4.3 compiler warnings.
- Fixed Wii printf support for the * format specifier (e.g. printf("%*s", "abc")), which previously was broken on Wii.
- EAStdC: Fixed DateTime conversion function for non-Windows platforms during daylight savings.
- Made FtoaEnglish respect the user-provided nPrecision argument, whereas previously it used a hard-coded value of 8. Reported by Jan Lotz.
- Fixed a use of EA_ASSERT_F to use EA_ASSERT_FORMATTED instead, as the former is supported by EATrace but not EAAssert. Reported by Darryl Gates.
- Fixed some compiler warnings newly generated by the latest Wii and SN PS3 compilers.
Changes
- Removed the EASTDC_MAX_FCVT_PRECISION config define, as it is no longer needed.
- Ftoa/FtoaEnglish output precision is slightly altered from how it was previously such that it is consistent with the API specification. Previously, when exponential output was requested it would interpret the precision argument to refer to all characters whereas the specification called for it to refer to the digits after the decimal point.
- Modified EA_XBDM_ENABLED slightly. Now it keys off of being equal to 0 or 1 instead of being undefined or defined. A result of this is that you may need to globally define EA_XBDM_ENABLED to 1 in a release build if you want it to work there. For Framework2/Nant users, the EAStdC.build file supports using EA_XBDM_ENABLED=[0|1] in the masterconfig.xml file. Suggested by Kevin Perry.
Version 1.04.01 (August 5, 2009)
- Fixed Wii compiler warnings that result with latest compiler.
Version 1.04.00 (June 24, 2009)
Additions
- Added UTF8 utility functions to EATextUtil.h/cpp.
Bug Fixes
- Fixed bug in Scanf for the case of %I64 whereby it would read the value as zero. Reported by Olivier Nallet.
- Fixed bug in Scanf for the case of %i whereby it was reading hex values (e.g. 0x1234) as zero. Reported by Scott Penso.
- Fixed a PS3 SN compiler warning in SprintfOrdered.
- Fixed a Wii compiler warning generated by the latest Wii compiler.
Changes
- Implemented workaround for SN PS3 compiler optimized code misgeneration of RandomLinearCongruential::RandonUint32Uniform(uint32_t nLimit).
- Implemented an optimized Strlen which executes 1.5x faster for smallish strings to 5x faster for longish (length >= 1024) strings.
- Added code to avoid using HUGE_VAL on VC++/Windows. This value is linked in from the C runtime library, and removing its usage allows the scanf code to be independent of the C runtime library.
- A seed of zero for RandomLinearCongruential no longer results in an auto-seed like with 0xffffffff. This makes it consistent with the documentation and consistent with RandomMersenneTwister and make the behaviour cleaner: there is exactly one way to auto-seed it, with 0xffffffff.
- Changed the .build file property EASTDC_USE_STANDARD_NEW = true|false to EAStdC.EASTDC_USE_STANDARD_NEW = 1|0. Any existing uses of this option will need to change, though it's anticipated that there aren't any existing uses since this feature was added only in the previously published version.
Version 1.03.10 (March 9, 2009)
Release Notes
- This version reverts the Memcpy/Memset/Memclear function changes made in v1.03.09. The problem is that the 1.03.09 functions were not compatible with uncached memory, and while they were documented as such, users felt that it shouldn't be this way.
Additions
- Added C (cached) versions of Memcpy, Memset, Memclear as MemcpyC, MemsetC, MemclearC. These implement fast versions of memory functions but which don't work with uncached memory, such as XBox 360 PAGE_NOCACHE or PAGE_WRITECOMBINE memory.
Bug Fixes
- Fixed a memory corruption bug in on PS3 with the tiny EAStdC Mutex class that EAGlobal uses.
- Fixed a bug in int128_t for the case of shifting by 0 or 32 whereby you could get the wrong result.
- Fixed #include problem for the timeval struct in DateTime.cpp which could result in a compile error if the user defines WIN32_LEAN_AND_MEAN globally.
Changes
- Converted a couple uses of EASTDC_NEW to new from the previous custom version of new being used. These are cases that should rarely, if ever, be called in practice. This change is due to the VC++ linker looking for EASTDC_NEW even when it wasn't used and thus causing link errors for users who should need to supply this function. An upcoming version of EAStdC is set to use ICoreAllocator for this instead. Added EASTDC_USE_STANDARD_NEW build property to control this.
Version 1.03.09 (January 19, 2009)
Additions
- The scanf family of functions is now ready for use. This includes the following functions in 8 and 16 bit versions:
int Cscanf(ReadFunction pReadFunction, void* pContext, const char_t* pFormat, ...);
int Fscanf(FILE* pFile, const char_t* pFormat, ...);
int Scanf(const char_t* pFormat, ...);
int Sscanf(const char_t* pTextBuffer, const char_t* pFormat, ...);
int Vcscanf(ReadFunction pReadFunction, void* pContext, const char_t* pFormat, va_list arguments);
int Vfscanf(FILE* pFile, const char_t* pFormat, va_list arguments);
int Vscanf(const char_t* pFormat, va_list arguments);
int Vsscanf(const char_t* pTextBuffer, const char_t* pFormat, va_list arguments);
These functions implement C99-standard scanf in a portable, efficient and consistent way across platforms. Performance should be both better than the built-in scanf and better-conforming than the compiler-supplied versions. Additionally, extensions such as %b (binary) and %I32/%I64 (int32_t/int64_t) are provided as well. Currently decimal points are hard-coded to '.', whereas decimal points are ',' for some locales. If you need locale-specific support, please notify the maintainers and this can be done.
- Added Strftime and Strptime, which are time string printing and scaning functions, respectively. These are similar to Posix strftime and strptime.
Bug Fixes
- Fixed bug in FtoaEnglish whereby an input of 0.0 with exponent == true resulted in a bad output. Submitted by Alex Bilyk.
- Fixed bug in DateTime whereby setting the year (with kParameterYear) would cause it to set it to year-1 in some cases. Reported by Bill Schnurr.
Changes
- Memcpy, Sprintf family function signatures changed to include EA_RESTRICT for theoretically improved performance.
Version 1.03.08 (December 2, 2008)
Additions
- Added Memcheck, Memset8_128, Memcpy128, Memclear.
- Moved EAStopwatch from UTFFoundation to here.
- Added Osprintf, etc. which implements ordered sprintf. This is whereby the format arguments specify their argument order and thus the format string can be rearranged. This is useful for localization of format strings.
Bug Fixes
- Fixed bug in Memset16 and Memset32 whereby it could mis-fill if the destination was not aligned.
- Worked around Wii standard C library time bug in EADateTime.
Changes
- Implemented faster versions of Memcpy functions for some platforms. Note that some platform memcpy implementations are nearly optimal as-is and don't benefit from custom implementations; at least not for general memory copying.
Version 1.03.07 (October 28, 2008)
Additions
- Added Vscprintf, which mimics Microsoft's _vscprintf .
- Added GetTimeOfDay, which is a portable version of the well-known Posix/Unix gettimeofday function.
Bug Fixes
- Corrected a problem in StringWriter8 which resulted in an overflow if it encountered a UTF8 cluster than extended beyond the end of the destination buffer. Submitted by Jon Parise.
- Fixed Strtok documentation error which could lead the user to writing an infinite loop if the user believed the documentation sample code instead of the documentation function specification. Reported by Daniel Brown.
- Fixed Sscanf and Vsscanf, which didn't work for many cases. Sscanf and Vsscanf now call the C standard library built-in vsscanf. This is an intermediate fix while the final custom implementation of these functions is implemented. This version will be a little slower and have some portability differences between compilers, but will work OK for most cases.
- Fixed crash bug in RandomMersenneTwister. Reported by Andrea Schiel.
Changes
- Fscanf and Scanf now are implemented, though they work by calling the std C implementation and not yet by calling our custom implementation.
- Added kInt32MinCapacity, etc. identifiers to EAString.h for use with the itoa family of functions. Suggested by Luc Isaak.
- Revised the GetSeed/SetSeed code so that using SetSeed on the results of GetSeed results in the same state as before GetSeed. Previously that was not guaranteed behavour, though most users would likely want it to be so.
Version 1.03.06 (August 18, 2008)
Additions
- Added VS2008 compatibility, which amounted to quelling a new compiler warning or two.
Bug Fixes
- Changed char16_t usage to char8_t usage in EAGlobal.cpp to be compatible with non-nant builds.
- Fixed pc64-vc-dll-dev-opt warning C2143 (syntax error : missing ';' before ''template...).
Changes
Version 1.03.05 (May 13, 2008)
Additions
- Added StrlenUTF8Decoded, which returns the character length of a UTF8 string, and StrlenUTF8Encoded, which returns the Strlen of a UTF8-encoded equivalent of a UTF16 string.
Bug Fixes
- Deprecated Memcpy(char16_t*) and Memmove(char16_t*). These functions were never intended to exist and can only cause silent problems.
- Fixed potential negative bounds read in EACType.h. Reported by Frank Barchard.
- Fixed decimal calculation bug in the the Fcvt and Ecvt functions for a particular numerical case. This also affects the Printf family of functions for %f, %e, %g. In particular, the bug resulted in Printf("%.1f", 0.952) printing "0.1" instead of "1.0".
Changes
Version 1.03.04 (April 3, 2008)
Additions
Bug Fixes
- Changed strcmp family of functions for char8_t to compare based on unsigned char values instead of signed char values. This is in line with the C89 and C99 standards.
Changes
Version 1.03.03 (March 20, 2008)
Additions
- Added PS2 compatibility. Provided by Philip Dunstan.
- Added EASTDC_VERSION / EASTDC_VERSION_N to the definition set. This allows for determining the version at compile time.
Bug Fixes
- Fixed bug in UTF8 to UTF16 Strlcpy whereby a bogus failure detection was occurring if the last char in the string was a 2+ byte UTF8 sequence. This bug was also present in the EAIO package and is fixed in EAIO 2.07.02.
- Fixed bug in Ftoa(double dValue, char8_t* pResult, int nInputLength, int nPrecision, bool bExponentEnabled) for certain kinds of numbers with fractions.
- Fixed bug in Strtod(const char16_t*pString, char16_t** ppStringEnd) whereby ppStringEnd wasn't assigned.
Changes
- Revised AlignUp and AlignDown for pointers such that they align based on byte alignments instead of object alignments. This is closer to what people want and is aligned with rwstdc.
- Added printf("\32") to end of unit test under PS3 and PS2. This indicates to the SN tools that the app is done.
- Changed a couple EADateTime functions to return uint32_t instead of uint8_t and uint16_t. The latter was tripping SNC code generation bugs and is less efficient anyway.
- Deprecated the following functions, as they are redundant with existing functions: AlignAddressUp, AlignObjectUp, AlignAddressDown, AlignObjectDown, IsAddressAligned, IsObjectAligned.
Version 1.03.02 (January 7, 2008)
Additions
Bug Fixes
- Fixed VS2003 DLL export bug in int128_t.cpp. Submitted by Scott Penso.
Changes
Version 1.03.01 (December 17, 2007)
Additions
- Added uint64_t version of GetHighestBitPowerOf2. Provided by Chris Hecker.
- Added support for the SN PS3 compiler.
Bug Fixes
Changes
Version 1.03.00 (November 5, 2007)
Additions
- HashCRC now supports reversed bit CRC via CRC32Reverse. Note that reverse
CRC does not refer to reversing the algorithm; it refers to reversed bit
order. It turns out that a number of existing standardized protocols use
reverse CRC instead of normal CRC. Proposed by Andrew Willmott.
- Alphanumeric string compare implemented: StrcmpAlnum / StricmpAlnum. Proposed by Frank Barchard.
Bug Fixes
Changes
Version 1.02.00 (September 10, 2007)
Additions
- Added FNV1 Calculator.html to the examples directory. It is a javascript page which calculates FNV1 string hashes. Created by Henry Goffin.
- Added clarifying documentation to EARandom.h.
- Started work on an EAScanf implementation. The intention is to have a full scanf implementation in EAScanf.cpp, whereas the current scanf implementation within EASprintf.cpp has weaknesses and limitations.
- Added a bunch of HTML documentation files to the /doc directory.
Bug Fixes
- Fixed potential symbol collision with the UTFFoundation package int128_t class. Note that the EAStdC int128_t comes directly from UTFFoundation and is the new home for that code.
- Fixed bug in Cprintf family of functions. These are the printf functions whereby the user specifies a write function callback instead of a FILE (fprintf) or char buffer (sprintf).
- Fixed unit test bug related to EADateTime.
Changes
- All the public functionality of EAStdC is now exported in the DLL build.
- The scanf function declarations have been moved from EASprintf.h to EAScanf.h. EASprintf.h now #includes EAScanf.h for backwards compatibility. The intention here is to have a full scanf implementation in EAScanf.cpp, whereas the current scanf implementation within EASprintf.cpp has weaknesses and limitations.
- Revised GetTimeZoneBias under Microsoft OSs to provide more reliable information based on the system's settings.
Version 1.01.00 (July 20, 2007)
Additions
- Added EAGlobal, which implements a global variable wrapper. In particular, this wrapper allows for cross-dll global variables that would otherwise be impossible with conventional built-in objects or pointers. EAGlobal has the same functionality as the previous UTFFoundation/EAGlobal and EAOSGlobal files and classes as well as some private functionality found in other EA packages that have needed this kind of functionality.
Bug Fixes
- Fixed bug in char16_t version of FtoaEnglish.
Changes
Version 1.00.00 (June 29, 2007)
This is the first version of EAStdC as a standalone package, but most of it derives from UTFFoundation 2.11.00 and rwstdc 1.03.00.
End of document


Shah Rukh Khan’s latest airport look is all things cool and classy
by Vedanshi PathakShah Rukh Khan was last seen in Aanand L Rai’s Zero. After that, the actor took a long break from the movies. Now, it looks like the superstar is gearing back into action. Reports suggest that the actor will play a special part in Brahmastra and earlier today was snapped at the airport soon after Ranbir Kapoor and Alia Bhatt were clicked leaving for Chandigarh.
Now is this a mere coincidence or has the megastar left to shoot for Brahmastra is something only time will tell, but we can’t wait to watch him on the big screen again. King Khan looked fabulous as he stepped out of his swanky ride and headed into the airport wearing a pair of jeans, a spotless white T-shirt and a cool checkered hoodie. Check out the pictures below.


"detection": "https://github.com/catalyst-team/detection/"
}
CATALYST_ROOT = Path(__file__).resolve().parents[3]
PATH_TO_TEMPLATE = CATALYST_ROOT / "examples" / "_empty"
def load_pipeline(
url: str,
return args
if __name__ == "__main__":
args = parse_args()
main(args, None)


Some pictures in a grid. On the first row three different pictures. On te second the same pictures repeated
This website is based on the repository from the lecturer, giving us a jumpstart into the creation of a website using a template from (in this case) mater ialize


bookmark
?
search for a text
search below
×
Help
add texts to the area below by typing something and then clicking "search for a text" button
click or tab into the lower part
use
shift+right/left
arrow to move between texts
when focused on a particular text (it will be yellow at the top) use
right
/
left
keys to move between pages
or click on a tiny page thumbnail in the mosaic
up
key will close a text
shift+delete
will remove text from the bottom part
if you are logged in you can drag from a point in a page to a point in another page and it
should
create a reference link.
"bookmark" will give a url that you can use later or share


Library: Foundation
Package: Logging
Header: Poco/RotateStrategy.h
Description
The RotateStrategy is used by LogFile to determine when a file must be rotated.
Inheritance
Known Derived Classes: RotateAtTimeStrategy, RotateByIntervalStrategy, RotateBySizeStrategy
Member Summary
Member Functions: mustRotate
Constructors
RotateStrategy
Destructor
~RotateStrategy
virtual ~RotateStrategy();
Member Functions
mustRotate
virtual bool mustRotate(
LogFile * pFile
) = 0;
Returns true if the given log file must be rotated, false otherwise.


Patch Adams (1998)
Director: Tom Shadyac Cast: Robin Williams, Monica Potters, Philip Seymour Hoffman, Bob Gunton, Daniel London, Peter Coyote Screenplay: Steve Oedekerk Producers: Mike Farrell, Barry Kemp, Marvin Minoff, Charles Newirth Runtime: 115 min. US Distribution: Universal Rated PG-13: strong language, crude humor
Copyright 1998 Nathaniel R. Atcheson
There is a scene in Patch Adams in which Patch is in the center of a courtroom, surrounded by people who are giving him a lively standing ovation because of his strong-worded attack on a group of stoic doctors. When I noticed that the audience with whom I saw this film was reacting the same way, I realized that I was going to have a hard time finding someone who agrees with me about the quality of the picture.
You see, Patch Adams revolted me beyond all boundaries.  I hate every element of the film, beginning with Tom Shadyac's shameless direction, and all the way up to the misguided and mishandled themes that the screenplay wants so desperately to convey. The badness of Patch Adams is stupefying. It's confounding. I can't believe a film can be this bad.
And yet, it's based on a real man who probably has a good point to make. In the film, Patch is played by the undefeatable and indefatigable Robin Williams, in a performance of such insulting pathos and sledgehammer sympathy that I wonder now if he is even human. In the beginning of the film, Patch commits himself to a mental institution because he doesn't want to kill himself. While there, he notices that the doctors don't care about the patients, and that the best way to get through to the patients is to treat them like human beings.
So, Patch goes on a crusade to be a great doctor who actually talks to his patients. He goes to medical school, where he meets Truman (Daniel London) and convinces him that it's good to help people. He also meets Carin Fischer (Monica Potters), the anti-male med student who just wants to go through the motions and be a successful doctor. Naturally, the dean of the medical school (Bob Gunton) hates Patch, and wants to thwart his plans, even though Patch gets the highest scores on all of his exams. So Patch decides that he's going to build a free clinic in the middle of nowhere to help people with any problem they may have.
And that, my friends, is the synopsis for what is easily the most abhorrent picture of 1998. On a superficial level, the film is not particularly bad: I wouldn't say the cinematography bothered me, and most of the performances seem to be exactly what Shadyac was aiming for (I actually liked Potter's performance, even if she is wasted). But the film fails fundamentally in execution. Every scene swells with grand, "emotional" music, played at maximum volume just to get us all to cry real hard. Take, for instance, the first scene, which shows Patch sitting on a bus. We don't know Patch yet, but there's sad music, and it's supposed to make us really sad that he's sad. Later on, Patch makes a lot of progress: he helps a dying patient (Peter Coyote) to enjoy the last days of his life, and the music as Patch is pushing the patient recklessly through the halls of the hospital is very lively. And when that patient finally dies (spoiler alert!), the music is very very sad.
But the problem with all of this is that the music should not be the center of the emotions. Real drama is character-based. You grow to like someone, and then something bad happens, and you feel it. We don't ever grow to know the dying patient; he's simply a vehicle for Patch's greatness. Real drama doesn't seem forced, or present just to make the audience cry. That's why Patch Adams is not real drama. It goes for every cheap tear imaginable, wringing tired and overbearing sentimentality out of every scene. Even scenes that have very little impact on the overall film are drowning in Marc Shaiman's sickening musical score.
Sentimentality like this is indeed bad. But it's not as bad as half-baked, simplistic themes. You see, Patch is a really great student. He aces his tests without studying, and does it so effectively that people think he's cheating. But Patch doesn't think that memorizing facts is the way to become a good doctor. "Why don't we see patients until the third year?" he bursts out every three seconds. Well, Patch, that might have something to do with the fact that you need to LEARN SOMETHING before you go treating patients. Not everyone has the capability of memorizing facts with no effort. Most of us have to study. And a doctor who really wants to help, but doesn't know a toe from a finger, probably won't be too successful in preventing death.
Oh wait, I almost forgot: the point of doctors is not just to "prevent death," but to "improve the quality of life!" Yes! That is true! And you can not do that without studying. You can not do that without going to medical school. What Patch never seemed to understand was the possibility that maybe, just maybe, it is a good idea to study first and talk to patients later. Follow the rules? Bah! Who needs the rules! Only uptight doctors follow the rules. The real saviors are the ones running around the hospitals with big red spheres on their faces and sporting baggy yellow pants.
And then there's the free clinic issue, which I find shockingly, frighteningly idealistic. A free clinic. In the middle of the forest. Where patients can be taken to be helped. For free. How will patients be transported to the free clinic? Will it have an emergency room? Or is it just for mental patients? And who, may I ask, will pay for it? The film does give some token attempts to question Patch's motives (I think another character asks him how he's going to pay for it, in addition to a little bit of meaningless blather about HMOs and medical insurance), but they certainly don't explore or challenge Patch's ideas to any meaningful extent.
Reader, please understand this: I am not making any kind of judgment on the real Patch Adams. I know nothing about him. If his beliefs mirror those of this film character, then I might like to have an intelligent discussion with him about them. But regardless of what the real Patch Adams believes, the themes put forth in this film are simplistic and phony. And in the last scene, the big, obligatory courtroom scene that forced my lunch halfway up my esophagus, Patch does a lot of shouting. Actually, Robin Williams does a lot of shouting. He shouts a lot about helping people, and a lot of people cry because they are moved by his words. I won't tell you that you can't be moved by his words, because I, too, was moved by his words. I was moved in such a profoundly negative way that I was reminded of how cheap and phony a cinematic experience can be. Patch Adams is the cheapest of them all.
Psychosis Rating: 0/10
Visit FILM PSYCHOSIS at http://www.pyramid.net/natesmovies
Nathaniel R. Atcheson
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


The Linux Foundation® (TLF) has registered trademarks and uses trademarks. For a list of TLF trademarks, see Trademark Usage. Icons by Made x Made from the Noun Project.


This simulates a 2D transverse wave in a closed box. It does this by modelling each point in the grid as a mass, attached to the grid by a spring. Each mass is also connected to each neighbouring mass by another spring. The simulation uses RK4 for integration - however, after a certain amount of time, the system still devolves into a chaotic standing wave, suggesting I need to do more work to make the simulation stable.
Mode: Resolution:Made by Quackmatic on GitHub


Julia has over 2000 registered packages, making packages a huge part of the Julia ecosystem.
Even so, the package ecosystem still has some growing to do. Notably, we have first class function calls to other languages, providing excellent foreign function interfaces. We can easily call into python or R, for example, with PyCall
or Rcall
.
This means that you don't have to wait until the Julia ecosystem is fully mature, and that moving to Julia doesn't mean you have to give up your favorite package/library from another language!
To see all available packages, check out
https://pkg.julialang.org/ or https://juliaobserver.com/
For now, let's learn how to use a package.
The first time you use a package on a given Julia installation, you need to use the package manager to explicitly add it:
using Pkg
Pkg.add("Example")
Every time you use Julia (start a new session at the REPL, or open a notebook for the first time, for example), you load the package with the using
keyword
using Example
In the source code of Example.jl
at
https://github.com/JuliaLang/Example.jl/blob/master/src/Example.jl
we see the following function declared
hello(who::String) = "Hello, $who"
Having loaded Example
, we should now be able to call hello
hello("it's me. I was wondering if after all these years you'd like to meet.")
Now let's play with the Colors package
Pkg.add("Colors")
using Colors
Let's create a palette of 100 different colors
palette = distinguishable_colors(100)
and then we can create a randomly checkered matrix using the rand
command
rand(3, 3)
rand(1:10, 3, 3)
rand(palette, 3, 3)


First step is to sign in, enter your current stats and goals. After that we will deliver a custom macros plan made for you. Lastly you follow our plan and start getting results.
Yes you can, we will provide you with your custom macros plan depending on your goal. After that, it's up to you to stick with the plan and start getting the results you always wanted!
When you sign up, you will have to enter your current stats, and tell us what your goal is.
Calories Consumed (Food) - Calories Burned (Exercise) = Net Calories.
Depending on your goal, Net Calories could be a positive number, leaving you in a calories surplus to increase weight and muscle mass or a calories deficit which would demand your body to loose weight
Click HERE to sign up and get started.


Writes the configuration variables to the configuration Ini file at the Configuration_File_Location
Write_ini_file(Configuration_File_Location)
This should contain the full file path of the Root script working folder
Configuration_File_Location = C:\SerialMacro\Config.ini Write_ini_file(Configuration_File_Location)
There is no returned variable. The Funciton is Global, which makes all the variables it stores global variables, which makes the config file contents accessble to all functions
Uses the AutoHotkey built in function of IniWrite
to read the config file.
The highlighted (green) % in the below code is there so written value to the config.ini
file ithe actual value of the variable and not the name of the variable from the `ini_store_Array'
IniWrite ,% %INI_Write1%, %Configuration_File_Location%, %INI_Write2%, %INI_Write1%
For more information on the IniRead
function click on the link (Internet Connection Required) below:
IniWrite


Your subscription has been cancelled
Sorry to see you go. If you have any feedback for the society about things we could do better then we'd really love to hear from you.
Thanks for all your support and we hope to see you again soon
Subscription cancellation for {{ user.name }}
If you would like to stop supporting the JavaScript Society of New Zealand then simply click the cancel button below.


Security Logging
This demo application demonstrates the usage of the OWASP Security Logging library.
Login
Use any data to log in and have a look at the console for security relevant logging messages afterwards.
This demo application demonstrates the usage of the OWASP Security Logging library.
Use any data to log in and have a look at the console for security relevant logging messages afterwards.


ErrandBoy
About
Submit a Job!
Find a Job!
Job Postings
Home
Job Postings
Mowing the lawn
View Project
Painting
View Project
Raking leaves
View Project
Building a shed
View Project
Vacuuming
View Project
Babysitting
View Project
Dog Walking
View Project
Dusting
View Project


The demo python introduces several python courses.
Python is a wonderful general-purpose programming language. You can learn Python from novice to professional by tracking the following courses: Basic Python and Advanced Python.


data_handeling package¶
Submodules¶
data_handeling.generators module¶
:w
@author: Keith Butler
data_handeling.tools module¶
:w Created on Tue Apr 9 10:19:59 2019
@author: Keith Butler
-
data_handeling.tools.
build_list_images
(datapath, types=None)[source]¶ Builds a list of all image files in a given directory
- Parameters
datapath – the location to search
types – a tuple of the extensions to search, if unspecified a list of defaults is checked
- Returns
a list of the datapaths to the images
- Return type
paths
-
data_handeling.tools.
normalise_discritise_data
(img, mask, flag_multi_class=False, num_class=2, debug=False)[source]¶ Processes the image data to make it ready for the NN. Converts mask into a range of integer values. Normalises the image values.
- Parameters
img – The image as an array
mask – The mask as an array
flag_multi_class – boolean, is this a multiclass or binary classification
num_class – integer, the number of classes
- Returns
The image normalised mask: The mask converted to intergers by class
- Return type
img
-
data_handeling.tools.
undersample_dataframe
(df, label='label')[source]¶ Balances a class imbalanced dataframe by undersampling. Takes the size of the smallest class and cuts all classes to that size, randomly selecting members to fit the proportion.
- Parameters
df – The input dataframe (Pandas dataframe object)
label – The label of the column to sort by (string, default label)
- Returns
The class balanced dataframe (Pandas dataframe object)
- Return type
df_bal


@Target(value={METHOD,ANNOTATION_TYPE}) @Retention(value=RUNTIME) @Documented public @interface Scheduled
Define a Quartz Trigger
. Using one of three expressions:
5s;delay=60s;repeat=*
, delay
and repeat
are optional 0/3 * * * * ?
.conf
file which has one of two previous formatsRun every 5 minutes, start immediately and repeat for ever:
@Scheduled("5m") @Scheduled("5m; delay=0") @Scheduled("5m; delay=0; repeat=*")Previous, expressions are identical.
Run every 1 hour with an initial delay of 15 minutes for 10 times
@Scheduled("1h; delay=15m; repeat=10")
Fire at 12pm (noon) every day
0 0 12 * * ?
Fire at 10:15am every day
0 15 10 ? * *
| Modifier and Type | Required Element and Description |
|---|---|
String |
value
Expression can be one of these three options: Interval: 10s, 10secs, 10minutes, 1h, etc... Cron expression: 0/3 * * * * ? Reference to a property, where the property value is one of the two previous options
|
public abstract String value
Config.getDuration(String, java.util.concurrent.TimeUnit)
Copyright © 2019. All rights reserved.


Loading and saving
- The first thing you will need to learn is how to load the example file. To do this, open up the file menu, as shown, and click on "Load":
- A file dialog will pop up and you will can select the file "demo1.lem". Demo one will work with standard general MIDI. If you have reason 2.5 installed, you can use the reasonDemo.rns file that comes with this distribution and load the reasonDemo.lem file into lemu2. Its way better than the GM demo of course.
- After you have made changes you can click save and save it in a similar way. It doesn't matter if you don't put '.lem' when you are saving, it will do it automatically.
- Note: loading and saving deals with patterns and morphers but MIDI IO must be saved separately at the moment.


DEERE & COMPANY OFFERS SOME EMPLOYEES EARLY RETIREMENT
DES MOINES, Iowa — On the heels of layoff announcements, Deere & Co. is offering employees in certain segments of its operation early retirement packages. On Friday, a company spokesperson confirmed to Agriculture.com that Deere has announced a voluntary separation program offered to certain segments of the U.S. active salaried employees. “Deere is deploying this voluntary separation program to create a leaner, more focused organization that is agile and has the skills and competencies needed for the future,” says Ken Golden, director, strategic public relations at Deere & Company. While most employees working in precision technologies and other new product programs are not eligible, for those who are eligible, the program is offered to employees of all tenures of service, Golden stated. “We will not comment on how many employees were offered the voluntary separation or whether there is a goal of how many employees will participate in the program,” Golden stated. Part of the strategy to reduce costs involves an overall assessment of the company’s productivity of some of its overseas operations. The end goal intention is to serve specific markets more efficiently in the future, Deere says. Recently, the Moline, Illinois-based agricultural equipment company announced layoffs at several facilities.


Top
Developed by Guyu Li
University of Waterloo
CS Course Search
Course Number:
Course Career:
Search


HipChat Server:
Name:
Description:
Avatar URL:
Avatar 2x URL:
From Name:
Key:
OAuth Scopes:
admin_group - Perform group administrative tasks"
admin_room - Perform room administrative tasks"
manage_rooms - Create, update, and remove rooms
send_message - Send private one-on-one messages
send_notifiation - Send room notifications
view_group - View users, rooms, and other group information
view_messages - View messages from chat rooms and private chats you have access to
view_room - View room information and participants, but not history
Allow room:
Allow global:
Vendor Name:
Vendor URL:
{{if .InstallURL}}
Install it!
{{end}}
{{.Json}}
{{.Data}}


[
home
]
Week in Review
Starting
week(s) ago
Master commit index:
TODO: Query master_ordered_commits_with_metadata
Required jobs that did not run
Detected breakage spans
Reversions
See
project README
for details.


{% extends "cloudedbats_base.html" %} {% load static %} {% block title %} CloudedBats - Documentation {% endblock title %} {% block content-left-area %} {% endblock content-left-area %} {% block content-alerts %} {% endblock content-alerts %} {% block content %}
Note: CloudedBats is under development. More: Introduction.
Not available yet.
Purpose: To view near real time bat activity from connected recording units.
Not available yet.
Purpose: Upload, download and visualisation of wave files. Mainly for manual species identification and collaboration with others.
Scientific names and species lists are important for biological monitoring. IUCN maintains a global red list of threatened species, and for some species groups the list is comprehensively assessed. Mammals are in such a group and it can therefore be used for most of the bats. As always, there are different opinions about scientific names and species classification, but this list may work as a first try as a taxonomic backbone for CloudedBats.
Filters: It is possible to apply filters to the shown list of species. Filters are available for countries, families, genus and red list categories.
Species table: The species table is sorted on scientific names. The rows in the family, genus and scientific name columns are linked by name to Wikipedia. The 'IUCN Red List' field are linked by id to IUCN, and the rows in the EOL column are linked by name to Encyclopedia of Life.
Download: The species table can be downloaded as a tab separated text file. This type of files can be opened in a spread sheet program like Microsoft Excel or LibreOffice Calc.
Not available yet.
Purpose: To maintain configuration and settings files for connected and stand alone recording units.
Not available yet.
Purpose: To add information (metadata) about recording events.
Not available yet.
Purpose: To register identified species at recording events. (Info should be possible to map to occurrence records in DarwinCore.)
Not available yet.
Purpose: To maintain surveys, and information about the surveys.
Not available yet.
Purpose: To publish surveys in the DarwinCore-Archive format.
Not available yet.
Purpose: For download, or automatic harvesting via a REST API, of published surveys.
Final note: When reaching this point, your data can be shared globally. To learn more, search for keywords like DarwinCore, DarwinCore-Archive (DwC-A), IPT, GBIF, TDWG or Altas of Living Australia (ALA). GBIF and ALA are also free and open software. Clones of ALA are set up by natural history museums in other countries. Many of the national museums already have their own IPT servers to share data in the DwC-A format.
To be used during development. Will be removed later.
{% endblock content %} {% block content-right-area %} {% endblock content-right-area %}


Trajectory Clustering Methodology
We clustered tourist trajectories by analysing the sequences of municipalities visited by individuals. This analysis finds the most frequent paths taken by tourists. For tourists of a set of different nationalities who visited Tuscany in different seasons, we cluster the trips they had taken in Italy based on the individual spatial trajectories, or sequences, categorised by the set of municipalities they visited (e.g., Florence -> Pisa -> Livorno).
We used a Longest Common Subsequence based metric to compute the distance between trajectories, from which we compute a dissimilarity matrix between individuals. This is then clustered using the k-medoids algorithm to identify different clusters and a representative trajectories for each. This methodology takes into account the order (i.e., where did tourists come from and where do they go next), the timing (i.e., when does a tourist visit a municipality), and the duration of visit at each municipality for a given itinerary.


| Package | Description |
|---|---|
| engine.components |
Provides various components that are useful in virtually any application.
|
| engine.core |
Classes defining the core functionality of the game engine.
|
| engine.core.entity |
Classes for defining the objects in the game and their functionality.
|
| Constructor and Description |
|---|
AudioComponent(Entity entity,
java.lang.String[] soundNames,
Sound[] soundsIn)
Creates a new AudioComponent
|
ColliderComponent(Entity entity)
Creates a new ColliderComponent
|
CollisionComponent(Entity entity)
Creates a new CollisionComponent
|
FadeRemove(Entity entity,
double duration,
int animationFrame,
double solidityDuration)
Creates a new FadeRemove
|
LightComponent(Entity entity,
LightMap light,
double width,
double height,
double offsetX,
double offsetY)
Creates a new LightComponent
|
LinkComponent(Entity entity,
Entity toLink)
Creates a new LinkComponent.
|
RemoveComponent(Entity entity)
Creates a new RemoveComponent
|
SpriteComponent(Entity entity,
double width,
double height,
SpriteSheet[] sheets,
int[] indices,
double[] frameTimes,
int[] nextFrames,
Color color)
Creates a new SpriteComponent
|
SpriteComponent(Entity entity,
double width,
double height,
SpriteSheet[] sheets,
int[] indices,
double frameTime,
Color color)
Creates a new SpriteComponent
|
SpriteComponent(Entity entity,
double width,
double height,
SpriteSheet sheet,
double frameTime,
Color color)
Creates a new SpriteComponent
|
SpriteComponent(Entity entity,
double width,
double height,
SpriteSheet sheet,
int[] indices,
double frameTime,
Color color)
Creates a new SpriteComponent
|
SpriteComponent(Entity entity,
double width,
double height,
SpriteSheet sheet,
int spriteIndex,
Color color)
Creates a new SpriteComponent
|
| Constructor and Description |
|---|
Scene(ISpatialStructure<Entity> structure)
Creates a new Scene.
|
| Modifier and Type | Method and Description |
|---|---|
Entity |
EntityComponent.getEntity()
Gets the entity this is attached to.
|
| Modifier and Type | Method and Description |
|---|---|
int |
Entity.compareTo(Entity o) |
void |
IEntityVisitor.visit(Entity entity,
EntityComponent component)
A function that will be called every time an entity is visited.
|
| Constructor and Description |
|---|
EntityComponent(Entity entity,
int id)
Creates a component attached to a specific entity.
|
| Constructor and Description |
|---|
Entity(ISpatialStructure<Entity> structure,
double posX,
double posY,
double posZ)
Creates a new Entity with minimum necessary construction.
|


Post edited 1 x times, last by
T3RRORTOAST
Community Manager
Topicstarter
T3RRORTOAST
Community Manager
http://fixthenetcode.com/
*rofl* *rofl* *rofl*
xD
YES! I fixed the netcode, you can thank me later.
Netcode, what netcode? There's no netcode to fix.