text:
Q: How to filter and group products in angularjs in single loop I have JSON array like this:
[
    {
        "Variants": [],
        "SubCategoryID": "53",
        "ProductImagePath": "/images/quaker/1247.png",
        "SubCategoryName": "Oats",
        "BrandName": "Quaker",
        "ProductID": "1247",
        "BrandID": "229",
        "ProductName": "Oats - Home Style Masala"
    },
    {
        "Variants": [],
        "SubCategoryID": "53",
        "ProductImagePath": "/images/quaker/1247.png",
        "SubCategoryName": "Oats",
        "BrandName": "Suffola",
        "ProductID": "1047",
        "BrandID": "129",
        "ProductName": "Oats - Home Style Masala"
    },
    {
        "Variants": [],
        "SubCategoryID": "53",
        "ProductImagePath": "/images/quaker/1246.png",
        "SubCategoryName": "Oats",
        "BrandName": "Quaker",
        "ProductID": "1246",
        "BrandID": "229",
        "ProductName": "Oats - Kesar Flavour with Kismis"
    },

    {
        "Variants": [],
        "SubCategoryID": "53",
        "ProductImagePath": "/images/quaker/1246.png",
        "SubCategoryName": "Oats",
        "BrandName": "Suffola",
        "ProductID": "1046",
        "BrandID": "129",
        "ProductName": "Oats - Kesar Flavour with Kismis"
    },

    {
        "Variants": [],
        "SubCategoryID": "53",
        "ProductImagePath": "/images/quaker/1245.png",
        "SubCategoryName": "Oats",
        "BrandName": "Quaker",
        "ProductID": "1245",
        "BrandID": "229",
        "ProductName": "Oats - Multigrain Advantage"
    },

    {
        "Variants": [],
        "SubCategoryID": "53",
        "ProductImagePath": "/images/quaker/1245.png",
        "SubCategoryName": "Oats",
        "BrandName": "Suffola",
        "ProductID": "1045",
        "BrandID": "129",
        "ProductName": "Oats - Multigrain Advantage"
    },
    {
        "Variants": [],
        "SubCategoryID": "38",
        "ProductImagePath": "/images/dry_fruits/walnut.jpg",
        "SubCategoryName": "Dry Fruits",
        "BrandName": "Quality Plus",
        "ProductID": "24",
        "BrandID": "58",
        "ProductName": "Chestnut (Akhrot Gota)"
    },
    {
        "Variants": [],
        "SubCategoryID": "38",
        "ProductImagePath": "/images/dry_fruits/walnut.jpg",
        "SubCategoryName": "Dry Fruits",
        "BrandName": "Quality Plus",
        "ProductID": "24",
        "BrandID": "58",
        "ProductName": "Chestnut -2 (Akhrot Gota)"
    },
    {
        "Variants": [],
        "SubCategoryID": "38",
        "ProductImagePath": "/images/dry_fruits/walnut.jpg",
        "SubCategoryName": "Dry Fruits",
        "BrandName": "Quality Plus",
        "ProductID": "24",
        "BrandID": "58",
        "ProductName": "Chestnut -3 (Akhrot Gota)"
    }
]

We can display the products of a particular SubCategory using this:

Where I am setting  FilterExpr in JavaScript on selecting a subcategory:
$scope.FilterExpr = {'SubCategoryID': $stateParams.SCID.toString()};

For example -  on selecting SubCategoryID = 53, product will be displayed like this:
    "BrandName": "Quaker",
    "ProductName": "Oats - Home Style Masala"

    "BrandName": "Suffola",
    "ProductName": "Oats - Home Style Masala"

    "BrandName": "Quaker",
    "ProductName": "Oats - Kesar Flavour with Kismis"

    "BrandName": "Suffola",
    "ProductName": "Oats - Kesar Flavour with Kismis"

    "BrandName": "Quaker",
    "ProductName": "Oats - Multigrain Advantage"

    "BrandName": "Suffola",
    "ProductName": "Oats - Multigrain Advantage"

But i want to group them by Brand Name also, means all products of a particular brands in selected subcategory must be display together:
    "BrandName": "Quaker",
    "ProductName": "Oats - Home Style Masala"

    "BrandName": "Quaker",
    "ProductName": "Oats - Kesar Flavour with Kismis"

    "BrandName": "Quaker",
    "ProductName": "Oats - Multigrain Advantage"

    "BrandName": "Suffola",
    "ProductName": "Oats - Home Style Masala"

    "BrandName": "Suffola",
    "ProductName": "Oats - Kesar Flavour with Kismis"

    "BrandName": "Suffola",
    "ProductName": "Oats - Multigrain Advantage"

How to do that??

A: Try this with group by

app.filter('groupBy', function() {
    return _.memoize(function(items, field) {
            return _.groupBy(items, field);
        }
    );
});

http://jsfiddle.net/TD7t3/


text:
Dining, Nightlife & Beer
Music, Art & Culture
Only in Denver: Phamaly Theatre Company
By VISIT DENVER staff | Oct. 19, 2018
Denver's Phamaly Theatre Company has persevered and triumphed like its cast of performers. Its mission for nearly three decades has been to produce extraordinary theater and transform both the lives of actors with disabilities on the stage and people in the audience.
Phamaly (pronounced "family") is the brainchild of five graduates of the former Charles Boettcher School who were disenchanted with the lack of performing opportunities for theater makers with disabilities. Since its first season in 1989, the company has built its reputation by impacting how people see the world and interact with others. Today, Phamaly presents a full season of performances, which has included a statewide children's tour, as well as educational programs such as recent classes about adaptive puppetry for adults and kids.
The award-winning theater company is the only organization in Colorado that presents professional plays and musicals cast entirely with performers who have physical, cognitive, emotional or developmental disabilities and is among an elite few in the United States. Phamaly's creative team specializes in embracing each performer's challenges and adapting parts to align them with an individual's skills and talents.
Staff member Regan Linton is the only artistic director leading a major U.S. theater company from a wheelchair and strives and ensures that Phamaly delivers one-of-a-kind productions that are authentic and real. Growing up in Denver and playing soccer and softball at East High School, she also studied theater prior to a 2002 car accident her junior year in college that left her permanently paralyzed. Through Phamaly, Linton returned to performing while working on a master's degree in social work at the University of Denver and summoned the courage to return to the stage post-injury.
The theater company, led by Managing Director Sasha Hutchings, utilizes a variety of performance venues across the Denver metro area and is known for reinventing established stories to create some of the most entertaining and moving experiences available to Denver audiences.
In early 2018, Phamaly and Craig Hospital announced a three-year community partnership to raise awareness in thinking about diversity, inclusion and disability through the lens of professional theater. The sponsorship included support of Phamaly's 2018 season, which featured "Romeo and Juliet" at The Dairy Arts Center in April, "Into the Woods" at the Space Theatre in July, and "Harvey", running from Oct. 18–Nov. 11, 2018, at the Olin Hotel Apartments. "Harvey" is a community collaboration between Phamaly and Senior Housing Options.
Craig Hospital is a world-renowned center for rehabilitation and research for people with spinal cord and brain injuries. The partnership also is aimed at helping enhance the lives of current and former Craig patients, families, caregivers and staff by providing social outings and providing theater-related programs that focus on adaptation and creation.
Productions in 2016 and 2017 also have featured many memorable stage moments during presentations of "VOX – Under Construction," "Pygmalion," "A Midsummer Night's Dream," "Annie," "James and the Giant Peach" and "Tiny Tim's Christmas Carol." In 2015, Phamaly had the opportunity to present "The Fantasticks" in Osaka, Japan.
Accessibility for audience members also is a priority. To ensure that individuals of all abilities have the opportunity to experience theater, Phamaly provides wheelchair-accessible seating, captioning, performances that are sensory friendly and sign language interpreted, sensory guides, Braille programs, audio descriptions, and listening assistance systems.
For more information about attending or being part of Phamaly's productions, call 303-365-0005.
At a Glance – Phamaly Theatre Company
Inspire people to re-envision disability through professional theater.
Provide individuals with disabilities the opportunity to participate in all aspects of high quality performing arts.
Artistic excellence, empowerment, awareness, inclusion.
Categories: Music, Art & Culture
Tags: Only in Denver, things to do, family

redpajama_set_name: RedPajamaCommonCrawl


Naayak was a surprisingly world-class Telugu film. I had no idea what to expect going in because I wasn't familiar with the stars in this one but I really enjoyed it. It was a classic. The fighting scenes (there were many) were all incredibly satisfying. The story was dynamic and fun to follow. Just make sure to pay more attention to the details than normal because two lead characters are the same actor and the transition between the two roles is pretty subtle. I really enjoyed the Oka Chupuke song (embedded above).
Also, free on youtube, so you can watch it right now!


