text:
package org.pentaho.di.core.compress.gzip;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.pentaho.di.core.compress.CompressionPluginType;
import org.pentaho.di.core.compress.CompressionProviderFactory;
import org.pentaho.di.core.plugins.PluginRegistry;

public class GZIPCompressionProviderTest {

  public static final String PROVIDER_NAME = "GZip";

  public CompressionProviderFactory factory = null;

  @BeforeClass
  public static void setUpBeforeClass() throws Exception {
    PluginRegistry.addPluginType( CompressionPluginType.getInstance() );
    PluginRegistry.init( true );
  }

  @AfterClass
  public static void tearDownAfterClass() throws Exception {
  }

  @Before
  public void setUp() throws Exception {
    factory = CompressionProviderFactory.getInstance();
  }

  @After
  public void tearDown() throws Exception {
  }

  @Test
  public void testCtor() {
    GZIPCompressionProvider ncp = new GZIPCompressionProvider();
    assertNotNull( ncp );
  }

  @Test
  public void testGetName() {
    GZIPCompressionProvider provider = (GZIPCompressionProvider) factory.getCompressionProviderByName( PROVIDER_NAME );
    assertNotNull( provider );
    assertEquals( PROVIDER_NAME, provider.getName() );
  }

  @Test
  public void testGetProviderAttributes() {
    GZIPCompressionProvider provider = (GZIPCompressionProvider) factory.getCompressionProviderByName( PROVIDER_NAME );
    assertEquals( "GZIP compression", provider.getDescription() );
    assertTrue( provider.supportsInput() );
    assertTrue( provider.supportsOutput() );
    assertEquals( "gz", provider.getDefaultExtension() );
  }

  @Test
  public void testCreateInputStream() throws IOException {
    GZIPCompressionProvider provider = (GZIPCompressionProvider) factory.getCompressionProviderByName( PROVIDER_NAME );

    // Create an in-memory GZIP output stream for use by the input stream (to avoid exceptions)
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    GZIPOutputStream gos = new GZIPOutputStream( baos );
    byte[] testBytes = "Test".getBytes();
    gos.write( testBytes );
    ByteArrayInputStream in = new ByteArrayInputStream( baos.toByteArray() );

    // Test stream creation paths
    GZIPInputStream gis = new GZIPInputStream( in );
    in = new ByteArrayInputStream( baos.toByteArray() );
    GZIPCompressionInputStream ncis = provider.createInputStream( in );
    assertNotNull( ncis );
    GZIPCompressionInputStream ncis2 = provider.createInputStream( gis );
    assertNotNull( ncis2 );
  }

  @Test
  public void testCreateOutputStream() throws IOException {
    GZIPCompressionProvider provider = (GZIPCompressionProvider) factory.getCompressionProviderByName( PROVIDER_NAME );
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    GZIPOutputStream gos = new GZIPOutputStream( out );
    GZIPCompressionOutputStream outStream = new GZIPCompressionOutputStream( out, provider );
    assertNotNull( outStream );
    out = new ByteArrayOutputStream();
    GZIPCompressionOutputStream ncis = provider.createOutputStream( out );
    assertNotNull( ncis );
    GZIPCompressionOutputStream ncis2 = provider.createOutputStream( gos );
    assertNotNull( ncis2 );
  }
}


text:
Q: PyMySQL adding 100 columns dynamically Im trying to add 100 columns at runtime using below code.
i tried "https://bytes.com/topic/python/answers/45526-convert-string-tuple"
but the error remains same
    import csv
    import pymysql.cursors

    connection = pymysql.connect(host='localhost',user='root',password='',db='DWM',charset='utf8mb4',cursorclass = pymysql.cursors.DictCursor)
    c = connection.cursor()

    str2 =""
    for i in range(0,100):
      str2 = "t"+str(i)
      print(str2)
      sql = "ALTER TABLE Check2 ADD column %s varchar(100)", eval(str2)
      c.execute(sql)

the error is:
   t0
   Traceback (most recent call last):
     File "check.py", line 14, in <module>
       sql = "ALTER TABLE Check2 ADD column %s varchar(100)", eval(str2)
     File "<string>", line 1, in <module>
   NameError: name 't0' is not defined

Can anyone point out my mistake?
Thank you in advance for any help.

A: Try replacing
sql = "ALTER TABLE Check2 ADD column %s varchar(100)", eval(str2)

with
sql = "ALTER TABLE Check2 ADD column {} varchar(100)".format(str2)

or equivalently
sql = f"ALTER TABLE Check2 ADD column {str2} varchar(100)"

redpajama_set_name: RedPajamaStackExchange


Food license display street food.
For starting your stall of food or say if you are a street food vendor you need to take Fssai Registration or food license street food in India. Without the same, you are not allowed to do this business in India. There are three categories in this, Basic Registration, State License, and Central license. This is based on turnover and also the nature of the business. If your turnover is below 12 lacs, basic registration is applicable to you, For turnover above 12 lac and up to 20 crores you need to apply for state, For turnover above 20 crores, one shall have a central license. In the case of import or export-oriented units, rules may vary. One the license is granted you shall also comply with the rules on food license display street food. Earlier you were required to display only the license number, however apart from the fourteen digit number you are required to display this as well.
Points to consider in food license display street food.
The material of FSDB: Content of FSDB must not get blurred or damaged over time.
Directions for FBOs: The FBOs may add their FSSAI/License No. on top and Company Name and Feedback Details on the lower right-hand side for a feedback mechanism.
Conclusion: For street food business take experts to advise on applicability and compliance post receiving the food license.


text:
Against the Giants: Chapter 1, Part 2
Watch the game on YouTube at https://youtu.be/XWWk1pXhq1E. Shadow Walker, the raven-folk rogue, emerged from the shadows along the street and criticized the group's performance in the battle. Not everyone was […]
Watch the game on YouTube at https://youtu.be/XWWk1pXhq1E.
Shadow Walker, the raven-folk rogue, emerged from the shadows along the street and criticized the group's performance in the battle. Not everyone was happy to see the rogue but Chunt and Theodin quickly maneuvered to smooth things over… for now. Theodin asked how Shadow had been and Shadow's answer was elusive. His life had been interesting (without revealing details) and he had spent much time in the rookeries (without saying which one) but he did feel honor-bound in his own way to respond to Draeven's letter. Theodin's greeting was warm but the conversation quickly turned to their common connection, Theodin's sister, Alaina, who had passed during their earlier adventures together. Shadow was sorry to hear that Theodin had not been able to raise her from the dead and Draeven commented on how this troubled him as well. He admitted he was only just a sorcerer and while he could call on arcane powers, he did not understand them like a wizard did.
Draeven commented the raids had come farther this direction than he had thought. He instructed the group would leave Neuraddel by midday and dismissed himself. The group looked the bodies of the giant and the ogres over for more clues but could find none.
Callie, Cara, Theodin and Kargarn found their way to the apothecary/alchemist who was an old woman who lived in the back of her small shop, surrounded by pots filled with herbs of all kinds. She was a kindly old woman who greeted them and told them her name was Deera (by way of introducing her shop). Her prices were a bit on the high side although not uncommon along the King's Road and the PCs left with healing potions, sickroot herbs, and components for Theodin to craft some alchemist's fire. The dwarven wizard retreated to his room at the Leaky Flagon to complete his work while the rest of the group gathered in the common room to partake in some last-minute libations before their journey began.
The group set out into the hills west of the town of Neuraddel. Draeven doesn't push the group very hard the first day. He had noted how "out of form" some of them had been and did not want to wear them out before they had a chance to build up their stamina. He secretly worried if calling on his old allies had been a bad idea. Callie summoned a magical tiny hut that evening to keep them hidden and safe while they rested.
Draeven led the group into the hills until he reached a point where he needed the group to help find the path the rest of the way to the giants if there were any more to find. Callie used her magic to communicate with the trees in the area and learned giants had indeed passed through and recently. She and her sister, Cara, scoured the landscape and managed to find giant tracks heading northwest, almost parallel to the King's Road (even if a day away from that ancient highway). They followed the tracks.
Later in the day, the group spotted a dragon in the distance flying along the horizon. It was too far to tell for sure but they thought it might be a red or yellow dragon. If dragons were roaming this far north, that did not speak well of Magdar's efforts to keep the Mharoti Empire at bay. They briefly discussed what to do and decided they already had enough on their agenda for the day. The dragon would wait. As evening set in, Thor opened up the heavens and rain began to fall.
In the morning, the giant's tracks were harder to pick out but Callie and Cara were about to follow them. Not long after picking up the trail again they spotted a pair of hill giant raiders, an ogre, and three dire wolves at a small camp in the distance under a rocky cliff. After some debate, Callie cast the Pass Without Trace spell and the group easily snuck up on the raiders.
I won't recount the blow by blow of the battle because it was really a massacre. Between the surprise round, some really bad initiative rolls by the monsters, and some decent tactics, I (the DM) never got to make a single attack roll with the monsters. They were decimated before any of them got a chance to act.
After the battle, the PCs realized why the hill giants had picked this spot. Hidden from them in the distance, there was a small save entrance beside the road and under the rocky cliff. They explored the cave and learned it was once a beast's lair but whoever lived here died long ago and it had been uninhabited since.
Moving to the edge of the ridge, they spotted their destination. In the distance (about an hour down the path) they could see a massive steading built to accommodate creatures the size of giants.
The group decided to move closer before they formed a real plan of action. They stalked towards the steading and got close enough they could hear festivities going on inside. As they had approached, they noticed no patrols of guards outside the steading. Shadow Walker moved ahead to scout the outside of the steading for the group. He identified two gates into a courtyard in the northeast corner and a third giant into a courtyard in the south. The southern courtyard had a tower alongside its outside and Shadow climbed it. Inside the tower, he saw a drunken hill giant passed on and two more slumbering giants in the lower courtyard.
Shadow returned to the group and informed them of what he had found. They choose the southern courtyard with the tower as their "in" and pressed forward. When they reached the courtyard, Shadow climbed the tower again while Cara hoisted Kargarn on her back and flew over the wall (using her flying boots). The pair quietly removed the beam which barred the gate and let the rest of the group into the courtyard (with help from Chunt to open the large gate).
Quietly coordinating an attack, they slew the three giants as they slept. Along the northern wall of the courtyard were three doors, two smaller doors on the left and right and a double door in the middle. The sounds of the festivities were loudest at the center door so they decided to enter through the left door.
The door opened into a hallway with lit sconces lining the walls. The group moved quickly and quietly and Shadow used his magical abilities to snuff out the illuminating flames in the hallways (everyone in the party had darkvision and did not need the light). In the first section of the steading, they found a trip of common rooms filled with beds. They only took a small amount of time to search the rooms (and found a box with rotting ears and an earring in one of them), opting to move quickly while they could.
At the end of the long hallway between the common rooms, they found a final door leading into the next session. They threw open the door and found a kitchen filled with giants, ogres, and orcs.
Posted on November 21, 2019 0 By michaeloholland	Dungeons & Dragons Posted in Dungeons & Dragons, Game Recaps, Roleplaying Games
michaeloholland
Michael is a writer, gamer and life long fan of all things science fiction and horror.
Next Post Against the Giants: Chapter 1, Part 1
Previous Post Against the Giants: Chapter 1, Part 3
Zen Impressions – Dungeon Crawl Classics
Heroes Unlimited: Riff
Against the Giants: Chapter 1, Part 11
Follow these meditations via email.

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: is it ok this connection string for access since any computer (using Internet) well I need to have access since another place (using internet) but I don't have another PC for I see if this is OK ... I do have the connection since here myself computer, but I am going to need if I have a connection since another computer to my database, or do you know any another form? (it is for a windows application)
here my class connection because you watch if it is ok..
namespace Coneccion
{
    class Conexion
    {
        public SqlConnection conectar()
        {
            SqlConnection con = new SqlConnection(@"Data Source=server,1433;Failover Partner=ip;Initial Catalog=database;Persist Security Info=True;User ID=login; Password=password; Asynchronous Processing=True;TrustServerCertificate=True;Network Library=dbmssocn;Workstation ID=pc;User Instance=False");
            return con;
        }

