Note: This FAQ is based on a Statalist discussion.
I have a certain version of Stata and have come across a community-contributed program that is apparently written for a later version of Stata. What are my options?
Suppose you have Stata 10.1. You may in fact have an earlier version, or indeed a later version, as you read this. You should be able to relate to examples here as long as you are clear that there are three possible situations: a Stata program may be written for the same version of Stata that you have, an earlier version, or a later version. It is the last situation that is the focus here.
You need to distinguish the four meanings of the word "version" in discussions of this and related problems. In programming jargon, the word is heavily overloaded.
The version of Stata you are using is always displayed, such as 12, 11.2, 11.1, 11, etc. If you are not using the most recent version of Stata, the version you are using imposes limits on what you can do with community-contributed programs.
Usually, that comment is placed at or near the top of the ado-file. In the example above, the comment appears at the top of estout, a popular ado-file, as downloaded from SSC on 25 January 2009. The programmer, Ben Jann, has his own version number for estout so that he can keep track of which version is which. User-programmers often mimic a style used by StataCorp and common throughout computing: the first number marks major rewrites, and any following numbers mark minor changes.
The version number also can help users of any program keep track of which version they are using and whether they need to update. For example, if you have previously installed estout, then typing which estout will tell you which version you have installed.
This number also helps in dealing with bug reports. If you experience a problem with a community-contributed program, then check that you have the most recent version. Often a bug that bites you bit someone else first, and the bug is fixed in a later version.
The above works whether xyzzy is a community-contributed command or an official Stata command.
Some programmers do not use the *! version number. You will find Stata's own commands and most of the heavily used community-contributed commands generally do use it, but this is mainly an issue of style.
However interesting or informative you find this, remember that the *! version number used personally by the programmer has no implications whatsoever for whether your version of Stata is modern enough to use the program.
this is version 10.1 of Stata; it cannot run version 10.2 programs.
this is version 8.2 of Stata; it cannot run version 9.0 programs.
A Viewer window will display the source code.
Look for the version statement—not to be confused with the *! comment. The version statement is usually found near the top of the program, after the program statement.
estout is declared to be version 8.2, meaning it requires Stata 8.2 or a more recent version to run.
Most programs include at least one version statement. The first—which is often the only one—is usually found at or near the top of the program definition.
Often programs call other programs, and sometimes those programs call yet other programs. When that happens, the highest version number is that which bites. Thus if foobar, which declares itself to require version 8.2, calls frogtoadandnewt, which declares itself to require version 9, then you need at least Stata version 9 to run foobar.
Some programmers write branching code within their programs that detects the version of Stata you have and calls other code accordingly. For example, if you have Stata 9 or above, then a clever program may call fast and efficient Mata routines to do some work; if you do not have Stata 9, then the program calls code that will do the same job, albeit more slowly. In this way, it is possible that a program containing some code that would not run on your version of Stata is usable by you, because the program itself is smart enough to work around that limitation.
Precisely what version does is too complicated to explain in full detail here. There is no substitute for careful reading of the documentation for version. But you are warned against a surprisingly common misconception: that the version command is a time machine. It emphatically is not a time machine. version cannot be used to make an old Stata behave like a newer Stata.
What version does is set the clock back to make a more modern Stata behave like an older version or, at least, behave like an older version where that older behavior is important.
Your copy of Stata 12 does not remove all the improvements and new features of Stata 12. What the version 8.2 statement does, in any case where there is a conflict between what was in Stata 8.2 and what is now in Stata 12, is to use the Stata 8.2 interpretation.
It is difficult (impossible, really) for you to be certain that what you have within Stata 12 will work exactly as it would in Stata 8.2 unless you test it by running a physical copy of Stata 8.2. You might be exploiting a new, nonconflicting feature introduced since Stata 8.2 without realizing it.
Some users tend to look at version 8.2 at the top of a program and say, "Oh, this will work with Stata 8.2". That statement is necessarily true if the program was written only on Stata 8.2. version is about forward compatibility, not backward. What is true, and all that is guaranteed to be true, is that a program written on Stata 8.2, with a version 8.2 statement at the top, will continue to work properly with future versions of Stata.
By the way, on occasion there can be good and subtle reasons for omitting a version statement. But, more commonly, a program (or a do-file for that matter) would benefit from a version statement.
If there is no version statement within a program, then that omitted statement can have no bite. But keep on reading.
Some programmers write the version of Stata they are using as the version needed by their programs. Their thinking is, "I know that this program runs fine on this version of Stata, because that is the version on which it is being developed and tested by me. I am not going to commit myself to any backward compatibility." In particular, StataCorp programmers think and act this way.
Other programmers write down an earlier version of Stata as the version needed by their program. Their thinking is, "I believe that this program does require at least that version of Stata, because it needs certain features introduced then." For example, a program may require the current Stata graphics introduced in Stata 8 or a particular version of the ml engine introduced in another version of Stata.
In either case, note that many Stata programmers either do not have older versions of Stata on their machines or lack the time and inclination to test whether their program would run successfully on an older version. So any version statement given explicitly within a program may not be the exact version of Stata that the program needs.
Also it is not wrong to declare a version statement either less than or more than what is really needed, so long as the version number is not greater than the version of Stata being written for.
You may want to look inside a program to see what version is declared. Even if the documentation includes information on the Stata version required, checking on the facts will do no harm. The documentation can be wrong, most commonly because the documentation itself is out of date. In any case, what the program requires is all that matters. Stata pays no attention to anything said in the help file or anywhere other than the program itself.
Now the question can be answered directly.
If you have Stata 9, and the foobar command appears to require Stata 9.2 and the bazz command appears to require Stata 10.1, what can you do?
If your Stata version differs by 1 or more from what is required, you can purchase an upgrade to the current version from StataCorp.
If your Stata version has the same initial integer as what is required, you can update your Stata for free over the web. For example, you can update from Stata 10 to Stata 10.1 or from Stata 11 to Stata 11.2; just type update. You cannot update for free from (say) Stata 11.2 to Stata 12. That requires an upgrade, as described just above.
An older version of a program may be found. For example, the Stata Journal and the Stata Technical Bulletin archives retain all previous versions of any programs published therein; some packages in the SSC archives include versions for older Stata programs; some users' websites allow you to download different versions of a program according to your version of Stata. Commonly, older versions are frozen as they were and are not updated, even when it is possible.
One common, but not universal, convention is that names like foobar7, foobar8, and foobar9 may signal versions of foobar for Stata 7, 8, or 9. The documentation will usually make this clear, but, if in doubt, you can look inside each program, as above. Another common convention is that foobar2 and foobar3 merely mark successive versions of foobar, but as Stata ages the chance of these two conventions clashing diminishes.
Similarly, there can be older alternatives. Using search (possibly with the historical option), using findit, or asking on Statalist can help here, perhaps by implying that no older alternative exists.
You can copy the program in question and try to change it so that it works under your version of Stata. This process will vary from being trivially easy to being essentially impossible, depending on how many newer features any program requires. The difficulty also depends on your knowledge of Stata.
At the easiest, it may simply be that the version statement specifies a version later than really needed. Thus, if you edit version 12 to version 11, then you may find that a program works under Stata 11.
You now take full responsibility for what you have done, while etiquette still requires that you give full credit and respect to previous authors. Most program authors take mild to strong exception to others changing their program and then asking why it no longer works.
You are advised to change the name of the program. For example, if your initials are XYZ, you might change foobar to foobar_xyz. Or if you adapt foobar to work on Stata 9, foobar9 is a possible name. Running findit with a possible program name will indicate any clashes of name with programs in the most accessible sources. If you do not change the name, you can confuse yourself and others you distribute the program to, even if you only use the program within a restricted group. You will find it difficult to keep track of which variation of the program you are running. And, if you keep the same name, you run the risk that your version will get overwritten, say, by an adoupdate. Finally, you should not put your version in the public domain where it can be confused with the original.
Even if an edited program appears to work satisfactorily, that is not a guarantee that your version produces identical results to the original.
The original program authors will commonly have little or no interest in rewriting a program to work on an older version of Stata for you.
But often a program would require more drastic surgery to the extent that your only real choices are to upgrade, update, or do without.
Stata 10 and later versions of Stata look first for help files with extension .sthlp and second for help files with extension .hlp. Conversely, Stata 9 and earlier versions know nothing about the .sthlp extension.
Thus if you managed to get a Stata 10 program working in Stata 9, then you would normally be best advised to rename any .sthlp files to have the .hlp extension.
The previous section implies that it is now good practice to edit the help files to indicate what has been changed and who is now responsible, namely, you.
David Elliott suggested, on Statalist, that an FAQ be written on this topic. He, William Gould, Ben Jann, and Richard Williams made very helpful comments on a draft.


Goolamp is a German manufacturer of Glitter GOOLAMP's, bottles and filling kits.
We supply large Glitter GOOLAMP's and offer replacement bottles and special bottles.
We also have the famous GlitterKit with which you can fill your bottles yourself.
Named trademarks, trade names, manufacturer names and product names are used only to identify and describe the products and are the property of their owners / owners. This is not an original product of the respective manufacturer, but a compatible product from Goolamp.


Nguyen Vinh Long stands his trial at the Hanoi People's Committee on October 24, 2018.
A man from Hanoi has been given capital punishment for shooting dead a hotel receptionist and injuring two other people in 2016.
The Hanoi People's Court announced its decision to sentence Nguyen Vinh Long, a.k.a. Long 'Ghost,' following a two-day trial on Wednesday.
Long, 39, was convicted of murder, illegal possession of weapons, and obstruction.
The jury considered the case as especially serious and the defendant's actions as dangerous to society.
According the case file, Long received a phone call from his subordinate, who said he needed help on Nguyen Thi Dinh Street in Cau Giay District on the morning of October 27, 2016.
Long and several other gang members, all armed with guns and machetes, quickly traveled to the scene to deal with the problem.
They spotted Vu Van Hai, 28, who was waiting for his girlfriend on the side of the road, and thought he was their enemy.
Long opened fire on Hai but the latter managed to run away on his motorbike.
The defendants stand trial at the Hanoi's People's Committee.
The gang chased the victims down to the nearby Nam Cuong 2 Hotel, when Long started shooting at the reception desk and killed Luong Van Luyen, the hotel employee.
Hai and another victim were also wounded in the attack.
Long was already a wanted suspect for a different crime at the time of the incident.
On the night of April 30, 2016, Long and his friends were drinking at a bar in Hoan Kiem District.
Early the next morning, when employees asked the group to leave the venue as the bar was closing, Long threatened the employee with his gun and began shooting at a flight of stairs inside the venue.
After exiting the bar, Long's group was approached by several officers patrolling the neighborhood.
Long pulled out his gun and shot twice at the ground near the officers before escaping.
During the trial, eight of Long's gang members were also convicted and handed sentences ranging from 18 months to life in prison.


