Record attendance of members for any committee meetings.
3. Select the Committee Meetings tab.
4. Locate any committee meeting, then click the magnifying glass icon to the right.
5. Mark checkboxes of members who are present in the committee meeting.
6. Input hours on how long a member attended the committee meeting.
Note: If members attended with same number of hours, click the Copy icon and the same hours will show for all members that are marked in the checkboxes.


We have nurses trained in assessing employees working in confined spaces.
Employers must assess the risks to their employees and contractors.
It is important that all fork lift truck operators have an appropriate level of medical fitness.
Understand the laws that require employers to protect new and expectant mothers.
Corporate Health covers every medical aspect of employee fitness for offshore work.
We're experienced in providing medicals in line with CBH guidelines for safety critical work.


text:
'Pokémon Go' Legendary Raids: Fans speculate about how they could be implemented in-game
By Alex Borkowski
Legendary Pokémon are something of a white whale for Pokémon Go players. They've been teased since the game's initial trailer, Niantic hints at them a lot, and they recently showed up in both the game's code and the Indian App Store. So, where are they?
Fans speculate we might see them at the Chicago live event, but the community is long on hypotheticals and short on details. But that hasn't stopped them from speculating about what Legendary raids would look like in-game.
Pokémon Go legendary raids: Fans theorize about how legendary tier 5 raids will work
Speculation for tier five legendary raids arose in a thread started by Farewell18 on the Silph Road. Although the content of Farewell18's original post has since been removed — the Silph Road tends to moderate speculation posts that aren't intensively researched — players still sounded off about what they hoped or expected for the eventual update.
One poster said they expected legendary raids to be tied to events or specific days. While linking legendaries to events would cut down on the number of spoofers getting legendaries, they acknowledged the tradeoff would be continuing to sideline rural trainers.
Trainers also speculated about how legendary raids would fit into the existing system. A poster named Angelligent argued legendary raids might require a new type of raid pass and said they hoped Niantic might make legendary raids stick around for longer in order to compensate for the (hypothetical) increased price of these new passes.
Still, another poster contended it was more likely legendary raids would simply use the existing raid pass system, a reasonable assumption given that raid passes already come in two flavors.
Finally, players were split on exactly how many legendaries players should be able to hold at once. The prevailing notion among posters was that players should only be able to hold one of each legendary, with subsequent catches rewarding you with candies or a superior IV version. Another poster named cxerophim disagreed, saying that just because legendaries have been single catch in the main series games, there's no reason to continue that trend in Pokémon Go.
We'll hopefully get some concrete answers soon, and in the meantime, we're likely to reach peak speculation.
More Pokémon Go news, updates, tips and tricks
Raids are here! See why they may be the key to legendary Pokémon. Find out how to determine how long it will take you to reach level 40, and see what we think of the Gen 2 Pokémon added to the game. Here are the kinds of Pokémon you get from 10-kilometer eggs, and here's where you can check out what you missed during the Water Festival and Solstice events. Find out more about the upcoming Chicago event and why you'll probably be able to catch Unown while you're there — if you're not busy searching for rare evolutionary items, that is.

redpajama_set_name: RedPajamaCommonCrawl


This work consists of two images and two machine-made monochromes of the last visible colours in the electromagnetic spectrum. These are purple (800nm) and red (400nm), respectively. The images are hand-drawn sections of both the roof of Sistine Chapel and an eighteenth-century French landscape painting. The two drawings are mounted at opposite ends of the same wall, and the monochromes at right angles to them, reflecting both the images and each other.


text:
import os
import unittest

import cloudstorage as gcs

import view_build

import main_test
import gcs_async_test
import github.models
import testgrid_test
import view_pr

app = main_test.app
init_build = main_test.init_build
write = gcs_async_test.write

class ParseJunitTest(unittest.TestCase):
    @staticmethod
    def parse(xml):
        return list(view_build.parse_junit(xml, "fp"))

    def test_normal(self):
        failures = self.parse(main_test.JUNIT_SUITE)
        stack = '/go/src/k8s.io/kubernetes/test.go:123\nError Goes Here'
        self.assertEqual(failures, [('Third', 96.49, stack, "fp")])

    def test_testsuites(self):
        failures = self.parse('''
            <testsuites>
                <testsuite name="k8s.io/suite">
                    <properties>
                        <property name="go.version" value="go1.6"/>
                    </properties>
                    <testcase name="TestBad" time="0.1">
                        <failure>something bad</failure>
                    </testcase>
                </testsuite>
            </testsuites>''')
        self.assertEqual(failures,
                         [('k8s.io/suite TestBad', 0.1, 'something bad', "fp")])

    def test_bad_xml(self):
        self.assertEqual(self.parse(''''''), [])

    def test_corrupt_xml(self):
        self.assertEqual(self.parse('\xff'), [])
        failures = self.parse('''
            <testsuites>
                <testsuite name="a">
                    <testcase name="Corrupt" time="0">
                        <failure>something bad \xff</failure>
                    </testcase>
                </testsuite>
            </testsuites>''')
        self.assertEqual(failures, [('a Corrupt', 0.0, 'something bad ?', 'fp')])

    def test_not_xml(self):
        failures = self.parse('\x01')
        self.assertEqual(failures,
            [(failures[0][0], 0.0, 'not well-formed (invalid token): line 1, column 0', 'fp')])