        public void EjecutarConsulta(SqlCommand comando)
        {
            comando.Connection.Open(); // abrimos la conexion
            comando.ExecuteNonQuery(); // ejecutamos la consulta
            comando.Connection.Close(); // y cerramos la conexion
        }
    }
}

A: Maybe this code getting some error in another computer.
TrustServerCertificate=True

But rest of the code is OK.

A: also
using(var cmd = connection.CreateCommand()){
  cmd.Open();
  // do some query.
} // using will automatic close the command


text:
Jessie Bernard
BERNARD, JESSIE (1903–1996), U.S. sociologist and feminist. Born Jessie Sarah Ravitch in Minneapolis, Minnesota, the daughter of Jewish-Romanian immigrants, Bernard received B.A. (1923) and M.A. (1924) degrees from the University of Minnesota. Her M.A. thesis was entitled "Changes of Attitudes of Jews in the First and Second Generation." In 1935 Bernard earned a Ph.D. from Washington University in St. Louis. In some of her work Bernard collaborated with her husband, Luther Lee Bernard, a professor of sociology whom she had met at the University of Minnesota. Bernard spent many years on the faculties of Washington University and Pennsylvania State University. In her early career she researched issues relating to Jewish life. Later, her concerns focused on the family, sexuality, and gender. In her sixties Bernard became an ardent advocate of feminism; she was an influential figure who was regarded as a role model for younger women. She served as president of the Eastern Sociological Association and president of the Society for the Study of Social Problems; in retirement Bernard was a visiting professor at Princeton University. Among awards established in her name are the Jessie Bernard Wise Women Award of The Center for Women's Policy Studies and The American Sociological Association's Jessie Bernard Award for scholarly works dealing with the role of women in society, presented at the group's annual meeting. Among Bernard's publications are Academic Women (1964); The Future of Marriage (1972); The Future of Motherhood (1975); and The Female World (1981). Bernard's books were often best sellers and frequently controversial. The Future of Marriage, for example, concluded that, while men thrived emotionally in marriage, women were oppressed.
R.C. Bannister, Jessie Bernard: The Making of a Feminist (1991); M.J. Deegan, "Jessie Bernard," in: Women in Sociology: A Bio-bibliography Sourcebook (1991); Obituary, New York Times (Oct. 11, 1996).
[Libby White (2nd ed.)]
Source: Encyclopaedia Judaica. © 2008 The Gale Group. All Rights Reserved.


text:
Leaders are Readers
About CiD
What is Cultural Heritage
Why Cultural Heritage
Cultural Heritage & Development
Common News
Discussing Culture & Crisis
Discussing Culture & Development
Discussing Looting
Dossier Heritage Afghanistan
Dossier Heritage Egypt
Dossier Heritage Greece
Dossier Heritage Libya
Dossier Heritage Mali
Dossier Heritage Syria
Heritage Africa
Heritage Asia
Heritage Middle East
Heritage the Americas
You are here: Home News Heritage Africa African cultural heritage fight with the West fuelled by national identity
Heritage Conflict Cambodia-Thailand
Heritage Japan
Heritage Iraq
Heritage Tunisia
Heritage Haiti
Heritage Chili
Klik hier om deze tekst aan te passen.
Building cities' resilience to disasters: protecting cultural heritage and adapting to climate change
African cultural heritage fight with the West fuelled by national identity
Published on 12 May 2010
Author(s): Afrik.com/Alicia Koch
Type: Comment
African cultural heritage, nationalism and the West. Balancing the thin lines or lines
The question of African cultural heritage in the West is still hanging in the balance. Should their valuable artifacts remain in European and North American institutions that possess the necessary preservation techniques and means or should they be returned to their country of origin where they could forge a much needed sense of national identity? Shock waves created by the international conference on the protection and restitution of "looted" Cultural Heritage which took place in Cairo, April 8, and led by Zahi Hawass, secretary general of the powerful Egyptian Supreme Council of Antiquities, has revived a debate that has long been relegated to furtive whispers.
At a time when the Barbier-Mueller Museum in Geneva, known for its remarkable collection of primitive art, has decided to give back a Makonde mask that has been in its possession since 1985 to Tanzania, the issue of the restitution of sacred African artifacts could not be more sensitive. Stolen from a museum in Dar Es Salaam, in 1984, the mask found its way into the prestigious Swiss museum where it was kept for 25 years! Given back to the Eastern African country officially as a "gift" at a formal ceremony held under the auspices of the International Council of Museums (ICOM) in Paris on Monday, the mask is well on its way back to its ancestral abode. This marks a further step in the process of the restitution of looted artifacts to Africa.
Spearheading this fight, Zahi Hawass, secretary general of the Egyptian Supreme Council of Antiquities, is hellbent to make life difficult for Western museums. After mobilizing 25 countries to fight for the restitution of artifacts "looted" during colonization at an international conference that took place in Cairo Thursday, April 8, Mr. Hawass is intent on being heard. At the conference he called for a strengthening of international cooperation and legal frameworks and judicial protection of heritage. But although he recognized that states that were present at the conference "agreed to fight together", they had not agreed on a specific joint action plan.
Nonetheless, Zahi Hawass, on behalf of Egypt, requested the return of six valuable Egyptian artifacts exhibited in museums throughout the world: "the Rosetta Stone at the British Museum, the Nefertiti bust in Berlin, the Zodiac ceiling in the Louvre, the statue of the Hemiunu in Hildesheim, the statue of Ankh-haf at the Museum of Fine Arts, Boston, and the statue of Ramses II in Turin". According to him, Greece also "wants the Parthenon marbles back from the British Museum." These artifacts, needless to say, are capital to the historical and cultural representation of their country of origin. However, not all artifacts in foreign hands are being claimed. "We are only asking for artifacts that were stolen, looted, that were taken out of our country illegally. Museums, both Western and African, agree with the Code of Ethics established by the ICOM. If a museum buys a stolen item, it should expect a restitution request from the country deprived of its property," said Abdoulaye Camara, former curator of African art in Dakar.
Nigeria and Libya
Various countries have followed in the footsteps of Egypt and sought the return of some of their artifacts. A return symbolic of an identity renaissance at a time when many African countries are celebrating their 50 years of independence. Nigeria has made a wish-list that include a mask of Queen Idia currently at the British Museum in London, and a bronze head of Olokun in Frankfurt. In Libya's case, this is not the first time that such an action has been undertaken. In 1989 the northern African country requested from Italy the restitution of the Venus of Cyrene, a white marble statue that dates from the second century AD. The Venus was only returned in April 2007. Libya is now requesting the Louvre Museum (Paris) and the British Museum (London) to return, among a variety of unspecified artifacts, the statue of Apollo.
The British Museum, the Museum of Tervuren, the Metroplitan Museum of Art, New York, The Smithsonian Museum's African Art section, the Louvre and more recently, the Musée du Quai Branly, also called "museum of primitive arts", to name but a few, all have large sections devoted to African art. Although these museums have largely contributed to the value of some of the African artifacts in the West, these are not valued as such and are robbed of fitting displays. Deprived of their original context, or any explanation whatsoever, most of these artifacts are left on their inanimate own to express their value and history to the curious eyes of novice visitor.
Cultural heritage and national identity
Representatives of these large institutions were however absent from the Cairo conference, although they had been invited by Zahi Hawass. Their absence, according to many analysts, was probably due to the fear of losing the contested artifacts from their museum collections. Affected by a fear that is based on what one might call a "lack of trust" in African museums, African countries now want to see their antique treasures returned. And all these requests for restitution have been based on a common premise: to find a piece of the country's history, consolidate national identity around a common heritage.
But this leitmotiv, many believe, has not found a common voice. The Sudanese, for instance, "consider it an opportunity to showcase their antique treasures," says Michel Baud, head of the Sudan-Nile section, and curator of Meroe exhibition at the Louvre museum. This comes after an invitation from Sudan asked the Louvre Museum to "share the discoveries made at the Meroe excavation site." An initiative that aims to facilitate loans for several years and afford a rare opportunity to restore excavated objects from the Meroe site in Sudan. They believe that the deal allows them to "place their cultural heritage into good hands" while showing them to the Western public. Analysts believe that while the Egyptian initiative concerns the restitution of "looted" artifacts, the Sudanese initiative is based on mutual understanding.
Restitution requests have always been complex and often unsuccessful. Some have been successful after long negotiations, needless to say. In 1991, staff at the Elysée (french presidential palace) offered former French President Jacques Chirac a magnificent Ram of unknown origin. But archeologist Jean Polet recognized the object. In fact, he had seen it some years earlier on the Thial archaeological site in Mali. The site had suffered massive looting by the villagers who saw an unexpected opportunity to earn money. Later, a media campaign in Mali that sought to recover the Ram was themed: "Chirac give our sheep back!". The Ram can now be found at the Bamako Museum, where it has been since January 1998.
A second and much poignant example is the case of the Hottentot Venus. Brutally torn from her homeland, South Africa, Saartjie Baartman toured Europe, where she was exhibited as an animal at freak shows. She was also forced into prostitution. After her death, the South African woman's corpse was cast in plaster and and later dissected with her private parts kept in formalin. She was nicknamed The Hottentot Venus and displayed at the Museum of Mankind (Musée de l'Homme) in Paris. It was not until 1994 that South Africa requested the body of the young woman. The southern African country had just been reborn at the polls and needed to reclaim a piece of its past to forge a powerful sense of common identity.
Temporary stop of News
Due to heavy workload
Syrian violence threatens ancient treasures
We emptied Syria's museums
Comics from Syria
Syrian Messengers
Mali's ancient treasures are too valuable to be buried again
The ancient manuscripts of Timbuktu are a door into Africa's golden age. We must not let this crisis threaten their survival
People of Timbuktu save manuscripts from invaders
These manuscripts are our identity
Ancient Homer tablets the latest invaluable artifacts stolen in Syria
Mosaics depicting scenes from Homer?s epic poem The Odyssey.
Cultural Property Again in the Propaganda War in Syria
Press, reigime and propaganda
Live Blogging from Bhutan
International Conference on Protection of Cultural Property in Asia
HomeAbout CiDCultural HeritageDisaster ManagementPublicationsNewsContactGallery
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License - CMS & Webdesign by Footsteps