The study of film is an academic discipline that focuses on theory, history and critical approaches to film through the ages. Film studies examines the implications of the cinema from an economic, narrative, artistic and political perspective. The study of film is less concerned with the production aspects of this media such as film streaming, and more with the way the field impacts society.
It was only in the 20th Century that the academic field of film studies emerged, when academics started viewing cinema as an art, and thus began the process of critical response to this art. In the 1950s, a new form of film making emerged, where the director was given more leeway and artistic freedom, and film studies were developed as a response to these new works of art in around the 1960s. From 1965, universities started offering film studies as individual courses in their media departments, and, later, as a full major. There wasn't one school in particular that created the field of film studies. Instead, it was a steady process that took place over several years, where academics and the film industry itself started documenting, analyzing and criticizing movies as they were produced. Over the years, philanthropists have made sizable donations to universities in a bid to encourage the theoretical aspect of film studies.
Film studies differs immensely from institution to institution. A film studies major is essentially a program in the visual arts which studies the history, theory, development and criticism of film, with many courses incorporating basic principles of film making and film production. Some programs are co-joined with the study of other medias such as video and television, while others are used as individual courses to delve deeper into other disciplines such as history, culture, European studies and more.
There are over 100 schools in the United States alone which offer film studies as a major, although they certainly don't limit studies to American films only. The examination of foreign films, such as those coming out of the Indian industry (which is the biggest film industry in the world), is a requirement for many courses.
Naturally, a degree in film studies will no doubt take graduates to careers centered around the film or media industry in one way or another. Opportunities include careers as a critic or in the directing and production of films. Graduates will usually come out of their courses with a knowledge of conceptual shifts in film and the direction of film in the future, which may be helpful in careers such as actor recruiting, film making and other media disciplines.
Not Enough Depth in "Tomorrow, When the War Began"
A critical review of John Marsden's film "Tomorrow, When the War Began".


OLYMPIA — The Artesian Commons Park is a popular destination because of its well water that some consider to be the best around.
It's an open park that brings in big crowds but it also attracts criminals. Police are flooded with concerns over vandalism, drugs and violence.
On February 25, a fight broke out between two groups and ended with two people being Maced. Police haven't made any arrests but are still investigating.
At one point, the city thought about closing the park down altogether. Police have already beefed up patrols and made several drug-related arrests.
The city is working on a plan to install a four-foot fence around the area. It would be closed at night but there will be 24-hour access to the popular well. Construction of the new fence could begin as soon as this spring.


This is a ticket in our internal development queue for consideration.
This is a brand new bug discovered this week, so no development effort has been expended yet. At this time we don't have a fix.
A potential workaround though would be to reset the site to use 3.5 (just save your 4.0 web.config and replace with the stock 3.5 version, updated for other changes you may have, and set the app pool to v2.0 Classic), then edit your promos, and switch the site back to 4.0 when ready.
<asp:GridView ID="gridPromotions" runat="server" DataSourceID="PromotionDataSource" EnablePersistedSelection="true"
Thanks for posting this solution - it resolved the issue I had perfectly.


Vancouver Building Partners - Davidson Walker Construction Ltd.
We wouldn't be here without our partners.
We have experience and relationships with the best architects and subcontractors in Vancouver.
Our partners provide essential skills and expertise so we can ensure that projects are completed on time and within budget. We wouldn't be here without them. If you are passionate about uncompromising workmanship, attention to detail, and personal service and would like to work together please do not hesitate to contact us.


The network and production company behind television's most powerful and groundbreaking social experiment are teaming up again to find a new crop of brave single MEN and WOMEN for the next season of FYI's hit series MARRIED AT FIRST SIGHT.
If you or someone you know has been searching for "The One" unsuccessfully then this show may very well be your answer as our panel of experts are committed to helping you find the right match!
If you're committed to finding your future spouse and want to understand yourself and your love life in a whole new way… If you would like to recommend a friend or loved one… Or if you would like more information about this project… APPLY NOW!


Do you want a private skiing lesson without paying for the privilege? Do you want to ski with people with the same abilities? Do you want to improve? Do you want to have a ski instructor who speaks English? Then Whistler Blackcomb's Max4 Lessons for adults are the answer!
By restricting classes to a maximum of 4 people, pupils reap the benefit of more attention and more skiing (there is less hanging around), resulting in accelerated confidence and technique. Likewise, the instructors benefit from the flexibility to travel around the mountains more easily and more importantly of being able to tailor their instruction to suit each learner.
Lessons for beginners and novices, (level 1-3), start in Whistler Village at 9.45am next to the Whistler Gondola. Lessons for intermediate and advanced skiers (level 4-6), also begin at 9.45am but up on top of the mountain, so make sure you allow time to get up to the meeting point – queuing time for the lift – which shouldn't take long as your lesson voucher entitles you to join the ski school priority line – and 20 minutes for the gondola ride. The meeting point is located close to the gondola exit. Wherever you start your day, you will be greeted by one of the many friendly ski school staff who quickly assess your level so that you are put you into the right group.
Once sorted, the day and the fun begins! Lessons start gently with an introductory chat and a couple warm up runs before progressing onto technique and focussing on the particular goals for the day. Thanks to the extensive range of runs for all levels throughout the resort and the small group sizes, instructors can vary the itinerary and what is taught to fulfil the needs and wishes of the group – so no two days will be the same.
Where you lunch will depend on where the group is but wherever you do stop, whether it is at the Roundhouse with its huge choice of international cuisines or at one of the smaller more intimate huts, the food will be fantastic value and very tasty.
Lessons finish at around 3pm and I guarantee you will return home, tired but also glowing from the achievements from your day's tuition. I cannot recommend highly enough the Max 4 Lessons for Adults. Having started to ski at the advance age of 51, full of fear, I am immensely proud to have progressed, painfully at times, in just 4 week's skiing, from a wobbly snow plough on the nursery slopes to skiing blue and black runs!


Jamie Foreman at the 2012 British Soap Awards in England.
Jamie Foreman and Guest at the 2012 British Soap Awards in England.
Jamie Foreman and his girlfriend Julie Dennis at the UK premiere of "The Football Factory."
Jamie Foreman at the photocall of "Oliver Twist."


Since having baby, my blogging days have been few and far behind. Eight months into Mommy hood there are seldom events that really motivate me to leave my baby at home. The Private Edition blogger's party, however, is one of such events. When I worked in cosmetics, YSL and Laura Mercier respectively, I met so many amazing ladies and gents that it is always so nice to run into a few familiar faces. Not to mention the other lovely blogging ladies of Nashville. For those of my readers that don't live in Nashville. Private Edition is a Nashville staple in the luxury cosmetics and cosmeceutical circle. Posted below are few of many amazing lines that Private Edition carries that are hard to find in our fair city. Manager, Hollie, is a go to for any skincare tips and tricks as well as a full staff of highly skilled artists. Private Edition is one stop that should most definitely be on your radar.