class BuildTest(main_test.TestBase):
    # pylint: disable=too-many-public-methods

    BUILD_DIR = '/kubernetes-jenkins/logs/somejob/1234/'

    def setUp(self):
        self.init_stubs()
        init_build(self.BUILD_DIR)
        testgrid_test.write_config()

    def get_build_page(self, trailing=''):
        return app.get('/build' + self.BUILD_DIR + trailing)

    def test_missing(self):
        """Test that a missing build gives a 404."""
        response = app.get('/build' + self.BUILD_DIR.replace('1234', '1235'),
                           status=404)
        self.assertIn('1235', response)

    def test_missing_started(self):
        """Test that a missing started.json still renders a proper page."""
        build_dir = '/kubernetes-jenkins/logs/job-with-no-started/1234/'
        init_build(build_dir, started=False)
        response = app.get('/build' + build_dir)
        self.assertRegexpMatches(response.body, 'Result.*SUCCESS')
        self.assertIn('job-with-no-started', response)
        self.assertNotIn('Started', response)  # no start timestamp
        self.assertNotIn('github.com', response)  # no version => no src links

    def test_missing_finished(self):
        """Test that a missing finished.json still renders a proper page."""
        build_dir = '/kubernetes-jenkins/logs/job-still-running/1234/'
        init_build(build_dir, finished=False)
        response = app.get('/build' + build_dir)
        self.assertRegexpMatches(response.body, 'Result.*Not Finished')
        self.assertIn('job-still-running', response)
        self.assertIn('Started', response)

    def test_build(self):
        """Test that the build page works in the happy case."""
        response = self.get_build_page()
        self.assertIn('2014-07-28', response)  # started
        self.assertIn('v1+56', response)       # build version
        self.assertIn('16m40s', response)      # build duration
        self.assertIn('Third', response)       # test name
        self.assertIn('1m36s', response)       # test duration
        self.assertRegexpMatches(response.body, 'Result.*SUCCESS')
        self.assertIn('Error Goes Here', response)
        self.assertIn('test.go#L123">', response)  # stacktrace link works

    def test_finished_has_version(self):
        """Test that metadata with version in finished works."""
        init_build(self.BUILD_DIR, finished_has_version=True)
        self.test_build()

    def test_build_no_failures(self):
        """Test that builds with no Junit artifacts work."""
        gcs.delete(self.BUILD_DIR + 'artifacts/junit_01.xml')
        response = self.get_build_page()
        self.assertIn('No Test Failures', response)

    def test_show_metadata(self):
        write(self.BUILD_DIR + 'started.json',
            {
                'version': 'v1+56',
                'timestamp': 1406535800,
                'jenkins-node': 'agent-light-7',
                'pull': 'master:1234,35:abcd',
                'metadata': {
                    'master-version': 'm12'
                }
            })
        write(self.BUILD_DIR + 'finished.json',
            {
                'timestamp': 1406536800,
                'result': 'SUCCESS',
                'metadata': {
                    'skew-version': 'm11'
                }
            })
        response = self.get_build_page()
        self.assertIn('v1+56', response)
        self.assertIn('agent-light-7', response)
        self.assertIn('master-versionm12', response)
        self.assertIn('skew-versionm11', response)
        self.assertIn('1234', response)
        self.assertIn('abcd', response)

    def test_build_show_log(self):
        """Test that builds that failed with no failures show the build log."""
        gcs.delete(self.BUILD_DIR + 'artifacts/junit_01.xml')
        write(self.BUILD_DIR + 'finished.json',
              {'result': 'FAILURE', 'timestamp': 1406536800})

        # Unable to fetch build-log.txt, still works.
        response = self.get_build_page()
        self.assertNotIn('Error lines', response)

        self.testbed.init_memcache_stub()  # clear cached result
        write(self.BUILD_DIR + 'build-log.txt',
              u'ERROR: test \u039A\n\n\n\n\n\n\n\n\nblah'.encode('utf8'))
        response = self.get_build_page()
        self.assertIn('Error lines', response)
        self.assertIn('No Test Failures', response)
        self.assertIn('ERROR: test', response)
        self.assertNotIn('blah', response)

    def test_build_optional_log(self):
        write(self.BUILD_DIR + 'build-log.txt', 'error or timeout or something')
        response = self.get_build_page()
        self.assertIn('', response)
        self.assertNotIn('timeout', response)
        self.assertNotIn('build-log.txt', response)
        response = self.get_build_page('?log')
        self.assertIn('timeout', response)
        self.assertIn('build-log.txt', response)

    def test_build_testgrid_links(self):
        response = self.get_build_page()
        base = 'https://k8s-testgrid.appspot.com/k8s#ajob'
        self.assertIn('a href="%s"' % base, response)
        option = '&include-filter-by-regex=%5EOverall%24%7CThird'
        self.assertIn('a href="%s%s"' % (base, option), response)

    def test_build_failure_no_text(self):
        # Some failures don't have any associated text.
        write(self.BUILD_DIR + 'artifacts/junit_01.xml', '''
            <testsuites>
                <testsuite tests="1" failures="1" time="3.274" name="k8s.io/test/integration">
                    <testcase classname="integration" name="TestUnschedulableNodes" time="0.210">
                        <failure message="Failed" type=""/>
                    </testcase>
                </testsuite>
            </testsuites>''')
        response = self.get_build_page()
        self.assertIn('TestUnschedulableNodes', response)
        self.assertIn('junit_01.xml', response)

    def test_build_empty_junit(self):
        # Sometimes junit files are actually empty (???)
        write(self.BUILD_DIR + 'artifacts/junit_01.xml', '')
        response = self.get_build_page()
        print response
        self.assertIn('No Test Failures', response)

    def test_parse_pr_path(self):
        for prefix, expected in [
            ('kubernetes-jenkins/logs/e2e', (None, None, None)),
            ('kubernetes-jenkins/pr-logs/pull/123', ('123', '', 'kubernetes/kubernetes')),
            ('kubernetes-jenkins/pr-logs/pull/charts/123', ('123', 'charts/', 'kubernetes/charts')),
        ]:
            self.assertEqual(view_build.parse_pr_path(prefix), expected)

    def test_build_pr_link(self):
        ''' The build page for a PR build links to the PR results.'''
        build_dir = '/%s/123/e2e/567/' % view_pr.PR_PREFIX
        init_build(build_dir)
        response = app.get('/build' + build_dir)
        self.assertIn('PR #123', response)
        self.assertIn('href="/pr/123"', response)

    def test_build_pr_link_other(self):
        build_dir = '/%s/charts/123/e2e/567/' % view_pr.PR_PREFIX
        init_build(build_dir)
        response = app.get('/build' + build_dir)
        self.assertIn('PR #123', response)
        self.assertIn('href="/pr/charts/123"', response)

    def test_build_xref(self):
        '''Test that builds show issues that reference them.'''
        github.models.GHIssueDigest.make(
            'org/repo', 123, True, True, [],
            {'xrefs': [self.BUILD_DIR[:-1]], 'title': 'an update on testing'}, None).put()
        response = app.get('/build' + self.BUILD_DIR)
        self.assertIn('PR #123', response)
        self.assertIn('an update on testing', response)
        self.assertIn('org/repo/issues/123', response)

    def test_cache(self):
        """Test that caching works at some level."""
        response = self.get_build_page()
        gcs.delete(self.BUILD_DIR + 'started.json')
        gcs.delete(self.BUILD_DIR + 'finished.json')
        response2 = self.get_build_page()
        self.assertEqual(str(response), str(response2))

    def do_view_build_list_test(self, job_dir='/buck/some-job/', indirect=False):
        sta_result = {'timestamp': 12345}
        fin_result = {'result': 'SUCCESS'}
        for n in xrange(120):
            write('%s%d/started.json' % (job_dir, n), sta_result)
            write('%s%d/finished.json' % (job_dir, n), fin_result)
        if indirect:
            for n in xrange(120):
                write('%sdirectory/%d.txt' % (job_dir, n), 'gs:/%s%d' % (job_dir, n))

        view_target = job_dir if not indirect else job_dir + 'directory/'

        builds = view_build.build_list(view_target, None)
        self.assertEqual(builds,
                         [(str(n), '%s%s' % (job_dir, n), sta_result, fin_result)
                          for n in range(119, 79, -1)])
        # test that ?before works
        builds = view_build.build_list(view_target, '80')
        self.assertEqual(builds,
                         [(str(n), '%s%s' % (job_dir, n), sta_result, fin_result)
                          for n in range(79, 39, -1)])

    def test_view_build_list_with_latest(self):
        write('/buck/some-job/latest-build.txt', '119')
        self.do_view_build_list_test()

    def test_view_build_list_with_old_latest(self):
        # latest-build.txt is a hint -- it will probe newer by looking for started.json
        write('/buck/some-job/latest-build.txt', '110')
        self.do_view_build_list_test()

    def test_view_build_list_no_latest(self):
        self.do_view_build_list_test()

    def test_view_build_list_indirect_with_latest(self):
        write('/buck/some-job/directory/latest-build.txt', '119')
        self.do_view_build_list_test(indirect=True)

    def test_view_build_list_indirect_no_latest(self):
        self.do_view_build_list_test(indirect=True)

    def test_build_list_handler(self):
        """Test that the job page shows a list of builds."""
        response = app.get('/builds' + os.path.dirname(self.BUILD_DIR[:-1]))
        self.assertIn('/1234/">1234', response)
        self.assertIn('gcsweb', response)

    def test_job_list(self):
        """Test that the job list shows our job."""
        response = app.get('/jobs/kubernetes-jenkins/logs')
        self.assertIn('somejob/">somejob', response)