text:
WHAT HAPPENS TO YOUR BRAIN IF YOU STOP TAKING SUGAR?
After this testimony, you will decide whether to deprive yourself of candy for the next 40 days.
Sugar detox is one of those healthy trends everyone talks about, especially since the publication of titles like 'The sugar detox' by Brooke Alpert, a dietitian who openly declares that sugar makes you fat, ugly and old. The latest studies indicate that it is one of the main causes of heart disease and premature cellular aging. But can we stop using it, given its high addictive power?
The scientist Jordan Gaines Lewis has decided to give up the sweet during Lent and see, in the first person, how her brain acts. In neuroscience," she begins by explaining in an article in The Conversation, "food is a natural reward. To survive as a species, things like eating, having sex, and caring for others must be pleasurable for the brain for these behaviors to be reinforced.
Not all foods are equally rewarding and, if we are given a choice, we tend to opt for sweet rather than bitter, which provides a healthy source of carbohydrates needed by the body. But, according to Gaines, we're overdoing it. A British citizen, for example, consumes about 238 teaspoons a week. Let's not forget that sugar is invisible in countless processed and prepared products. They remain silent, but they make us get hooked, just like nicotine, hijacking the brain's reward circuit.
Gaines knows from his knowledge and the testimonies of others who have already experienced the sugar-free diet in Lent in previous years that the first few days will be difficult, just as if it were a drug detoxification process. "I found myself taking a lot of carbohydrates to make up for the lack of sugar," says his friend Andrew, who confesses that he was never able to stop the sweet craving, even if it was psychological. After the first week, the temptation seems to have subsided.
The Feared Withdrawal Syndrome
A team of neurologists from Princeton University found in rats undergoing a sugar detoxification protocol that abstinence caused them symptoms such as tooth grinding, leg tremors and head shaking. In a similar experiment with a swimming test, the rodents from which the sugar was extracted showed, in a risky situation, a more passive behaviour, such as floating in the water instead of escaping. A third test, this time coordinated by Brazilian psychologist Víctor Mangabeira, made it possible to link the lack of glucose with impulsive behavior.
Although extreme, these animal studies give an idea of the neurochemical basis of sugar dependence and abstinence behaviour. It is reassuring to know that Andrew, Gaines' friend, after 40 days of candy deprivation, had overcome the worst. Even when he took his first whim, he came to think he was "too sweet.
Published in HEALTH & BEAUTY
More from HEALTH & BEAUTYMore posts in HEALTH & BEAUTY »
How to protect and revive your hair this summer
Hair transplant in Turkey: Innovative new procedures are giving the best results
A woman unable to feel pain
Second Potential Male Contraceptive Pill Passes Human Safety Tests


Inspired by Kiehl's apothecary heritage and the traditional uses and applications of powerful herbs, Kiehl's chemists proudly introduce the new Cannabis Sativa Seed Oil Herbal Concentrate – a lightweight, calmative, non-comedogenic facial oil that helps to improve the appearance of skin prone to imperfections such as visible redness and discomfort.
The non-acnegenic formula with 100% naturally-derived ingredients including Cannabis Sativa Seed Oil and Green Oregano Oil, helps balance hydration and relieve the feeling of stressed skin. Kiehl's considers ingredients to be naturally derived if they retain more than 50% of their molecular structure after being processed from a natural source.
Cannabis Sativa Seed Oil Herbal Concentrate, with 60% Cannabis Sativa Seed Oil, helps visibly reduce skin redness and provides skin with relief from discomfort after one use, while helping to strengthen the skin barrier, encouraging more resilient, healthier skin over time. It even improves skin's hydration levels for a full 8 hours.
Containing only 13 ingredients, including an herbal blend of botanical and essential oils, the formula has been expertly calibrated to ensure both potent efficacy with a lightweight, fast-absorbing application.
Cannabis Sativa Seed Oil is known for its emollient and soothing benefits. Kiehl's Cannabis Sativa Seed Oil, sourced in Germany, is cold pressed from hemp seeds and has a natural green color.
Green Oregano, a perennial herb, is obtained via steam distillation from the flower portion of the botanical herb. Well-known for its anti-oxidant properties, this ingredient has been traditionally used as an antiseptic and skin soother and in this formula, Green Oregano Oil helps to revitalize and relieve problem-prone skin.
Cannabis Sativa Seed Oil Herbal Concentrate is rich in unsaturated fatty acids and helps soothe the skin. The formula as a whole has been demonstrated in an instrumental study to strengthen the skin barrier and helps to keep problem skin looking healthy by reducing the look of visible redness and the feeling of discomfort.
It was tested1 for safety on sensitive skin, is non-acnegenic and non-comedogenic, and is appropriate for all skin types.
Kiehl's Cannabis Sativa Seed Oil Herbal Concentrate, $49, is available at Kiehl's stores and Kiehls.com.


text:
SELECT `name`, `size`, `url`, `_class` FROM `PipelinelatestRunartifacts` WHERE 1;

--
-- INSERT template for table `PipelinelatestRunartifacts`
--
INSERT INTO `PipelinelatestRunartifacts`(`name`, `size`, `url`, `_class`) VALUES (?, ?, ?, ?);

--
-- UPDATE template for table `PipelinelatestRunartifacts`
--
UPDATE `PipelinelatestRunartifacts` SET `name` = ?, `size` = ?, `url` = ?, `_class` = ? WHERE 1;

--
-- DELETE template for table `PipelinelatestRunartifacts`
--
DELETE FROM `PipelinelatestRunartifacts` WHERE 0;

redpajama_set_name: RedPajamaGithub


$13.97 $27.95 Save 50% Current price is $13.97, Original price is $27.95. You Save 50%.
Winner of the Pacific Book Award—Best Cookbook!
Paris Picnic Club: More Than 100 Recipes to Savor and Share 4 out of 5 based on 0 ratings. 1 reviews.
If you were in Paris on a Friday and were looking to have lunch near Versailles, then Friday Lunches, the Paris Picnic Club was your go-to option. In an attempt to capture the spirit of those picnic meals, and which later grew into dinner parties, the Paris Picnic Club book was created. The idea is to create an easy casual fun meal you could eat anywhere. Using locally sourced ingredients and cooking to order they created packed baskets of delicious meals to share in parks or anywhere in the city. The food is all designed to be as welcome on a picnic blanket as they would be on a formal dinner table. The introduction not only explains the concept of the Paris Picnic Club but also goes on to explain their concept of cooking, cooking in France, and the pantry essentials required. The recipes themselves are separated into unique categories including: Small Plates Sharing Platters Bread, etc. Tartines Desserts Drinks Le Pique-Nique Basic Recipes The first recipe chapter, Small Plates, features recipes which might be found in a wine bar in Paris. These are plates to share with others while enjoying a glass of wine. The next chapter Sharing Platters, for sharing with larger crowds. Other recipe categories are fairly self-explanatory. Le Pique-Nique is a few picnic-style lunch ideas, supper menus and a list of favorite picnic spots around Paris. The basic recipes category gives you several recipes you will need for things like stock and other ingredients for the recipes in the book. Hits The Mark If you want to create the French experience, this is the book you will want. The recipes may draw from other influences as well but they do maintain that French "je ne sais quoi". It was somewhat disappointing that there were no photos of any of the finished results but the hand-drawn ingredients sprinkled throughout were lovely. I also found it odd that the chapter with the menu suggestions is at the end, rather than the beginning, but that doesn't detract from the joy of the book. See the full review and the recipe for Pain De Mie at The RecipesNow! Reviews And Recipes Magazine. This review is written in response to a complimentary hard copy of the book provided by the publisher in hopes of an honest review.