text:
ALL Xplained Story
Meet Charles
Medicine X Story
ALL Xperts
Kindly Sponsored By
Share on Twitter Share on Facebook Share on LinkedIn Share via Email
Your browser is out-of-date. In order to have the best experience when viewing this site, please upgrade your browser.
Dismiss this warning
ALL Xplained
Acute Lymphoblastic Leukemia Xplained
Group Subscribe My ALL
Through storytelling
Shareable Bookmarks
Want to save your favorite parts or jump back to different topics in the story? No problem – you can check out these bookmarks or save your own by using the "make note" option within the story.
What is ALL? Send What is ALL? bookmark Save What is ALL? bookmark
Symptoms Send Symptoms bookmark Save Symptoms bookmark
Treatment Send Treatment bookmark Save Treatment bookmark
Monitoring Send Monitoring bookmark Save Monitoring bookmark
Hi, I'm Charles. Back in 2015 I woke up one night with really terrible back pain. I couldn't stand, then I couldn't lay down or sit down - I just couldn't get comfortable. It happened a couple of times, and finally some scans and a blood test showed I had ALL. From there everything went lightening quick - straight upstairs for chemo. I've had lots of treatments and have learnt a lot. I hope my story can help you understand more. Check out the video to hear more from me.
Working as a medical doctor, I realized that far too many patients are confused about their diagnoses, their conditions, and their treatments. There's a disconnect between the language that doctors use and what everyday people understand. This can make you feel incredibly hopeless and anxious at an often very difficult time in your life.
We believe there is a better way. We believe all patients – regardless of age, gender, culture or condition – should have access to medical information they can understand! Everyone should feel informed and empowered in order to engage with their doctors and be involved in making medical decisions.
This is why Medicine X was created.
Dr. Kim Chilman-Blair
Founder, Medicine X
About ALL Xplained
The ALL Xplained story is based on a real person – Charles! It reflects his story, his experiences, and his advice to others. There have also been lots of people who contributed along the way with their stories and advice. Thanks to everyone who helped create ALL Xplained!
The Medicine X team are doctors, artists, and creative writers who all work to make sure of one thing — the information is easy to understand. No more medical jargon! Everything is correct and up-to-date!
Each of the stories we create is different, so there are experts in the field that have reviewed the story to ensure it is spot-on in terms of medical information. These experts are professionals in medical bodies and institutions.
Join our Facebook Group Subscribe to updates
We'd Love to Hear Your Thoughts About ALL Xplained
Share your thoughts here
Check out the star-studded line up of experts that have been involved with Acute Lymphoblastic Leukemia Xplained!
Photo of Dr Ryan Cassaday
Dr Ryan Cassaday
Photo of Dr Aaron Logan
Dr Aaron Logan
Photo of Dr Jae Park
Dr Jae Park
Photo of Dr Elias Jabbour
Dr Elias Jabbour
Photo of Kimarie Knowles
Kimarie Knowles
LLS.org
Meet the artist and story writer behind Acute Lymphoblastic Leukemia Xplained!
Josep Rico
Josep R. is a Spanish illustrator. Interested in the Franco-Belgian comics and modern illustration, he studied illustration at the art school of Alcoi. Since then he has worked on comic books and magazines. He began collaborating with Medicine X because he believes in the power of illustration and art. He feels Medicine X offers great programs that can help patients understand their medical conditions in the best (and most engaging) way.
Shawn deLoache
Shawn deLoache is a Los Angeles based writer for TV, Film, digital, and comics. He's written everything from gut-wrenching dramas to supernatural comedies, and yet he says "I've found nothing has the same impact as working with Medicine X. I've always thought of stories as a gift. Normally that gift is entertainment, but with Medicine X it's so much more. With Medicine X the stories we're telling, I'm telling, aren't just a gift of entertainment (though I hope they entertain), but of knowledge, of support, of helping people understand their illness and know that they're not alone. It's the kind of writing that makes me feel like I'm making a difference, and for that, I am very humbled, proud, and grateful to be a part of the Medicine X family."
Amgen focuses on areas of high unmet medical need and leverages its expertise to strive for solutions that improve health outcomes and dramatically improve people's lives. A biotechnology pioneer since 1980, Amgen has grown to be one of the world's leading independent biotechnology company, has reached millions of patients around the world and is developing a pipeline of medicines with breakaway potential.
For more information, visit www.amgen.com and follow them on www.twitter.com/amgen.
The information provided by Medicine X is of a general nature and is not meant to be exhaustive or apply to your specific medical needs. Information shouldn't substitute or overrule the advice, diagnosis, or treatment suggested by your doctor. Never disregard professional medical advice or delay in seeking it because of something you have read on Medicine X Websites, Apps, Email communications or in our Communities. If you think you may have a medical emergency, call your doctor or emergency services immediately!
If you are engaging with Medicine X please note that you're agreeing to our Terms and Conditions and our Privacy and Data Policy.
© Medicine X 2021. All rights reserved.
Save this story bookmark to the notes section in your profile
Bookmark saved
This bookmark has been saved to the notes section in your profile
Go to your profile
Send bookmark
Share this bookmark with a friend
Dr. Cassaday is an pretty well known in the ALL world. He's an Assistant Professor of Medicine at the University of Washington and Assistant Member of the Fred Hutchinson Cancer Research Center in Seattle. Since 2014, he's been mainly involved in treating adults with ALL. He is also involved in lots of national committees that are devoted to figuring out the absolute best care for people with leukemia
Aaron Logan is an Assistant Professor of Clinical Medicine at the University of California, who focuses on blood cancers and stem cell transplants. He is an expert in the field and was part of the group that developed minimal residual disease (MRD) testing - a new way to detect ALL much, much earlier than before. He's fighting to get everyone access to MRD testing so that the best treatment decisions can be made for every patient He knows so much about the topic that he actually teaches other healthcare providers about how to best manage leukemia.
Jae Park is a hematologist-oncologist that takes things personally and treats every patient as if they were a member of his own family! He has spent a lot of time in the lab and in clinics to bring new and innovative treatments to patients with leukemia. He said his ultimate goal is to develop new treatments, or possibly even cures for patients with leukemia and to provide compassionate and individualized care to address each patient's unique needs. To prove his point, he's the lead investigator on several clinical trials in patients with ALL and CLL to bring these potential new treatments to light.
Dr. Jabbour is an Associate Professor at the University of Texas M. D. Anderson Cancer - one of the big hitters among cancer research hospitals in the USA. He's heavily involved in research that hopes to help treat people with leukemia. In fact, he has been involved in clinical trials that have led to the approval of several drugs for ALL and other forms of leukemia, including chemotherapy and biologics, and has helped change the way we understand the biology of this type of cancer.
Dr. Jabbour has also authored or co-authored over 400 peer reviewed publications and is a reviewer for some pretty well-known science journals. Dr. Jabbour has received several prestigious awards, including awards from the American Society of Clinical Oncology (ASCO; 2005, 2006, 2007) and the American Society of Hematology (ASH; 2005, 2006, 2007).
Kimarie is a clinical social worker with specialized training in cancer survivorship, bereavement issues and group psychotherapy. To break that down, she's someone who has helped countless people understand and process how they're feeling when faced with the diagnosis of ALL during a really hard time. She's also helped people through their journey even after they've been cured. She has worked in oncology social work for over a decade and helps coordinate The Leukemia & Lymphoma Society (LLS) online chats.
By sending a message, I agree to the Medicine X terms and conditions and privacy policy.
By sharing my story with Medicine X, I agree to the Medicine X terms and conditions and privacy policy.
You're about to leave a Medicine X site and head off to another independent site. Before you head off, we just wanted to mention that we don't have any control of the content on their site, and their privacy and security policies might differ from those of Medicine X.
Continue Stay here
Story is best viewed in landscape mode
Make note Make note
An account is required
To make notes you must create a free account first
Receive news and updates from Acute Lymphoblastic Leukemia Xplained by email
By subscribing, I agree to the Medicine X terms and conditions and privacy policy.
By creating an account, I agree to the Medicine X terms and conditions and privacy policy.
Agree Cancel
Don't have one? Create one now
Charles' story
Learn about Acute Lymphoblastic Leukemia through his illustrated story
Make your own notes and share them with your doctor
Enter your email address below to reset it
Enter your new password below

redpajama_set_name: RedPajamaCommonCrawl


Google Pixel 3 XL is a brilliant overall smartphone. The kind of performance it offers makes you love the Android ecosystem. The camera performance of Pixel 3 XL is unparalleled making it the best smartphone for casual and even professional photographers. You also get a much improved OLED screen and better audio performance as compared to last year's Pixel phones. The design is more or less similar but the new Pixel phones feel more premium now, and are better at securing your on-device data. But as no smartphone is perfect, there are also some notable compromises with Pixel 3 XL. The smartphone offers no microSD card expansion support and you only get to use one SIM card at a time. Google is also charging a hefty amount for new Pixel handsets making them the most expensive Android phones in the market. If you can adjust with these three things, Google Pixel and Pixel3 XL are worth your time and money.


Three Kenyan bishops were among fellow clergymen from around the globe attending a ten-day course at Canterbury Cathedral in England last week.
Joseph Wandera from the Diocese of Mumias, Francis Matui from the Diocese of Matueni and John Omuse from the Diocese of Katakwa were among 27 bishops from around the Anglican Communion attending the annual event, affectionately nicknamed "the baby bishops' course" by those who have taken part in previous years.
Held at the Mother Church of the Anglican Communion, the course taught attendees about the role of a bishop and included visits to the Anglican Communion Office in London as well as a meeting with the Archbishop of Canterbury, Justin Welby, at Lambeth Palace.
The bishops also took part in a programme of talks, presentations and workshops and had the opportunity to build networks and relationships with other new bishops across cultural and geographical divides.
This year's group came from Australia, Brazil, Canada, India, Japan, Kenya, Madagascar, Melanesia, New Zealand, Pakistan, the Philippines, Scotland, South Sudan, Sri Lanka, Tanzania, the United States, and Zimbabwe.