redpajama_set_name: RedPajamaGithub


text:
Home + Blog
Girl Runner
The Juliet Stories
Hair Hat
The Candy Conspiracy
Jammie Day!
The X Page
Girl Runner, Around The World
A new day in Canada
Tuesday, Oct 20, 2015 | Fun, Good News, Politics, Readings, Work | 2 comments
I'm not going to write in detail about Canada's federal election last night, other than to say that I heard the news about a new government being voted into office as I was driving home in stormy weather from Grimsby, Ontario, after reading to a packed house, along with Peter Kavanagh (author of The Man Who Learned to Walk Three Times). (Side note: That the Grimsby reading series could pack the house on the same night of the Canadian federal election AND the Blue Jays' first home game in their best of seven series is an enormous tribute to the organizers. For the occasion, I wore my lucky jeans and t-shirt, which I've been wearing for the last three Jays' victories — and when I don't wear them, they lose, which means I have to wear them again tonight, even though tonight I'll be coaching my eldest's soccer team for the first time and the jeans and t-shirt are decidedly un-coach-like garb! Superstitions are so inconvenient. And yet so alluring to a certain personality-type. Busted. That's me, clad in the same jeans and t-shirt for days on end, thinking it will change the outcome of a baseball game. But they won last night! They won! So …)
This photo dates from last week when the Jays clinched their best-of-five series. It marked the second time I wore the lucky shirt/jeans combo. And look at how they won!
Here I am, on a dull fall day in October, relieved to know that a new government will be setting the tone in Ottawa, a new government will be speaking for Canadians on the world stage. To be perfectly candid, I burst into tears when I heard the news on the radio, driving along the wind-whipped Skyway, alone in my little car. I burst into tears because it felt like the end of an angry and fearful man's government. It felt like Canadians were saying: enough with the fear and anger—we want to be united not divided. Politicians disappoint, and I'm not naive; there are disappointments to come with this new government. But I'm also not willing to be cynical about the difference tone can make, at the highest level of leadership: if you think Canada is not a racist or xenophobic country, check out some of the letters to the editor in the Globe and Mail over the past few weeks, opinions unleashed and legitimized by the fearful, angry campaign run by the guy who is now our former prime minister. I burst into tears because the guy who won last night said: A Canadian is a Canadian is a Canadian.
Maple leaves collected by me and CJ on our walk home from school yesterday.
Now to see those words put into policy. Now to see the reversal of the damage done.
xo, Carrie
Taylor Swift concert, Friday night in Toronto, with daughter
Tuesday, Oct 6, 2015 | Adventure, Fun, Mothering, Music, Parenting | 6 comments
As she comes on stage, the stadium lights up, the plastic rubbery wristbands we've slipped onto our wrists suddenly alive and pulsating with colour, to the beat of a song I don't recognize. There is a collective inhale, a gasp, as we prepare for this spectacle, and recognize its announcement, its arrival.
She is here.
She is wearing sunglasses and a jacket and very high heels. From where we are sitting, high up in the highest, remotest seats of this concrete bunker, she is dollhouse-sized, but her face, her stride, is simultaneously captured and broadcast onto two wide screens that flank the stage. I don't know the first song: Welcome to New York. But she's just getting warmed up.
The third song is Style.
She strides down the narrow runway, but doesn't come quite far enough. It's like she's teasing the audience, walking forward and back, but never to the end of the platform that stretches out into the audience below, those who must have paid astronomical fees for their tickets. I want her come to the end of the runway. I wait for her to come all the way down, where we will be able to see her clearly. I think that she is deliberately teasing us, and I am impressed that desire can be invented so easily, so strategically, by the simple act of denial. The semaphores in this show are simple and effective, the narrative clean and crisply delineated.
She takes off her sunglasses, she pulls off the jacket, as if now we will see her for who she is—a doll-like creation of red lips and pale perfect skin and arched brows. She is dressed in black, the outfit cutting across her pale skin, sectioning her up into pieces. I wonder how she can stride the stage in such a short skirt with such confidence.
But is it confidence? I think, but do not say to my daughter, that Taylor Swift is not singing. She is not even doing a particularly good job at lip synching. After having heard the first two performers, both young men, sing and play their guitars with flair and emotion and talent, this is disappointing. I admit to initial disappointment, as she whips off her sunglasses and disrobes before us, and holds the mic at an unlikely distance from her lips, her mouth moving out of synch with the words that are soaring through the air: We'll never go out of style, we'll never go out of style.
But I will forgive her for this lapse later in the show. Because the singing is the least of what she is attempting: What she is attempting is the creation of spectacular flashing moments, a montage that tells a story—the story of Taylor—replete with fleeting images, shimmering, an illusion of perfection, an illusion of intimacy, as gutsy as it is implausible. Later in the evening, when she is spinning around in the air at the end of the runway, which has been tilted and raised high up on a mechanical arm, later, when she is being whirled counter-clockwise before us, grounded to the platform by thin wires, playing or fake-playing chords on an electric piano, balancing in her high heels, hair swinging and swooping over her forehead, chased by high-wire cameras, projected onto enormous screens, all while singing into a microphone, I will forgive her for singing over a recorded track, singing only partially. I will admire her willingness to be on display in this feat of daring, and to display for her audience only the most idealized version of her experience of this moment.
Even when she struggles to move the microphone from her hand, where it has been strapped, into a microphone stand, she does not comment on the trouble she is having, she smiles and continues to talk to us about friendship, about how she has an easy way with friends, and can feel as close to someone she's just met as to someone she's known forever, if this someone (could we all imagine it is us?) is authentic and trustworthy. Finally, the microphone slides into the stand. She has not burdened us with this technical irritation. She doesn't complain, she refuses to draw attention to it. The show churns onward, making its own pace.
The plastic wristband warms my wrist oddly, in an electrical manner that disturbs me, but I do not take it off. When we arrived, we found that wristbands were taped to the back of every seat in the stadium. When we first slid the wristbands onto our arms, it seemed almost cultish, all of us willingly submitting to the mysterious plastic band, with no concern for what it might do to us. We trusted implicitly the glossy promises of Taylor Swift, her relentless optimism projected onto the screen before the show began, along with her stories about her cats, whose names my daughter knows. "Really, you know their names?" She shrugs. Sure. As if everyone does.
When the wristbands light up and flash and fill the stadium with a pulsating glow, I willingly wave my arm in the air, as instructed, even though my skin gets hot underneath the plastic, and even though I have to wrap the plastic around my palm to keep it from sliding down under my coat sleeve. The woman next to me, who has also come with her pre-teen daughter, dances wildly in her seat, sings breathlessly, gasping and giggling, while her daughter sits rather rigidly; I catch the girl observing us when I glance in her direction. The woman stops herself sometimes, as if embarrassed, but is again overcome by emotion. She knows the words to every song.
I know the words to three songs.
My daughter knows the words to a few more, but not many. We are here because her dad and I thought it would be an exciting and surprising birthday gift; she had written in a school project last spring that this was one of her dreams, to go to a Taylor Swift concert. That's something we could actually do! we thought, her dad and I. So. We are here for the show, for the novelty of it, and for Taylor Swift whom we both like, if only abstractly—we turn up the radio when her songs come on and sing along, but our admiration doesn't go a great deal further. We are here together, witness to what the power of money and imagination can create on a vast stage, for the consumption of a broad audience.
"Hi, I'm Taylor," she says as she marches down the runway, early in the evening. She sounds nervous, swallowing her words, but even this might be an act.
Because I have so recently been so exhausted after performances on a completely different scale, I wonder at her ability to pull out this magnitude of a performance, night after night. I wonder at her willingness to go on, city after city, show after show. But when she stands at evening's end to receive the applause ricocheting off the closed stadium roof and the girls' screaming, I think, how could this not be addictive? How could you not believe the stories being told about you? You are a blank slate for the projections of millions of people, and your words are being sung back to you in unison, and your very body, your very flesh and blood is a recipient of this adulation. You absorb the warmth from all these people, here for you, and you become in this moment as near to being one of the gods as a human can get.
When I first heard the lyrics to Style on the radio, I said to my daughter, "I don't really like this song. It's not my favourite."
"I'm doing a dance to it in gym class," my daughter said.
"She's kidding herself if she thinks she'll never go out of style. Style comes and goes. She'll be old someday too."
I might have been missing the point. My daughter might not have been listening.
"Also, it's such a vapid style she's describing. 'I've got that good girl thing in a tight little skirt.' Is that what she's saying? It sounds like that's what she's saying." It is approximately what she is saying. I look up the lyrics later: "I've got that good girl faith and a tight little skirt."
That's a bit different, message-wise, a bit richer.
But I don't like songs about good girls, because it's us against them, good girls v bad girls, and who are the bad girls? What do they do that's so bad? And what do the good girls do that's so good, come to think of it? Who is telling them they are good or bad? I also don't like models for girlhood who teeter in high heels, their exceptionally skinny bodies exposed and hairless. But I do like that this young woman is an extraordinarily powerful presence on the stage, and that she talks to her audience in a way that appears personal, promoting messages of trust, vulnerability, no shame, and strong female friendship.
And I do so very much like that the next morning, after the concert, when my daughter crawls into bed with me, and I say, "What do you think Taylor Swift does when a show is over?," my daughter says, "Well, she probably has to help take down the stage. And she probably needs to eat something. And maybe take a shower and go to bed. I think she sleeps in a trailer."
She probably has to help take down the stage.
Adventures with family
Thursday, Aug 27, 2015 | Adventure, Family, Fun, Holidays, Siblings, Travel | 2 comments
One of the best things about our family holiday was seeing the kids settle in and really enjoy each other's company. I still can't believe how easy it all felt, to travel so far and make collective decisions, with late bedtimes and no set routine to guide us.
In truth, we're not the world's most adventurous family, and nobody was disappointed if a day consisted of a little walking, a little swimming, and a made-up game, like the above, where we attempted to throw pebbles through this perfectly shaped hollow log. Points for multiple consecutive through-stones.
This was perhaps the most adventurous outing we attempted: we followed a map drawn by our host to a nearby logging road and hiked a trail in search on a large and ancient tree. And we found it! The kids agreed to pose while I tried to take the perfect family photo. And tried. And tried.
And gave up, eventually. Too much personality on display, and who would want it otherwise? The forest was eerily empty of any sign of animals (neither cougars, nor bears, nor even squirrels could be seen). But as we were leaving, this marvellous slug was spotted on the path. Everything's bigger on the West Coast, it seems, even the slugs.
Friday, Aug 7, 2015 | Adventure, Birthdays, Books, Exercise, Fall, Family, Friends, Fun, Good News, Running, Travel | 0 comments
While I'm blogging lots this week, and because I won't be blogging much (I suspect) in the week or two ahead, I'll take this moment to highlight another tab, above, on my web site: Upcoming Events. It's not new. But it's handy. It's where I keep track of readings, speaking engagements, festivals, launches — everything book-related.
For starters, next week I'm heading to the Sunshine Coast Festival in Sechelt, B.C. This is my first time at the festival, which I hear is amazing, and my first time on the Sunshine Coast, and my first time bringing the whole family along to an event like this (they likely won't come to the reading itself, but the organizers have kindly invited our family to several other events and found us a family-friendly cottage by the ocean to stay in, while we're there — see, amazing!). This is also our first major summer family holiday ever. The last time we flew somewhere together, we spent Christmas in Nicaragua — and we only had three kids. That's a long time ago. (Note to self: must find a way to return to Nica again; I've visited once a decade since childhood.)
Then, in September, I'm going to Spain! I've been invited to the Hay Festival in Segovia, with the Spanish-language version of Girl Runner: La corredora. This trip will be a whirlwind, hosted by my Spanish publisher, Alfaguara, which is launching the book this fall. (The family is staying home; sorry, guys.)
I return home in time to visit the Halton Hills library, which has chosen Girl Runner for its One Book: One Community program (very exciting!), and then just a few weeks later, in October, I'm flying out to Victoria (solo) where I'm a guest speaker at the Victoria marathon. Sadly, there's no way I'll be in shape to run the marathon, but in my dreams I somehow manage to conquer the half. This hasn't been a high-mileage summer. I've been averaging three runs a week, rarely more than 10km, often less. One change is that I rarely run alone anymore. Almost all of my exercise is social, right now: meeting a friend is motivating, and it's fun. But if I'm going to add more miles, I will have to do some longer solo runs.
Kevin is recommending that I start listening to podcasts while running. He's become a convert to the short story form by listening to The New Yorker fiction podcast while running around the neighbourhood with the dogs. I listened to one just this morning, while making poached eggs for Fooey (it's her Birthday Eve!): a story called "Love" by Grace Paley, as read by George Saunders. If you think you don't like short stories, try out this podcast. It combines the reading of a story with a conversation afterward between a well-known writer and the New Yorker story editor: it's like listening in on a really informed book club discussion.
Love is poaching eggs for your almost-ten-year-old; love is kicking a soccer ball for two hours with your seven-year-old; love is watching a leader's debate (Canadian version) with your twelve-year-old; love is driving back to camp to fetch your fourteen-year-old; love is sharing earphones and stories with your husband.
Hm. That was really cheesy. I feel compelled to apologize a) for writing it and b) for not erasing it. But hey, maybe you'll want to make your own list? Enjoy your weekend.
A very Carrie idea
Thursday, Jul 23, 2015 | Book Review, Books, Chores, Family, Fun, Kids, Mothering | 1 comment
Oh yeah, I'm a month late: this guy graduated from grade eight. Here's how he looked on the big night. In June.
Last week I had a very Carrie idea, the sort that might make my children wish they had another mother, at least just a little bit. Our eldest doesn't read much. And I'd noticed that some of my children seemed to have forgotten how to spell since leaving school last month. What to do, what to do? The idea came to me and breathlessly I spat it out! I said I would now be assigning a book report, once a week. Yes, they would have to read at least one book a week and write a report on it, which (I was spitballing here) they would then present to the family, every Sunday evening this summer.
I then dropped the mic and excused myself to go work on my Favourite Mother of All Time acceptance speech. Just in case. Because you never know.
(This comes as such a surprise! I'm in shock, look at me, I didn't even brush my hair — and am I wearing my nightgown? Yes I am and screw it, who cares!! They love me, they really love me!)
Albus wasn't so keen on the reading part, especially when I specified that the book must be at or near his actual reading level. As an option, I said he could read a magazine or newspaper article, and he made a lame attempt, flipping through a Chatelaine magazine (he was drawn by the picture of an indescribably scrumptious-looking burger on the front, amusingly, the same picture that had inspired me to buy the magazine in the first place). But nothing spoke to him (really? nothing in a women's lifestyle magazine speaks to you, young man??), and I wouldn't let him present on a burger recipe. So he requested a special pardon—could he instead write a story rather than read a book and write a report?
COULD HE WRITE A STORY??!
Ding, ding, ding, the judge says Yes.
Sunday evening. We gather round (most of us in pyjamas, me in my nightgown, as it happens). One by one the kids read out their book reports and stories. CJ reports that he likes a certain picture book called The Candy Conspiracy (his original report read, in total, "I like this book," but he was pushed to go a bit further) because of the tips, and the Juicy Jelly Worm, and the kids. He did write this all down, so the judges give him a high five.
Fooey doesn't want her report read out loud. It's on Harry Potter and the Philospher's Stone, a book that she couldn't put down, it was like being swept up in a river, she writes, an inventive metaphor that pleases her mother very much. Printed by hand, three pages long, very tidy writing, and hardly a spelling mistake to be found.
AppleApple reads her report off of her Google Drive account: a thoughtful three-page reflection on Jane Eyre, with particular interest in its religious content and pre-feminist qualities. So yes. She did her homework.
Albus reads an entertaining story he's composed on the computer about a character who lives in the dishwasher, and who is haunted by a tale told to him by an oldster in the midst—a wooden spoon who has visited the back yard and is certain he's seen a fox chasing a bear. (The comical part is that from the spoon's description it's clear the fox and the bear are nothing more than squirrels.) Well structured, excellent comic stylings, and winning characters; I suspect he put more effort into this than he did into the bulk of his school projects all year, but I am nevertheless beaming with pride.
Kevin reports on The Prime of Miss Jean Brodie, which was recommended to him by me—he reads out a passage about education, in which Miss Jean Brodie says that she believes education is meant to draw out from the student what is already in her, while the principal of the school believes education is meant to insert information into the student. Draw out or thrust in?
Discuss. (We discussed.)
I finish with the sad story of Wave, a memoir by a woman who lost her husband, two young sons, and her parents in the tsunami of 2004. The book is about her life after this loss, although it opens with an intensely riveting scene in which they are lost while somehow she survives in this massive sudden wave of destruction. I promise the kids we live nowhere near a tsunami-zone. But I can see that the younger two are quite upset at the thought of a mother losing her children, or her children being lost. Good job, Mom. So perhaps not the best note to end on.
But back to Wave: It is a powerful memoir, if you want to take it on. It isn't as hard to read as you might imagine. Sonali Derayinagala is a lovely writer. And she carries you right into the void of what it would be like to lose all of the people who make you who you are, most fundamentally. Who is she, without them?
It isn't a question any of us would want to answer.
Oh dear, I've reproduced our evening rather too perfectly. I've ended on a downer. I do apologize. Now, keep reading, keep reporting. And get back to me on Sunday.
Wednesday, Jul 1, 2015 | Adventure, Books, Driving, Exercise, Fun, Holidays, Publicity, The Juliet Stories | 1 comment
Yesterday, picked up this tired little fellow from camp. Despite looking half-asleep at camp, he was very animated in the car, singing and recounting happy stories all the way home. My favourite was about how he and two cabin-mates had plotted out a three-book series (!!) about the mythical "Evil Octopus" that is said to live under the water trampoline in the camp pond, and a good but luckless character named Tamarack Tom. Could a writer-mother ask for anything more?
On the drive to camp, I listened to an interview with a young British woman, who was on the last leg of a five week North American tour: she's a hip-hop artist, poet, and novelist — Kate Tempest. Somehow, at least temporarily, she restored my faith in the necessity — the importance — of performance. Her fresh enthusiasm was exactly what I needed to hear. She was so present and so thoughtful, dynamic, inventive, inspiring. I was inspired. Look it up, take a listen.
When we arrived home yesterday, our visitors were just arriving too: cousins for Canada Day!
The three other children had been home alone all day and the house was in a minor state of disaster, despite our newly assigned jobs and chores. How hard is it, really, to carry a dirty dish to the kitchen?
Anyway. Thankfully my sister-in-law is not fussy. But the dogs are also shedding at present. So I just vacuumed.
And I'm getting ready for another road trip yet this week (just me and the elder daughter).
Me and boy and tiger in "The Chub-Chub"
Since last Tuesday I've put over 1,000 kilometres on our little pod car, or "The Chub-Chub" as it has been nicknamed by the eldest son. So much car-sitting! My body couldn't wait to move again. Last night I ran at AppleApple's soccer practice and kept going and going and going. I knew if I stopped and stood by the field, the mosquitos would get me, and my legs were so happy to be running: I went 14.5 kilometres and it didn't feel hard, which cheers me greatly, and makes me think I'll be able to run the half-marathon when I go to Victoria this October (I'm a guest speaker at this fall's Victoria marathon–have I told you that yet?). (How this fits with less is more, I have no idea, and it probably doesn't, but there it is, and I'm excited, and excited too about the possibility of even more travel.)
In other exciting news: here is the cover of The Juliet Stories, as it will appear in the UK & Australia. Amazing, hey?
My meditation word right now is change. I'm restless, wondering, working hard, trying to tune in to what matters, my brain firing off in all directions, as I stand here on July 1st, amazed at what we managed in the month of June. It's been quite the ride, with so many swoops and dives, long distance drives, and more soccer fields than I can count. Hang on, here's summer.
All for now.
Welcome to obscurity
The best place to wonder, connect, observe, record, interpret, embrace, breathe, share, contemplate, create, and be. Come on in. Here, find everything that occupies and distracts this Canadian fiction writer. Your comments are welcome.
Subscribe to obscurity
My name is Carrie Snyder. I'm mother of four, writer of fiction and non-, dreamer, contemplative, mid-life runner, coach, forever curious. I'm interested in the intersection between art and spirituality. What if the purpose of life is to seek beauty? What if everyone could make art?
Twitter @carrieasnyder
FB /carriesnyderauthor
Purchase signed & personalized books
I need it, it feeds me
Never in extremity it asked a crumb of me
Comfortable with discomfort
None of this belongs to us
Adventure Art Backyard Baking Bicycles Big Thoughts Birth Birthdays Blogging Book Review Books Cartoons Chores Coaching Confessions Cooking Creativity course Death Dogs Dream Driving Exercise Fall Family Feminism Fire Friends Fun Girl Runner Good News Green Dreams Holidays House Kevin Kids Laundry Lists Local Food Lynda Barry Meditation Money Morning Mothering Music Organizing Parenting Peace Photos Play Politics Prizes Publicity Publishing Reading Readings Recipes Running School Siblings Sick Sleep Soccer Space Spirit Spring Stand Success Summer Swimming Teaching The Juliet Stories Travel Uncategorized Weather Weekend Winter Word of the Year Work Writing Yoga
© 2020 | Carrie Snyder