- Convenient to disassemble and assemble.
- Super long battery endurance.
1. Upgrade double sensor for faucet, two sets of sensing areas, two water modes, 0.25 second fast induction.
2. Drains water inductively by IR, reducing touch pollution.
3. First-class water efficiency, energy saving and environmental protection.
4. Simple design style, adapt to various home styles.
5. 6 sets of adapters, meet your different needs.
- When the sensor enters the bottom sensing area (within a limited distance of 10 cm), the water began to flow out. When the sensor leaves, Water stops flowing out.
- When the sensor enters the side sensing area (within a limited distance of 5 cm), the water began to flow out. The current lasts for three minutes, and the water remains flow out even if the sensory object leaves. If the sensor enters the side sensing area again during the water flow process, the water can be stopped at any time.


text:
AP Women's Body Wants Charges Against Onlookers in Vizag Rape Case
by	Poorvi Gupta
Following the rape of a poor woman on the streets of Vishakhapatnam (Vizag), the Andhra Pradesh Women's Commission on Wednesday lashed out at the onlookers. The women's commission wants charges against the spectators and those who videotaped the awful crime. It is reported that a crowd had gathered and a few men also recorded the criminal act, while no one tried to stop the perpetrator from raping the woman in broad daylight.
Commission Chairperson Nannapaneni Rajakumari spoke on the issue. She said that the legal system should also punish those who watched the crime in broad daylight and walked on. Rajakumari asserted that there is no difference between the person who committed the crime and the mute spectators. She urged the police to file charges against the onlookers by using CCTV footage to identify them.
"We will ensure that the accused receives stringent punishment for the act and also request Chief Minister Chandrababu Naidu to offer compensation ranging between Rs 5 lakh and Rs 10 lakh to the victim"
Police have identified an auto driver in this case who was watching the rape and recorded it too on his phone.
"We will ensure that the accused receives stringent punishment for the act and also request Chief Minister Chandrababu Naidu to offer compensation ranging between Rs 5 lakh and Rs 10 lakh to the victim," she added, Indian Express reports.
ALSO READ: Supreme Court Says Sex With Wife Below 18 Is Rape
She has also promised medical care and shelter to the victim. "This case should lead to awareness so that such incidents do not happen again," she told reporters in New Delhi.
Rajakumari has also written to the Prime Minister to constitute a separate censor board for television serials.
"In the films of the good old days, the industry portrayed women as an embodiment of endurance. But now they portray women negatively in TV serials. I request the Prime Minister to take the necessary steps in constituting a censor board for TV serials," she said in the letter, which she also sent to Union Minister Smriti Irani.
Earlier on Sunday, a drunk man allegedly raped a 40-year-old near a busy road in Vishakhapatnam. The auto-rickshaw driver's footage shows many mute spectators of the heinous act and quite a few people recording it too.
The auto driver then called the police, said Visakhapatnam's Assistant Commissioner of Police (East) A Narasimha Murthy. The ACP also said that the police have detained the auto-driver.
Picture credit- Democratz News
Andhr Pradesh Women's commision
Nannapaneni Rajakumari
Rapes in India
Vishakhapatnam rape case
Swati Maliwal, DCW Chief Writes To PM Modi On Bill For Women's Safety
Mardaani 2 Review: This Film Will Disturb And Grip You At The Same Time
Kathua Rape Victim's Family Drops Deepika Singh Rajawat As Lawyer
Indian-American Girl sends Video Clip to PM; Says Won't Visit India
Nationwide Protests Seeking Immediate Justice for Kathua & Unnao


Description	 When I try to run all tests in 3.10alpha.7105, the image often crashes. Sometimes I can run the tests once, but the second time I run them then the system crashes. The problem is that a TTCFont has itself as its "fallbackFont", and this causes infinite recursion in methods like #ascent. I fixed #ascent but something else broke.
receiver's fallbackFont to the default font."
Diego gave me the a .cs file with two changed methods. This solves the problem for me.
Now I can run tests over and over without any problems, though several tests fail that did not fail before.
related to 0006664 assigned andreas TTCFont>ascent can be infinitely recursive.
I fixed another recursive font problem, and now the font tests in beta.7143 run without crashing.
As Jerome said in 000664, not only are StrikeFone and TTCFont recursive (because they depend on a fallbackFont) but also FixedFaceFont is recursive, because it has a baseFont. It turns out that StrikeFonts often have a nil fallbackFont, but a FixedFaceFont and a TTCFont always depend on another font. FixedFaceFont is written so that it is ovbvious that its baseFont is never nil, but a lot of the code in TTCFont checks for a nil fallbackFont, so it looks at first glance like its fallbadkFont is option. However, the fallbackFont method creates a default fallback font if it doesn't have one, so in fact each TTCFont depends on another font.
One solution might be to change TTCFont>>fallbackFont to not create a default font. However, I took a different approach. I changed it so that the default font is always a StrikeFont. I changed both StrikeFont and FixedFaceFont so that their default font is StrikeFont. Perhaps I should have changed TTCFont as well, but it continues to use the default font (which is often a TTCFont) as its default fallback font. You can make a StrikeFont or a FixedFaceFont depend on a TTCFont if you want, but it will no longer happen by default when you switch the default font to be a TTCFont.
The font classes could use a rewrite. I agree with Andreas that TTCFont and StrikeFont shouldn't have a fallbadkFont but the system should instead use the Composte pattern to specify that characters not defined by one font should be defined by another. However, i did not do that.
I think your fixes patch the symtoms but are not the correct fixes.
As long as a TTCFont exists in the system it should probably be allowed as a default font. The repair should be to the TTCFont message code so that if follows the assumptions and rules that the same messages in other polymorphic classes follow.
The messages that TTCFont uses should be repaired to not be infinitely recursive. (i.e. test for exit case first before using a potentially recursive method.) And the rules that it (and all the other fonts) need to follow need to be stated explicitly somewhere. So coders can find them.
What you have done here is a work-around which hides the problem rather than fixing it.
I'll let others decide if that is ok. And I acknowledge that under time constrains a patch may be all that can be achieved.
Still I hope someone would give a run at the true fix. Or at least add pieces of the fix to a report until there is enough to attempt a non-limiting solution.
On the one hand, I agree that I patched the system, and it probably needs a rewrite. On the other hand, I think I understand the system pretty well and that my patch fits in with the design.
TTCFonts *are* allowed as default fonts. That is why the default font is not the default backup font for TTCFont.
TTCFont is different from StrikeFont, even though they both have backup fonts. The TTCFont backup font is mandatory, while the StrikeFont backup font is optional. Neither classes have an explicit base case. The base case is a StrikeFont or a TTCFont with no backup font. Since a TTCFont must have a backup front, it cannot be the base case. Only a StrikeFont can be the base case.
TTCFont and StrikeFont are both examples of Chain of Responsibility. The end of the chain will always be a StrikeFont with no backup font.
Although a lot of the code in TTCFont implies that backupFont is optional, in fact methods like #glyphInfoOf:Into: assume that it is required. So, changing TTCFont to make the backup font optional would require more than just changing the #backupFont method.
Our objectives are aligned but different. I need to satisfy my curiosity as to what the bug (or design flaw) really is, while you are in need of a way to proceed with 3dot10.
I learned something I needed to know from your reply.
I hadn't realized that backup fonts and fallbackfonts were not the same. There are probably some font code coders who out there in the same boat.
I am aware of two things.
The fonts have had many cooks.
Lots of bugs were introduced because the i18n coders had an incomplete picture of what the fonts were about and what invarients needed to be met. No one did testing until complaints were raised.
I question whether TTCfonts need a backup font. It seems to me the lesser constraint is that there need to be backup glyphs.
The other curiosity I have is that of preserving font state thru a test. What base states have to be pushed before and popped after a test to insure global font state is back to normal. The tests don't say. My attempt with tiny and large fonts proved inadequate. The answer to this curiosity would permit better font testing.
[ot] but relevant. Toggling the tinyfont preference takes several seconds. This is a symptom of something not right in the font changing code. My current notion is that at the toggle point many strikefonts or font images are being generated. It's another indication of where to look for suspects.
Ah well,, its late and I already put in my squeak time today on a different project.
I'm sorry for being confusing. I should have said "fallback font" instead of "backup font". They mean the same thing to me.
The point I was trying to make (and I seemed not to have made properly) is that the problem is not any one object, it is the relationship between objects. Perhaps TTCFont shouldn't assume that it has a fallback font. But it does, and so it is important that the default backup font not be a TTCFont.
The problem with tests changing information about fonts is that some tests change the default font. They need to set it back. That is one of the many problem with Singletons; they make testing harder.
The distinction I think I was concerned with was between a "fallback font" and a "default fallback font". There seems to be a distintion needed there to prevent infinite recursion.
The relationship among fonts is very muddled. That's what confused and confounded me in my first attempt at a fix. The assumptions behind the broken code were so confusing that my first guess at a fix was far enough off to break things elsewhere.
Part of the problem is my notion that "code should not be so complicated or clever that it can not be understood at a glance". That's obviously an ideal but when I run into code that defies that principle too much I know there is serious trouble either already present or in the future.
The protocol for the font messages were not correctly understood by the modifiers of the code.
Part of the way out of this is that parrallel messages should be of similar complexity. #ascent violated this because it was usually just a straight forward accessor and TTCFont made it a lazily initialized method. There are other problems introduced by the coders e.g. the accuny strike font for large sizes renders spaces with unwanted glitches.
When you get careless coders modifing clever code lots of clever bugs result.
I haven't looked at the font stuff in a while. I will do so when I get a moment free. Then I'll see if I've learned anything useful since last time.
I think I did notice that there was a way to reinitialize the font defaults to their original values. It occured to me that that would be saner than letting the test just change them. Its not an ideal push and pop of the required state but its close enough for goverment work.
I very sorry to report fileIn the two change sets made the image go limbo when running the complete test.
I look my old notes about this for clues.
Can you be more specific about what broke.
When did the image go into limbo.
Is there any one test that can cause that problem?
Any debug logs or space-low logs come out of the problem?
Though the issue has not been marked both of these changes have made it in to 3.10 (and 3.10.1).
I am convinced that these patches are very poor work arounds for the real problem which it that TTCFonts needs to be writen to avoid recursion.
In particular ascent needs to return to being a simple accessor.
And setting fallbackfont needs to update the value of ascent and maybe a few other things that rely on it.
Harvested in updates 7122 and 7148 and released with Squeak 3.10.