text:
REQUEST FOR EXPRESSIONS OF INTEREST
Project country: The Republic of Tajikistan
Project title: Mobile diagnostics COVID-19 (the Republic of Tajikistan)
Main objective: Increasing the level of availability of necessary medical equipment in the Republic of Tajikistan
Title: Procurement of financial statement audit services
Reference No. LCS MD RT 3.1
Grant Financing No.: Grant, without number as of October 08, 2021
The Republic of Tajikistan has received a grant from Eurasian Fund for Stabilization and Development (further – «EFSD») to fund the project "Mobile diagnostics COVID-19 (the Republic of Tajikistan)" and intends to spend part of funding for procurement of consulting services.
The consultant's services include audit of expenses and financial statements for the project "Mobile diagnostics COVID-19 (the Republic of Tajikistan)" for the period from December 28, 2021 until December 31, 2022 and for the period from January 01, 2023 – December 31, 2023.
More detailed information on services (Terms of reference) is attached to the current request for expressions of interest.
The estimated date of contract duration is until April 30, 2024. The estimated date of signing the contract is –March, 2023.
AIDS Infoshare Foundation for prevention and control of HIV and other infectious diseases (Project implementation Unit) invites eligible companies (further – «Consultants») to submit the expressions of interest to provide the services. Interested Consultants should provide information stating that they have the necessary qualification and relevant experience to perform the services required (description of similar assignments, experience of work in similar environments, availability of resources to perform the work etc.) and other information confirming compliance with the shortlisting criteria.
Criteria to be selected to a short list:
Consultant experience in providing audit services in the government (public) sector no less than 5 years. Government (public) sector audit experience refers not only to the auditing of government entities, but also to government-funded projects;
Consultant experience in providing a minimum of 3 assignments with a similar nature and scope within audit reviews of financial statements of the projects, financed by international financial organizations during the last 5 years.
The attention of interested Consultants is drawn to paragraph 5.2 of the Procurement Policy for EFSD projects, which establishes a policy on conflicts of interest.
Consultants will be selected using the Least Cost Selection (LCS) method set out in the Procurement Policy for EFSD funded projects[1] and the Procurement procedure of the EFSD[2].
Further information can be obtained by email or call during office hours 12.00-16.00 (Moscow time) from Monday to Friday. Contact information is provided below.
Expressions of interest must be delivered in a written form in English or in Russian (one stamped copy) to the address below (in person, or by courier services, or by e-mail in Adobe PDF) no later than December 09, 2022. The application should clearly indicate the number and title of the task: "Procurement of financial statement audit services, Ref# LCS MD RT 3.1".
Office 350Yuzhnobutovskaya 77
Moscow, 117042,


text:
IIT, IISc Professors Are Calling Facebook's Free Basics "Lethal" for India. Here's Why.
Post author:Vandita Kapoor
Post category:Quick Bytes
There is a current storm of debate over net neutrality in India — spurred by Facebook's persistent promotion of it "Free Basics" initiative, which will provide free access to only a few websites. Now over 50 professors from IIT and IISc, India's preeminent educational institutions, have stepped into the storm — and they aren't mincing their words.
Over 50 faculty members have released a strongly-worded statement unequivocally rejecting Free Basics; they will now be submitting it to the Telecom Regulatory Authority of India (TRAI) as a petition.
Joint statement rejecting Facebook's misleading and flawed 'Free Basics' proposal
Posted by Bhaskaran Raman on Monday, 28 December 2015
They have said that allowing a private entity:
to define for Indian users what is 'basic'
to control what content costs how much
to have access to the personal content created and used by millions of Indians
is a lethal combination which will lead to total lack of freedom on how Indians can use their own public utility, the Internet.
Facebook's 'free basics' proposal is such a lethal combination, having several deep flaws, beneath the veil of altruism wrapped around it in TV and other media advertisements.
The following is text from the statement (emphases are ours). These are the three main flaws that they have pointed out:
FLAW 1. Free Basics will allow Facebook to define what is "basic".
The first obvious flaw in the proposal is that Facebook assumes control of defining what a 'basic' service is. They have in fact set up an interface for services to 'submit' themselves to Facebook for approval to be a 'basic' service. This means: what are the 'basic' digital services Indians will access using their own air waves will be decided by a private corporation, and that too one based on foreign soil. The sheer absurdity of this is too obvious to point out.
To draw an analogy, suppose a chocolate company wishes to provide 'free basic food' for all Indians, but retains control of what constitutes 'basic' food – this would clearly be absurd. Further, if the same company defines its own brand of 'toffee' as a 'basic' food, it would be doubly absurd and its motives highly questionable.
While the Internet is not as essential as food, that the Internet is a public utility touching the lives of rich and poor alike cannot be denied. What Facebook is proposing to do with this public utility is no different from the hypothetical chocolate company. In fact, it has defined itself to be the first 'basic' service, as evident from Reliance's ads on Free Facebook. Now, it will require quite a stretch of imagination to classify Facebook as 'basic'. This is why Facebook's own ad script writers have prompted Mr. Zuckerberg to instead make emotional appeals of education and healthcare for the poor Indian masses; these appeals are misleading, to say the least.
FLAW 2. Facebook will have access to all your apps' contents.
The second major flaw in the model, is that Facebook would be able to decrypt the contents of the 'basic' apps on its servers. This flaw is not visible to the lay person as it's a technical detail, but it has deep and disturbing implications. Since Facebook can access un-encrypted contents of users' 'basic' services, either we get to consider health apps to be not basic, or risk revealing health records of all Indians to Facebook. Either we get to consider our banking apps to be not 'basic', or risk exposing the financial information of all Indians to Facebook. And so on.
This is mind boggling even under normal circumstances, and even more so considering the recent internal and international snooping activities by the NSA in the US.
FLAW 3. Free Basics is not free
The third flaw is that the term 'free' in 'free basics' is a marketing gimmick. If you see an ad which says 'buy a bottle of hair oil, get a comb free', you know that the cost of the comb is added somewhere. If something comes for free, its cost has to appear somewhere else. Telecom operators will have to recover the cost of 'free basic' apps from the non-free services (otherwise, why not make everything free?) So effectively, whatever Facebook does not consider 'basic' will cost more.
If Facebook gets to decide what costs how much, in effect Indians will be surrendering their digital freedom, and freedom in the digital economy, to Facebook.
So this is not an issue of elite Indians able to pay for the Internet versus poor Indians, as Facebook is trying to portray. It is an issue of whether all Indians want to surrender their digital freedom to Facebook.
That the 'Free Basics' proposal is flawed as above is alarming but not surprising, for it violates one of the core architectural principles of Internet design: net neutrality. Compromising net neutrality, an important design principle of the Internet, would invariably lead to deep consequences on people's freedom to access and use information. We therefore urge that the TRAI should support net neutrality in its strongest form, and thoroughly reject Facebook's 'free basics' proposal.
Featured image source: Pixabay
Like this story? Or have something to share? Write to us: contact@thebetterindia.com, or connect with us on Facebook and Twitter (@thebetterindia).
Previous Post2 Things You Need To Do To #SaveTheInternet & Put A Stop To Facebook's Free Basics
Next PostHere's How the Indian Internet Is Fighting Back against Free Basics


The purpose of this study was to determine the existence of target attribution, and its interaction with other variables. Subjects were obtained from grades one, seven, and college freshmen; thirty of each age group were used. The subjects consisted of an equal number of males and females, who scored as internal or external on a locus of control measure. Each individual was asked to assume the role of actor in each of four videotapes, and to rate the degree of responsibility they felt for the action on each scene. The subjects were also asked to rate the actor and the other person in each scene on a kindness/consideration scale, the strength of their identification with the actor in each scene, and to answer several open-ended questions about each scene. In general, subjects tended to assume a high level of responsibility for events, including the actions of other people. The tendency for self-attribution was stronger among first graders and in actor-initiated scenes. Target attribution was greater in females when the situation outcomes were negative, whereas males assumed greater responsibility for outcomes. Locus of control was not a factor in any of the analyses. All subjects indicated a strong or very strong identification with the actors in the tapes. Overall, kindness/consideration ratings were higher for the actor, who represented the subject than for the other person in the scene. Males rated themselves more highly than the other, but females rated the other higher on kindness/consideration.
Cohen, Dotti, "A developmental study of target attribution" (1979). Student Work. 238.


text:
Q: Documentbuilder.parse returns error permission denied I'm trying to parse xml in java, with following code
File fXmlFile = new File(DAL_DB_ALARM_MOVED_XML);
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
doc.getDocumentElement().normalize();

The code above throws an exception Permission Denied while parse() is being called. Can anybody help me here ???

A: Perhaps you have read permission issue on the file system?
Please verify this, and also print the stracktrace.

A: Try what is suggested here.
access right to parse an XML in java
Make sure you have the read permission and do not keep the file open (just a try).

redpajama_set_name: RedPajamaStackExchange


In addition to writing a monthly magazine column/newsletter every month since April 1985, I have been interviewed as a monthly guest on Healthy Trends Radio show. Last year, I was invited to host my own program, and have been honored to interview many of the leaders in the fields of holistic health and healing. In each interview, as you might imagine, I ask them to bring their perspective to the area of sound healing in addition to their specialty. You won't find these comments anywhere else.
Many are best-selling authors and scientists, and in the spirit of disclosure, many have been friends and colleagues for decades, long before they became well known to the public. This allowed us to go deeper and into more detail and controversy than you'll hear in other interviews. At times you may feel as if you are listening in on an off-the-record conversation. As a fan club member, you're invited!
This interview on the flagship listener-sponsored radio station KPFA is one of the most personal I've ever done. The host, Veronica Faisant, was completing her internship. Based on how easily she got me to open up, I'm sure she will have a successful career. The interview was conducted around the time of my 33rd anniversary of arriving in California, and within blocks of my first major synchronicity -- meeting and jamming with Jai Uttal before I had even unpacked my backpack!
Part 2 of Steven's interview by Veronica Faisant on listener-sponsored radio station KPFA.
Eldon Taylor is one of the most respected researchers and authors who explores the overall question of 'why do we believe what we believe'? His bestselling book, "Mind Programming" discloses some shocking proof of how beliefs are 'programmed' into our minds by our family, upbringing, and advertising, without our being aware of it.
Bruce Lipton is the bestselling author of "The Biology of Belief." He is the guy who turned the scientific world on its head with his discoveries of the reality that our beliefs can indeed change our DNA, which has subsequently been accepted as part of the new healing paradigm. A dynamic and mile-a-minute speaker, hold on to your hats. You'll be in for a wild and wonderful ride.
Gregg Braden is a best-selling author who bridges the worlds of science and spirit. His latest book, "Fractal Time", presents a concise and very helpful overview of how we can stay balanced in the midst of the ongoing events leading up to 2012.
Norm Shealy, MD is one of the most respected and wide-ranging proponents of holistic health and well-being. Long before Dr. Andrew Weil and Dr. Deepak Chopra, Norm was pushing the envelope of new concepts and approaches to healing. He still is, and this interview offers specific suggestions that can help you feel and live better, right away.