text:
Q: Why is my content of linked list disappear when it exit a function? I was trying to scan a file and add the data into the link list ,then print the operation into an output file. I succeed in printing the operation to the output file, but the content of my link list is empty when I try to access it.
I then check the address of each node created and linked and found no problem, when it is inside the function the link list worked fine but not in main().
Input.txt
3
1 Coding Mark Programming
1 Cooking Minnie Culinary
1 Gardening Penny Botany
This code is not completed but it contain my problem:
#include<stdio.h>
#include<ctype.h>
#include<string.h>

struct book {
    char *title;
    char *author;
    char *subject;
};
struct library {
    struct book collection;
    int num_books;
    struct library *next;
};

void AddBook(FILE *IF, FILE *OF, struct library** thislib);//function prototype

int main(void){
    FILE *IF,*OF;
    int sel,numOp,i;
    struct library *Lib=NULL;//declare head pointer
    if(((IF=fopen("library.txt","a+"))==NULL)||((OF=fopen("output.txt","w"))==NULL)){//open input and output file
        printf("File cannot be open!");
    }
    else{
        fscanf(IF," %d",&numOp);    //scan the number of operation from file
        for(i=0;i<numOp;i++){       //Loop according to number of operation
            if(feof(IF))            //if file pointer reach EOF break
                break;
            fscanf(IF," %d",&sel);  //scan the type of operation
            switch(sel){
            case 1:
                AddBook(IF,OF,&Lib);    //add the book if sel is 1
                break;
            case 2:

                break;
            }
            printf("%s ", Lib->collection.title);   // print the title of the book but it show nothing
        }
    }
    return 0;
}