text:
Alternative Legal Provider
Bar Regulation
Bloomberg Biz of Law Summit – Live
Cool Legal Conferences
Do Less Law
eDiscovery and Litigation Support
Innovation and Change Management
Interesting Technology
Law Departments / Client Service
Law Factory v. Bet the Farm
Law Firm Service Delivery
Law Firm Staffing
Legal market survey featured
Legal Process Improvement
Legal Secretaries – Their Future
Legal Tech Start-Ups
Low Cost Law Firm Centers
Management and Technology
Notices re this Blog
Structure of Legal Business
Archives Select Month August 2020 July 2020 June 2020 May 2020 April 2020 March 2020 February 2020 January 2020 December 2019 November 2019 October 2019 September 2019 August 2019 July 2019 June 2019 May 2019 April 2019 March 2019 February 2019 January 2019 December 2018 November 2018 October 2018 September 2018 August 2018 July 2018 June 2018 May 2018 April 2018 March 2018 February 2018 January 2018 December 2017 November 2017 October 2017 September 2017 August 2017 July 2017 June 2017 May 2017 April 2017 March 2017 February 2017 January 2017 December 2016 November 2016 October 2016 September 2016 August 2016 July 2016 June 2016 May 2016 April 2016 March 2016 February 2016 January 2016 December 2015 November 2015 October 2015 September 2015 August 2015 July 2015 June 2015 May 2015 April 2015 March 2015 February 2015 January 2015 December 2014 November 2014 October 2014 September 2014 August 2014 July 2014 June 2014 May 2014 April 2014 March 2014 February 2014 January 2014 December 2013 November 2013 October 2013 September 2013 August 2013 July 2013 June 2013 May 2013 April 2013 March 2013 February 2013 January 2013 December 2012 November 2012 October 2012 September 2012 August 2012 July 2012 June 2012 May 2012 April 2012 March 2012 February 2012 January 2012 December 2011 November 2011 October 2011 September 2011 August 2011 July 2011 June 2011 May 2011 April 2011 March 2011 February 2011 January 2011 December 2010 November 2010 October 2010 September 2010 August 2010 July 2010 June 2010 May 2010 April 2010 March 2010 February 2010 January 2010 December 2009 November 2009 October 2009 September 2009 August 2009 July 2009 June 2009 May 2009 April 2009 March 2009 February 2009 January 2009 December 2008 November 2008 October 2008 September 2008 August 2008 July 2008 June 2008 May 2008 April 2008 March 2008 February 2008 January 2008 December 2007 November 2007 October 2007 September 2007 August 2007 July 2007 June 2007 May 2007 April 2007 March 2007 February 2007 January 2007 December 2006 November 2006 October 2006 September 2006 August 2006 July 2006 June 2006 May 2006 April 2006 March 2006 February 2006 January 2006 December 2005 November 2005 October 2005 September 2005 August 2005 July 2005 June 2005 May 2005 April 2005 March 2005 February 2005 January 2005 December 2004 November 2004 October 2004 September 2004 August 2004 July 2004 June 2004 May 2004 April 2004 March 2004 February 2004 January 2004 December 2003 November 2003 October 2003 September 2003 August 2003 July 2003 June 2003 May 2003
Improve law practice efficiency + law firm business operations
List of Published Articles
Articles by Cateogry
Managing Legal Tech
The Future of Legal Tech
Online Legal Service
Outsourced Legal Services
R&D + Innovation in Big Law
Back to the Future: A History of Legal Technology
Home > Back to the Future: A History of Legal Technology
A History of Legal Technology
By Ron Friedmann
This article first appeared in AmLaw Tech, December 2004 (free registration required for access to article at American Lawyer Media web site).
For Sidebars (short companion pieces), click here.
ABSTRACT: Legal technology always comes back to documents and how to manage them. A look at 25 years of technology in large law firms.
The start of the computer revolution in law begins in 1973, when Lexis invented the red "UBIQ" terminal to let lawyers search case law online rather than laboriously pore through books. The revolution quickly moved from document searching to document creation when Wang introduced a computer dedicated to word processing. By 1979, when The American Lawyer first published, many law firms had purchased Wang or similar machines, placing them in central word processing departments where they could be used virtually nonstop. Around the same time, firms also started buying fax machines.
Though lawyers seldom used these machines personally, the impact was considerable-the pace of practice accelerated noticeably. The days of carbon paper and of manual cutting and pasting vanished. Turnaround for new drafts was much faster. Fax and FedEx, then relatively new too, sped the delivery of documents to clients.
Throughout the past 25 years, legal technology trends have come and gone and sometimes circled back to repeat themselves. We are now, for example, witnessing a return to centralized computing [see "Skadden Central," page 32]. Through the quarter century, the constant pulse is the desire of lawyers and firms to find, manage, and manipulate documents. Some things in the practice of law just never change.
Advent of the PC and Early Issues
In 1981 IBM released its "Personal Computer," the first widely selling desktop computer for ordinary business users. Adventurous lawyers began to learn word processing so they could type their own documents. Some used spreadsheets to calculate damages, negotiate settlements, or analyze securities trading patterns. These early adopters had to learn at least a little DOS, the original disk-operating system famous for its mysterious "C:>" prompt.
The PC created limitless possibilities for "applications." Some were created specifically for lawyers: deposition searching or document assembly (for automatically creating documents). Others were created for broader markets and adopted by lawyers: outliners to prepare for depositions, "personal information managers" to manage contacts and calendars, and databases to index discovery documents. With databases, legal assistants easily sorted documents by date and searched by name, simplifying significantly the process of pulling and copying relevant documents.
Firms that bought PCs early confronted some tough issues. PCs and printers were expensive, so allocating the hardware could be contentious. One solution was Tom Sawyer-esque: Make lawyers explain how they would use a PC, and only those with the best answers got one. Another issue was support: Even though most early lawyer-users were "techie" by today's standards, they needed support and training. Firms created help desks, staffing them with those who showed interest in and a facility for PCs.
Alternatives to the PC
PCs were not the only game in town-"minicomputers" were viable alternatives. For example, Davis Polk & Wardwell began its computing history in 1978 with Digital Equipment Corporation minicomputers running the UNIX operating system. The firm continued to rely solely on UNIX minicomputers from Pyramid and Sun until 1993, when it introduced desktop PCs networked to a Sun UNIX and Windows servers. Apple Computer, Inc.'s Macintosh computer was another option, and a couple of large firms-Chadbourne & Parke for example-were initially "Mac shops." The Mac pioneered a "graphical user interface," which avoided the need to learn commands. For better or worse, large firms eventually shifted to PCs.
Connecting PCs
PCs did not originally connect to one another, which presented two big problems. First, it was hard to share files among PCs. Thus was born "sneaker net," the shuttling of floppy disks from office to office by people. Second, printers-quite expensive then-connected to only one PC and were underutilized. Local area networks (LAN), which started spreading rapidly around 1985, solved these problems. They connected multiple PCs to a file server (a powerful PC), which allowed saving files to a network drive, thus making sharing easy. LANs also made it easy for many PCs to share a single printer.
Another benefit of LANs was e-mail. Many lawyers associate e-mail with the Internet, but numerous companies and some law firms used e-mail internally by 1990. In fact, it was possible (though arduous) to send e-mail outside of the office, across organizations.
The Windows Revolution
In 1992 Microsoft Corporation released version 3.1 of Windows that sold widely and eventually supplanted DOS. The legal market lagged in migrating to Windows, partly because of the expense of upgrading. Windows applications stormed many markets, while legal vendors focused on DOS upgrades.
Windows made it easier for most people to use the PC: The graphical interface (similar to the Mac) eliminated the DOS command line; WYSIWIG, short for "what you see is what you get" showed documents on-screen as they would look printed; and "task switching" allowed running multiple applications simultaneously (in contrast to one at a time in DOS).
Users had it easier, but tech staff had it harder. Setting up networks, configuring individual PCs, upgrading software, adding specialized servers, and providing remote dial-up access combined to create sophisticated systems that were hard to maintain. Law firms started hiring more staff to support growing PC use: network engineers, desktop specialists, and trainers, among others.
Computer Usage Expands
Word processing was the proverbial "killer app" for lawyers; it's why many lawyers agreed to use PCs. With the growing use of word processing came a proliferation of computer files and multiple versions of the same document. Document management software solved the problem by creating a central database of all documents that kept track of versions. It also required entering a client and matter number and title, which lawyers initially resisted doing.
In the early days of Windows, multiple vendors supplied applications and each had its own "look and feel." To make learning and using multiple applications easier, vendors offered "office suites" (a market that came to be dominated by Microsoft). Though many firms installed suites, lawyers were slow compared with other professionals to go beyond word processing.
The growing number of users and movement toward a more standard look and feel created a large market for applications developers. By 1995 a range of Windows legal applications were available, including case management, time and billing, docketing, and a range of specialized tools for various practices such as real estate and IP.
At the same time, decreasing prices along with increasing processing power led to new advances in litigation support. Vendors began scanning documents, converting them to images, translating images to computer readable text, and providing systems in which lawyers could search the text and view the "hits" as images on-screen.
Surfing into a Revolution
In 1995 Microsoft released Windows 95, and it seemed technology was entering a period of relative tranquillity. Few suspected that a revolution was coming from a completely different quarter.
A 1994 front-page article in The New York Times described software called Mosaic, a "browser" that allowed searching of the "World Wide Web." That development eclipsed Windows 95 because it led to the Netscape browser, which in turn pressured Microsoft to develop Internet Explorer, and eventually led to an emphasis on Web interfaces.
Few new technologies have been adopted so rapidly or had such a great impact as the Internet and browser. "Web surfing" rapidly moved from exotic to commonplace; companies rushed to connect to the Internet and install browsers. Once connected, the leap to Internet e-mail was easy and fast.
Law firms, however, initially resisted the Internet. But a combin
ation of client demands to deal with e-mail and rapidly growing awareness of the Web caused most law firms to connect.
Law firm marketing was in its infancy at the time. As corporations rushed to create Web sites promoting their company and wares, law firms pondered. And pondered: Would clients visit a law firm Web site? Would potential recruits? It's hard to remember the hesitation now, but firms learned soon enough that a Web site was as necessary as a sign on the door.
"Web time" moved fast, and many companies-especially start-ups-went through generations of Web site design and functionality over a few years. E-commerce quickly became the goal, and "B2B" and "B2C" (business to business and business to consumer) Web transactions became the rage. Some forward-thinking firms, mainly overseas, explored offering interactive Web services. Many of these pioneering firms still offer them, but they did not live up to initial expectations.
Return to Sanity
With the dot-com bust of 2001, tech spending plummeted; the new mantra was doing more with less. Perhaps because most law firms were neither caught in the craze nor killed by the crash, they continued investing in technology. By early in the new century, it seemed that for the first time, many firms had infrastructure comparable to their corporate clients. Firms had learned that upgrades and tech support were a way of life, not onetime decisions.
To be sure, technology still raised challenges such as remote access, integration of disparate systems, and storing digital files. But unlike earlier struggles over fundamental questions about what direction to go, these were largely about practical considerations. In short, technology became woven into the fabric of law firms, just as had phones, faxes, copiers, and overnight delivery.
The bust did not spell an end to product development; new ones continue to come to market and law firms continue to adopt them. Perhaps foremost is the now ubiquitous BlackBerry and similar devices. E-mail, considered exotic just ten years ago, is now essential, and the BlackBerry allows lawyers and staff to send and receive messages from almost anywhere.
The spread of wireless handheld devices may reverse recent moves to equip many lawyers with notebook computers. As notebook prices dropped, many large firms began giving them to any lawyer requesting one. Now, however, lawyers on the road increasingly rely on much lighter-weight handhelds, so some firms now favor less expensive and easier-to-maintain desktop computers over notebooks.
On the software side, office suites have not changed much lately. But new product categories have emerged. For example, portals aggregate information from multiple sources into a single browser-based interface. And extranets allow sharing documents, calendars, contacts, and other information with clients and cocounsel. These products are still evolving; the current trend is to create "matter centric" views and provide access to most functions from Microsoft Outlook.
Specialized software keeps emerging. Unlike many litigation programs that organize documents, CaseMap organizes facts and arguments. West km applies the West indexing system to knowledge management efforts. Deal Proof helps lawyers review complex deal documents.
Not all the news is positive however: hackers, viruses, worms, spam, and spyware are front-page news and big problems. IT departments spend considerable resources combating these and remain ever vigilant to various threats.
Some threats are a direct result of the success of computers. With storage costs approaching zero and with most communication and documents originating from PCs, many businesses tend to save everything (even if only inadvertently). This has led to a host of e-discovery issues; litigators frequently must collect and review huge volumes of data. The litigation support industry has responded and vendors offer a wide array of services to deal with the digital miasma.
The Web revolution was likely a once-in-a-lifetime event, but change is nonetheless continuous. Extrapolating from current trends, it is clear that firms will continue to work on improving the ability to work anytime and anyplace and collaborate within the firm and with third parties. With the lawyer's computer desktop under control and the growing size of large firms, there is new interest in applying technology to automate back office functions such as opening new matters, clearing conflicts, and paying expenses.
Twenty-five years ago, it's hard to imagine anyone accurately predicting what the office of today would look like. If there is one key lesson learned from the last quarter century, it is that adaptation is more important than prediction.
inquiry@prismlegal.com
Ron Friedmann, a lawyer by training, has spent three decades in the legal market.
Ron's experience is well suited to help lawyers and legal operations professionals solve their toughest practice and business management challenges.
Blog Categories Select Category Alternative Legal Provider Artificial Intelligence (AI) Bar Regulation Best Practices Big Data and Data Science Blockchain Bloomberg Biz of Law Summit – Live Business Intelligence Contract Management Cool Legal Conferences COVID-19 Design Do Less Law eDiscovery and Litigation Support Experience Management Extranets General Innovation and Change Management Interesting Technology Knowledge Management Law Department Management Law Departments / Client Service Law Factory v. Bet the Farm Law Firm Service Delivery Law Firm Staffing Law Libraries Legal market survey featured Legal Process Improvement Legal Project Management Legal Secretaries – Their Future Legal Tech Start-Ups Litigation Finance Low Cost Law Firm Centers Management and Technology Notices re this Blog Online Legal Services Outsourcing Personal Productivity Roundup Structure of Legal Business Supplier News Visual Intelligence
WordPress Theme built by Shufflehound. Copyright © 2021, Prism Legal. All Rights Reserved.
Strategic Legal Technology Blog