text:
General Market Commentary
Interviews News Releases
Aben Resources (TSX-V: ABN) CEO Jim Pettit on Summer Drill Program at Forrest Kerr Gold Project in BC's Golden Triangle
Gerardo Del Real: This is Gerardo Del Real with Resource Stock Digest. Joining me today is President and CEO of Aben Resources (TSX-V: ABN)(OTC: ABNAF), Mr. Jim Pettit. Jim, how are you this afternoon?
Jim Pettit: I'm great. I couldn't feel better going into a long weekend.
Gerardo Del Real: Yes, sir. I couldn't agree more. It's that time of the year where drilling at the Golden Triangle region heats up. Aben is no exception. Drills are now, or I should say a drill is now turning at the Boundary North Zone discovery at the 23,000-hectare Forrest Kerr Gold Project. This follows up, obviously, some very successful and exciting drilling last year. Can you talk about the plan, what it looks like? And I'd like to touch on some of the results from last year because you got some pretty, pretty solid hits that you're following up this year.
Jim Pettit: Yeah. That's a good place to start, a little refresher. Last year we drilled three holes out of nine. The fourth, fifth, and sixth holes were off of one drill pad at three different angles; 45, 60, and 75. And we encountered a very high-grade zone right off the bat, actually, at 16 meters deep. It was basically found by our Geos as a surface anomaly. They took samples off the surface, there was high-grade kicks of gold in especially the rock samples, there was up to 50 grams gold.
So the idea was to move, take the pad, move it to the north of it, and drill at basically a right angle to some old historic drilling that was done by Noranda years ago where they hit a really high-grade intersection, but really didn't follow up on it. So the way we orientated these holes was basically to get the broadest swath we could through that zone. And what we're finding now is that these surface anomalies are definitely being confirmed.
So what we got here in the first hole, it started with about a 3-meter intersection of 18, almost 19 grams, and 2.2% percent copper, and 17 gram silver. In the second, well the second hole on that drill pad, which was hole five. We got 6 meters of 21.5 grams gold, 28.5 grams silver, and 3.1% copper. These were all in very broad intersections of mineralization. And then the third hole was a little lower grade, but a little steeper angle, too. But you still got 3 grams gold, 5 grams silver, and 0.6% copper.
What it tells us is there's a very broad zone there. All these little high-grade zones, I call them little, but comparatively speaking they were within a very broad zone. The first hole basically that I just mentioned, was within a very broad intersection of 387 meters of 0.25 gram. But it was well mineralized throughout, so we could stretch it that far. Below that was 100 meters of lower grade, with the high-grade core. The same with the third hole that I just mentioned.
So we're into a very broad zone. Obviously we want to come back and start there because we want to see how big this zone is, how far we can extend it on strike to the northeast and southwest. So that's basically where we've started, and we started drilling just the other day, two days ago.
Gerardo Del Real: Perfect. And I understand that the program will encompass a 5,000-meter program of diamond drilling. Is that correct?
Jim Pettit: Yep. We're planning up to, at this stage anyways, up to 5,000 meters. That could get us anywhere from 15 to 20 holes, depending on the depth. But in this area, we're encountering it fairly shallow, so we could probably get more holes. And I think also, if we have success, and I'm pretty confident at the beginning of the program, cause we're just trying to extend. We're stepping out. We're doing step-out holes right now. If it goes the way I'm hoping, I think we may be able to come back to the market at much higher prices and carry on from there. And we can extend our season and the amount of drilling we're going to do.
Gerardo Del Real: Excellent. You know, I've been on record saying that anomalies in the resources space are like Pokemon's, right? They're everywhere.
Jim Pettit: Yup.
Gerardo Del Real: So anytime that I see mention of anomalies, I tend to dismiss it, but I like to dig a little deeper. You however have followed up a lot of those anomalies with significant mineralization. And the Boundary Zone has, I believe, rock and soil anomalies that span in excess of, I think it's 2 kilometers by 4 kilometers with some pretty significant values. I normally do not like to talk about anomalies, I will make the exception because one, you've proven that they tend to lead to good mineralization. And two, some of the numbers that these things are returning are pretty, pretty impressive.
Jim Pettit: Yeah, they are. Well, like the historic hole that brought us to the area. That was actually 11 meters of 33 grams.
Gerardo Del Real: Right.
Jim Pettit: So 11 meters of 1 ounce is pretty good. But no follow-up. So last year we encountered this, and that was a hard one to replicate. You know, because some of these little hydrothermal veins are very small. So what we're realizing is it was probably when they put it into the data base at 11 meters of 33 grams, it was probably about half a meter of 300 grams. You know, something like that. So hard to replicate, but it put us in the right area. And that whole area, and it is 2 kilometers by 4 kilometers roughly. There's lots of them.
We've mapped them, taken the samples. We had the fortunate, well we were very fortunate in that the whole project, the whole property, came with a lot of data, historic data from 10, 20 and 30 years ago. And a lot of it was surface sampling. So we could zero in on some of these high-grade surface samples, which we call anomalies, and do our own to confirm it, because some of them are very old, and go from there.
So that whole area we're talking about is primarily gold-silver-copper anomalies. And a lot of them need to be tested cause a lot of them have, when you get lucky enough to get the good outcrop, and you get rock samples that are 30 to 50 gram range, you want to follow up. And if there's lots of other lower grade around it, you're on to something, and there's lots of that. And some of this area has also had geophysics to substantiate the surface work.
Gerardo Del Real: Good, good, good. What's the treasury look like? You talked about if you have early success possibly coming back to the market and raising money at higher prices, but I don't believe you have to do that, right? You're pretty well funded right now.
Jim Pettit: We don't have to that, no. What we're planning, we're funded for it. The drill program is probably about $1.6 million. We've got $3 million in the treasury, we're in good shape. We've managed to operate up there with a relatively good cost base, because of the new infrastructure that's there. We've just moved our camp to a closer location to where we're drilling, so the helicopter support is going to be, we'll probably save $100,000 dollars alone just on that.
But yeah. We're in good shape, we're in good shape. I've also got a couple hundred thousand dollars I want to spend up in the Yukon on another project. So you know, that's all good. But I'm hoping, with success, that we could raise more and then I could bring in another drill to do more reconnaissance drilling as we keep doing this.
Gerardo Del Real: Well you got a good solid share structure, I believe it's just under 80 million shares issued and outstanding, is that correct, Jim?
Jim Pettit: That's right.
Gerardo Del Real: Perfect. And like I mentioned at the top here, I believe we're going to get a lot of news out of the Golden Triangle this summer. I can't help but notice that GT Gold was recently up about 16-17% on some pretty solid volume. And I believe they just started drilling, so it should be a fun couple of months, Jim.
Jim Pettit: Yup, yeah. Well they did. They just started drilling the day before us. Or the announcement came out anyway. Their stock happens to be up 12-13 cents today. You know, that's a bigger project, they're about two years ahead of us, but it's a good indication when the stocks respond like that. We're actually trading well. We're trading about a half a million shares a day on the various platforms. And the stock in the last couple months has moved from $0.10 to $0.22 in good solid volume. So it's rolled over that float, that cheaper float.
And if it's anything like last year, I think once this whole area starts going, because right now, there's only two or three of us drilling. In another month there'll be probably 10 or 12, and then the labs start getting backed up. So our timing this year is a lot better. We're in earlier, we can get assays into the lab quicker, the turnaround is quicker, and hopefully demonstrate success.
Gerardo Del Real: Well, Jim, I'd love to have you back on once those assays start coming in. Again, excited for the drill program. I know the junior resources space is a tough space, especially over the summer. But frankly, there's a lot of quality exploration work going on out there, and I think it should be an interesting summer this year, exploration wise.
Jim Pettit: Yeah, it is. I think it will be. Oddly enough, all the work's done in the summer but the markets go soft.
Gerardo Del Real: There ya go.
Jim Pettit: But when you have a specialized area play like this, it's actually very focused and you do tremendous volumes. You do. Rather than the broad base being slow. You've got, this area is, like the last two years has been one of a kind.
Gerardo Del Real: Well it's good to hear the phone ringing in the background, it's always not a good thing if you're drilling and it's quiet, Jim. So thank you so much for coming on.
Jim Pettit: Yeah.
Gerardo Del Real: And again, I can't wait to have you back when the first set of assays start coming out.
Jim Pettit: Alright. Thank you very much.
Gerardo Del Real: Thank you.
Part of the Stock Digest family of websites
DOW 29297.64 0.92%
S&P 500 3316.81 0.84%
TSX 17484.77 0.40%
TSX-V 583.11 1.06%
RTY 1705.22 1.36%
Gold $1548.00 0.76%
Silver $17.94 0.67%
Copper $2.85 -0.40%
Platinum $1005.70 2.47%
Oil $57.56 -0.28%
Natural Gas $2.07 -4.69%
Uranium $24.55 0.00%
@RSDigest ON TWITTER
© Copyright 2020 Resource Stock Digest


Xr650r wiring diagram in addition dual sport So for the signal dynamics light this means that in addition to the explain why they use these dual designations on the multistrada 1100 this is different from the multistrada 620 as seen below As ive said before see skyjacked suburban in the september 2003 issue four wheel drive suburbans especially the 1973 through 1987 models are my favorite dual sport vehicles the weight of In terms of safety the new elite i20 gets dual front airbags and abs as standard across the range. The top spec astao variant gets four airbags and isofix hold seat anchors in addition to the.
Xr650r wiring diagram in addition dual sport Earlier this year the realms of law and new media collided when lori drew was hit with federal charges for creating a fake myspace page and harassing a neighboring teenager who then committed In addition male night owls reported twice as many sexual partners than male early birds. Prof maestripieri wanted to explore why men take more risks than women. He was curious whether sleep Though many riders are apprehensive about the installation process the installation guide and diagrams guide users through the installation in a simple step by step manner. With the option to.
Xr650r wiring diagram in addition dual sport For additions or corrections to the online version and the next print edition of the avionics magazine aerospace acronym amp abbreviation guide contact the editors bill carey at bcareyaccessintel.com David zenlea we havent seen it but were convinced that somewhere in a conference room in porsches product planning offices in weissach theres a whiteboard with a bunch of venn diagrams order In addition all of which sport the stainless steel shielding. Gigabyte has also taken care to leave an extra wide gap between the first and second slots in order to leave sufficient room for.
You can install cng kit in ford aspire. There is no harm in this however we would recommend that if your monthly run is more than 1500 kms then go for cng. It is always recommended to get it fitted.
It's possible to get or download caterpillar-wiring diagram from several websites. If you take a close look at the diagram you will observe the circuit includes the battery, relay, temperature sensor, wire, and a control, normally the engine control module. With an extensive collection of electronic symbols and components, it's been used among the most completed, easy and useful wiring diagram drawing program. Xr650r Wiring Diagram In Addition Dual Sport. The wiring diagram on the opposite hand is particularly beneficial to an outside electrician. Sometimes wiring diagram may also refer to the architectural wiring program. The simplest approach to read a home wiring diagram is to begin at the source, or the major power supply. Basically, the home wiring diagram is simply utilized to reveal the DIYer where the wires are.
In a parallel circuit, each unit is directly linked to the power supply, so each system gets the exact voltage. There are 3 basic sorts of standard light switches. The circuit needs to be checked with a volt tester whatsoever points. Xr650r Wiring Diagram In Addition Dual Sport. Each circuit displays a distinctive voltage condition. You are able to easily step up the voltage to the necessary level utilizing an inexpensive buck-boost transformer and steer clear of such issues. The voltage is the sum of electrical power produced by the battery. Be sure that the new fuse isn't blown, and carries the very same amperage.
The control box may have over three terminals. After you have the correct size box and have fed the cable to it, you're almost prepared to permit the wiring begin. Then there's also a fuse box that's for the body controls that is situated under the dash. Xr650r Wiring Diagram In Addition Dual Sport. You will find that every circuit has to have a load and every load has to have a power side and a ground side. Make certain that the transformer nameplate power is enough to supply the load that you're connecting.
Dual sport headlight bmw dual sport dual sport relay 2000 honda xr650l wiring-diagram dual sport safety dirt bike wiring diagram dual car amp wiring diagram bmw wiring diagram.


Venue: China Import and Export Fair Comlex, Guangzhou, Guangdong Province, P.R. China.
The annual China (Guangzhou) International Automobile Exhibition started at 2003, depend on the exceptional market and industrial advantage, with its experienced organizing and delicate service, Auto Guangzhou has become one of most famous and professional auto exhibition in China. 2009 is a significant year for the automobile industries from the world, balance the economic reduce also with a consistent extend is our attempt. Therefore, "Tech, Trend, New life" is the theme of The 7th China (Guangzhou) International Automobile Exhibition. Auto Guangzhou apply its unique market position and science orientation to promote auto industries, keep leading the autos consumption trend, create an excellent match between popular brands and people life, also impulse the development of auto industries from home and abroad.


SANTA CLARA, CA -- (Marketwired) -- 08/06/14 -- AgigA Tech, Inc., a subsidiary of Cypress Semiconductor Corp. (NASDAQ: CY) and a leading provider of high-speed, high-density, and battery-free nonvolatile memory solutions, today announced that it is now sampling the industry's first DDR4 Nonvolatile DIMM (NVDIMM) to key OEMs and development partners. The AGIGARAM® DDR4 NVDIMM has been designed to operate in the standard DIMM sockets of next-generation, Intel-based server platforms, providing a significant boost to I/O performance in a host of applications, including storage and database acceleration. AgigA Tech will show its new AGIGARAM DDR4 NVDIMM here at the Flash Memory Summit in the Storage Network Industry Association's (SNIA) booth number 808.
DDR4 is the latest evolution in DRAM technology, building upon previous generations with improved reliability, speed and power. With current data rates reaching 2,400 MT/s, DDR4 increases performance up to 50% over DDR3, while delivering a 20% reduction in operating voltage. With DDR4's additional power-saving features, total overall power savings versus DDR3 can be as much as 40%. The AGIGARAM DDR4 NVDIMM builds upon the success of the DDR3 NVDIMM products currently shipping to top-tier OEMs.
"AgigA is proud to achieve another industry-first milestone with the sampling of our AGIGARAM DDR4 NVDIMM," said Ron Sartore, president and CEO of AgigA Tech. "With our patented IP and design expertise, we have been working closely with our OEM customers and development partners to ensure a successful transition to DDR4."
AGIGARAM DDR4 NVDIMM samples are available on a limited basis for development partners through Agiga Tech's Early Access Program (EAP). Please contact info@agigatech.com for more details.
Headquartered in San Diego, California, AgigA Tech is a leading developer of high-speed, high-density, and battery-free non-volatile memory solutions. The company's flagship AGIGARAM product family represents a new class of nonvolatile memory created to address the fundamental need for higher-density, higher-performance memory in enterprise-class applications. AGIGARAM integrates NAND Flash, DRAM and an ultracapacitor power source into an innovative, highly-reliable nonvolatile memory subsystem that can deliver unlimited read/write performance at the fastest DRAM speeds, while also safely backing up all data when power is interrupted. AgigA Tech is a subsidiary of Cypress Semiconductor Corp. The company's products are available worldwide through the Cypress sales force and its distributor partners. More information on the company is available at www.agigatech.com.