void AddBook(FILE *IF, FILE *OF, struct library** thislib){
    char title[30],author[30],subject[20];          //declare variable to hold data
    struct library *temp=NULL;                      //create a new node
    struct library *ptr=*thislib;               //create a pointer that point to head of link list
    temp=(struct library*)malloc(sizeof(struct library));   //allocate memory for the new node
    fscanf(IF," %s %s %s" ,title,author,subject);
    temp->collection.title=title;       // put the data into link list
    temp->collection.author=author;
    temp->collection.subject=subject;
    temp->next=NULL;
    if((*thislib)==NULL){
        (*thislib)=temp;                // if there is no content in link list put temp into head
    }
    else{
        while (ptr->next!=NULL)
        {
            ptr=ptr->next;              //put node at the end of link list
        }
        ptr->next=temp;
    }
    fprintf(OF,"The book %s author %s subject %s has been added to the library.\n",title,author,subject);
    printf("%s ",(*thislib)->collection.title);  //this work fine but it keep updating, weren't it suppose to have the same value
}

A: *

*You forget to #include <stdlib.h>. Your code is wildly undefined because you sheared off the high bits of the return of malloc().

*You returned pointers to stack arrays.
    temp->collection.title=title;       // put the data into link list
    temp->collection.author=author;
    temp->collection.subject=subject;