text:
Blue Prosperity Coalition Completes Scientific Expedition in the Maldives
The Government of the Maldives, in partnership with the Blue Prosperity Coalition, has just completed a 26-day scientific expedition to survey coral reef habitats, fish populations, and water quality across the Northern and Southern Atolls, from Haa Alif to Laamu Atoll.
The expedition represents an impressive partnership between the Maldivian scientists and those from 8 different countries, with the crew working around the clock to take and process diverse sampling techniques.
Led by the Maldives Marine Research Institute (MMRI), the Waitt Institute, and Scripps Institution Oceanography's 100 Island Challenge, this initial expedition also included scientists from the Environmental Protection Agency, Small Island Research Centre, IUCN Maldives, and the Maldives Coral Institute.
According to a press release by the President's Office, at one point during the expedition, President Ibrahim Solih, the Speaker of Parliament and former President, Mohamed Nasheed, and the Minister of Fisheries Marine Resources and Agriculture, Zaha Waheed, joined the scientific team along Neykurendhoo Island in Haa Dhaalu Atoll.
A second expedition surveying the nearshore habitats of Huvadhoo, Fuvahmulahand Addu Atolls is set to take place in early March.


The Bachelor of Arts and Bachelor of Science degrees require competency in each major area of knowledge and a deep understanding of at least one subject area. Each student is required also to achieve competency in the use of the English language, to acquire second-year college-level proficiency in a language other than English, to receive credit for an approved course addressing questions on race and ethnicity, and to fulfill the quantitative reasoning requirement. Beyond these general requirements, students are free to choose elective courses to complete a minimum of 120 credits.
A student must complete a minimum 120 credits with a cumulative grade point average (GPA) of 2.0 (C) or better (124 for B.S.Chem.). The overall GPA of courses included in the field of the major for an A.B. or B.S. degree or counted toward the 60 credits of upper-level courses required for a B.G.S. degree must be at least 2.0.
The difference between the A.B. and B.S. degree is that the B.S. degree requires 60 credits of approved courses in the physical and natural sciences and/or mathematics.
The goal of the First-Year Writing Requirement (FYWR) is to prepare students for the type of writing most often assigned and valued in University courses. Students cannot fulfill the requirement through Advanced Placement (AP) scores. Students should complete their first-year writing course in their first year, and must earn a C- or higher to meet the requirement. This requirement should be satisfied before attempting a course to meet the Upper-Level Writing Requirement. The majority of students fulfill the first-year writing requirement through English 125 (Writing and Academic Inquiry) and English 124 (Academic Writing and Literature), but there are a few other courses around the University that also fulfill the requirement. Engineering 100 does not fulfill the FYWR in LSA.
The goal of the Upper-Level Writing Requirement (ULWR) is to teach students to recognize and practice the range of writing activities and forms typical of academic and professional contexts. Students should satisfy the First-Year Writing Requirement before electing one of the courses approved to satisfy the ULWR. A minimum course grade of C– is required in order to satisfy the ULWR. Over the course of the term, students will complete several writing assignments that are related to course content and intended to help students practice the rhetoric of their specific discipline. Possible assignments may include journals, research papers, critical analyses, and/or lab reports. Students will receive feedback on their writing from their ULWR instructor and are expected to revise much of their work throughout the term. Upper-Level Writing Requirement courses offered for a particular term can be found in the LSA Course Guide.
Students choose one course from a list of approved courses that cover issues relating to race and ethnicity, racial and ethnic intolerance, and inequality. The goal is to prepare students to live and work in a multiethnic, multiracial environment.
Students are required to take one or two courses from an approved list that focus on the methodology of quantitative analysis. The goal is to ensure that students achieve a level of proficiency in using and analyzing quantitative information.
To qualify for a degree, a student must complete a program of study that includes primarily coursework from the College of Literature, Science, and the Arts or equivalent LSA transfer credit.
Candidates for the A.B., B.S., or B.G.S. degree must complete a minimum of 100 credits of LSA courses, thus allowing 20 credits of non-LSA coursework in the 120 required for the degree.
Students are required to complete fourth-term proficiency in a language other than English, most often by earning credit for the fourth term of a University of Michigan language course. The goal is to offer a means of access to the cultural and intellectual heritage of the world's non-English speaking majority, as well as to provide reflective understanding of the structure and complexity of English itself. LSA offers over 30 different languages that meet this requirement.
Students must complete 30 credits outside of their major distributed over the following five categories: Natural Sciences, Social Sciences, Humanities, Mathematical and Symbolic Analysis, and Creative Expression. Through this requirement, students gain an understanding and appreciation of the major areas of learning and a coherent view of the essential concepts, structures, and intellectual methods that typify these disciplines.
The major provides the option for a student to pursue a thorough investigation of a particular subject or discipline. Course requirements of majors offered vary from 24 to 48 credits. In addition to the more than 75 majors offered, a student has the option to develop his or her own major through the Individualized Major Program (IMP).
A.B. and B.S. students have the opportunity to complete a minor as part of the degree program. Departments have the option of whether or not to offer a minor, and many develop several. As departmental minors are created and approved, students may choose to add a minor to their academic plan.


For a technology-induced generation, every business should have a website to extend their customer reach. Owning a website means you can build a stronger brand and create a powerful connection with the audience. So we should take portal development seriously because it's a powerful content publishing tools that let people know what you do and what you offer.
The global economy now is competent, so your website should be too. Having a website is not enough; it should be a complete portal where every customer's needs are served. Here in Sparx BPO, we offer a complete B2B Portal development services that boost your online presence and increase your online growth.
Another way to know how your Portal is working is through analyzing, tracking and monitoring through rankings, backlinks, traffic referrers and visits. During the development of B2B Portal, those things are the most powerful. The website's goal should be to drive qualified website traffic, connect with audiences and generate more leads. Sparx BPO is one of the most leading company that offer B2B Portal Development services.
We offer the following services: B2B portal design, e-marketplace B2B applications, enterprise application, existing B2B portal enhancement, B2B portal development, B2B content management system, B2B website development, B2B web application development, custom portal development and portal maintenance and support. So if you want to create a business to business portal and want to serve other businesses in your industry, just call us.
We have a team of professionals that will create the solutions to your portal development. Once we complete the website, you'll also enjoy other opportunities like more traffic through SEO, social media marketing, blogging, site architecture and content marketing. When you come to us, your website will have a brilliant homepage, responsive design, content management system, SEO friendly website and many more.


Nauru, the world's smallest republic, was once a wealthy player in the Pacific, made rich by the stocks of guano found on the island and the deposits of phosphates mined from it. The deep, ugly pits still stand on the scarred central plateau as testament to the industry, even though the country has been mined-to-exhaustion.
The island's traditional culture has been subsumed by the focus on phosphate and many of the original skills lost. However, visitors can still relax at Anibore Bay, where the island's best beach can be found, go deep-sea fishing from Yaren or explore the World War II relics and Japanese guns at Narau's government offices.


The Prayer Book of 1789 was the first for the U. S. Episcopal Church and served the Church for over 100 years, until the revision of 1892. This book owed much to its predecessor, the English 1662 Book of Common Prayer, and, at least for the major services, is very similar to it. We are presenting this electronic version of the U. S. 1789 Book of Common Prayer in hopes that it will prove useful and instructive to the Church. Parishes might find it useful in recreating historical services, for example, to celebrate the anniversary of the parish. Others might find it instructive to compare the changes, additions, and deletions, which have taken place in the various versions of the Book of Common Prayer.
The 1789 Book of Common Prayer was in use in the United States from 1790 until 1892. During that time, unlike succeeding versions, it was subject to minor changes by each General Convention. These changes were then reflected in the next "Standard Edition" of the Book of Common Prayer. Such Standard Editions were produced in 1793, 1822, 1832, 1838, 1845, and 1871; changes which each introduced (more significant than corrections of typographical errors, etc.) are noted in the text. Eight original sources were used, bearing certification dates of 1876, 1873, 1854, 1849, 1841, 1821, 1818, and 1810 respectively. The texts, Prayer Book Parallels, by Paul V. Marshall, and Liturgiae Americanae (1907), by William McGarvey, were also consulted.
The process leading up to the 1892 book occupied several General Conventions, from 1883 through 1892; Prayer Books published during this time therefore might (and sometimes do) include certain aspects of the 1892 book.
Please note that, unlike later U. S. Prayer Books, there was no uniform appearance among the different printings of the 1789 edition from various publishers. Thus, different printings will differ in appearance through the use of different fonts, number of columns per page, pagination, etc. Rubrics were printed in smaller Roman type, rather than italics, from 1818-1845. In general, editions prior to the Civil War tended to use two columns per page; those after, one.
All but one of the editions used here are also bound with the Psalms in Metre, and a words-only Hymnal. These were often certified by diocesan bishops, in much the same manner as the Prayer Book itself.
The font used is Century Schoolbook, which is widely available and seems to be a fairly close match to the original. The HTML allows the similar fonts Century and Georgia as alternatives.
The entire 1789 Book of Common Prayer is presented below in HTML and PDF formats. (HTML only for the Psalter, Selections of Psalms, and the 39 Articles of Religion). The PDF version is based on a fairly common 24mo edition published by the New York Bible & Common Prayer Book Society from 1857 through 1880; the specific printing used here appears in David Griffiths' Bibligraphy of the Book of Common Prayer as 1865/19.
H & S Raynor, New York, 1842 (Griffiths 1842/27) (also from the Internet Archive).
Prot. Episcopal Book Soc., Phildelphia, 1863 (Griffiths 1863/31).
Note that these may have lines cut off, pages out of order and possibly missing, etc.
Prot. Episcopal Press, NY, 1836 (Griffiths 1836/28).
We additionally have a PDF version of the 1871 Standard Book (the last "official" version of this 1789 Prayer Book), the previous 1845 Standard, a 1795 Altar Book (large folio size) and the 1790 "first edition" of the 1789 BCP.
For those interested in the history of this book, we also have online the historical portions of Liturgiae Americanae, which describe how this book came to be, and how it developed over the years. Further history and a description of early printings of this book may be found in Early Prayer Books in America, from Google Books.
We also have online the 1789 Book of Common Prayer in French (Livre des Prières Publiques).
Google Books also has online a compilation, Prayers adapted to Various Occasions of Social Worship, for which Provision is not made in the Book of Common Prayer, by Alexander Griswold (first bishop of Massachusetts), 1860.
PDF: First Sunday in Advent through Ascension Day; from Sunday after Ascension, including Saints' Days.
Note: It appears that the Ordinal and the Form of Consecration of a Church were generally omitted in Prayer Books printed before about 1810.