text:
Homechevron_rightIndiachevron_rightIndian space scientist ...
date_range 6 Jan 2021 3:57 AM GMT
Indian space scientist alleges attempts to murder him using deadly poison
Image source: IANS
Chennai : A senior space scientist, who is retiring this month, alleges multiple attempts on his life by poisoning him—once with the deadly Arsenic Trioxide mixed with chutney.
Tapan Misra reportedly said the incident left him with a loss of blood to the tune of 30-40 per cent through anal bleeding.
That day on May 23, 2017 he was at the headquarters of Indian Space Research Organisation (ISRO) where he was attending a promotion interview.
"What followed was nightmare lasting for almost two years...Severe loss of blood to the tune of 30-40 per cent through anal bleeding. I barely could come back from Bangalore and was rushed to Zydus Cadila hospital in Ahmedabad," Misra said.
"Fatal dose was probably mixed with chutney along with Dosai, in snacks after lunch." he said.
"I have come out in public as I fear for my life post retirement. I am retiring this month," Misra, Senior Advisor at ISRO, told IANS.
"The motive appears to be espionage attack, embedded in the Government set up, to remove a scientist with critical contribution of very large military and commercial significance, like expertise in building Synthetic Aperture Radar," he said.
In a more serious allegation, Misra said: "I will also not rule out it also as a new modus operandi of adjusting seniority and clear me who was perceived as obstacle. Whatever may be the reason, it was a great shame for the country and our security apparatus."
Two former space agency chiefs could not be reached for a response, while one declined to comment on the allegations.
In a Facebook post, Misra wrote: "We, in ISRO, occasionally heard about highly suspicious death of Prof. Vikram Sarabhai in 1971. Also heard occasional doubts about sudden death of Dr. S Srinivasan, Director of VSSC (Vikram Sarabhai Space Centre) in 1999. Case of Shri Nambinarayanan in 1994 is well known. But I never thought that I will be at the receiving end of such mystery."
Misra went on to describe his ordeal following the poisoning: he suffered breathing difficulty, underwent unusual skin eruptions, skin shedding, loss of nails on feet and hands.
Alongside, he reportedly faced: " terrible neurological issues due to hypoxia, skeletal pain, unusual sensations, one suspected heart attack and arsenic depositions and fungal infections on every inch of skin and internal organs,"
According to Misra, treatment was received in Zydus Cadilla, TMH-Mumbai and AIIMS-Delhi over a period of two years.
"Famed forensic specialist, Dr. Sudhir Gupta told me that in his whole career, for the first time he was seeing a live specimen of a survivor of assassination attempt with fatal dose of assassination grade molecular As2O3. Otherwise his experience was limited to cadavers," Misra said.
According to Misra, one of the Directors of ISRO centres had told him on June 5, 2017 of the possibility of poison given to me. "Probably, I guess, he witnessed poison mixing in my food."
"On 7th June, MHA (Ministry of Home Affairs) security agency personnels met me and alerted me of Arsenic poisoning. I am thankful to them, as their info helped doctors to focus on exact remedy instead of scratching their heads with unusual signatures of my ailment," he said in his post.
Misra said he had learnt that this poison is given in molecular level suspension (crystal level is harmless) just after a heavy meal.
"It is a colourless, odourless, tasteless suspension and hence cannot even be suspected. It gets absorbed through stomach during food ingestion, kills RBCs (red blood cells) immediately to such large extent that the fine blood vessels are clogged, leading to heart attacks and strokes within two to three hours and the victim can easily be passed of as heart attack death," he said.
According to him, he did not take lunch that day and the amount of poison - mixed in chutney - was small quantity and the arsenic passed directly to colon region and most of them got ejected through bleeding.
"I pleaded with two successive Chairmen to help me in getting justice. Kirankumar tried his best to convince me that my earlier case of squamous cell carcinoma is resurrecting. I personally talked to Dr. Kasturirangan and Shri Madhavan Nair and they developed cold feet," Misra said.
The two past ISRO Chairmen A.S. Kiran Kumar and G. Madhavan Nair were not available for comment.
On the other hand, retired Chairman K.Kasturirangan declined to comment on the matter and told IANS that he was not with ISRO during that period.
In his post, Misra also that he was "bombarded with hundreds of threatening emails to keep my mouth shut", while he had barely escaped from a "massive explosive incident, in which Rs 100 cr lab was destroyed. This happened on 3rd May 2018".
Misra also alleged on July 19, 2019, an Indian American Professor of one of the topmost US universities suddenly appeared in his office and requested not to utter a word in future and as a quid pro quo, his IIT-K grandson would be accommodated in a top notch college in USA.
"I declined and he left my office at 1430 hrs. And my thirty plus years contributing career was consigned to sinecure position at 1630 hrs. on the same day. I was removed from all responsibilities, including SAC Directorship," Misra said.
He also alleged on July 12, 2019 -- two days before the scheduled launch of Chandrayaan-2 (which was however postponed to July 22) -- he was poisoned again, spent a long period in hospital, and is still under treatment.
Misra also alleged of a plan to defame him by doctoring the CCTV recording of his room on January 23 and 24 last year.
According to him, two incidents convinced him that the mysterious people who are after him and probably going to hit him hard before his retirement at the end of this month.
"All the signatures point to deliberate poisoning of my mentally challenged son with Covid 19. The poor boy, who cannot even speak or eat or carry out hygiene activities himself, had to be hospitalized for 10 days, followed by months of complications," he alleged.
Misra also said that there was another attempt to poison him with arsenic in September.
Expressing faith in the security apparatus, Misra however said: "But these mysterious men are much more equipped, trained, lethal and determined to snuff out living witness of the most shameful incident of Indian science."
"I put forward to Government, intellectuals and fellow scientists and my classmates and teachers, spread across the world, that all efforts should be made to keep me and my family safe and punish these mysterious men," he said.
IANS report with edits
TAGS:espionage ISRO