Gotta dupe those. strdup() is your friend:
    temp->collection.title=strdup(title);       // put the data into link list
    temp->collection.author=strdup(author);
    temp->collection.subject=strdup(subject);

*This line is failing on your test case: fscanf(IF," %d",&numOp); The input doesn't match the pattern; you enter the loop with an undefined numOp. (I trivially fixed this by correcting the input file. You should always check the return of scanf.)

*This scanf results in a read problem causing nonsense.
    fscanf(IF," %s %s %s" ,title,author,subject);

but there are four space-separated fields in your input.

*Your debug output displays the first item in the linked list, but you append to the end of the list every time, so it will not change.

Explanation of "sheared off the high bits":
The implicit declaration from missing #include <stddef.h> would be int malloc(size_t), which is wrong. On 32 bit platforms this works, but on 64 bit platforms it doesn't. int gets upcast to void * which does not result in the correct value.
Let's say that malloc() returned 0x104C000010. The return address looks like this (endianness does not matter here for reasons I'm not going to get into now)
 0                                                                                63
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|1|0|0|1|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

But the return is interpreted as a 32 bit integer (most 64 platforms have sizeof(int) = 4), so it will be interpreted as
 0                                                            31
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|1|0|0|1|0|0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

and when cast to struct library * this results in
 0                                                                                63
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|1|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

which is 0x4C000010. Oops that points somewhere else. Anything can happen, but most likely a crash.

redpajama_set_name: RedPajamaStackExchange


www.edccorp.com Engineering Dynamics Corporation (EDC), is a privately held company based in Beaverton, Oregon. EDC develops and markets simulation software and related services with over 1800 customers in 28 countries around the world. Customers include motor vehicle manufacturers, government agencies, universities and private engineering consulting firms. EDC's mission is to drive the state-of-the-art in simulation technology employed by the vehicle safety industry. EDC's goal is to provide the industry with the benefits of a single tool to improve vehicle safety and design during its entire life cycle, from the drawing board to the wrecking yard.
www.euroncap.com Euro NCAP provides motoring consumers - both drivers and the automotive industry - with a realistic and independent assessment of the safety performance of some of the most popular cars sold in Europe.
Health and safety in the motor vehicle repair (MVR) industry. Part of Health and Safety Executive (HSE).
www.trw.com TRW Automotive is among the world's largest automotive suppliers and is one of the top financial performers in the industry, with 2009 sales of $11.6 billion.