A pre-purchase survey is a thorough inspection of the vessel's structural and watertight integrity, system's installations, and operating condition, as well as performance. A comprehensive report is issued which includes an equipment list, specifications and detailed list of deficiencies and recommendations. Replacement and market values [in US dollars] are assigned to the vessel. Most lending institutions and insurance companies require a pre-purchase survey.
Ashore with full access to the underwater body. All areas of the underwaterbody, sideshells and deck/coachroof are inspected by "sounding" and testing with a moisture meter to determine the structural integrity of the vessel. The keel, rudder, hull penetrations, and propulsion components are evaluated. Electrical systems and electronics are tested. However, some testing of systems and verification of certain components, such as sea valves, stuffing boxes, and steering systems can only be done while afloat under operational conditions.
Insurance surveys can be done when the vessel is afloat or ashore. If the vessel is afloat, the insurance company may require that it be hauled so that the condition of the underwaterbody, keel, rudder, and propulsion equipment can be evaluated.
The insurance survey is not as detailed as the pre-purchase survey and is not intended to be as comprehensive. Only critical systems are tested and cosmetic conditions are only noted when they markedly affect the vessel's value. Safety and structural issues are the primary concerns. The insurance survey should never be accepted in lieu of a full pre-purchase survey when purchasing a vessel.
These are evidence of AIM Control's pre-purchase condition surveys on board of ship at Sai Gon port, Ho Chi Minh city, Vietnam, China, Korea, and India.
Will keep you contacted with us when you orders us!.


text:
Ruhnn Holding Poised to Begin Trading Wednesday on Nasdaq
Ruhnn creates networks on social media for influencers in fashion, culture, entertainment, and gaming to connect them with fans and businesses in brands, retailers, designers, manufacturers, and suppliers.
CapitalWatch Staff
Apr 02, 2019 5:40 PM PT
author: CapitalWatch Staff
Ruhnn Holding Ltd., China's largest key opinion leader (KOL) facilitator, is expected to begin trading Wednesday on the Nasdaq Global Market under the symbol "RUHN."
The company, which plans to sell 10 million American depositary shares, has set a price range of $11.50 to $13.50 per share, according to a recent filing with the U.S. Securities and Exchange Commission.
Last week, the company, backed by e-commerce giant Alibaba Group Holding Ltd. (NYSE: BABA), brought the offering down from the $200 million Ruhnn targeted in an earlier filing.
Based in Hangzhou, Ruhnn creates networks on social media for influencers in fashion, culture, entertainment, and gaming to connect them with fans and businesses in brands, retailers, designers, manufacturers, and suppliers.
For the fiscal year ended March 31, 2018, the company reported revenue from product sales of $132.7 million, up 59 percent year-over-year. For the first nine months of fiscal year 2019, its revenue was $109.9 million, representing a 4 percent increase.
Revenue from services quintupled to $5.1 million in fiscal 2018 and has more than tripled to $14.6 million in the nine months through December. It had a net loss of $13.1 million in the fiscal year 2018 and $8.4 million in losses in the first three quarters of fiscal 2019.
The funds from the IPO will be used for the pursuit of additional monetization channels and strategic investments, identifying and training KOLs, technology, and general corporate purposes, according to the prospectus.
Underwriting the offering are Citigroup Global Markets Inc. and UBS Securities LLC.
Shares of Noah Holdings Plunge 20% After Ching Lo's Arrest
Baidu Announces Partnership With Huawei on AI Chips
China's Livestreaming Platform DouYu Reports Profit Ahead of U.S. IPO
Amazon Goes to Chengdu Hi-tech Zone With Cloud Computing
Noah Holdings, JD.com Exchange Accusations Amid Camsing Scandal
SoftBank-backed CloudMinds Seeks $500 Million U.S. Listing
Alibaba Announces 1-for-8 Stock Split Ahead of Hong Kong IPO
Nio Deliveries Drop Though China's NEV Sales Continue to Grow
Uxin Shares Skyrocket 15% on Loan Business Divestiture, Private Placement of Notes
Yirendai Reports Revenue, Income Drop; Acquires CreditEase
So-Young Removes Banned Drugs, Fake Reviews From Platform; Stock Plunges 9%


text:
How the Tesla Model S has changed the auto industry
Tesla, which launched its first mass-market electric car in 2007, has since become one of the most profitable car companies in the world.
The company is valued at $7.8 billion.
Tesla's sales, however, have been growing more slowly than other big automakers.
Its share price has plummeted from about $70 per share in early 2014 to about $22 today.
Tesla is still in a long-term decline.
Even though the company's market capitalization has shrunk over the past year, its stock price has risen by about 1,000% over the last year.
Tesla's stock is trading at a record $38 per share.
Tesla and its competitors have also enjoyed record profits.
But the Tesla brand has suffered.
The company's stock price was in the single digits in early 2015 before Tesla's record quarterly profits, as well as new products like the Model 3, were announced.
In April 2016, Tesla announced it would cut 1,600 jobs.
Tesla has also faced criticism from some of its biggest customers, such as Boeing, which had planned to spend $7 billion to build a fleet of new Model 3 electric cars.
Despite these challenges, Tesla's success has not meant that Tesla has failed.
It has also attracted the attention of governments around the world, and there is an expectation that Tesla will be able to build even more cars.
Tesla CEO Elon Musk said in May that the company will eventually be able "to build 1,500 cars a week."
Tesla has also managed to build the most reliable electric cars in the U.S. since the introduction of the Model S in 2008.
It is still difficult to predict how Tesla will continue to make profit for many years to come, but Musk has said that it's possible to make about $100 billion per year.
And, while Tesla has had a hard time growing its stock since its debut, the company has shown signs of improvement.
The stock price rose more than 500% in the second quarter of 2018, as did the company in the first quarter of 2019.
Although Tesla has struggled to grow sales in recent years, Musk says that the Model X is a great example of how to build profitable companies.
Read moreTesla has been selling cars in record numbers, and the company is on track to exceed its goal of selling 50 million Model 3 cars this year.
This means that Tesla is already ahead of schedule.
While the company was able to achieve its goal, it has not always been easy.
For example, Tesla has faced problems with batteries.
Earlier this year, Tesla suffered a major battery problem that resulted in a huge surge in its stock prices.
This led to a massive decline in the stock price of the company.
Tesla announced on May 30 that it had temporarily halted production of its battery-grade batteries for the Model 2, Model 3 and Model X, but it has since resumed production.
Meanwhile, Musk has been making some changes to Tesla.
In April, the CEO announced that he had decided to sell the company and close up shop, saying that he was "not looking to be a billionaire."
Tesla announced a plan to sell all of its vehicles, but some of these vehicles are still in production.
Tesla had previously planned to make some of the vehicles more affordable by using them in other markets.
Musk also said in April that he plans to sell Tesla's electric cars to other automakers, including Mercedes-Benz, BMW and Toyota.
For now, however…
The future of electric vehicles The future is still uncertain for electric cars, but there are signs that the industry is moving forward.
Tesla may not have sold 100,000 cars in a year, but in 2018, the Model Y electric car sold more than 100,0000 units.
According to Autodata, the Tesla stock price is up about 2,000 percent in the last six months.
And in June, Tesla was ranked as the world's best-performing car brand by Motor Trend.
With the Model Z electric car and the Model E SUV electric car, the electric car market is getting stronger, and Tesla has some impressive competitors.
Still, Musk remains optimistic about the future.
He has said he believes that electric vehicles will continue improving over the next decade.
"I don't think the future of the electric vehicle is necessarily going to be bright," Musk said.
"I think it's going to become cleaner, more efficient, and we're going to have more and more cars in every type of market."
It's also important to remember that Musk is a billionaire.
His company is worth more than $70 billion, and his current net worth is $70.3 billion.


How to Improve Writing in English?
Writing is one of the most essential things in communication. Writing is as important as reading in communication.
English is a global language. Knowledge of English has become a compulsion because it is an international means of communication. The way to reach a larger number of people across the globe is to acquire is knowledge of English.
English is the universal language. One knowing English will have the advantage in communicating to people. There is no need of a translator for the person who knows English.
English is crucial for higher studies, for better career opportunities.
Make a habit to write frequently- in a formal or informal situation.
If you are reading some book or listening to some important matter, try to make a list of important sentences or words so that you can refer them later.
Try to understand the words and the meaning in English only don't try to translate them into your own language.
One should improve English vocabulary as with knowledge of more words it is easier to speak or write in English.
It is also necessary to work out on spellings. Because in English if spellings are wrong then it may mean something else or it may makes no sense at all. So it is necessary to concentrate on spellings as it is an integral part of learning process.
Nowadays there are a wide range of social media and you can utilize. There are several online platforms where you can share, comment and chat with your friends or anyone in English.
You can use a blog to write any topic you are interested. Ask for the feedback. So that you can correct anything made wrong.
When you want to write in English, then you have to first think in English. Some people work in their own language and later translate it into English but it doesn't work. Use of grammar rules, idioms etc makes the writing unnatural and clumsy.
Try to write without hesitating about the mistakes. Later work out on grammar and make corrections. Ask suggestions from the proficient people.
It is not a one day process, lot of effort and vigorous practice should be carried out for the success.