he Secure.calcch.com is just one of the many web sites of the so-called 'ad' type. It is designed to fill the internet browser's constant stream of advertisements, or reroute the Firefox, Microsoft Internet Explorer, Microsoft Edge and Chrome to not expected and intrusive advertising web-sites. If your IE, Firefox, Microsoft Edge and Chrome automatically displays the Secure.calcch.com web site then it could mean that your browser has been affected with the obnoxious undesired software from the adware (also known as 'ad-supported' software) family. The adware is designed in order to provide third-party advertisements to the user without asking his permission. The adware takes control of all your typical browsers and reroutes them to unwanted web-pages such as the Secure.calcch.com every time you browse the Web.
It's probably that you might be bothered with the adware that responsible for the appearance of Secure.calcch.com popups. You should not disregard this unwanted software. The ad-supported software might not only open undesired ads, but redirect your web browser to shady web sites. What is more, the 'ad supported' software can analyze your surfing, and gain access to your privacy info and, later, can sell it to third parties. Thus, there are more than enough reasons to get rid of Secure.calcch.com advertisements from your machine.
Most often, the 'ad supported' software hijacks the most common web browsers such as the Firefox, Google Chrome, Microsoft Edge and Microsoft Internet Explorer. But such the harmful software as well may affect another web browsers by modifying its shortcuts (adding an argument such as 'http://site.address' into Target field of a web browser's shortcut file). So every time you launch the web browser, it'll reroute to the unwanted Secure.calcch.com web page. Even if you setup a new startpage, an unwanted web page will be the first thing you see when you start the IE, Chrome, MS Edge and Firefox.
We recommend you to remove adware and clean your computer from Secure.calcch.com pop up advertisements sooner, until the presence of the ad supported software has not led to even worse consequences. You need to follow the steps below that will help you to completely get rid of the reroute to Secure.calcch.com unwanted site, using only the built-in Windows features and several free malware removal tools of well-known antivirus software companies.
There are a few solutions that can be used to get rid of Secure.calcch.com pop ups. But, not all potentially unwanted apps like this ad-supported software can be completely removed using only manual ways. Most often you're not able to delete any 'ad supported' software using standard Windows options. In order to remove Secure.calcch.com pop-up advertisements you need complete a few manual steps and run reliable removal utilities. Most IT security researchers states that Zemana AntiMalware, MalwareBytes Free or AdwCleaner utilities are a right choice. These free programs are able to look for and delete Secure.calcch.com ads from your PC system and restore your browser settings to defaults.
Most common adware may be uninstalled without any antivirus software. The manual ad supported software removal is few simple steps that will teach you how to remove the Secure.calcch.com pop-up ads.
Check out the Windows Control Panel (Programs and Features section) to see all installed software. We recommend to click on the "Date Installed" in order to sort the list of apps by the date you installed them. If you see any unknown and questionable programs, they are the ones you need to uninstall.
Very carefully look around the entire list of programs installed on your computer. Most probably, one of them is the adware that causes web browsers to display intrusive Secure.calcch.com advertisements. If you've many programs installed, you can help simplify the search of harmful programs by sort the list by date of installation. Once you've found a suspicious, unwanted or unused application, right click to it, after that press 'Uninstall'.
You will see a list of apps installed on your system. We recommend to sort the list by date of installation to quickly find the programs that were installed last. Most probably, it's the ad supported software that developed to redirect your browser to various ad web-pages like Secure.calcch.com. If you are in doubt, you can always check the program by doing a search for her name in Google, Yahoo or Bing. Once the program which you need to remove is found, simply click on its name, and then press 'Uninstall' as shown on the image below.
Unfortunately, the adware that causes web-browsers to show annoying Secure.calcch.com ads, can also hijack Windows shortcut files (mostly, your browsers shortcut files), so that the Secure.calcch.com ad web-site will be shown when you launch the Chrome, Edge, Internet Explorer and Firefox or another internet browser.
Right click on the shortcut of affected web-browser like below.
Select the "Properties" option and it will display the shortcut's properties. Next, press the "Shortcut" tab and then delete the "http://site.address" string from Target field as shown below.
Then press OK to save changes. Repeat the step for all web browsers which are re-directed to the Secure.calcch.com unwanted web site.
Like other modern web browsers, the Chrome has the ability to reset the settings to their default values and thereby restore the browser's settings such as default search engine, homepage and new tab that have been changed by the adware which redirects your web-browser to intrusive Secure.calcch.com web-site.
It will open the Chrome menu. Select More Tools, then press Extensions. Carefully browse through the list of installed plugins. If the list has the plugin signed with "Installed by enterprise policy" or "Installed by your administrator", then complete the following guide: Remove Google Chrome extensions installed by enterprise policy.
You need to confirm your action, click the "Reset" button. The web-browser will start the procedure of cleaning. After it is done, the browser's settings including default search engine, new tab page and home page back to the values which have been when the Google Chrome was first installed on your PC.
First, start the Microsoft Internet Explorer, then press 'gear' icon . It will show the Tools drop-down menu on the right part of the browser, then click the "Internet Options" as displayed below.
In the "Internet Options" screen, select the "Advanced" tab, then click the "Reset" button. The IE will show the "Reset Internet Explorer settings" prompt. Further, press the "Delete personal settings" check box to select it. Next, press the "Reset" button as shown on the screen below.
When the process is complete, click "Close" button. Close the Internet Explorer and restart your PC for the changes to take effect. This step will help you to restore your browser's newtab, search engine by default and homepage to default state.
Resetting your Firefox is good initial troubleshooting step for any issues with your web browser program, including the redirect to Secure.calcch.com web site.
Once installed, the adware can add a task in to the Windows Task Scheduler Library. Due to this, every time when you boot your computer, it will open Secure.calcch.com intrusive web site. So, you need to check the Task Scheduler Library and remove all malicious tasks which have been created by adware.
Press Windows and R keys on your keyboard simultaneously. It will show a prompt that titled as Run. In the text field, type "taskschd.msc" (without the quotes) and press OK. Task Scheduler window opens. In the left-hand side, click "Task Scheduler Library", as shown below.
Run malware removal tools to get rid of Secure.calcch.com ads automatically. The free applications tools specially developed for hijacker infections, adware and other potentially unwanted software removal. These tools may remove most of ad-supported software from Google Chrome, Mozilla Firefox, MS Edge and IE. Moreover, it can remove all components of adware from Windows registry and system drives.
We recommend using the Zemana Anti-malware which are completely clean your computer of the adware. The utility is an advanced malicious software removal program developed by (c) Zemana lab. It is able to help you remove PUPs, hijackers, malicious software, toolbars, ransomware and ad-supported software that causes tons of undesired Secure.calcch.com pop up advertisements.
Please go to the link below to download Zemana AntiMalware installation package named Zemana.AntiMalware.Setup on your system. Save it on your MS Windows desktop or in any other place.
When installation is finished, this malware removal tool will automatically start and update itself. You will see its main window as displayed below.
Now click the "Scan" button to perform a system scan with this tool for the ad-supported software that cause undesired Secure.calcch.com ads to appear. A scan can take anywhere from 10 to 30 minutes, depending on the number of files on your PC and the speed of your computer. While the utility is checking, you can see how many objects and files has already scanned.
Once the scan get finished, a list of all items detected is created. Review the results once the utility has complete the system scan. If you think an entry should not be quarantined, then uncheck it. Otherwise, simply click "Next" button.
The Zemana will delete adware that responsible for web-browser redirect to the unwanted Secure.calcch.com web-site and add items to the Quarantine. Once finished, you may be prompted to reboot your computer to make the change take effect.
You can get rid of Secure.calcch.com pop-up advertisements automatically with a help of Malwarebytes Free. We recommend this free malicious software removal tool because it may easily remove browser hijackers, adware, potentially unwanted applications and toolbars with all their components such as files, folders and registry entries.
Download MalwareBytes Free by clicking on the link below. Save it to your Desktop.
After the download is finished, close all apps and windows on your personal computer. Double-click the install file named mb3-setup. If the "User Account Control" prompt pops up as displayed in the figure below, click the "Yes" button.
It will open the "Setup wizard" that will help you setup MalwareBytes Anti-Malware (MBAM) on your personal computer. Follow the prompts and do not make any changes to default settings.
Once install is complete successfully, click Finish button. MalwareBytes AntiMalware (MBAM) will automatically start and you can see its main screen as on the image below.
Now click the "Scan Now" button . MalwareBytes Anti Malware (MBAM) utility will begin scanning the whole computer to find out adware that causes browsers to display annoying Secure.calcch.com pop up ads. This process can take some time, so please be patient. While the MalwareBytes Anti-Malware utility is scanning, you can see how many objects it has identified as being affected by malicious software.
When that process is finished, MalwareBytes AntiMalware (MBAM) will create a list of unwanted and ad-supported software software. All found items will be marked. You can get rid of them all by simply press "Quarantine Selected" button. The MalwareBytes Free will get rid of 'ad supported' software responsible for Secure.calcch.com redirect and add threats to the Quarantine. After the task is finished, you may be prompted to reboot the PC.
AdwCleaner is a free removal tool that can scan your computer for a wide range of security threats such as malicious software, ad supported softwares, PUPs as well as ad-supported software which causes intrusive Secure.calcch.com pop up advertisements. It will perform a deep scan of your personal computer including hard drives and MS Windows registry. When a malware is detected, it will help you to remove all detected threats from your machine by a simple click.
Please go to the following link to download the latest version of AdwCleaner for MS Windows. Save it on your Windows desktop.
After the download is finished, open the directory in which you saved it and double-click the AdwCleaner icon. It will launch the AdwCleaner utility. If the User Account Control dialog box will ask you want to launch the application, press Yes button to continue.
Next, click "Scan" to look for adware responsible for redirects to Secure.calcch.com. A system scan can take anywhere from 5 to 30 minutes, depending on your system. While the AdwCleaner tool is scanning, you can see how many objects it has identified as being infected by malicious software.
When AdwCleaner completes the scan, AdwCleaner will display a list of all items found by the scan like below.
Review the results once the tool has finished the system scan. If you think an entry should not be quarantined, then uncheck it. Otherwise, simply click "Clean" button. It will display a prompt. Click "OK" button. The AdwCleaner will remove ad supported software responsible for Secure.calcch.com popup advertisements and move threats to the program's quarantine. When the procedure is done, the utility may ask you to reboot your computer. After reboot, the AdwCleaner will show the log file.
We suggest to install an ad-blocker program that may block Secure.calcch.com and other unwanted web-pages. The ad blocking tool such as AdGuard is a application which basically removes advertising from the Net and blocks access to malicious web-pages. Moreover, security experts says that using adblocker software is necessary to stay safe when surfing the Internet.
Once downloading is complete, double-click the downloaded file to run it. The "Setup Wizard" window will show up on the computer screen as displayed on the screen below.
Each time, when you launch your machine, AdGuard will launch automatically and block popups, sites such as Secure.calcch.com, as well as other malicious or misleading web-sites. For an overview of all the features of the program, or to change its settings you can simply double-click on the AdGuard icon, which is located on your desktop.
After completing the few simple steps above, your personal computer should be clean from adware that causes internet browsers to open intrusive Secure.calcch.com pop ups and other malware. The Edge, Firefox, IE and Chrome will no longer redirect you to various undesired pages similar to Secure.calcch.com. Unfortunately, if the instructions does not help you, then you have caught a new adware, and then the best way – ask for help in our Spyware/Malware removal forum.


text:
Home / Tag Archives: vajpayee
Tag Archives: vajpayee
Nation remembers Atal Bihari Vajpayee on his second death anniversary
They paid floral tributes to the leader on his second death anniversary. President Ram Nath Kovind on Sunday unveiled the portrait of former Prime Minister Atal Bihari Vajpayee on his second death anniversary, at the headquarters of Indian Council for Cultural Relations in Delhi. Speaking on the occasion, President Kovind said, …
FM Arun Jaitley delivers 1st Atal Bihari Vajpayee memorial lecture
He was delivering the first Atal Bihari Vajpayee memorial lecture at India Idea conclave 2018 in New Delhi on Saturday.
Urns carrying ashes of Atal Bihari Vajpayee to be immersed in 100 rivers across country
Urns of the ashes of late former Prime Minister Atal Behari Vajpayee at the BJP's former headquarters on Ashok Road in the national capital. The party had decided to ensure that these urns travel to every taluka of the country so that admirers could pay floral tributes to the people's …
Ashes of Bharat Ratna Vajpayee immersed in Ganga at Haridwar
Former Prime Minister Atal Bihari Vajpayee's daughter Namita Bhattacharya immersed his ashes at Har-ki-Pauri in Haridwar. Home Minister Rajnath Singh, BJP President Amit Shah, Uttarakhand CM Trivendra Singh Rawat, UP Chief Minister Yogi Adityanath, Sadhus, religious leaders and other prominent citizens were also present on the occasion. Earlier, a large …
India mourns as former PM Atal Bihari Vajpayee passes away; funeral today
Along the seven-kilometer stretch from Vajpayee's reisdence at Krishna Menon Marg to the BJP office, people in large number joined the procession to get a last glimpse of their leader, many of them chanting 'Atal Bihari amar rahe' (Long Live Atal Bihari) and 'Vande Mataram'. Prime Minister Narendra Modi, Home …
Atal Bihari Vajpayee: A timeline
Birth – 25 December 1924 Place– Gwalior Age– 93 years Post-graduate – M.A Political Science, DAV College, Kanpur 1942 – Participated in Quit India Movement 1947: Sangh Pracharak 1951– Associated with Bharatiya Jan Sangh 1957 – Elected to Lok Sabha for first time from Balrampur, U.P 1962 – Member of …
Former Prime Minister Atal Bihari Vajpayee passes away
President Ram Nath Kovind in Tweeted: Extremely sad to hear of the passing of Atal Bihari Vajpayee, our former Prime Minister and a true Indian statesman. His leadership, foresight, maturity and eloquence put him in a league of his own. Atalji, the Gentle Giant, will be missed by one and all. …
PM Modi visits former PM Atal Bihari Vajpayee at AIIMS
A statement from AIIMS said that he is stable and a team of doctors under supervision of Dr. Randeep Guleria are conducting tests. The 93-year-old leader has been admitted on doctors' advice. The BJP stalwart ruled India as Prime Minister between 1998 & 2004. Prime Minister Narendra Modi, BJP veteran …


text:
Q: SetWindowsHookEx fails with error 126 I'm trying to use the Gma.UserActivityMonitor library in a project and I've faced an error I can not overcome on my own.
In the HookManager.Callbacks.cs file there's a static method called EnsureSubscribedToGlobalMouseEvents with the following code (more or less):
var asm = Assembly.GetExecutingAssembly().GetModules()[0];
var mar = Marshal.GetHINSTANCE(asm);
s_MouseHookHandle = SetWindowsHookEx(
    WH_MOUSE_LL,
    s_MouseDelegate,
    mar,
    0);
//If SetWindowsHookEx fails.
if (s_MouseHookHandle == 0)
{
    //Returns the error code returned by the last unmanaged function called using platform invoke that has the DllImportAttribute.SetLastError flag set.
    int errorCode = Marshal.GetLastWin32Error();
    //do cleanup

    //Initializes and throws a new instance of the Win32Exception class with the specified error.
    throw new Win32Exception(errorCode);
}

The SetWindowsHookEx always returns 0 and the above code keeps throwing an exception with message The specified module could not be found and the call to Marshal.GetLastWin32Error returns code 126. I can successfully run the demo provided with Gma.UserActivityMonitor's original project but since my project is a little too complicated to explain here I can not go into detail explaining its difference with mine. I'm just hoping someone can blind guess the problem.
BTW, in the project's FAQ it's said that others have a problem close to mine (with SetWindowsHookEx returning error) when the Enable Visual Studio hosting process is checked only when the project is debugged. So I unchecked that box in mine and still I'm having the same problem, and not just in debugging mode but also when I double click the release file in Windows Explorer (no Visual Studio involved).
To give more information, in demo project (which works fine) the asm variable points to {Gma.UserActivityMonitor.dll} and the same in my project which the exception is thrown!

A: This kind of code does not work anymore on .NET 4 and up.  The error code you get is otherwise descriptive, 126 = "The specified module could not be found".  Which tells you that the "mar" variable contains junk.
.NET 4 had a pretty significant CLR change, it no longer pretends that jitted code lives inside unmanaged modules.  So Marshal.GetHINSTANCE() does not work anymore.  The code then gets sloppy, it forgets to check the return value, testing it for (IntPtr)-1 is required to detect failure and declare disaster.  Pretty common for code you find at Codeproject, lots of bugs and sloppiness that can't be fixed by contributors.  Not the SO model :)
SetWindowsHookEx() is a bit awkward for the low-level hooks.  It requires a valid module handle, and checks it, but doesn't actually use it.  This got fixed in Windows, somewhere around Win7 SP1.  While certainly intended to be a useful fix, it actually made the problem worse.  Because now it may work on your dev machine but not on your user's machine.
Anyhoo, the fix is simple, you just need to cough up a valid module handle.  You can get one from a module that is always present in a managed app, you'll need to pinvoke LoadLibrary to get it:
var mar = LoadLibrary("user32.dll");
s_MouseHookHandle = SetWindowsHookEx(
    WH_MOUSE_LL,
    s_MouseDelegate,
    mar,
    0);

No need to call FreeLibrary(), that module stays loaded until your program terminates anyway.