Working on any theatrical production is an incredibly demanding endeavor. The end of a run, though sad, brings a little bit of relief. It is a return to normalcy and catching up on schoolwork and sleep. However, it is around this time of the year that I miss working on a show. Fortunately, Arts First was here to bring back light opera to my life.
HRG&SP was delighted to have the opportunity to play in the Science Center Plaza yesterday afternoon. We performed pieces from earlier year, such as "From the sunny spanish shore" from The Gondoliers (performed by Camille Crossot '16, Rahul Kulka G1, Asia Stewart '17, and Jack Weyen '16). Of course, we could not fail to include songs from our most recent production of Iolanthe, including our beautiful fairies' rendition of "Tripping hither, tripping thither" and the much beloved Lord Chancellor's (Aaron Slipper '18) "Love, unrequited, robs me of my rest." It is even rumored that John Lithgow '67 attended the performance due to his appreciation of the role of Lord Chancellor.
C. E. Chiemeka Ezie '15, Laura A. Peterson '16, and Brad A. Latilla-Campbell '16 performing the matter patter!
Finally, we finished with songs from our upcoming season. Our president Laura A. Peterson '16 sang H.M.S. Pinafore's "Sorry her lot who loves too well," and we closed with a rapid patter "My eyes are fully open" from Ruddigore. It was all in all a wonderful show, and one that made me quite excited for our next two shows. We hope you had a chance to catch the performance yesterday! If not, see you in the fall for Ruddigore!


text:
Q: invalid syntax when trying to open jupyter notebook when i type in the command jupyter notebook in my terminal,i am getting this error.
it was working fine and suddenly this seems to pop up
decentmakeover@DecentMakeover:~$ jupyter notebook
Traceback (most recent call last):
  File "/home/decentmakeover/anaconda3/bin/jupyter-notebook", line 4,
in <module>
    import notebook.notebookapp
  File "/home/decentmakeover/anaconda3/lib/python3.6/site-
packages/notebook/notebookapp.py", line 74, in <module>
    from .services.kernels.kernelmanager import MappingKernelManager
  File "/home/decentmakeover/anaconda3/lib/python3.6/site-
packages/notebook/services/kernels/kernelmanager.py", line 16, in <
module>
    from jupyter_client.multikernelmanager import MultiKernelManager
  File "/home/decentmakeover/anaconda3/lib/python3.6/site-
packages/jupyter_client/__init__.py", line 7, in <module>
    from .manager import KernelManager, run_kernel
  File "/home/decentmakeover/anaconda3/lib/python3.6/site-
packages/jupyter_client/manager.py", line 32, in <module>
    from .session import Session
  File "/home/decentmakeover/anaconda3/lib/python3.6/site-
packages/jupyter_client/session.py", line 61, in <module>
   from jupyter_client.jsonutil import extract_dates, squash_dates,
date_default
  File "/home/decentmakeover/anaconda3/lib/python3.6/site-
packages/jupyter_client/jsonutil.py", line 11, in <module>
   from dateutil.parser import parse as _dateutil_parse
 File "/home/decentmakeover/anaconda3/lib/python3.6/site-packa
ges/dateutil/parser.py", line 303
    raise ValueError, "unknown string format"
                ^
SyntaxError: invalid syntax

How do i fix this?


Jetway 917GCP user manual for download at NoDevice. The user manual is needed for Jetway 917GCP correct installation and adjustment. The user manuals will help to adjust Jetway 917GCP properly, fix errors and correct failures.


text:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.Mvc;

namespace QuickEntry
{
    public class QuickEntryModel
    {
        public IEnumerable<SelectListItem> ProjectList { get; set; }
    }

    public class QuickEntryWorkspaceModel
    {
        public int projectId { get; set; }
    }

    public class Item
    {
        public string text { get; set; }
        public List<Item> children { get; set; }
    }
}


Dedicated and competent specialists are the basis of our success. Do you want to participate in this success? Then apply. Of course without obligation and absolutely confidential.
Copyright © 2019 by Happy People GmbH & Co. KG. All rights reserved.


While Jackie was working on this quilt she realized that mixing batiks and regular cottons was not a good idea. The Stonehenge had a lot more stretch than the batik so squaring it up for the borders was a bigger job than usual. Her time and effort in making sure her borders were done right was greatly appreciated as I had no problems quilting it on my machine. I hear she had a good teacher helping her...thanks A!
Jackie picked Tickle for the center panto and left the outside border design up to me. The batik fabric has a rectangular print so I decided on quilting a free hand square swirls using a brown variegated Lava thread.
Her backing was Stonehenge as well.
Kathy, I love both the quilt and the quilting! Very nice!
Whoa! That's a *freehand* square? Wow, Kathy! They're so nice and even.
Awesome K - it looks great - I certain it will be very much appreciated in it's new home! I will definitely keep sending my stuff your way - gives me an excuse to come back into the north country!!!
That's a really cook pattern.
I love the square swirls you did in the border. Really cool!
Nice. Do you mark any registration points for that great border swirl?
What a stunning quilt, and the border is really special.


316266 <NEW> MNYF2RU/A Apple MB 12.0" 1.2GHz Int DC Core m3,/8GB/256GB Flash Space Grey 1778,70 $ 118283,60 руб. 118283,60 руб.
305132 <NEW> MNYH2RU/A Apple MB 12.0" 1.2GHz Int DC Core m3,/8GB/256GB Flash Silver 1778,70 $ 118283,60 руб. 118283,60 руб.
318482 <NEW> MNYJ2RU/A Apple MB 12.0" 1.3GHz Int DC Core i5/8GB/512 Flash Silver 2167,20 $ 144118,80 руб. 144118,80 руб.
315088 <NEW> MPXR2RU/A Apple MBP 13" Retina i5 2.3GHz/8GB/128GB SSD/Int Iris Plus Graphics 640 Silver 1636,95 $ 108857,20 руб. 108857,20 руб.
305133 Ноутбук Apple MacBook <MNYG2RU/A> Space Grey Core i5/8/512SSD/WiFi/BT/MacOS/12"Retina/0.92 кг 2167,20 $ 144118,80 руб. 144118,80 руб.
315211 Ноутбук Apple MacBook Pro <MPXQ2RU/A> Space Grey i5/8/128SSD/WiFi/BT/MacOS/13.3"Retina/1.37 кг 1648,50 $ 109625,30 руб. 109625,30 руб.
327531 Ноутбук Apple MacBook Pro <MPXT2RU/A> Space Grey i5/8/256SSD/WiFi/BT/MacOS/13.3"Retina/1.37 кг 1874,25 $ 124637,70 руб. 124637,70 руб.
316267 Ноутбук Apple MacBook Pro <MPXU2RU/A> Silver i5/8/256SSD/WiFi/BT/MacOS/13.3"Retina/1.37 кг 1874,25 $ 124637,70 руб. 124637,70 руб.