The following are current fellows in Derech Hateva's Kehillat Natan Program 2007-2008. They participated in the Israel Trail Teen Adventure program during the summer of 2007, and have since drawn from their experience to create educational programs in their respective communities which they are currently implementing.
Alex Gulisashvili made Aliyah to Israel from Georgia (formerly Georgian SSR) in 2005, and came to the youth village "Yemin Orde" which is in northern Israel in the Carmel Mountains. For these two years, Yemin Orde has been both his home and school. He is now in 12th grade. Last year, when Alex was told he could sign up for a program on "Shvil Yisrael" (the Israel Trail), he joined enthusiastically as it was always his dream to hike on the Israel Trail. He feels that he learned how to live and conduct himself in the outdoors. He very much enjoyed his experience, especially the beautiful landscapes and the amazing people. Alex hopes utilize all he gained from the program, specifically by initiating environmental projects in Yemin Orde.
Uriel Mansur lives in Moshav Pduyim in the Negev. He is in the 9th grade and studies in Kiryat Noar in Jerusalem. His family has a small milking business and Uriel helps his father take care of the animals whenever he goes home. Through the framework of Kehillat Natan, and following his ITTA '07 summer trip, Uriel would like to increase awareness in his moshav to the importance of water conservation, especially in the dry Negev area. Over the course of the year he hopes to use the skills he learned over the summer to run activities through Bnei Akiva and other organizations. He also hope to teach his family and friends a more efficient way of using the moshav's water and reduce waste in the future.
Masresha Gberie was born in Ethiopia, and came to Israel when he was 14 years old. His family currently lives in Beit Shemesh, and Masresha goes to school at Yemin Orde, a dormitory school near Haifa. Through his participation in ITTA '07, Masresha learned how to relate to one's environment. He enjoyed the group dynamic which was very supportive, "like brothers." Masresha hopes to incorporate all that he learned on this program into his community at Yemin Orde and in Beit Shemesh.
Michael Sulimanov is 15 and in 10th grade. He was born in Russia and moved to Israel when he was five years old. Michael now lives in Tel Aviv. He likes playing sports like soccer, basketball, and biking. Michael participated in ITTA '07 and loved seeing the landscapes of Israel. Bonding with the group, including participants from both Israel and abroad, was an important part of the trip for Michael. They supported each other throughout the challenging journey. This year, Michael hopes to integrate his new outdoor skills and environmental knowledge into his own life and that of his community.
Angudai was born in Ethiopia and made Aliyah 6 years ago with her family. She has seven siblings, six of whom live at home in Rishon L'Zion, and one older sister who is married with kids of her own. Last year, Angudai graduated from Yemin Orde, a high school for olim chadashim (new immigrants) near Haifa. She participated in Derech Hateva's Israel Trail Teen Adventure summer program last summer and had a rewarding experience. Currently Angudai is in the Israel Defense Force in basic training. She is interested in building bridges to connect what she learned over the summer into her present army life.
Last summer Atzede was on the Israel Trail Teen Adventure and loved it. Her experiences on the trail helped her prepare for her army service. Right now she is in a training course in the IDF. Atzede hopes to share some of the ideas she learned from this past summer into the army framework by influencing her peers and eventually her soldiers, whom she will be training. Atzede attended Yemin Orde high school in the north of Israel with some of the other participants on the program. Her family came from Ethiopia originally and now lives in Rishon L'Zion. Atzede has five brothers and three sisters.