Written by Marco Ramerini. English text revision by Dietrich Köster.
Island of Diu: Fortaleza de Nagoa (1744), Fortaleza de Brancavara (1774), Forte de Simbor, Forte de Gogola.
Kari de Chikli or Tchikla (Chinchani ?): (19°53'N – 72°41'E) ?
Portuguese: 1556 fort – ?
Thana (Salsette Island): (19°11'N – 72°58'E) two towers (São Pedro and São Jeronimo) and one small square fort (Reis Magos) with two bastions.
Dharavi Island: (19°16'N – 72°50'E) ?
Caranja or Juem: circa (18°54'N – 72°55'E) There were 2 forts, one, smaller, on the east side of the island, the other, bigger, on a hill, was a square fort, three angles, of which each had a bastion each.
Portuguese: 5 May 1746 – ?
Barcelor or Braçalor (Basrur): (13°38'N – 74°44'E) square shaped fortress.
Cambolin (Coondapoor, near Barcelor): (13°38'N – 74°41'E) square shaped fortress.
Mangalore (Mangalor): (12°54'N – 74°50'E) Forte São Sebastiao (1567/68/69) square shaped fortress with a bastion at every corner.
Portuguese: 1568/9* fort – 165?
Portuguese: 1535 attempt to build a fort, never finished.
Punicale (Punnaikayal): Punicale was the chief Portuguese settlement of the Fishery Coast between 1532 and the 1580s; from about the 1580s their chief settlement was Tuticorin.
Tuticorin or Tutucorim: (08°48'N – 78°09'E) Punicale was the chief Portuguese settlement of the Fishery Coast between 1532 and 1580s; from about 1580s their chief settlement was Tuticorin.
Portuguese: 1590s. settlement – 18th. ?
Portuguese: 1518 settlement – 1600s.
Portuguese: 1514 settlement – ?
Portuguese: 1599 friary – ?
Portuguese: 1536/7 customs house, feitoria – ?
Portuguese: July 1633 new Portuguese settlement – 18th century ?
Portuguese: 1590s. tributary of Portugal, 1602 conquered by Portugal – 1605?
Portuguese: In 1590 the fort is conquered by the Portuguese – in the 1590s the Portuguese are expelled.
Portuguese: 1580 settlement – ?