text:
FBI Says Lazarus Group Behind $100 Million Harmony Bridge Heist
The FBI is pinning the blame for a $100 million cryptocurrency heist last June on the Lazarus Group, a team associated with the North Korean government that is notorious for stealing cryptocurrency to help support that country's military and weapons programs.
On Tuesday, the FBI released a statement identifying Lazarus Group, also known as APT38, as the culprit for the June 24 attack on the Harmony Horizon bridge that resulted in the loss of $100 million in Ethereum. The Harmony Horizon bridge is a connection between various cryptocurrency systems, specifically Harmony and Ethereum, Bitcoin, and Binance Chain. In June, attackers were able to gain access to the bridge and make off with the Ethereum.
"The Harmony team has identified a theft occurring this morning on the Horizon bridge amounting to approx. $100MM. We have begun working with national authorities and forensic specialists to identify the culprit and retrieve the stolen funds," Harmony said at the time of the incident.
The FBI, along with the Department of Justice's National Cryptocurrency Enforcement Team, and various United States attorney's offices has been investigating the Harmony heist and on Tuesday said that the Lazarus Group was responsible for the attack and had used its malware tool known as TraderTraitor as part of the operation.
"On Friday, January 13, 2023, North Korean cyber actors used RAILGUN, a privacy protocol, to launder over $60 million worth of ethereum (ETH) stolen during the June 2022 heist. A portion of this stolen ethereum was subsequently sent to several virtual asset service providers and converted to bitcoin (BTC)," the FBI said in a statement.
"On Friday, January 13, 2023, North Korean cyber actors used RAILGUN, a privacy protocol, to launder over $60 million worth of ethereum (ETH) stolen during the June 2022 heist."
The Lazarus Group has been operating for many years and is closely associated with the government of North Korea and typically operates in support of the government's interests. The group's best-known operation was an attack on the Bank of Bangladesh in 2016 that netted it $81 million and Lazarus has continued to target banks and crypto exchanges in the ensuing years.
TraderTraitor is actually a group of tools that Lazarus Group uses in many of its intrusions at cryptocurrency firms, exchanges, and other targets. Those operations often start with the attackers sending phishing emails to employees at a target firm, trying to entice them into downloading a file that includes the malware.
"The messages often mimic a recruitment effort and offer high-paying jobs to entice the recipients to download malware-laced cryptocurrency applications, which the U.S. government refers to as 'TraderTraitor'," CISA said in an advisory in April.
"The term TraderTraitor describes a series of malicious applications written using cross-platform JavaScript code with the Node.js runtime environment using the Electron framework. The malicious applications are derived from a variety of open-source projects and purport to be cryptocurrency trading or price prediction tools. TraderTraitor campaigns feature websites with modern design advertising the alleged features of the applications."
The Lazarus Group has used TraderTraitor in a number of intrusions and has found quite a bit of success with it. They also have used other tools, including an older macOS backdoor called AppleJeus.
"The Lazarus Group used AppleJeus trojanized cryptocurrency applications targeting individuals and companies—including cryptocurrency exchanges and financial services companies—through the dissemination of cryptocurrency trading applications that were modified to include malware that facilitates theft of cryptocurrency. These actors will likely continue exploiting vulnerabilities of cryptocurrency technology firms, gaming companies, and exchanges to generate and launder funds to support the North Korean regime," the CISA advisory says.
The FBI said it worked with some of the exchanges to which the Lazarus Group moved the Bitcoin from the Harmony intrusion to freeze those assets.
UK gov't is hiring a central bank digital currency lead for Treasury team
Porsche halts NFT mint amid community backlash


text:
'use strict';

var ProjectFiles = require('../projectFiles.js');
var cordova = require('../cordovaAdapter.js').create('cordova');

/**
 * Create post filter factory with generator-webapp.
 * @constructor
 * @param {Object} generator generator.
 */
var WebappFilterFactory = function (generator) {
  this.generator = generator;
};

WebappFilterFactory.prototype.name = 'webapp';

/**
 * Get post filter.
 * @return {Object} post filter.
 */
WebappFilterFactory.prototype.getFilter = function () {
  var generator = this.generator;

  return function () {
    var files = new ProjectFiles(this);
    files.loadPackageJson()
      .appendToDevDependencies('cordova', generator.projectOptions.version)
      .appendToDevDependencies('grunt-cordova-ng', '^0.2.0')
      .commit();

    files.loadGruntfileJs()
      .changeDistDirectory('cordova/www')
      .appendCordovaRoot('./cordova')
      .appendConnectRoot('./fake')
      .renameTask('build', 'buildweb')
      .appendTask('cordova-build', ['cordova:package'])
      .appendTask('cordova-emulate', ['cordova:emulate'])
      .appendTask('cordova-run', ['cordova:run'])
      .appendTask('cordova-compile', ['cordova:compile'])
      .appendTask('cordova-prepare', ['cordova:prepare'])
      .appendTask('build', ['buildweb', 'cordova-build'])
      .appendTask('emulate', ['buildweb', 'cordova-emulate'])
      .appendTask('run', ['buildweb', 'cordova-run'])
      .appendTask('compile', ['buildweb', 'cordova-compile'])
      .appendTask('prepare', ['buildweb', 'cordova-prepare'])
      .commit();

    files.loadIndexHtml()
      .appendScript('cordova.js')
      .setMetas(cordova.getMetasFromIndexHtml()) // Copy meta informations.
      .commit();

    files.loadMainJs()
      .appendToLast('$(document).on(\'deviceready\', function () {\n' +
                    '  \'use strict\';\n' +
                    '\n' +
                    '  console.log(\'deviceready\');\n' +
                    '});')
      .commit();

    files.loadGitIgnore()
      .replace(/^node_modules/, '/node_modules')
      .commit();
  };
};

module.exports = WebappFilterFactory;


text:
SEIA Leads Industry-Wide Effort To Expand Solar ITC
Nearly 1,000 companies across the U.S. solar industry supply chain have sent a letter to Congress to call for the extension of the Section 48 and Section 25D solar investment tax credit (ITC).
The Solar Energy Industries Association (SEIA) is leading a national coalition to extend the ITC, which was passed by Congress in the 2005 Energy Policy Act and enacted by President George W. Bush. It was extended in 2015 with bipartisan support.
"If you want to show a commitment to addressing climate change, you extend the solar ITC," remarks Abigail Ross Hopper, president and CEO of SEIA. "Supporting this proven policy is the first clear victory that lawmakers can deliver to Americans on climate change. As we debate long-term solutions, now is not the time to abandon the single most successful policy on the books to deploy clean energy in the near term."
"The ITC extension will help maintain a stable market for continued solar development in the utility sector," notes George Hershman, president of Swinerton Renewable Energy. "This directly translates into investments in our nation's rural communities by supporting more jobs across the solar value chain, providing long-term energy solutions at a lower cost to ratepayers, and increasing the state and local tax base."
The letter, which was signed by companies working in every state, is the beginning of a multi-pronged advocacy campaign led by SEIA and its partners.
The national coalition expects to make a significant investment in lobbying, advertising, media outreach, social media and more. The coalition will call on lawmakers to defend the 242,000 workers and 10,000 businesses in the solar industry.
Rwanda's solar energy ambition receives $9m boost
Tanzanian Minister urges switch to renewables
GE lost billions by 'misjudging' renewables
President Buhari Sacks 2,525 N-Power Beneficiaries
Do we need carbon taxes in an era of cheap renewables?
Energy freedom Finally in Alabama
← AEP units looking to invest $2B in 1,500 MW of Oklahoma wind projects
DIPAM writes to power ministry to explore NTPC-SJVN merger →