The Kindle Kids' Book Creator (KKBC) is Amazon KDP's free self-publishing tool for creating illustrated children's books from a PDF or from jpeg images.
The KKBC is easy to use, convenient, and is both PDF and JPEG friendly. It results in a fixed-format Kindle e-book, designed for picture friendly devices (and so the published e-book may not be available across all devices, but it will work on most devices for which it would be convenient to read an illustrated children's book).
One of the main issues is how to add a clickable url hyperlink that will take the customer directly to an external website (such as your author page or blog).
There is a way to do it, but it may not seem obvious. The steps below will show you how.
Step 1. Add the text for the URL by inserting a textbox. Click the button on the toolbar called Add Text. Then type the text as you want it to show.
In my example, I typed the following text (see the picture of text below). This is the url for my Amazon author page, which shows all of my books.
Step 2. Disable the pop-up feature for the textbox. Right-click in the textbox area and click the option to Delete Pop-up. This option preserves the text, but removes the pop-up feature that would otherwise be associated with the text that you added.
The pop-up feature needs to be disabled before you can make the hyperlink url clickable.
Step 3. Open a web browser and visit the webpage that you wish to link to. Copy/paste the full web address shown in your browser. When you do this, the copy/paste option should automatically include the http:// part that you need. Paste this url into a simple text editor like Notepad.
You can see the full url for my author page in the picture of text below. Compare it to the picture above. Notice how it automatically added the http:// part.
Step 4. Prepare a simple line of HTML to paste into the KKBC. You don't need to know anything about HTML. You just need to be able to follow these directions.
On a new line in Notepad (simply press Enter to begin a new line of text), type a line of HTML similar to my example in the picture of text below, except for using your own website url.
Step 5. In the KKBC, click the View tab and select HTML View.
Step 6. Click the HTML tab in the KKBC. It's right next to the Design tab, just below the toolbar and above the view of your book's content.
Step 7. Find the text that you typed in Step 1 in the HTML code that you see. This is like the book, Where's Waldo. You have to hunt for it.
In the picture below, I used a RED ellipse to show where I found my text from Step 1.
Step 8. Once you find the text in Step 7 (identical to what you typed in Step 1), highlight exactly that text, no less and no more.
It's very important that you highlight it perfectly. Don't include the < or > signs, and don't miss any characters from the text.
Step 9. Then copy/paste the text from Step 4 (the one line of HTML code that we made) to overwrite the text from Step 8.
That's it. Except now you should make sure it works right. See Step 10.
Step 10. Click Book Preview and Create Book Preview. This may take a minute.
When it finishes, it should open the Kindle Previewer (which you need to install before you do Step 10, if you don't already have this valuable tool installed — you can find Kindle Previewer v3 and other valuable tools at Amazon KDP right here: https://kdp.amazon.com/en_US/help/topic/A3IWA2TQYMZ5J6).
Find the page where you added the clickable hyperlink. Place your cursor over the hyperlink. The symbol of the cursor won't change shape (it will be an arrow, not a hand), but that doesn't matter.
When your cursor is over the clickable hyperlink, left-click your mouse once.
You can see how my example looks in the preview window below.
When I did this, my web browser opened my Amazon author page successfully.
You can see the webpage that opened below.
Chris, thank you so much for making these step-by-step directions. KDP should thank you for providing this work-around. I created a hyperlink that worked successfully in the KKBC Book Preview (YAY!), but not in the Kindle Previewer 3 when I uploaded the .mobi file (hmmm…). I'm not sure why it worked in one but not the other. I also learned that once I make a hyperlink and change the html, the text box can't be deleted. Instead, I have to start over with a new document. Thank you again!
That's interesting. I took the .mobi file that I just created, uploaded it to KDP, and checked the online previewer. At first, a message told me that my book included interactive content that the online previewer doesn't support, but then when I proceeded to click on my hyperlink, it opened up the webpage.
Next, I clicked Book Details to return to the publishing page at KDP. I clicked Preview on Your Computer in the Kindle eBook Preview section, and selected the MOBI option. I downloaded this .mobi file to my computer and opened it with the Kindle Previewer v3. (It took a while to open.) When the downloadable previewer opened, it worked there, too, just like it had within the KKBC.
Finally, I downloaded the .mobi file from the Kindle eBook Preview section — the same place where I tested it with the previewer in the previous paragraph. I went to my downloaded files (in FireFox, these are accessed via a down arrow at the top right corner of the browser) to find my downloaded .mobi file, I right-clicked it, and selected Open Containing Folder. In that folder, I found the .mobi file and copied it. Then I connected my Kindle Fire HD 8.9″ via USB cable. I opened the Fire device in my computer folder and went into Documents. I pasted the .mobi file in Documents. (Don't paste it in Books.) Then I pressed the Home button on my Kindle Fire device, clicked Docs, and found a folder with today's date on it. Inside of that folder, I found my .mobi file and opened it. When I did this, I found the page with the hyperlink and clicked on the hyperlink. My Amazon author page opened up in a web browser on my Kindle Fire.
Chris, I didn't go through this elaborate of a test. I used the published .mobi file from KKBC to upload to the Kindle Previewer 3 app on my Mac laptop. I don't have a kindle device to test on, just a kindle app I use for kindle books. Not sure how to test on that. In any event, I created my book in InDesign, so I'll have to delete the hyperlinks and replace that text in KKBC with live links made individually using your work-around. I also have to make my pop-ups. I'm going to wait to do all this because my book is with an editor right now. No sense in doing it twice. But now that I know how to do it, I feel more confident.
Chris, you're absolutely awesome, this should be in KDP's help notes in place of what their current "solution" is. Thank you so much!
Chris, this is great! I followed the steps, found my text, highlighted it, and copy and pasted the full HTML code you suggested (with my content of course). Then, I clicked on the tab "Design" to see it, and it deleted the entire page. Went back to HTML VIEW, and most of the code was gone. Any ideas?
That's strange. I haven't seen this. I would recommend (to anyone who reads this) saving a copy of the file in another location before attempting to add links—just to have a backup. I hope you get it to work. Good luck with your book.
On WordPress, it's showing curly quotes. Maybe that's automatic from WordPress, but just in case, make sure they are straight quotes in the KKBC.
Thank you so much for this. Solved my problem.
But I just didn't get one thing. When I put in the hyperlink, the hyperlinked-text size becomes so small and it does not give me an option to edit the text size.
It's easy to introduce a little mistake when editing the HTML. A little mistake in the syntax (for example, with greater or less than symbols) can cause mayhem. It's also easy to accidentally delete something important or put the new text in slightly the wrong place when pasting in the new line of HTML.
If you're certain the HTML doesn't have an issue, I recommend contacting KDP support to report the issue. Perhaps they can help out; at least it won't hurt to ask. Good luck.
Thanks for all this, Chris. I need to add an hyperlink to an email address. How do I do this?
Use the format $a href="mailto:emailaddress"$text to display$/a$ but don't use dollar signs ($). The first $ should be a less than sign, the second $ is a greater than sign, the third $ is a less than, the fourth $ is a greater than. (Unfortunately, if I type the actual symbols here, WordPress will think I'm typing HTML and it will show you a hyperlink instead of the HTML that you want to see.) Be sure to include mailto followed by a colon. Where I wrote emailaddress, you would enter the actual address, like greekphysics@yahoo.com, in its place. Where it says text to display, you can type whatever you want: It could be the email address, or any other text. If done correctly, when someone clicks on the hyperlink, it will open the default mail program.
Just a question: Should there be another less than sign before text to display?
No; there is just a greater than sign there. There are two pairs of less than and greater than signs; one pair encloses the opening a tag before text to display and another encloses the closing a tag after text to display.
Sorry to be a pest. Everything has worked; I've done the Book Preview; at the end of the list on the Console it says: 'Mobi file built successfully', but does nothing further. Where is the mobi file stored? I've tried to run Kindle Previewer, but it doesn't show up any new link.
I've Just bought Word to Kindle Formatting Magic. Looking forward to reading it.
When I start a new project, the popup window asks where I wish to save my book. The default for me is in my documents, but your file should be saved in the folder specified there. Try starting a new project to see which folder is your default. It actually creates a new folder (in my case, I found this new folder in my documents on my computer).
To create the MOBI file, click File > Save for Publishing. It will then let you specify a different folder if you don't wish to save it in the default, but if you don't choose a different destination, it will save in the default. After this step, I find my MOBI file exactly where I chose to save it.
Again, thanks for the very quick reply. Apologies for the much slower response. Mac frustrates me. In Windows all the open windows are on the Bar; on my MacBook Pro, not so much. When I started closing down some of the open windows I found the Save as Pop-Up as a Pop-Under (sound of grinding teeth). Then I found that my Kindle Previewer was not functioning and had to download the new version. (More teeth grinding). Then it took more than 15 minutes to open the mobi file (it's a VERY large book). Then the link – all in blue and underlined – refused to open. I went back to your site to see what I may have done wrong. Everything seemed to be ok. When I came back Kindle Previewer it had frozen – partly. While I could change the view from Tablet to Phone, etc., it wouldn't go to the page. I closed it down and re-opened it. Fortunately, it didn't make me wait this time, but the link still doesn't work. I started writing a reply to you, but I was out in a cafe and the battery of my Mac is coming to the end of its life, so I came home. Where I found that the page on you site had frozen, and that when I tried to copy the text, it just reverted to an empty Reply box. No more teeth to grind, so I cried. Having now had supper to calm my ragged nerves, I am back.
I hope this has given you a good laugh.
Another pause as I notice a "" around mailto, correct it (I hope it should have been…), wait 15 minutes for another Book Preview, plus 12 for Book Previewer to process it; get told that the file is corrupt; another 15 minutes to build another Book Preview; 12 minutes for BP to process it. The link still doesn't work.
So, at the end of this Epic story – have I done something wrong with the link; does this that it won't work if I Save to Publish?
I played around with it tonight, and it has changed somewhat since I last used it. The previewer isn't perfect; it's possible that it will work in the actual ebook, but it might also be the case that KDP no longer supports hyperlinks created through the HTML mode of the KKBC. The one way to know for sure is to buy a copy and test it out from the customer's perspective after publishing.
A regular reflowable ebook would definitely allow active hyperlinks, but it takes more time to publish this way. Text also wouldn't pop up in reflowable format: For some books, it would work well to have reflowable text between pictures instead of text on pictures, but for other books reflowable format wouldn't work well.
Thanks so much for your help. I uploaded the book to Kindle. It only took two hours for it to be published. The hyperlink doesn't work, sadly, but, as I have the full email address on the page, should anyone want to get hold of me, that won't be a problem.
Interestingly, on my iPad I can zoom in to the pages, but on my Android phone, where it is more necessary, this is not possible. I'm trying to figure out how to put a warning on Amazon that reading it on a phone is not recommended. Probably in the book description.
Infuriatingly, I found a typo (a missing opening parenthesis) on my first read-through… Isn't it always the way? When I have recovered I will go through the process of correcting it in Kids Book Creator, and re-uploading.
Thanks. I'll put it at the top of the description. A pity, but I don't want any unhappy customers.
Regarding Step 2. Disable the pop-up feature for the textbox.
Are we able to retain both pop-up feature and hyperlink.
If this feature is still working, I expect it to only work with the pop-up disabled (this was necessary when I had tested it out).
Great thank you for clarification.


During my time in the L-SPARK Accelerator, I was still adjusting to the ins and outs of the tech and startup world. I had previously ran successful businesses, but I wasn't selling software in any of them. As a novice tech company entrepreneur, I was uninformed about the potential ways I could leverage government programs.
Less than a year out of L-SPARK, we've increased our company size from four to over 80 employees and we've closed several rounds of funding from institutional investors. Through this continuous progression, I still turn to government organizations and NGOs for support.
TBSC has greatly benefited from the National Research Council's Industrial Research Assistance Program (IRAP).
IRAP provides advisory services such as strategic and business intelligence. They can also identify potential partnership opportunities, both in Canada and internationally.
Through IRAP, we've been able to obtain over $650,000 that's non-repayable. This has been helpful because as an early stage company, we need to retain as much capital as possible.
The Business Advisory Branch of the Ontario Ministry of Economic Development, Employment and Infrastructure can offset the cost of hiring an Export Manager by tapping into the Ontario Exporter's Fund. We're currently in talks to bring on an export manager that can help us acquire and retain customers globally.
The Export Market Access program also subsidizes costs related to attending conferences and tradeshows including transportation, booth rental and marketing materials.
We've made firm partnerships with companies in Turkey through Export Development Canada. Their mandate is to connect Canadian companies with international business opportunities.
Mitacs is heavily focused on funding multidiscipline projects and helping with R&D activities. We're happy to leverage Mitacs to leverage the technology and innovation behind IBM Watson to develop our next product for small businesses, Sherlock.
We're in talks with the National Sciences and Engineering Research Council of Canada (NSERC) to bring on summer students who can get real-world experience helping us with our R&D. I look forward to bringing in post-secondary students who can potentially come on board full time when they wrap up their studies in the future.
As TBSC's employee count has skyrocketed, we've heavily relied on ITO 2.0's employment services to help us recruit talented individuals for our sales, marketing and customer success teams. The agency also runs job fairs and recruitment events on behalf of employees. I have a weekly meeting with our IT0 2.0 representative to get an update on some of the candidates that are a potential good fit for TBSC.
We're having an initial conversation with the Information and Communications Technology Council (ICTC) who offers wage subsidies for positions in the ICT field. I look forward to leveraging their employment services, in addition to capitalizing on their ICT business intelligence services.
We're also discussing financing options with the Business Development Bank of Canada (BDC). Their services are exclusively for entrepreneurs and businesses, and they provide business loans and other consulting services.
Welch LLP helped navigate our successful SR&ED claim, and their accounting services have helped us to maximize tax credits and kept our finances in order.
I've relied on the Royal Bank of Canada (RBC) long before I was a tech company founder. I rely on the organization's strong background in servicing tech companies, and continue to consult with them as we fundraise.


text:
Construction under way at Woolworth building
by Rachel Young |
06/21/2013 10:00 AM |
BARBARAELLEN KOCH PHOTO | Cecil Sweeney, a laborer with A1 Reliable Industries Corporation of Farmingdale, takes a break on the second floor of the Woolworth building Thursday afternoon.
Demolition of the 25,000-square-foot Woolworth building in downtown Riverhead began this week.
Michael Butler, Woolworth Revitalization LLC's managing partner, said Thursday a construction crew is in the midst of demolishing the building's interior.
"It's moving along," Mr. Butler said. "Right now we're essentially opening up the whole downstairs and getting rid of everything that was rotten and old."
Mr. Butler couldn't predict when the demolition will be finished but said it would take at least another month.
"The building had a lot of water damage and it was neglected a long time," he said.
Ultimate Fitness, a longtime Route 58 gym, is expected to begin occupying 20,000 square feet of the building's first floor once construction is finished, possibly in September.
The remaining 5,000 square feet on the first floor will be carved into additional retail space and has already generated a good deal of interest from potential tenants, Mr. Butler said.
"There has been a lot of interest from food-related businesses more than anything, whether it's restaurants or take-out places," Mr. Butler said.
Building plans also call for 19 apartment units on the building's 15,000-square-foot second floor.
Woolworth went out of business in 1997 and the building has been empty since then. It was purchased for about $4 million in 2006 by Apollo Real Estate Advisors, a Manhattan-based investment group. At the time, Apollo was proposing a $500 million revitalization for almost all of downtown, though that project later fell apart.
Mr. Butler, who lives in Sag Harbor, purchased the property from Apollo Real Estate Advisors earlier this year.
"We're fixing it up and in the end it's going to be a great building," he said.
downtown Riverhead, Michael Butler, Riverhead, Ultimate FItness, Woolworth building
Water experts, advocates gather in Riverhead
Plan for Riverside won't work without sewers, locals say
Daily Update: Heat warning issued, traffic ideas proposed, balloon release ban discussed
Don't let go of that balloon, it could soon cost you
by Tara Smith
County lawmakers are considering a ban on balloon releases, citing discarded items littering beaches and posing a threat to wildlife. …
The National Weather Service issued an Excessive Heat Watch to warn residents of scorching temperatures in the forecast this weekend….


Place canvas onto a drop cloth or old sheet. Squeeze out a liberal amount of both White and Fuchsia (or contrasting colours of your choice) acrylic paint onto a palette or piece of scrap plastic.
Starting with Fuchsia paint, apply a liberal amount to the brush and work across the canvas horizontally Dip the brush into Fuchsia again then add a little White and work across horizontally again just above the previous line of straight Fuchsia, blending as you go to create a slightly lighter shade.
Continue adding more and more White to the mix as you work your way up the canvas, continuing to blend as you go. Don't forget to include the sides of the canvas if you want that 'wrap around' effect.
When you've nearly reached the top, wash out your brush completely and dry. Dip the brush into the White only and paint the very top of the canvas, blending down into the pale pick. If you have trouble blending at any time or find the paint is drying too quickly, use a little water to even out the blending effect.


Choose pieces that you can perform very well now. List them on paper in the order that you want to perform them. Don't try to impress with difficult things and then not do as well.
Women: Nice Dress (longer than usual because you are UP, on stage), tailored, nylons, heels, scarf?
Greet all of the auditioners, if possible. Shake hands. Be personable. Find out about them ahead of time. Who, how many, what are their backgrounds in music? Were they ever performers? What are their titles in this organization? What kind of power do they have? Do any of them represent other organizations as well? Something for which you could audition in the future- a second gig? Another contact?
My theory is 95% of all facts can be known if you take the trouble to find out. (Auditioners, location, room, acoustics, accompanist, how many pieces to offer, types of pieces, how many others will be auditioning, how soon you will find out the results, etc.) ***You must be ready for about 5% unknowns, things that you cannot prepare, things that change at the last minute. Don't worry about things you cannot change.
Give pertinent facts about yourself. Have several copies. Better paper. Include: name, address, phone, fax, e-mail, etc. Experience, repertoire performed, future concerts, education, etc. Put education last so you look like a singer and not a student. References in music, references in general with phone and e-mails provided. Singer, have a photo with the name on back or printed on front. Keep resume to one page.
Practice your auditions often before you really have one!!


text:
Fallout 76 hotfix addresses issues with update 11, Meat Week in-game event detailed
about X hours ago from VG247
Bethesda has released a hotfix dealing with issues that cropped up in Fallout 76 update 11. It has also provided details on the next in-game event.
First up, the hotfix for Fallout 76.
Today's hotfix addresses a bug that could prevent Legendary enemies from dropping Legendary loot. There are other issues the team is looking into regarding enemies which aren't Legendary being displayed as such.
The Moon in Destiny 2: Shadowkeep will be twice the size of the original
The Moon in Destiny 2: Shadowkeep will not only feature new "changes and twists," but it is over twice the size it was in the original Destiny.
Destiny 2: Shadowkeep players will find a much larger space has been opened up on the Moon.
According to a new developer diary from Bungie, the available area on the Moon is more than twice that of the original map.
Rebel Galaxy Outlaw arrives for PC on the Epic Games Store August 13
The Rebel Galaxy prequel has a release date.
Double Damage has announced a PC release date for Rebel Galaxy Outlaw. You'll be able to get your hands on it exclusively through the Epic Games Store on August 13.
Rebel Galaxy Outlaw is a prequel to 2015's Rebel Galaxy where you take on the role of Juno Markev, an "outlaw and smuggler who went straight and settled down until events conspired to drag her back into the life."
17th century exploration was a major inspiration for GreedFall
A developer diary for GreedFall, the upcoming RPG from Spiders, has been released.
In this developer diary, Spiders provides a look at the development and research for GreedFall, and how the 17th century and exploration was a major inspiration.
It takes a look at the various environments, both historical and fantastical, some of the beasts you will encounter, and a bit more on the game's story.
This stylish Dungeons & Dragons Core Rulebooks Gift Set is perfect for new adventurers
Getting into tabletop gaming can feel like a daunting and confusing task. Yet, newcomers will be able to put their best foot forward in whatever armour they decide to don with this swish Dungeons & Dragons Core Rulebooks Gift Set.
The gift set contains the Player's Handbook, Dungeon Master's Guide and Monster Manual – three of the core 5th Edition rule books that you'll definitely need for a D&D adventure.
Each one covers a different aspect of D&D that you'll want to know about to get started. Whether that's creating your character, introducing you to the lore of the world or understanding what kinds of nasty creatures you might face.
id Software studio director Tim Willits to depart company after QuakeCon 2019
Studio director, level designer and former co-owner id Software, Tim Willits, has announced he will be leaving the company after 24 years.
Tim Willits announced today he will leave id Software after QuakeCon.
"All of the games currently in development are in very good hands, my departure will not affect any planned releases," stated on Twitter. "id Software is packed full of amazing talent that will continue to develop (long into the future) some of the best shooters in the world."
Play Borderlands: Game of the Year Edition free this weekend with Xbox Live Gold
You can play Borderlands: Game of the Year Edition free this weekend with Xbox Live Gold.
From today through July 21, Borderlands: Game of the Year Edition is free to play if you have a subscription to Xbox Live Gold.
Since it's a Game of the Year Edition, you'll be able to try all four of the included add-on packs.
The best tank games across all platforms
Crushing your enemies with a tank is always fun, so let's take a look at some of the best tank games going.
Whether you're blowing a hole in enemy defences or continually running over your foes, tanks are brilliant. There aren't many dedicated tank games out there, so we'll be looking at a mix of games that have excellent tank levels too.
As ever, we'll talk about one game from each franchise so we're not repeating ourselves. This isn't a ranked list, either; only you can decide which is your favourite on this list.
Plants Vs Zombies 3 is in pre-alpha – you play it now on Android
Plants vs. Zombies 3 is in the works for Android, and you can try it out for yourself ahead of release via the pre-alpha.
A pre-alpha for the Android version of Plants vs. Zombies 3 will be held, EA announced today.
The pre-alpha is playable from today through Google Play, but only a limited number of downloads will be available in phases. If you miss out on one phase, EA and PopCap Games said to check the page another day for your chance to play.
Plants Vs Zombies 3 is in pre-alpha – you can play it now on Android


A sound technician must literally walk in the footsteps of the characters on the screen. A film that connects the world of modern film-making to the Paris of painter Toulouse-Lautrec and his model/lover Mireille who commits suicide.
The Footstep Man looks at the lines between art and reality, and the effect that each has upon the other.
This is a film about film-making, with the film-within-the-film being very important to the plot of the film itself.
The movie itself - The Footstep Man - looks at the realisations and personal growth of the main character - Sam (actor: Stephen Grives) - as he works on the film. He and the director of the film - Vida (actor - Rosey Jones) - have differing views as to how the film should proceed, with each being spurred on by the central character in the film - Mirielle (actor - Jennifer Ward-Lealand). Vida and Sam are exploring personal tragedies through the film, and as the filming progresses, the hardships of Mirielle are reflected in the hardships of Sam.
I watched this movie as part of a film studies course and enjoyed it. The Footstep Man looks at the lines between art and life, and how one can affect the other through personal attachments and private fears.


text:
Q: Excel warning system idea I am trying to create a warning system in Excel but I have no idea which function could be of aid.
say for example, I want a system that alerts me when the cell number is more than 5. and the signal stays on even after it went below 5.
cell A1 is RTD and it is a number that changes frequently.

At 9AM, the number is 5.
At 10AM, it changes to 10.
At 11AM, it is back to 5.

How can I have a warning system that stays on, even at 11am, to notify me that this number has been more than 5. the "Warning" will remain on until I turn it off.
And even ideally, can Excel do a pop up or some sort to alert me on this warning.
thanks and regards
gyx

A: Try Data Validation Lists.
For instance, if your Purchase Date is in Cell A1 and your return date is in cell B1 then do the following for cell B1:
(Steps Assume you use Excel 2007)

*

*Select Cell B1

*Go to the Data toolbar

*Select Data Validation

*For "Settings" tab, select "Custom"

*In the formula Bar, type the formula "=B1>A1"

*On the "Error Alert" tab, select Warning (Allows entry but shows a message box when condition isn't met)

*For Title, type "Error"

*For Error Message, type "Return Date cannot be before Purchase Date"

Should do exactly what you want...no code!!!! Same type of logic can be applied to do your advanced messaging, just need to update the formula in step 5 with some AND or maybe OR functions and you'll be on your way.

A: At first, set a name for the specified cell number which you want to system alerts when it's value is more than 5:

*

*Click on the cell to be selected.

*In the Name Box (At Up-Left side of the Excel window, Left side of the formula bar) Type a desired name, for example Alert

In your Workbook window Press Alt + F11
Microsoft Visual Basic For Application window will opens.
At left-up side, in the project explorer box, choose your specified worksheet. (For example: Sheet1)
Enter code below (Here also warns you with the status bar)
Private Sub Worksheet_Change(ByVal Target As Range)
    If ActiveSheet.Name = Me.Name Then
        If IsNumeric(Range("Alert").Value) Then
            If Range("Alert").Value > 5 Then
                MsgBox "The value is larger than 5", vbCritical + vbOKOnly, "Alert"
                Application.StatusBar = "Warning: the sensitive cells value is larger than 5"
            Else
                Application.StatusBar = "The sensitive cell is approved"
            End If
        Else
            Application.StatusBar = ""
        End If
    End If
End Sub


text:
Tetrastichus inaequalis är en stekelart som beskrevs av Graham 1991. Tetrastichus inaequalis ingår i släktet Tetrastichus och familjen finglanssteklar. Inga underarter finns listade i Catalogue of Life.

Källor

Finglanssteklar
inaequalis

redpajama_set_name: RedPajamaWikipedia


text:
Q: Golang Gin: Headers were already written. Wanted to override status code 301 with 200 I'm developing a control panel and had hired some people to build it for me. They all bailed and I'm left having to cleanup the spaghetti.
What I need to do is this:

*

*Pull up Login page

*Check login info and post form

*After post is successful, redirect to dashboard page

Just a simple login process. Problem is that when the login succeeds, the console enters into this redirect loop as you can see below:
[GIN] 2023/02/21 - 15:43:32 | 301 |  1.224601041s |             ::1 | POST     "/login"
[GIN-debug] [WARNING] Headers were already written. Wanted to override status code 301 with 200
[GIN] 2023/02/21 - 15:43:33 | 200 |    787.3905ms |             ::1 | GET      "/dashboard"
[GIN-debug] [WARNING] Headers were already written. Wanted to override status code 301 with 200
[GIN] 2023/02/21 - 15:43:33 | 200 |  197.989875ms |             ::1 | GET      "/login"
[GIN-debug] [WARNING] Headers were already written. Wanted to override status code 301 with 200
[GIN] 2023/02/21 - 15:43:34 | 200 |  817.293166ms |             ::1 | GET      "/dashboard"
[GIN-debug] [WARNING] Headers were already written. Wanted to override status code 301 with 200
[GIN] 2023/02/21 - 15:43:34 | 200 |  206.107791ms |             ::1 | GET      "/login"
[GIN-debug] [WARNING] Headers were already written. Wanted to override status code 301 with 200
[GIN] 2023/02/21 - 15:43:35 | 200 |  792.954375ms |             ::1 | GET      "/dashboard"
[GIN-debug] [WARNING] Headers were already written. Wanted to override status code 301 with 200
[GIN] 2023/02/21 - 15:43:35 | 200 |  201.972708ms |             ::1 | GET      "/login"
[GIN-debug] [WARNING] Headers were already written. Wanted to override status code 301 with 200
[GIN] 2023/02/21 - 15:43:36 | 200 |  840.773625ms |             ::1 | GET      "/dashboard"
[GIN-debug] [WARNING] Headers were already written. Wanted to override status code 301 with 200
[GIN] 2023/02/21 - 15:43:36 | 200 |  198.680125ms |             ::1 | GET      "/login"
[GIN-debug] [WARNING] Headers were already written. Wanted to override status code 301 with 200
[GIN] 2023/02/21 - 15:43:37 | 200 |  897.679708ms |             ::1 | GET      "/dashboard"
[GIN-debug] [WARNING] Headers were already written. Wanted to override status code 301 with 200
[GIN] 2023/02/21 - 15:43:37 | 200 |  200.759917ms |             ::1 | GET      "/login"
[GIN-debug] [WARNING] Headers were already written. Wanted to override status code 301 with 200
[GIN] 2023/02/21 - 15:43:38 | 200 |   795.39975ms |             ::1 | GET      "/dashboard"
[GIN-debug] [WARNING] Headers were already written. Wanted to override status code 301 with 200
[GIN] 2023/02/21 - 15:43:38 | 200 |     196.538ms |             ::1 | GET      "/login"
[GIN-debug] [WARNING] Headers were already written. Wanted to override status code 301 with 200
[GIN] 2023/02/21 - 15:43:39 | 200 |  844.680709ms |             ::1 | GET      "/dashboard"
[GIN-debug] [WARNING] Headers were already written. Wanted to override status code 301 with 200
[GIN] 2023/02/21 - 15:43:39 | 200 |  180.598084ms |             ::1 | GET      "/login"
[GIN-debug] [WARNING] Headers were already written. Wanted to override status code 301 with 200
[GIN] 2023/02/21 - 15:43:40 | 200 |  814.666208ms |             ::1 | GET      "/dashboard"
[GIN-debug] [WARNING] Headers were already written. Wanted to override status code 301 with 200
[GIN] 2023/02/21 - 15:43:40 | 200 |     210.281ms |             ::1 | GET      "/login"

Now, since I'm picking up the slack of old devs, I'm still studying/new to Golang and Gin so bare with me...
From what I understand, main() is configuring the routes, middleware, loading templates then running the engine.
main.go
func main() {
    //gin.SetMode(gin.ReleaseMode) // uncomment for production

    // Startup Tasks
    startup()
    logging.LogInfo("Ran Startup Tasks...")

    // Configure Engine
    hostPort := fmt.Sprintf(
        "%s:%d",
        dataManagers.LoadConfig().Bshost,
        dataManagers.LoadConfig().Bsport)
    webEngine := gin.Default()
    webEngine.SetTrustedProxies([]string{hostPort})
    logging.LogInfo("Configured Engine...")

    // Load Middleware
    store := cookie.NewStore([]byte(randstr.String(64)))
    webEngine.Use(sessions.Sessions("session", store))
    webEngine.Use(errorHandler.ErrorsHandler500())
    logging.LogInfo("Loaded Middleware...")

    // Configure Routes
    pubRoutes := webEngine.Group("/")
    privRoutes := webEngine.Group("/")
    routes.PublicRoutes(pubRoutes)
    privRoutes.Use(middleware.AuthRequired)
    routes.PrivateRoutes(privRoutes)
    logging.LogInfo("Configured Routes...")

    // Non Routables
    webEngine.NoRoute(errorHandler.ErrorsHandler404())
    logging.LogInfo("Configured Non-Routables...")

    // Load Template Files
    LoadTemplates(webEngine)
    logging.LogInfo("Loaded Templates...")

    // Start the Gin Engine
    err := webEngine.Run(hostPort)
    logging.LogInfo("...BlockSuite-WebUI Loaded")
    logging.Catch(err)
}

When / is accessed, I'm redirected to /login which brings up the login form.
I submit the form with valid credentials and it redirects me to /dashboard. I don't know if redirect is the correct thing to do after a successful sign-in, that is what the original dev did and it worked fine.
routes.go
func PublicRoutes(webEngine *gin.RouterGroup) {
    webEngine.GET("/login", entry.LoginGetHandler)
    webEngine.POST("/login", entry.LoginPostHandler)
    webEngine.GET("/", other.IndexGetHandler())
}
func PrivateRoutes(webEngine *gin.RouterGroup) {
    dashboardRoutes := webEngine.Group("/dashboard")
    {
        dashboardRoutes.GET("/", dashboard.DashboardGetHandler)
    }
}

login.go
func LoginGetHandler(context *gin.Context) {
    user := utility.GetUserSession(context).Get("userEmail")
    if user != nil {
        context.Redirect(http.StatusMovedPermanently, "/dashboard")
    }
    context.HTML(http.StatusOK, "login.html", gin.H{
        "siteKey":    dataManagers.GetRecaptchaSettings().SiteKey,
        "enabled":    dataManagers.GetRecaptchaSettings().Enabled,
        "content":    "",
        "success":    "",
        "serverLogo": brand.GetBrandLogo(),
        "title":      "Welcome back",
    })
}
func LoginPostHandler(context *gin.Context) {
    user := utility.GetUserSession(context).Get("userEmail")
    if user != nil {
        context.Redirect(http.StatusMovedPermanently, "/dashboard")
        //return
    }
    userEmail := utility.Sanitize(context.PostForm("email"))
    password := utility.Sanitize(context.PostForm("password"))
    rememberme := utility.Sanitize(context.PostForm("rememberme"))
    //captcha := context.PostForm("g-recaptcha-response")
    if !utility.IsEmailValid(userEmail) {
        context.HTML(http.StatusBadRequest, "login.html", gin.H{"content": "Please enter a valid email address"})
        return
    }
    /*if helpers2.RecaptchaCheck(captcha) || dataManagers.GetConfig().SiteKey != "" {
        // success
    } else {
        if dataManagers.GetConfig().Enabled {
            context.HTML(http.StatusBadRequest, "login.html", gin.H{"content": "Please verify captcha"})
            return
        }
    }*/
    if utility.EmptyUserPass(userEmail, password) {
        context.HTML(http.StatusBadRequest, "login.html", gin.H{"content": "Email and password cannot be empty"})
        return
    }

    if utility.CheckForWhiteSpaces(userEmail, password) != nil {
        context.HTML(http.StatusBadRequest, "login.html", gin.H{"content": "Username and password can't contain spaces"})
        return
    }
    if !utility.CheckUserPass(userEmail, password) {
        context.HTML(http.StatusUnauthorized, "login.html", gin.H{"content": "Incorrect username or password"})
        return
    }
    utility.NewUserSession(context, userEmail)
    if rememberme == "yes" {
        utility.SetSessionAge(context)
    }
    context.Redirect(http.StatusMovedPermanently, "/dashboard")
}

And then, the /dashboard page is supposed to be loaded.
dashboard.go
func DashboardGetHandler(context *gin.Context) {
    user := utility.GetUserSession(context).Get("userEmail")
    db := dataManagers.GetDB()
    if user == nil {
        context.Redirect(http.StatusMovedPermanently, "/login")
    }
    [...]
    context.HTML(http.StatusOK, "dashboard.html", gin.H{
        "info":       info,
        "imageUrl":   utility.GetImage(user),
        "serverLogo": brand.GetBrandIcon(),
        "title":      "Dashboard",
        "serverName": dataManagers.GetServerInfo().Servername,
    })
}

(In the dashboard.go code, I omitted the code that pulls data into the dashboard as it is long and don't think it is that necessary.)

*

*I have commented out all of the data queries from the dashboard.go and added a simple "hi" response and it still did a redirect look. So, I know there is nothing wrong with the way this gofile is pulling data.

*I tried using different HTTP response codes like http.StatusOK and no dice.

*I verified in dashboard.go that session data is indeed being written and saved. When loading the dashboard GET handler func, I was able to output session data. So, I know for a fact the session is operating fine.

*I changed how the handlers were written. Previously, it was coded as follows:

func DashboardGetHandler() gin.HandlerFunc {
    return func(context *gin.Context) {
    [...]
    }
}

I'm completely out of ideas and don't know where to go from here. Thanks!

A: Thanks everyone that pitched in to help. I got with the previous dev and he helped me figure out what was wrong.
In his code, he had created a middleware func that, for some reason, checked the session again. That piece of code was checking old vars that did not exist in the session cookies. Because of that, I was getting kicked back to the login screen.
So, all I did was remove that middleware since I was handling that in login.go anyways.


At Land Heating & Air Conditioning, we're committed to earning and maintaining your trust. Our company philosophy is that "we're not comfortable until you are" and we stand by this belief.
We value the relationships we have with our customers and community, and look forward to being here in LaPorte for a long time to come.
Click to download our Land Guarantee.