The Daily Gazette Article Highlight's "Sa'fyre's Helpers"
Some of the people who have helped Sa'fyre Terry with her long recovery, and continue to do so. Posted on December 12, 2015.
(Warning- this is a real life tragic event for this family, it'll make you cry) Sa'fyre is such a beautiful young lady with an incredible innocence and a huge determination to move mountains no matter their size unaware that early on medical experts prepared her family for a sad outcome from this horrific tragedy. This video is a wonderful tribute to Sa'fyre without any doubt, further it should be a testament to the unconditional love and support so unselfishly thrust upon her by her family which has given strength to Sa'fyre's determination knowing she is not alone. Sa'fyre and her family are an inspiration, keep up this herculean effort you are all doing a wonderful job!! ACCFCB.org Of Note: This arson is still unsolved and the family is asking for anyone with information to please contact Schenectady, NY Police (518) 382-5200.
Sa'fyre was the only survivor of a ferocious house fire in Schenectady, NY during the early morning hours of May 2, 2013 that claimed the lives of three of her siblings and her father. Finally arriving home from a burn unit on February 19, 2014, she has suffered several complications from severe burns that ravaged over 75% of her body including amputations and several setbacks.
Sa'fyre Being Fitted For Her Prosthetic Leg- Super EXCITING!
Sa'fyre Terry, age 6 bravely faced amputation of her left leg which was taken from below the knee in March, 2015 at Shriners Hospital in Boston. She is now excited to begin the process of receiving a prosthetic leg so she can play like the others kids. She is a brave little girl and we are honored to assist during her incredibly brave struggle to recover from her nearly fatal injuries.
Sa'fyre was the only survivor of a ferocious house fire in Schenectady, NY during the early morning hours of May 2, 2013 that claimed the lives of three of her siblings and her father. Finally arriving home from this devastation on February 19, 2014, she has suffered several complications from severe burns that ravaged over 75% of her body.
Sa'fyre Terry, age 6 bravely faces amputation of her left foot in March, 2015 at Shriners Hospital in Boston. She was the only survivor of a ferocious house fire in Schenectady, NY during the early morning hours of May 2, 2013 that claimed the lives of three of her siblings and her father. Finally arriving home from this devastation on February 19, 2014, she has suffered several complications from severe burns that ravaged over 75% of her body.
Sa'fyre's left foot will be amputated from below the knee. "Stunned doesn't begin to express all we we're feeling hearing this. By the grace of God Sa'fyre was distracted and not understanding what the doctor was explaining to us... Her left foot is not growing properly and it is the same foot that she had toes amputated from previously. Her foot has no range of motion, no movement at all!"
Although Sa'fyre is currently unaware that this procedure will take place soon, her family has been preparing her the best way they can with Sa'fyre stating that she wants a prosthetic foot so that she can run and play with the other kids!


So then, here we have the packaging so you know what to look for in the stores. The PSU inside is packaged nicely and protected styrofoam.
The PSU is delivered with some simple basics like power cable manual and screws. As stated, this is a modular model. The PSU is nicely packaged, the cables are tucked away inside a pouch.
After unpacking, not a dent, scratch or smudge was on the unit. A dark grey and black finish, nice theme. The PSU is ready for nearly all upcoming CPU & GPU generations and offers a superb capacity 12V rails. There is one single 12V rail allowing 70 Amp / 840 Watt (peak).
The PSU complies to EPS12V PSU design guides for compatibility. It has Over Voltage Protection on +3.3V, +5V, +12V rails.
At the front side we spot a nice honeycomb air vent; it allows for airflow running through the PSU, cooling down its components and keeping them nicely efficient. Also, obviously we spot the power connector and on/off switch.


Scottish Rite Theater is excited to host a new show Rap Unzel: an original musical adaption of the classic tale of Rapunzel, collaboratively written by Jeremy Rashad Brown and Deanna Belardinelli with music by SaulPaul. A story for all ages about #BlackBoyJoy and Rap's journey of self-care and hair! Show will run Feb 9 – Mar 3. Buy tickets here.


text:
import fs from 'fs';
import path from 'path';
import * as child from 'child_process';

import * as consts from './consts';

export const buildPath = (...args: string[]) => {
  return args.join(consts.FORWARD_SLASH_CHARACTER);
};

export const copyFile = async (filePath: string, destPath: string): Promise<void> => {
  return new Promise((resolve, reject) => {
    makeDirSyncIfNoneExists(destPath);

    fs.copyFile(filePath, destPath, (error) => {
      if (error) {
        console.error(error);
        return reject();
      }

      resolve();
    });
  });
};

export const exec = (args: string, opts?: any) => {
  return new Promise((resolve, reject) => {
    child.exec(args, opts, (err, stdout) => {
      if (err) return reject(err);
      return resolve(stdout);
    });
  });
};

export const kebabToTitleCase = (str: string): string => {
  const parts = str.split(consts.FORWARD_SLASH_CHARACTER);
  return parts
    .map((part) => {
      return part.charAt(0).toUpperCase() + part.slice(1);
    })
    .join(consts.SPACE_CHARACTER);
};

export const listDirs = (files: string[]): string[] => {
  return files.reduce((acc, curr) => {
    const dirName = path.dirname(curr);

    if (acc.includes(dirName)) return acc;

    acc.push(dirName);

    return acc;
  }, [] as string[]);
};

export const makeDirSyncIfNoneExists = (dir: string) => {
  const newPath = dir.substring(0, dir.lastIndexOf(consts.FORWARD_SLASH_CHARACTER));

  if (fs.existsSync(newPath)) return;

  fs.mkdirSync(newPath, { recursive: true });
};

export const parseParts = (firstParts: string[], secondParts: string[]) => {
  return parseInt(firstParts[secondParts.length - 2], 10);
};

export const readConfig = (config: string) => {
  return JSON.parse(fs.readFileSync(config, consts.UTF8));
};

export const readFile = (filePath: string) =>
  new Promise((resolve, reject) => {
    fs.readFile(filePath, consts.UTF8, (err, data) => {
      if (err) return reject(err);
      resolve(data);
    });
  });

export const removeDoubleDashes = (str: string): string => {
  return str.replace(consts.CONSEQUTIVE_DASHES_REGEX, consts.DASH_CHARACTER);
};

export const renameFile = (original: string, replacement: string): Promise<string | undefined> => {
  return new Promise((resolve, reject) => {
    if (original === replacement) return resolve(replacement);

    fs.rename(original, replacement, (err) => {
      if (err) return reject(err);

      resolve(undefined);
    });
  });
};

export const walkDir = (dir: string, fileType?: string, fileList = []) => {
  const files = fs.readdirSync(dir);

  for (const file of files) {
    const filePath = `${dir}/${file}`;
    const stat = fs.statSync(filePath);

    if (stat && stat.isDirectory()) {
      fileList = walkDir(filePath, fileType, fileList);
    } else {
      if (file) {
        fileList.push(filePath as never);
      }
    }
  }

  return fileList;
};

export const writeFile = (filePath: string, contents: string): Promise<void> => {
  return new Promise((resolve, reject) => {
    fs.writeFile(filePath, contents, consts.UTF8, (err) => {
      if (err) {
        console.log('err', err);
        return reject(err);
      }

      resolve();
    });
  });
};

redpajama_set_name: RedPajamaGithub


This is a complete hospital management system developed in Visual Basic and Microsoft Access. Download Source Code [13 MB] In case of any problem , please comment below.
Copyright © 2010-12 MyWBUT.com. All rights reserved.


text:
Cowboys, The West
Morning Star Dawn The Powder River Expedition and the Northern Cheyennes, 1876
By: Greene, Jerome A.
Book Condition: New
288 pages, maps, ilustrations, SIGNED by author. "Narrative history blending both American Indian and U.S. Army perspectives on the attack that destroyed the village of Northern Cheyenne chief Morning Star. Of momentous significance for the Cheyennes as well as the army, this November 1876 encounter, coming exactly six months to the day after the Custer debacle at the Little Bighorn, was part of the Powder River Expedition waged by Brigadier General George Crook against the Indians. Vital to the larger context of the Great Sioux War, the attack on Morning Star's village encouraged the eventual surrender of Crazy Horse and his Sioux followers."
Title: Morning Star Dawn The Powder River Expedition and the Northern Cheyennes, 1876
Author Name: Greene, Jerome A.
Categories: Native Americans,
Publisher: Norman, University of Oklahoma Press: 2003
Jacket Condition: New
Keywords: Indian Wars, Crook, Custer, Sheridan, Powder River Expedition, Northern Cheyennes, Crazy Horse, Camp Robinson
Old West Books
We have been in business since 1997 and specialize in books on the American West, Custer, military, Civil War, Indian Wars, cowboys, Cattle Industry, Fur Trade, Lewis and Clark, Travel and Exploration.
Colorado Springs, CO. 80949
© 2021 Old West Books All Rights Reserved. - Our Policies


Skiing, Snowboarding and Showshoeing News and Info- 12-23-2003, 00:10.
" Before you buy compare prices with the cost of a multi-trip annual policy that includes winter sports as this can be far better value. How much basic cover should I look for All the policies offered by the companies listed below see Contacts offer pound 2 million in personal liability for both skiing and snowboarding which is the minimum you should have if you re skiing in North America."
" CRAIG BROWN BLIZZARDS which brought chaos to Scotland yesterday were heading south last night but forecasters say the cold snap is expected to be gone by Christmas. Freezing showers over the weekend brought much needed snow and perfect skiing conditions to the resorts of Glenshee and the Cairngorms. But the icy conditions proved to be cold comfort for winter sports fans as they were unable to take advantage because the roads leading to the slopes were blocked by drifts."
" Now he is branching out this season the 26-year-old Finn is looking good in both the slalom and in the giant slalom where he is currently lying 2nd in the World Cup standings. Palander's hopes of challenging for victory in this new event were certainly not dashed at the weekend when he finished second at Alta Badia in Italy behind the local favourite Davide Simoncelli . Even a slightly flawed second run he was only 14th fastest did not prevent Palander from staying ahead of 3rd-placed Bode Miller of the United States the current leader in the giant slalom table."
"Hunters who haven't had enough time outdoors yet and love to hunt in cold weather have a mixed bag of big and small game hunting seasons awaiting them the day after Christmas. They include three deer hunting seasons, as well as seasons for snowshoe hares, ruffed grouse, cottontails, pheasants, grouse, furbearers and waterfowl. The statewide late archery and flintlock muzzleloader deer seasons, and late antlerless deer season for Wildlife Management Units 2B, 5C and 5D, run concurrently from Dec. 26 to Jan. 10. The small game seasons are as follows: squirrel, Dec. 15-23 and Dec. 26 to Feb. 7; ruffed grouse, Dec."
"JIM LAVRAKAS / Daily News archive 2003 The Alaska Kayak Academy is offering weekly kayak polo sessions in the Mat-Su in addition to its Anchorage session. Polo games are now being held from 8:30 to 9:30 p.m. Fridays at the Wasilla High School swimming pool. It is recommended that you show up at 8 p.m. to receive equipment. Polo is limited to the first 12 participants. AKA supplies all the equipment, including boat, helmet, paddle and personal flotation device. This is an excellent opportunity to try out white-water kayaking in a safe, warm environment. The cost is $15, including gear use. The Anchorage sessions are ongoing, 7:30 to 9 p.m."
"December has already given us a taste of snow, but do you remember the Big Snow last Valentine's Day? Shoveling 28 inches from the driveway left me exhausted. Don't get me wrong, I love snow and have traveled the world to ski in it. But this storm was too much of a good thing. I was certain it would postpone our family vacation to Canaan Valley in the Allegheny Mountains of West Virginia. We had planned to return to our favorite chalet-style rental home, nestled in the woods near Timberline Four Seasons Resort, one of two downhill ski areas in the valley. We were due the next day - a 200-mile drive west from our Baltimore-area home."
"Don't let all that snow in the mountains stop you from getting up there and having some fun. For those who would like to go outside and enjoy the wintry world of the Cascades but don't ski or snowboard, snowshoeing might be just the thing. Disabuse yourself of that outdated vision of bearded mountain men tromping out over the great white north on big old Pancho Gonzalez tennis rackets. Snowshoes have come of age in the new millennium."
"KINGWOOD -- Preston County students get an extra day of holiday vacation, but they'll make it up in April. "Students will return on Jan. 5," Preston Superintendent John Lofink said Friday. They were originally scheduled to return Jan. 2, but the board has informally approved changing that to a day off. Students will go instead on April 7, 2004, which would have been the first day of spring break. The board will formally vote on the change Monday, but notes went home to parents Friday. There is incentive to keep attendance up. Federal No Child Left Behind legislation judges school systems partly on attendance."
"Besides the occasional "ice-cream headache" and the chilly process of peeling off a waterlogged wet suit, they insist it's not so bad. Icy water? Doesn't faze them. Sub-freezing temperatures? No problem. A little bit of wind, snow or rain? Just means the waves will be that much better. Most people consider surfing an activity reserved for the sun-splashed waters off Hawaii or southern California. Around here, however, there's a different look to surfer's paradise."
"Cold temperatures, driving snow, mountains around every turn, a land held in the clutches of winter for nearly six months of the year. This is British Columbia in wintertime, and for the skiers and snowboarders of the world, it is paradise. But what makes this province an unparalleled alpine destination is its variety. Just like the snow is deep and light, the mountains are vast and big; the options for skiing and snowboarding are endless. From backcountry touring lodges to world-class resorts, remote heli-skiing experiences to small, family-oriented ski hills, BC has it all."
"It seems like only yesterday that Aspen's Gay Ski Week was the only opportunity for gay & lesbian skiers to get together, but this season there are more opportunities for gay & lesbian ski weekends than ever before, with over a dozen great ski weeks and/or weekends planned for 2003-2004. We did our homework, so you wouldn't have to, and we're happy to present you with a list of the slopes where you're sure to have fun monkeying around. Jackson Hole Gay Ski Week December 20 - 27, 2003 Jackson Hole, Wyoming http://www.alysonadventures.com/gay/ski/snow info@alysonadventures."


text:
Bala is a Indiansatirical black comedyfilm directed by AmarKaushik. ...More
Bala is a Indiansatirical black comedyfilm directed by AmarKaushik. The film starsAyushmann Khurrana, YamiGautam, and BhumiPednekar, with JavedJaffrey, Saurabh Shukla,and Seema Pahwa playingsupporting roles. Less
says "Bala is a Indian satirical black comedy film directed by Amar Kaushik. The film stars Ayushmann Khurrana, Yami Gautam, and Bhumi Pednekar, with Javed Jaffrey, Saurabh Shukla, and Seema Pahwa playing supporting roles."
to get instant updates about 'Bala' on your MyPage. Meet other similar minded people. Its Free!
Posted on: 02:54 PM - 31 Oct 19
bala has uploaded 41 new photos
Write a comment | Share this
bala has uploaded a photo
bala says "Bala is a Indian satirical black comedy film directed by Amar Kaushik. The film stars Ayushmann Khurrana, Yami Gautam, and Bhumi Pednekar, with Javed Jaffrey, Saurabh Shukla, and Seema Pahwa playing supporting roles."
Bala page created by sarkar
Bala is a Indian satirical black comedy film directed by Amar Kaushik. The film stars Ayushmann Khurrana, Yami Gautam, and Bhumi Pednekar, with Javed Jaffrey, Saurabh Shukla, and Seema Pahwa playing supporting roles.


Have your child learn the basic skills of basketball along with offensive and defensive strategies at weeknight practices. Teamwork and good sportsmanship will be emphasized to promote quality enjoyment. This program cannot run without the help of volunteer coaches! All coaches are required to submit a state-mandated background check before the season begins. Player evaluations are mandatory. Additional information regarding times and dates will be emailed to all families that are enrolled in the program. Team requests are not permitted.
• Early start times and Saturday games may be scheduled if needed for make-ups.


We use only high quality parts, so you won't be able to see any differences after iMac frame replacement has been completed.
We fix iMac frame in Richmond, VA while you wait. Usually it takes about an hour.
Your device will function like new after iMac frame replacement has been completed.


text:
Kendall Jenner Reveals That She Suffers From Anxiety and Panic Attacks
John Parra, Getty Images for DKNY
Kendall Jenner revealed that she suffers from anxiety and panic attacks.
The reality television star shared how she was initially diagnosed with anxiety on Good Morning America on Friday (May 15).
"I was really, really young and I remember not being able to — feeling like I couldn't breathe and venting to my mom [Kris Jenner] and being like, 'Mom, I feel like I can't breathe, something must be wrong,'" Jenner recalled. "And she, of course, took me to a bunch of doctors just to make sure that I was okay physically, and I was. No one ever told me that I had anxiety."
The 24-year-old model shared that three or four years ago the anxiety returned. "I would have crazy panic attacks and finally kind of got the information that I needed about it," she explained.
Along with sharing her own mental health story, Jenner promoted her new #howareyoureallychallenge in partnership with Kenneth Cole and The Mental Health Coalition. The new social media movement encourages people to share their mental health journeys online and share how they are actually doing during the coronavirus (COVID-19) pandemic.
"When [Kenneth Cole] came to me, it was so perfect and I struggle with my own, you know, mental health issues sometimes myself. I was very excited. I was so ready to get involved. Honestly, what I hope to accomplish is for people to not feel as alone," she concluded.
Celebrities Who Opened Up About Mental Health
Source: Kendall Jenner Reveals That She Suffers From Anxiety and Panic Attacks
Filed Under: Kendall Jenner


text:
import * as THREE from "three";
import React, { Component } from "react";
import { Stats } from "stats-js";
import { Color, Font } from "three";

import { MemoryColorScheme, RandomColorScheme, StackPlacement, Box, Container, Point, StackableRenderer } from "./api";
import { http } from "./utils";

import randomColor from "randomcolor";
import { thisExpression } from "@babel/types";

import { OrbitControls } from "three/examples/jsm/controls/OrbitControls"

const CONTAINERS = "./assets/containers.json";

//Textures
const ANGULAR_VELOCITY = 0.01;

const GRID_SPACING = 10;

var camera;
var orbit; // light orbit
var helvatiker;
var mainGroup;
var shouldAnimate;
var controls;
var delta = 0;
var visibleContainers;

const pointer = new THREE.Vector2();
var raycaster;
var INTERSECTED;
var stepNumber = -1;

var maxStepNumber = 0;
var minStepNumber = 0;

var points = false;

var stackableRenderer = new StackableRenderer();
var memoryScheme = new MemoryColorScheme(new RandomColorScheme());

var gridXZ;
/**
 * Example temnplate of using Three with React
 */
class ThreeScene extends Component {
  constructor(props) {
    super(props);
    this.state = { useWireFrame: false };
    visibleContainers = new Array();
  }

  animate = () => {
    //update Orbit Of Camera
    controls.update();

    //Animate rotation of light
    if (orbit) orbit.rotation.z += ANGULAR_VELOCITY;

    // Update Uniform of shader
    delta += 0.01;
    //Direct manipulation
    //shaderMaterial.uniforms.delta.value = 0.5 + Math.sin(delta) * 0.0005;
    //shaderMesh.material.uniforms.u_time.value = delta;

    this.handleIntersection();

    //Redraw scene
    this.renderScene();
    this.frameId = window.requestAnimationFrame(this.animate);
  };

  componentDidMount() {
    //Add Light & nCamera
    this.addScene();

    // // Add Box Mesh with shader as texture
    this.addModels();

    // Add Events
    window.addEventListener("resize", this.onWindowResize, false);
    document.addEventListener("keyup", this.onDocumentKeyUp, false);
    document.addEventListener("keydown", this.onDocumentKeyDown, false);
    document.addEventListener("mousemove", this.onDocumentMouseMove, false);

    //--------START ANIMATION-----------
    this.renderScene();
    this.start();
  }

  handleIntersection = () => {
    raycaster.setFromCamera( pointer, camera );

    var target = null;
    for(var i = 0; i < visibleContainers.length; i++) {
      for(var k = 0; k < visibleContainers[i].children.length; k++) {
        var intersects = raycaster.intersectObjects(visibleContainers[i].children[k].children );
        if ( intersects.length > 0 ) {
          target = intersects[ 0 ].object;
        }
      }
    }

    if(target) {
      if ( INTERSECTED != target) {
        if ( INTERSECTED ) {
          INTERSECTED.material.emissive = new Color("#000000");

        }
        INTERSECTED = target
        INTERSECTED.myColor = INTERSECTED.material.color;
        INTERSECTED.material.emissive = new Color("#FF0000")
      }
    } else {
      if ( INTERSECTED ) {
        INTERSECTED.material.emissive = new Color("#000000") ;
        INTERSECTED = null;
      }
    }
  };

  handleStepNumber = () => {
      console.log("Show step number " + stepNumber);

      for(var i = 0; i < visibleContainers.length; i++) {
        var visibleContainer = visibleContainers[i];

        var visibleContainerUserData = visibleContainer.userData;
        visibleContainer.visible = visibleContainerUserData.step < stepNumber;

		// adding alle the points is too expensive
		// so add for a single step at a time
        stackableRenderer.removePoints(visibleContainer);
        if(points) {
        	stackableRenderer.addPoints(visibleContainer, memoryScheme, stepNumber);
        }

        for(var k = 0; k < visibleContainers[i].children.length; k++) {

          var container = visibleContainers[i].children[k];
          var containerUserData = container.userData;

          container.visible = containerUserData.step < stepNumber;

          var stackables = container.children;
          for(var j = 0; j < stackables.length; j++) {
            var stackable = stackables[j];
            var userData = stackables[j].userData;

            if(userData.type == "box") {
                stackable.visible = userData.step < stepNumber;
            }
          }
        }
    }
  };

  addModels = () => {

    // parent group to hold models
    mainGroup = new THREE.Object3D();
    this.scene.add(mainGroup);

    let scene = this.scene;

    var latestData = null;

    var load = function(packaging) {

      var data = JSON.stringify(packaging);
      if(latestData != null && data == latestData) {
        return;
      }
      console.log("Update model");

      latestData = data;

      for(var i = 0; i < visibleContainers.length; i++) {
        mainGroup.remove(visibleContainers[i]);
      }

      var x = 0;

      var minStep = -1;
      var maxStep = -1;

      var maxX = 0;
      var maxY = 0;
      var maxZ = 0;

      for(var i = 0; i < packaging.containers.length; i++) {
        var containerJson = packaging.containers[i];

        var container = new Container(containerJson.name, containerJson.id, containerJson.step, containerJson.dx, containerJson.dy, containerJson.dz, containerJson.loadDx, containerJson.loadDy, containerJson.loadDz);

        if(container.step < minStep || minStep == -1) {
          minStep = container.step;
        }

        if(container.step > maxStep || maxStep == -1) {
          maxStep = container.step;
        }

        for(var j = 0; j < containerJson.stack.placements.length; j++) {
          var placement = containerJson.stack.placements[j];
          var stackable = placement.stackable;

          if(stackable.step < minStep || minStep == -1) {
            minStep = stackable.step;
          }

          if(stackable.step > maxStep || maxStep == -1) {
            maxStep = stackable.step;
          }

          var points = new Array();

          for(var l = 0; l < placement.points.length; l++) {
                var point = placement.points[l];

                points.push(new Point(point.x, point.y, point.z, point.dx, point.dy, point.dz));
          }

          if(stackable.type == "box") {
            var box = new Box(stackable.name, stackable.id, stackable.step, stackable.dx, stackable.dy, stackable.dz);

            container.add(new StackPlacement(box, placement.step, placement.x, placement.y, placement.z, points));
          } else {
            // TODO
          }
        }

        maxStepNumber = maxStep + 1;
        minStepNumber = minStep;

        stepNumber = maxStepNumber;

        // TODO return controls instead
        var visibleContainer = stackableRenderer.add(mainGroup, memoryScheme, new StackPlacement(container, 0, x, 0, 0), 0, 0, 0);
        visibleContainers.push(visibleContainer);

		if(x + container.dx > maxX) {
			maxX = x + container.dx;
		}
		if(container.dy > maxY) {
			maxY = container.dy;
		}
		if(container.dz > maxZ) {
			maxZ = container.dz;
		}

        x += container.dx + GRID_SPACING;
        x = x - (x % GRID_SPACING);
      }

      camera.position.z = maxY * 2;
      camera.position.y = maxZ * 1.25;
      camera.position.x = maxX * 2;

	  // Add grid corresponding to containers
      var size = Math.max(maxY, maxX) + GRID_SPACING + GRID_SPACING;
      let gridXZ = new THREE.GridHelper(
		      size,
		      size / GRID_SPACING,
		      0x42a5f5, // center line color
		      0x42a5f5 // grid color,
	    );
       scene.add(gridXZ);
       gridXZ.position.y = 0;
       gridXZ.position.x = size / 2 - GRID_SPACING;
       gridXZ.position.z = size / 2 - GRID_SPACING;
    };

    http(
      "/assets/containers.json"
    ).then(load);

    setInterval(function(){
      http(
        "/assets/containers.json"
      ).then(load);
    }, 500);
  };

  start = () => {
    if (!this.frameId) {
      this.frameId = requestAnimationFrame(this.animate);
    }
  };
  stop = () => {
    cancelAnimationFrame(this.frameId);
  };

  renderScene = () => {
    if (this.renderer) {
      this.renderer.render(this.scene, camera);
    }
  };

  componentWillUnmount() {
    this.stop();

    document.removeEventListener("mousemove", this.onDocumentMouseMove, false);
    window.removeEventListener("resize", this.onWindowResize, false);
    document.removeEventListener("keydown", this.onDocumentKeyDown, false);
    document.removeEventListener("keyup", this.onDocumentKeyUp, false);
    this.mount.removeChild(this.renderer.domElement);
  }

  onWindowResize = () => {
    camera.aspect = window.innerWidth / window.innerHeight;
    camera.updateProjectionMatrix();

    this.renderer.setSize(window.innerWidth, window.innerHeight);
  };

  onDocumentMouseMove = event => {
    event.preventDefault();

    if (event && typeof event !== undefined) {
      pointer.x = ( event.clientX / window.innerWidth ) * 2 - 1;
      pointer.y = - ( event.clientY / window.innerHeight ) * 2 + 1;
    }
  };

  onDocumentKeyDown = event => {
    shouldAnimate = false;
    var keyCode = event.which;
    switch (keyCode) {
      case 87: {
        // shaderMesh1.rotation.x += ROTATION_ANGLE; //W
        mainGroup.rotation.y += 0.1;
        break;
      }
      case 83: {
        // shaderMesh1.rotation.x -= ROTATION_ANGLE; //S
        mainGroup.rotation.y -= 0.1;
        break;
      }
      case 65: {
        stepNumber++;
        if(stepNumber > maxStepNumber) {
          stepNumber = 0;
        }

        this.handleStepNumber();

        break;
      }
      case 68: {
        stepNumber--;
        if(stepNumber < minStepNumber) {
          stepNumber = maxStepNumber;
        }
        this.handleStepNumber();

        break;
      }
      case 80: {
        points = !points;
        if(points) {
          console.log("Show points");
        } else {
          console.log("Hide points");
        }

        this.handleStepNumber();
        this.renderScene();

        break;
      }
      default: {
        break;
      }
    }
  };
  onDocumentKeyUp = event => {
    var keyCode = event.which;
    shouldAnimate = true;
    console.log("onKey Up " + keyCode);
  };

  /**
   * Boilder plate to add LIGHTS, Renderer, Axis, Grid,
   */
  addScene = () => {
    const width = this.mount.clientWidth;
    const height = this.mount.clientHeight;
    this.scene = new THREE.Scene();

    // ------- Add RENDERED ------
    this.renderer = new THREE.WebGLRenderer({ antialias: true, powerPreference: "high-performance" });
    this.renderer.setClearColor("#263238");
    this.renderer.setSize(width, height);
    this.mount.appendChild(this.renderer.domElement);

    // -------Add CAMERA ------
    camera = new THREE.PerspectiveCamera(80, width / height, 0.1, 100000);
    camera.position.z = -50;
    camera.position.y = 50;
    camera.position.x = -50;
//    camera.lookAt(new THREE.Vector3(19000, 0, 0));

    //------Add ORBIT CONTROLS--------
    controls = new OrbitControls(camera, this.renderer.domElement);
    controls.enableDamping = true;
    controls.dampingFactor = 0.25;
    controls.enableZoom = true;
    controls.autoRotate = false;
    controls.keys = {
      LEFT: 37, //left arrow
      UP: 38, // up arrow
      RIGHT: 39, // right arrow
      BOTTOM: 40 // down arrow
    };

    controls.addEventListener("change", () => {
      if (this.renderer) this.renderer.render(this.scene, camera);
    });

    raycaster = new THREE.Raycaster();

    var ambientLight = new THREE.AmbientLight(0xffffff, 0.6);

    this.scene.add(ambientLight);
  };
  //-------------HELPER------------------
  render() {
    return (
      <div
        style={{ width: window.innerWidth, height: window.innerHeight }}
        ref={mount => {
          this.mount = mount;
        }}
      />
    );
  }
}

export default ThreeScene;


text:
Home Tags Donald Sterling
Tag: Donald Sterling
Mark Cuban Warns That Basketball Players Could Get the Sterling Treatment Next
Legal June 3, 2014 0
With the sale of the Los Angeles Clippers franchise from Shelly Sterling to former Microsoft CEO Steve Ballmer apparently on the league's fast track,...
Of Leaked Racist Tapes, Sexual Harassment, Deception, the Slippery Slope of NBA Ownership
Legal May 30, 2014 0
The National Basketball Association's quest to strip Los Angeles Clippers franchise owner Donald Sterling continues and with that there is a maddening lack of inquisitiveness from the sports media community....
David Stern, a Bully to All Except NBA Owners
Coaching May 20, 2014 0
Now retired National Basketball Association Commissioner David Stern will be inducted into the Naismith Memorial Basketball Hall of Mae in Springfield, Massachusetts on August 8....
Los Angeles Mayor Believes Sterling Won't Sell the Clippers
Sports Management May 7, 2014 0
Los Angeles Clippers owner Donald Sterling may not be expected to give up his ownership of the NBA team, according to city's mayor Eric...
All You Need is Cash
Legal May 2, 2014 0
On Wednesday afternoon I got a call from Nicole Brewster-Mercury, a producer from the Canadian Broadcasting Corporation asking me if I wanted to appear on...
Adam Silver And NBA Venture Down "The Slippery Slope"
Coaching May 1, 2014 0
Goodbye Donald Sterling, good riddance and thank you to Harvey Levin who is now journalism answer to Edward R. Murrow in that he got...
Should the Clippers Just Quit? Lessons From 1965's Football Strike Against Jim Crow
Pro April 30, 2014 0
One of the leaders of the American Football League's wildcat strike says it's up to fans, not players, to teach Donald Sterling a lesson. Many...


text:
Formed 1981 in Minneapolis, Minnesota, U.S.A.
The group comprised of:
Morris Day (lead vocals)
Jesse Johnson (guitar & vocals)
Jimmy Jam (keyboards & vocals)
Jellybean Johnson (drums & percussion)
Terry Lewis (bass & vocals)
Monte Moir (keyboards & vocals)
From Minneapolis, The Time was the amalgamation of two local groups Flytetirne, featuring Jimmy Jam / Terry Lewis, and Enterprise, led by Morris Day.
From 1981 they toured extensively with Prince who secured them a recording deal at Warner Brothers where their albums were 'The Time' (1981), 'What Time Is It?' (1982) and 'Ice Cream Castle's (1983).
They also appeared with Prince in the movie 'Purple Rain'.
Shortly after Jam / Lewis began their successful songwriting / production career, the group disbanded and each member began solo careers.
In 1990, however, they reunited for 'Pandemonium', including 'Jerk Out', for Prince's Paisley Park label.
Jesse Johnson released two solo records with some success as did Morris Day ('The Oak Tree') and Jellybean Johnson.
Monte Moir went on to be a highly regarded producer, working with many artists including Ruby Turner ('In My Life').
Jimmy Jam and Terry Lewis became one of the most successful production teams, working with everyone from Sounds Of Blackness and Janet Jackson to the S.O.S. Band and Human League (sorry, no resume on that band at this site!).
The Time (Warner Records 1981)
What Time Is It? (Warner Records 1982)
Prime Time (Intercord Records 1984)
Ice Cream Castles (Warner Records 1984)
Corporate World Love Machine (Warner Records 1989)
Pandemonium (Paisley Park Records 1990)


A guest post by Gillian Carolan.
Tribesmen Rowing Club from Galway in the west of Ireland travelled north in a party of 27 recreational rowers to spend the August bank holiday weekend tour rowing on the lower Bann River.
Over 2 days, we rowed some 60 kilometres from Toome in County Antrim, on the north-west shore of Lough Neagh, to Portstewart in County Derry, where the river reaches the sea.
We followed this with a shorter optional tour on the River Lagan on Monday morning.
We based ourselves for 3 nights in the wonderfully restored Old Flax Mill at Aghadowey, near our finish point, which accommodated all 27 of us in comfort and style and allowed us to self-cater.
The restored Old Flax Mill at Aghadowey where all 27 of us stayed.
Learning from the experience of club members who did a pilot trip several years ago, we pre-booked the services of a bus driver, Richard, who drove us to and fro with great commentary on local sights and history, thus both entertaining us whilst avoiding the logistical challenges of having many cars involved.
The 5 Wintech tour boats were ably towed from Galway before daybreak by Mike Goonan of Cumann Ramhaiochta Cholaiste na Coiribe. Thanks also to our neighbours Grainne Mhaol Rowing Club and NUIG Boat Club for lending us a 5th boat.
Local staff at the starting point at Toome slipway and coffee shop on Saturday morning were helpful and hospitable as we built our boats, and launched them, with very little wading required, along with our safety catamaran.
We were surrounded by an equally helpful film crew preparing for a period drama starring Belfast's own Jamie Dornan, whom we apparently rowed past as he sat in a currach close by, causing one wag to rechristen our tour "Fifty Blades of Neagh".
Safely launched in perfect conditions, and equipped with laminated navigation maps provided by Norma McCambridge (who did sterling work on a logistical reconnaissance mission), we headed north across Lough Beg at a leisurely pace, arriving at Portglenone Marina for our lunch break.
One of the many benefits of tour rowing is the hatch at either end of the boat, allowing picnics to be stowed for such an occasion.
From Portglenone Marina, we made it to our first lock at Portna. We had some amusing changeovers during the trip as we swapped coxes every half hour or so, following the practice we encountered on French tours over the years. Let's just say the smaller the person, the easier the changeover, and leave it at that.
Every 30 minutes we had a cox changeover.
This stretch of the journey was pleasantly uneventful, bar the volleys of shots which suddenly disturbed our reverie and caused some concern, until we realised it was clay-pigeon shooting in a nearby field.
The first boat through claimed to have been hit by shrapnel, but it was more likely pieces of flying clay. Certainly, the rate momentarily went higher than is advisable in tour rowing.
The lock at Portna was a new experience for a few of the 25 rowers, and we improved our technique of filling the chamber efficiently as the weekend progressed.
We were pleased to be able to fit all 5 boats and the catamaran in one go, thus saving considerable time for the tour, since each lock can take 45 minutes to an hour to traverse.
Each lock can take 45-60 minutes to traverse, so fitting all boats in together saved time.
It came as a bit of a surprise for some of us who hadn't properly studied the navigation materials to discover that Portna is actually a double lock; just as we thought we were done and out, we were back into the second chamber for the same routine all over again.
That said, the experience is enjoyable provided everyone relaxes and does what they are told – and locks do allow for a much needed rest and stretch!
The lock-keepers we encountered along the route added hugely to the experience and the enjoyment, keeping up a non-stop banter which, for many, was incomprehensible due to their strong accents.
Payment can be made at the first lock to cover all locks on the route. In our case this involved using a not terribly clean sock to transfer the funds from the descending chamber up to the lock-keeper on the stone wall, and reversing the procedure with the receipt. There must be a more dignified way; apparently it can be done online via Waterways Ireland.
From Portna it was a short hop on to Kilrea and our end point for Day 1 at the slipway at Portneal Lodge (closed for refurbishment). Here again we met with kindness and hospitality from a contractor who allowed us to store our boats securely within a fenced compound overnight.
Team work was well demonstrated at this juncture, with all hands on deck to lift and lug the boats into the gardens of the Lodge and tidily stow away oars, lifejackets and tillers out of sight.
Kilrea proved to be almost our undoing, as it offered a very convivial local pub only a 10 minute walk away, where we waited for Richard and his bus. Bemused locals and publicans could only smile at the noise made by thirsty neon-lycra-clad, middle-aged rowers as we descended upon them like exotic birds, drank our pints and departed as fast.
Sunday dawned fair and we launched from Kilrea in perfect conditions, heading north through more locks at Movanagher, Carnroe and the Cutts.
After lunching at Drumaheglis Marina, we encountered the water-skiers we had been warned about on their designated stretch of the river. We may have been lucky but we were met with courtesy and consideration and no harm was done – just a little bit of wave-surfing in the strike position.
We had timed our arrival at the Cutts, the last lock on the non-tidal stretch, to meet the full and turning tide, and thus benefit from an easier stretch up to the coast on the outgoing tide.
We were welcomed at Bann Rowing Club, Coleraine, by captain Keith Leighton before heading on again through the town and under railway bridges to our final stop at the Crannagh Marina. At this juncture, three crews elected to pull in and start de-rigging.
Two crews couldn't resist the challenge of making it to the sea, given that the conditions were still perfect.
Nobody was really sure how far away that might be (suffice to say it's a lot shorter by road), but I can attest that we could smell it, if not actually see it, when we decided to turn alongside the sand dunes and row back against the tide to join the others and load the trailer ready for our tour on the River Lagan the following day.
The obligatory swim for some on Portstewart Strand and a quick drink in Harry's Shack finished the day before we were transported yet again back to our lodgings for our third and final night.
The Bann River is an undiscovered gem. We met barely any traffic on it and encountered nothing but friendliness and hospitality along our route (gun-fire notwithstanding!).
Done properly with sufficient planning, it is a safe tour for recreational rowers because the conditions are generally rowable and the river is mostly well-sheltered, although the distance may be challenging for the less fit or novice.
Tribesmen Rowing Club has collated the details on whom to contact in advance (lock-keepers, Waterways Ireland, marina managers, bus companies), where to stay with a crowd, and how to approach the logistics.
We are happy to share those details with any club considering the trip. Contact our secretary for more info.
Next Post Rowing deep – no longer a drag?


text:
Q: Is it correct aspnetcore way? Service & Dependency Injection so i want to create some service that accesses external API, and i want to cache common requests from the API inside of that service, it depends on 3 other services, but i want to give it its own instance of cache,  MemoryDistributedCache might later be changed for something else
services.AddSingleton<ISomeApi, SomeApi>(provider => new SomeApi(
    Configuration.Get<Options>(),
    new MemoryDistributedCache(new MemoryCache(new MemoryCacheOptions())),
    provider.GetService<ILogger<SomeApi>>()
    ));

now from my Controllers i can access the api via DI, it works nicely but im not sure if its some sort of an anti-pattern or if there are better ways of doing it
i mean the real problem is separating the internal cache, requesting
IDistributedMemory from one service would give me the same object as if i request it from another service, they must be separated

A: This sounds like something you could use a proxy or decorator pattern for. The basic problem is that you have a service that does some data access, and another service responsible for caching the results of the first service. I realize you're not using a repository per se, but nonetheless the CachedRepository pattern should work for your needs. See here:
http://ardalis.com/introducing-the-cachedrepository-pattern
and
http://ardalis.com/building-a-cachedrepository-via-strategy-pattern
You can write your cached implementation such that it takes in the actual SomeApi type in its constructor if you don't need that part of the design to be flexible.

redpajama_set_name: RedPajamaStackExchange