text:
German Bulk Carrier Detained Over Lack of Food and Bullying
fresh food provisions viewed by the ITF on Anna-Elisabeth
By The Maritime Executive 2019-03-26 23:06:52
The Liberian-registered bulk carrier Anna-Elisabeth has been detained by Australian authorities after the international crew on board complained of insufficient food, bullying aboard the vessel and denial of shore leave.
The complaints from crew were received by the International Transport Workers' Federation (ITF) while the vessel was berthed at the Port Kembla Coal Terminal on Monday.
ITF national coordinator Dean Summers substantiated the crew's concerns, finding inadequate stores on board and that the crew had not had shore leave since January 23 in South Africa.
"Meat and fish were freezer burnt, and fresh provisions were very low, certainly not enough to get 17 seafarers to Singapore... The master confirmed the food ration was $7 per day for all meals," said Summers.
The ITF was also surprised to see that the company had a new crew category of "Deck Rider" on their crew list and requested that the Australian Maritime Safety Authority (AMSA) inspect the vessel, citing: shore leave, lack of provisions, bullying and concern about minimum safe manning and crew qualifications.
The 2008-built 55,700dwt vessel was officially detained by AMSA under the Maritime Labour Convention. The Liberian register is reportedly sending a representative to the ship to work with the master and owners to rectify the deficiencies.
The German owners are Johann M. K. Blumenthal. "We are asking the Australian Government to send an urgent alert around the shipping world to audit and detain Blumenthal ships wherever breaches to human rights and workers' rights are found," says Summers. "In recent weeks, ITF inspectors in Europe have uncovered other cases of food shortages on Blumenthal vessels. So right now, Blumenthal is a priority for the ITF, and we will continue to inspect their vessels in ports around the world to ensure that more than 700 seafarers across their fleet aren't subjected to these exploitative practices."
MarEx Blog
The Road to Green-Land
By Dimitri G. Vassilacos and Jason Dallas
The Future of Tugs in a Changing World
By Captain Henk Hensen
Record Low Newbuild Orders Placed in Q2, 2019
By Olivia Watkins
Tomorrow's Developments Today
By The Maritime Executive
A Safety Management System – Beacon or Burden?
By Karen van Vliet and Jan-Hendrik Hensen
Key Differences Between the ISM Code and Subchapter M
© Copyright 2019 The Maritime Executive, LLC. All rights reserved.

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: Why is the linear momentum a moment map? Consider a particle with mass $m$ moving in a constant speed $v$ along the real line $\mathbb{R}$, with coordinate $q$. Then its linear momentum is $p = mv$.
Now let's translate the physics into math, namely a Lie group action on a symplectic manifold. The phase space is the symplectic manifold $M := T^*\mathbb{R} \cong \mathbb{R}^2$, with coordinates $(q,p)$ and a canonical symplectic form $\omega := dq \wedge dp$. The Lie group $\mathbb{R}$ acts on $\mathbb{R}^2$ by translation along $q$ direction. This is a symplectic and Hamiltonian action. Note that the Lie algebra $\mathfrak{g}$ of $\mathbb{R}$ is still $\mathbb{R}$. According to Wikipedia, the moment map generalizes the linear and angular momentum. So a linear momentum can be viewed as a special case of a moment map.
My question is:
In the above example, why is the linear momentum $mv$ a moment map $\mu: M \cong \mathbb{R}^2 \to \mathfrak{g}^* \cong \mathbb{R}$?

A: I explain in general how the moment map leads to an actual map from $\mathfrak{g}$ to the algebra of classical observables $C^\infty(M)$ in this answer of mine, but I will exemplify the reverse direction for 1D translations in the following:

*

*The translation algebra $\mathfrak{g}\cong \mathbb{R}$ acts on $M\cong \mathbb{R}^2$ as $f_c : (q,p)\mapsto (q + c, p)$ for some $c\in\mathfrak{g}$. The vector field that is the infinitesimal version of this action is of course $X_c = c\partial_q$.

*The contraction of the symplectic form with this vector field is $\iota_{X_c}\omega = (\mathrm{d}q\wedge \mathrm{d}p)(c\partial_q) = c\mathrm{d}p$, i.e. $$\mathrm{d}(\langle \mu, c\rangle) = c\mathrm{d}p\tag{1}$$ by definition of the moment map.

*The pairing $\langle \cdot, \cdot \rangle$ is just multiplication on $\mathbb{R}$ and so the momentum map for translation is $\mu : M\to\mathfrak{g}^\ast\cong \mathbb{R}, (q,p)\mapsto p$ since then $\langle \mu,c\rangle(q,p) = cp$ and the defining equation $(1)$ is true. So the moment map of translation is "the momentum" in the sense that it maps $(q,p)$ to the momentum part $p$.
(If you run this logic in reverse, you start from $\mu$ and get the map $\mathfrak{g}\to C^\infty(m), c\mapsto c\partial_q$, i.e. the algebra homomorphism mapping abstract infinitesimal translations to their concrete generators, which is the viewpoint I took in my post linked at the beginning)

redpajama_set_name: RedPajamaStackExchange


text:
Intel's 3GHz P4 heats up CPU fray
Historically, Intel drops a technological grenade of sorts at the doorway as it exits its current processor area, to confuse and misdirect the competition. Bill O'Brien thinks this could be the case with Intel's latest Pentium 4 release.
By Bill O'Brien | November 20, 2002 -- 11:19 GMT (03:19 PST) | Topic: Tech Industry
Historically, Intel has dropped a technological grenade of sorts at the doorway as it exited its current processor area and moved on to the next. The intent is to confuse and misdirect the competition while Intel gains a foothold in whatever that next level of processor technology might be. That could easily be the case for Intel's latest Pentium 4 release; or, the processor giant might be trying to solidify its IT presence in a market suddenly filled with competition.
The Itanium was never a sure bet, despite the 300-pound gorilla that brought it to market. A new CISC processor in the predominantly RISC-y IT world needs more than just the gravitas of a corporate logo to achieve prominence. So Intel has taken the last year or so to salt the software developer arena with its IA-64, giving rise to almost 90 percent of the enterprise software that Itanium would need to justify its existence. With the software base in place, the latest version of that CPU, the Itanium 2, is crouching in the blocks and being pushed by almost every name-brand server vendor.
Of course, while Intel has tried to shrug off the potential competition from AMD's Opteron, it will also shortly come under fire from IBM's PowerPC 970 -- both are dual 32/64-bit CPUs, against the Itanium's 64-bit-only soul. The two offer the promise of a bit more flexibility, and some better measure of cost effectiveness, in migrating your enterprise from 32-bit to 64-bit software. Intel's counter is the Pentium 4-based Xeon, a 32-bit CPU that's already been used with Itaniums in server configurations. With hyper-threading technology incorporated into the CPUs, each Xeon packs the potential wallop of two processors, akin to the shared-core hardware solution introduced with IBM's Power4 processor.
What better thing to do than to make a sweeping flank attack on the workstation space? Here, AMD has been making steady inroads against Intel so it's no surprise that it's also here, in the 1P workstation world, that Intel has planted its new 3.06GHz Pentium 4. Aside from being the fastest workstation CPU in the known universe, Intel has also endowed its new Pentium 4 model with hyper-threading technology. All that applies to the hyper-threading Xeons you've packed into your servers now applies to the Pentium 4s you can stuff into your workstations. It makes an effective dam against the flood of AMD Athlon XP 2700+ and 2800+ processors, which should be available at the beginning of next year. But while this new P4 has all the earmarks of being the latest Intel technology grenade, it's not really. Intel isn't leaving, it's defending.
Hyper-threading on a 1P workstation is near miraculous, and you should understand that miracles aren't always daily occurrences. The benchmarks Intel quotes use software that's optimised for hyper-threading. The benchmark results are impressive, too. An AVI-to-MPEG conversion application, for example, ran to completion about 13 percent quicker with hyper-threading enabled. If you create presentations, moving them from DV camera to DVD becomes faster, and that's the case for most, if not all, of the video authoring and graphics rendering software that has been made aware of hyper-threading technology. But that's also a limitation: Older "hyper-threading-dumb" applications may see little or no benefit other than from running on a 3.06GHz CPU with a 533MHz front side bus and 1,066MHz RDRAM memory. By itself, that's not a bad thing at all, and AMD has nothing that will touch it yet and probably won't for at least another quarter, if then.
The end result is that, effectively, Intel has undermined its own Xeon workstation platform -- but in an arena where the MP Xeon has only been a marginal choice because of its cost. In doing so, however, it's striking at the competition by putting Intel back into the picture in those very same marginal areas with a 1P hyper-threading Pentium 4. Following Intel's lead will certainly raise your TCO by a small degree over competitive non-hyper-threading choices, but the added productivity, assuming the software is capable, will actually increase your ROI.
To have your say online click on TalkBack and go to the ZDNet UK forums.
More from Bill O'Brien
Dell Dimension 8400
XML--a hardware issue?
IBM servers under siege?
Second thoughts on virtual servers


text:
Jay-Z reveals '4:44' bonus tracks featuring daughter Blue Ivy and James Blake
Tom Connick Jul 31, 2017 5:01 pm BST
The rapper's new album was released earlier this month
Jay-Z has shared two new bonus tracks for his new album '4:44', featuring guest spots from Jay and Beyoncé's daughter Blue Ivy, and longtime friend and collaborator James Blake.
The tracks were released this weekend alongside Jay-Z's new video for '4:44' cut 'Adnis'. Blake features alongside Jay-Z on 'ManyFacedGod', which was teased by the album's producer No ID earlier this month. Meanwhile, Blue Ivy's vocal appears on the appropriately named 'Blue's Freestyle / We Family'.
Listen to both new tracks via Tidal.
Blue Ivy, Jay Z and Beyonce
In an unusually candid video interview on Tidal, Jay-Z recently opened up about his relationship with Beyonce. He revealed: "This is my real life. I just ran into this place and we built this big, beautiful mansion of a relationship that wasn't totally built on the 100 per cent truth and it starts cracking."
"Things start happening that the public can see. Then we had to get to a point of: 'OK, tear this down and let's start from the beginning. It's the hardest thing I've ever done."
He also opened up on how he managed to fix his relationship woes, admitting: "We've been in that space where we just got to the place that in order for this to work, it can't be fake – not once."
Recently, it was revealed the title of Jay-Z's album may have been inspired by the time he was hit in a lift by his sister-in-law Solange.


Every year, the American Concrete Institute (ACI) Foundation offers scholarships for eligible undergraduate and graduate students whose studies relate to concrete.
Unlike ACI Fellowships, those applying for ACI scholarships do not need to be nominated by ACI-Member Faculty. Applications will be accepted from anywhere in the world but study must take place in the United States or Canada during the award year.
ACI Foundation Scholarships and Fellowships can be awarded to anyone in the world; however, you must attend a U.S. or Canadian university during the award year.
To be eligible for an ACI Foundation Graduate Scholarship, you must be in your first or second year of graduate study during the award year.
To be eligible for the Undergraduate scholarship, the applicant must be a full-time undergraduate at the time of applying for and receiving the scholarship. Course work during a summer session will count toward the degree year.
All studies and courses relating to concrete and/or concrete technology, and the pursuit of a career in concrete. The list of approved programs are as listed on the official website via link provided below.
A single online application form will be used for all the fellowships and scholarships. After answering four questions, the form will automatically display the fellowships and scholarships for which you are eligible. All requested requirements shall be met for all transcript submissions. Transcripts must be in English or accompanied by a version translated in English. Transcripts should be mailed directly from the university. Transcripts mailed by the student must be sealed in an envelope with a university stamp over the seal.
Many universities now provide official E-Transcripts. ACI Foundation will accept this form of transcript, if it comes directly from your University with an official digital signature or stamp to Scholarships@concrete.org. ACI Foundation will not accept E-Transcripts sent directly from an applicant's e-mail address. Review and acceptance of E-Transcripts will be at the discretion of the Scholarship Coordinator.
The deadline for 2018-2019 application submission is 11:59 p.m. EST on November 3, 2017.
ACI staff do not contact applicants upon receipt of their application materials or contact applicants if materials are missing from submittals. All applicants can be withdrawn for failure to comply with any of these items listed above and on the official website.


text:
using AWSUtils.Tests.StorageTests;
using Orleans.Runtime;
using Orleans.TestingHost;
using System;
using System.Threading.Tasks;
using Microsoft.Extensions.Logging.Abstractions;
using Tester.StreamingTests;
using TestExtensions;
using Xunit;
using Xunit.Abstractions;
using OrleansAWSUtils.Streams;
using Orleans.Hosting;
using Microsoft.Extensions.Configuration;
using Orleans;
using Orleans.Configuration;

namespace AWSUtils.Tests.Streaming
{
    public class SQSClientStreamTests : TestClusterPerTest
    {
        private const string SQSStreamProviderName = "SQSProvider";
        private const string StreamNamespace = "SQSSubscriptionMultiplicityTestsNamespace";
        private string StorageConnectionString = AWSTestConstants.DefaultSQSConnectionString;

        private readonly ITestOutputHelper output;
        private ClientStreamTestRunner runner;

        public SQSClientStreamTests(ITestOutputHelper output)
        {
            this.output = output;
        }

        public override async Task InitializeAsync()
        {
            await base.InitializeAsync();
            runner = new ClientStreamTestRunner(this.HostedCluster);
        }

        protected override void ConfigureTestCluster(TestClusterBuilder builder)
        {
            if (!AWSTestConstants.IsSqsAvailable)
            {
                throw new SkipException("Empty connection string");
            }

            builder.AddSiloBuilderConfigurator<MySiloBuilderConfigurator>();
            builder.AddClientBuilderConfigurator<MyClientBuilderConfigurator>();
        }

        private class MySiloBuilderConfigurator : ISiloConfigurator
        {
            public void Configure(ISiloBuilder hostBuilder)
            {
                hostBuilder
                    .AddSqsStreams(SQSStreamProviderName, options =>
                    {
                        options.ConnectionString = AWSTestConstants.DefaultSQSConnectionString;
                    })
                    .AddMemoryGrainStorage("PubSubStore")
                    .Configure<SiloMessagingOptions>(options => options.ClientDropTimeout = TimeSpan.FromSeconds(5));
            }
        }

        private class MyClientBuilderConfigurator : IClientBuilderConfigurator
        {
            public void Configure(IConfiguration configuration, IClientBuilder clientBuilder)
            {
                clientBuilder
                    .AddSqsStreams(SQSStreamProviderName, options =>
                    {
                        options.ConnectionString = AWSTestConstants.DefaultSQSConnectionString;
                    });
            }
        }

        public override async Task DisposeAsync()
        {
            var clusterId = HostedCluster.Options.ClusterId;
            await base.DisposeAsync();
            if (!string.IsNullOrWhiteSpace(StorageConnectionString))
            {
                await SQSStreamProviderUtils.DeleteAllUsedQueues(SQSStreamProviderName, clusterId, StorageConnectionString, NullLoggerFactory.Instance);
            }
        }

        [SkippableFact, TestCategory("AWS")]
        public async Task SQSStreamProducerOnDroppedClientTest()
        {
            logger.Info("************************ AQStreamProducerOnDroppedClientTest *********************************");
            await runner.StreamProducerOnDroppedClientTest(SQSStreamProviderName, StreamNamespace);
        }
    }
}

redpajama_set_name: RedPajamaGithub


4 Units Of Beautifully Finished 4 Bedroom Semi Detached Duplex For Sale In Idao, Lekki.
Location: Idado , Lekki (the left side of Igboefun before Chevron).
Details: 4 units of 4 bedroom semi detached duplex.
The information displayed about this property comprises a property advertisement. Nigeria Property Centre makes no warranty as to the accuracy or completeness of the advertisement or any linked or associated information, and Nigeria Property Centre has no control over the content. This property listing does not constitute property particulars.The information is provided and maintained by Brickstone Realtor.


Single Path Monitors are designed for in-situ measurement in stacks, ducts, or reactors with typical path lengths in the range 0.5-20 m. By-pass and extractive configurations are also possible.
The LaserGas II SP Monitor utilizes a transmitter / receiver configuration (mounted diametrically opposite each other) to measure the average gas concentration along the optical line-of-sight.
The monitors' compact design comprises the transmitter unit with laser module, collimating optics, and main electronics and the receiver unit with focusing lens, photo detector and receiver electronics.
Both units have environmental protection IP66 for rough industrial environments. The standard optical windows withstand pressures up to 5 bar abs (high pressure windows available as option). The monitor is installed on DN50 or ANSI 2" flanges, which include an alignment mechanism for easy installation and purge air connections. A continuous purge flow will prevent dust and other contamination from settling on the optical windows.
Measurement readings are provided through standard 4-20 mA current loops, or as options the fibre-optic output and the Ethernet interface. The latter enables instrument communication via local area networks or the Internet.
As option automated online zero/span check is available for validation of the analyser at the measurement point.
Based on the well-proven tuneable diode laser (TDLAS) technology the instrument has a number of unique features.
NOTE: Detection limits are specified for 1 m optical path and gas temperature / pressure = 25 oC / 1 bar abs.
Also available are HCN, NO2, C2H2, C2H4, C3H6, CH3I, CH2O (Formaldehyde), CH2CHCl (VCM), C2H4O (Ethyleneoxide), CH2Cl2 (Dichloromethane), HBr, and HI.
Dual Gas: NH3+H2O, HCl+H2O, HF+H2O, CO+CO2, CO+H2O, CO+CH4, O2+temp, CO+temp Higher pressures than those indicated above may be available on request for certain gases.


text:
Check for SeasLog::setRequestVariable() and SeasLog::getRequestVariable() function.
--SKIPIF--
<?php
if (!extension_loaded('seaslog')
    || !method_exists('SeasLog','setRequestVariable'))
{
    print 'skip';
}
?>
--FILE--
<?php
$sDomainPort = 'domain:port';
$sRequestUri = 'uri';
$sRequestMethod = 'method';
$sClientIp = 'client_ip';

$iErrorKey = 1000;

$oSeasLog = new SeasLog();

var_dump($oSeasLog->setRequestVariable(SEASLOG_REQUEST_VARIABLE_DOMAIN_PORT, $sDomainPort));
var_dump($oSeasLog->setRequestVariable(SEASLOG_REQUEST_VARIABLE_REQUEST_URI, $sRequestUri));
var_dump($oSeasLog->setRequestVariable(SEASLOG_REQUEST_VARIABLE_REQUEST_METHOD, $sRequestMethod));
var_dump($oSeasLog->setRequestVariable(SEASLOG_REQUEST_VARIABLE_CLIENT_IP, $sClientIp));

var_dump($oSeasLog->setRequestVariable($iErrorKey,NULL));

var_dump($oSeasLog->getRequestVariable(SEASLOG_REQUEST_VARIABLE_DOMAIN_PORT) == $sDomainPort);
var_dump($oSeasLog->getRequestVariable(SEASLOG_REQUEST_VARIABLE_REQUEST_URI) == $sRequestUri);
var_dump($oSeasLog->getRequestVariable(SEASLOG_REQUEST_VARIABLE_REQUEST_METHOD) == $sRequestMethod);
var_dump($oSeasLog->getRequestVariable(SEASLOG_REQUEST_VARIABLE_CLIENT_IP) == $sClientIp);

var_dump($oSeasLog->getRequestVariable($iErrorKey));

?>
--EXPECT--
bool(true)
bool(true)
bool(true)
bool(true)
bool(false)
bool(true)
bool(true)
bool(true)
bool(true)
bool(false)


Knipex Round Nose Pliers are excellent for forming wire loops. Precision ground, short round jaws with smooth tips.
Knipex 22 01 125:Overall: 5", Jaw Length: 1-1/16" Tip Width: 5/64"
Knipex 22 01 140:Overall: 5-1/2", Jaw Length: 1-3/32" Tip Width: 3/32"
Knipex 22 01 160:Overall: 6-1/4", Jaw Length: 1-3/16" Tip Width: 1/8"
Knipex 22 01 180:Overall: 7", Jaw Length: 1-3/8" Tip Width: 9/64"
Knipex Round Nose Pliers are excellent for forming wire loops. Precision ground, short round jaws with smooth tips. Special tool steel, forged and oil-hardened. Knipex Round Nose Pliers are now further enhanced with a new generation of ergonomically designed handles bring a level of comfort and power. The new two component handles feature a hard red 'movement zone' which reduces friction as the hand slides along the pliers, along with a soft blue 'gripping zone', which permits high gripping force without slipping.
Knipex 22 02 140:Overall: 5-1/2", Jaw Length: 1-3/32" Tip Width: 3/32"
Knipex 22 02 160:Overall: 6-1/4", Jaw Length: 1-3/16" Tip Width: 1/8"
Knipex 22 05 140:Overall: 5-1/2", Jaw Length: 1-3/32" Tip Width: 3/32"
Knipex 22 05 160:Overall: 6-1/4", Jaw Length: 1-3/16" Tip Width: 1/8"
Knipex 22 06 160 Round Nose Pliers are excellent for forming wire loops. Precision ground, short round jaws with smooth tips. Special tool steel, forged and oil-hardened. Insulated with two-color dual component handles. 1000V IEC 60900 DIN EN 60900 DVE GS Made in Germany. Knipex 22 06 160, 2206160, 2206-160.
Knipex 22 07 160 Insulated Round Nose Pliers are excellent for forming wire loops. Precision ground, short round jaws with smooth tips. Special tool steel, forged and oil-hardened. Plastic dipped Insulated handles. 1000V IEC 60900 DIN EN 60900 DVE GS Made in Germany. Knipex 22 07 160, 2207160, 2207-160 Insulated.
Knipex 22 08 160 Round Nose Pliers are excellent for forming wire loops. Precision ground, short round jaws with smooth tips. Special tool steel, forged and oil-hardened. Insulated with two-color dual component handles. 1000V IEC 60900 DIN EN 60900 DVE GS Made in Germany.
Knipex 30 31 140:Overall: 5-1/2", Jaw Length: 1-7/16" Tip Width: 5/64"
Knipex 30 31 160:Overall: 6-1/4", Jaw Length: 1-5/8" Tip Width: 3/32"
Knipex 19 01 130 Jewlers Round Nose Pliers for fine wire and jewelry work. Ideal for cutting and bending work, e.g. in electronics. For forming wire loops. Precision ground round jaws with fine, pointed tips. Cutting edges additionally induction hardened. Cutting edge hardness approx. 60 HRC. Vanadin steel, forged and oil-hardened. Made in Germany.
Knipex 19 03 130 Chrome Plated Jewlers Round Nose Pliers for fine wire and jewelry work. Ideal for cutting and bending work, e.g. in electronics. For forming wire loops. Precision ground round jaws with fine, pointed tips. Cutting edges additionally induction hardened. Cutting edge hardness approx. 60 HRC. Vanadin steel, forged and oil-hardened. Made in Germany.
Knipex 35 32 115 Round Nose Pliers have round pointed smooth jaws. For ultra fine assembly work e.g. in electronics and fine mechanics. Precision box joint. Smooth ground gripping surfaces. Edges carefully deburred. Low-friction double leaf spring- for gentle and even opening. Mirror polished finish. Two-color dual component handles.
Special tool steel, forged and oil-hardened. Made in Germany.
Knipex 35 32 115, 3532115, 3532-115 Round Nose Electronics Pliers.
Go to Knipex 22 01 125 Round Nose Pliers 5"
Go to Knipex 22 01 140 Round Nose Pliers 5-1/2"
Go to Knipex 22 01 160 Round Nose Pliers 6-1/4"
Go to Knipex 22 01 180 Round Nose Pliers 7"
Go to Knipex 22 02 140 Round Nose Pliers 5-1/2"
Go to Knipex 22 02 160 Round Nose Pliers 6-1/4"
Go to Knipex 22 05 140 Round Nose Pliers 5-1/2"
Go to Knipex 22 05 160 Round Nose Pliers 6-1/4"
Go to Knipex 30 35 140 Long Round Nose Pliers 5-1/2"
Go to Knipex 30 35 160 Long Round Nose Pliers 6-1/4"
Go to Knipex 30 36 160 Long Round Nose Pliers 6-1/4"


Everyone knew these political horror plots were possibilities, but brainstorming ways to fix the problem has mostly resulted in a gubernatorial game of "not it." Neither Andrew Cuomo nor Chris Christie wants to deal with the price tag on such an ambitious infrastructure project, and the fact that the tunnels exist in a confusing netherworld under the Hudson and between both states means questions of cost and responsibility were inevitable.
Schumer's plan for how to fix the stalemate, which he announced in a speech at New York University on Tuesday, is to create a nonprofit corporation called the Gateway Development Corporation. Such a plan would bring together funding options available to New York, New Jersey, the Port Authority, the Metropolitan Transportation Authority, Amtrak, and the federal government — plus private money — and spread responsibility among as many actors as possible.
"Amtrak can't access federal mass transit funding," Schumer said. "The Port Authority and regional Transit Agencies can't access federal railroad dollars the way Amtrak can. We'll only get Gateway done by adding up several pieces of financing, with an eye toward getting the maximum amount possible from the federal government." Schumer also proposed that Amtrak profits from the Northeast Corridor be used for fixing that rail line instead of helping fund less busy routes elsewhere in the country.
The possible price tag of the project — more than $20 billion — and looming worries about having to use loans to finance some of the repairs had Christie and Cuomo limiting their reaction to the plan to a regurgitation of what we already knew about their feelings on the project: They'd better not be the ones expected to foot most of the bill.
It was not clear if Schumer has had any luck in the past few hours coming up with imagery more frightening than "transportation Armageddon" to help jump-start talks on his plan, or whether he has resorted to adding "winning the lottery," "buying a fleet of metal detectors," and "finding El Chapo and making him build new tunnels" to his list of funding possibilities.


As part of the preparations for the Commonwealth Games, Delhi Traffic Police will begin blocking one lane of several carriageways across the city to test a traffic plan that will be in force during the Commonwealth Games in October. The restrictions will be in place for all 24 hours of the day and are likely to stay in force till and during the Games.
Doesn't the Delhi Traffic Police know that the traffic in Delhi is as it is chockablock, that it now plans to further congest it? While this plan may help ease commuting for the Game participants, what about the public?
My office is in Gurgaon, and I drive down the 45 KM from NOIDA in about 90 minutes (if I leave office before 5:30 PM). Unfortunately, a good portion of the carriageways where these restrictions will apply fall within the route I take to office. So my travel time is bound to increase substantially. Don't even want to think b how much!
Why isn't the media talking about this and what about the already suffering public that is about to be hit with yet more suffering?
If someone doesn't create a noise about this soon enough, countless motorists such as I are doomed. Especially, if you take into account how impassible Delhi roads become just after 30-minutes of rain, imagine what will happen when the monsoon hits us with full force.


Lawyers for US soldier Bradley Manning mounted an aggressive defense at a hearing on whether to court-martial him for spilling US diplomatic and military secrets to WikiLeaks.
Manning's lead attorney, David Coombs, went on the offensive shortly after proceedings got underway at this sprawling military base on Friday, accusing the presiding officer of bias and seeking his dismissal.
Lieutenant Colonel Paul Almanza, tasked with determining whether Manning should face a court-martial, rejected demands that he recuse himself, saying he could serve impartially despite working for the Justice Department in civilian life.
Coombs had questioned whether Almanza, an army reservist on leave from his job as a Justice Department attorney, should preside over the case while the department is conducting a probe of WikiLeaks and its founder Julian Assange.
A US Army legal expert told reporters the court could rule on Manning's appeal as early as Saturday, when the pre-trial hearing is set to reconvene at 10:00 am (1500 GMT). It could last up to a week.
Manning is suspected of downloading 260,000 US diplomatic cables, videos of US air strikes and US military reports from Afghanistan and Iraq while serving as a low-ranking intelligence analyst in Iraq and providing them to Assange, who has denied knowing the source of the material.
He faces life in prison if convicted of the most serious charge -- aiding the enemy.
In seeking the officer's dismissal, Coombs said Almanza had also rejected most of the witnesses requested by the defense -- a list that included President Barack Obama, Secretary of State Hillary Clinton and former defense secretary Robert Gates -- and that was further evidence of bias.
"An individual looking at this from the outside, a reasonable person, would say clearly this is biased," Coombs said.
The defense lawyer also suggested that the documents that Manning is alleged to have leaked had done little damage to US national security. "Where's the harm?" he asked.
After consulting with his legal adviser, Almanza rejected the request he recuse himself, saying he was not involved in any Justice Department probe of WikiLeaks or Manning and that many of the witnesses sought by the defense were unnecessary to determine whether the US Army private should go to trial.
Coombs is appealing the decision to the Army Court of Criminal Appeals.
The back-and-forth over the recusal issue and four recesses for consultations consumed the entire day of proceedings and no witnesses were called.
Dressed in a green camouflage uniform of the 10th Mountain Division and wearing thick black glasses, Manning, who was arrested over 18 months ago, appeared composed throughout the day's proceedings.
He sat calmly at the defense table, fiddling with a pen, jotting down notes and leaning over occasionally to speak with Coombs and his two military-appointed defense attorneys.
Manning, who turns 24 on Saturday, spoke several times during the hearing, repeatedly answering "Yes, sir" when asked by Almanza whether he understood the charges, was aware of his rights and was satisfied with his defense counsel.
The pre-trial hearing is being held in an austere courthouse at Fort Meade, headquarters of the top secret National Security Agency, and is being attended by dozens of members of the public and media from around the world.
A vigil was held by Manning supporters outside the gates. A witness said a man shouted "Bradley, you're a hero" inside the courtroom as the hearing wrapped up about 6.5 hours after it began.
"I want people to see the truth, regardless of who they are, because without information you cannot make informed decisions as a public," Manning said in the chat logs obtained and published by Wired.com.
Manley is the only suspect facing trial in the United States for the document dump -- a massive intelligence breach that led to an embarrassing daily drip of diplomatic revelations for the United States and other governments.


As we all understand, technology is developing regularly and regularly right now there are fresh encouraging agencies releasing fascinating methods for almost just about every single community. With the situation of the world wide web, truth be told there is certainly a great array of trends corresponding to the generation and programming of desirable plus smart internet pages. Site models have consistently advanced upon dictation by customers, conditions in addition to actually internet business sort. In this problem, the complete sector is growing quick in stipulations of the way people develop internet sites and written content online.
Certain bootstrap easy website builder trends which are arriving in this year are rather remarkable and also ensuring, also. Exactly like fashion, the styles might possibly be a refinement of the previous or an altogether brand new invention. Changes this sort of disposition to responsive web-sites created using a bootstrap mobile template was initially a necessity which emerged as a better alternative to help certain purchaser needs. This purely suggests that taking on of surfacing general trends is most welcome still just upon critical and categorical analysis.
Right now, to consider a few of the impending tendencies for this time. Initially, more creative designers will be testing with full-screen attributes on their internet sites. All of the motives for it are usually intently connected to the individual experience, as you expected. One great motive is the enhanced comfort and ease. Another can be to produce a even more attractive look, preserving all information from bothering the person from precisely what certainly is not relevant.
Current creative designers at the same time think about that website producers must raise the usage of multimedia sources to present the web site by means of photos and movies in a unique strategy, rather then making use of a corporation appearance in addition to sense. At last, new styles make an effort to a complete implementation with real-time providers, mailing information instantly to clients, just as Twitch and Periscope streams.
The multiplicity of demands and abilities in the web site development is really impressive. It has gradually developed and with every dawn both in breakthroughs and methods, completely new equipments are produced. The same as almost every other specialist, inspiration and the correct equipment is just about all you should have to provide your best.
Constructing a internet site is actually both a difficult and fascinating practical experience. For the specialist it can be an option to extend and also try new waters in horning their abilities, for the fresh entrant though, it all can be an excellent discovering chance. Different free website builder sites are available at different rates. In addition, they occur manufactured with numerous benefits and drawbacks. Determined by experience and demands of the client, one may like one builder to another.
You can develop web pages from the beginning utilizing any kind of programming language or employ a platform seek as a web page maker software. In relation to development of internet sites one is spoilt of options. You can contract a web developer programmer to program from the beginning and obtain a provider that will hold your company web pages. Utilization of software and internet service to produce web sites are also an choice to think of.
The importance of stable reputation on line increases each passing year. Study workers assume that more than half the populace might be joined to the Web at the end of 2016. Business people, agencies, and people should adapt and protect their own location in the virtual space.
Anyhow, this can be easier said than done. Pro website development could cost a large sum and not all people has enough time or skill to study web development. Also self-made works almost never achieve modern-day expectations.
This is exactly where site softwate, for example Easy Website Creator application, comes to save the day. It offers small businesses and also other industry individuals the option to make excellent, modern site in just several hours and without html coding. In addition to that, internet sites created with Mobirise can be utilised also for commercial needs.
In theory, most of these tendencies and capabilities sound fantastic, but what resources and software program can be used by the developers right now? Which of them are equipped of creating imaginative ideas a reality internet?
Among the top rated free website builders available right now, customers can find Weebly as an fantastic choice. This on-line company is identified as one of the first in its class. This multipurpose and exceptionally obtainable instrument is a great option for the people with no knowledge of coding and developing.
Then, Webflow offers one excellent website builder for people with no time for html coding or with no the skills in order to achieve this task. This unique modern resource is designed for any fresh creation of internet websites in a number of html coding languages and engines, without touching the complex techie background of them.
Another last site constructor we will discuss needs to be Wix, one other product of a stunning and highly talented new venture. This package can easily assist people through setting up a web page in an interesting vogue, with no the html coding details.
However, the reality is that we are here to speak about HTML Page Builder , a novelty when it comes to web site structure and construction. Let's check it out.


I am really enjoying your writings my friend. Keep them coming. With 4 daughters and 2 daughter in laws I hope for the same as you. I want all of these young women to have every opportunity to succeed and be in safe working environments.
Previous Previous post: Am I different?
Next Next post: Is the real world virtually unknown?


October 23 rd 2013 Comments Off on Articling — Where Do You "Fit In"?
Articling — Where Do You "Fit In"?
When I was looking for an articling position, people would often tell me to make sure that I found a place where I "fit." At the time, I found this advice incredibly frustrating. I thought "fit" was a criterion that only those candidates who had multiple Bay Street offers could consider. I was more concerned about factors like type of law, location, and simply whether or not I would be hired. However, as I come to the end of my articling term, I find myself giving prospective articling students the same advice.
I articled at a boutique firm practicing in civil litigation and corporate work. I realize now that the articling position I wound up taking was probably the best "fit" available for me. Being in a smaller firm allowed me to keep my entrepreneurial instinct intact and to develop in the areas that I am most drawn to. As someone who didn't really know what type of law they wanted to practice before beginning articling, I am thankful that I have gotten a well-rounded experience. Indeed, I feel well equipped to start building my own practice within the firm and to help grow the business.
I don't think I would have gotten the same experience articling at a larger firm. This being said, for someone who knows what type of law they want to practice or sees themselves becoming a partner at a large Bay Street firm, the type of articling experience I got may not have been ideal. My decision on where to article was not consciously based on "fit." However, I realize now that my principal saw that I may "fit" with what she was trying to build and that this played a large factor in her decision to hire me.
What does this mean for prospective articling students in practice? Your prospective employers are looking for someone who "fits" with their organization. If you don't get hired, don't worry – you were likely not a good fit with the firm and would not have gotten a great articling experience anyways. Instead of worrying about doing whatever you can to impress your prospective employers at cocktail mixers and in interviews, focus on being yourself and really demonstrating those unique traits that set you apart. Eventually you will find an organization that is looking for those traits and you will be happier, more productive, and learning more than you would be elsewhere.


The company KYE Systems has added to the range of products produced by the new portable digital HD-camcorder Genius G-Shot HD520, can record video in MPEG-4/H . 264 with a resolution of 720p when the 30 frames per second, as well as JPEG-made digital photos with a maximum resolution of 11 interpolirovannym MT. In addition, the device can act as media players, digital recorder, web camera and a means for reading electronic books.
The device is packed in an attractive, compact body of silver-gray performance, is equipped with 5-мегапиксельным CMOS-sensor and the lens is equipped with avtofokusom and 5 times digital zoom. Even in the arsenal of new items are otkidyvayuschiysya and pivots 2, 5-inch color LTPS-screen, built in 32 MB of memory, a slot for connecting SDHC-card capacity up to 8 GB and HDTV-out. Attention and implemented in the product technology Face Detection and Z-Lighting.
Now you only see when and for what price, this mini-combine in a sale.


text:
Q: PHP convert CSV to specific JSON format I have a CSV file that looks like:
Name, Id, Address, Place,
John, 12, "12 mark street", "New York",
Jane, 11, "11 bark street", "New York"...

I have about 500 coloumns. I would like to convert this to JSON, but I want the output to look like:
{
    "name": [
        "John",
        "Jane"
    ],
    "Id": [
        12,
        11
    ],
    "Address": [
        "12 mark street",
        "12 bark street"
    ],
    "Place": [
        "New York",
        "New York"
    ]
}

Using PHP, how can I iterate through the CSV file so that I can make each column in the first row an array that holds the values in the same column on all the other rows?

A: this would be a generic method which is valid for any amoutn of named colums.
if they are static, it will be shorter to address them directly
<?
$result = array();
if (($handle = fopen("file.csv", "r")) !== FALSE) {
    $column_headers = fgetcsv($handle); // read the row.
    foreach($column_headers as $header) {
            $result[$header] = array();
    }

    while (($data = fgetcsv($handle)) !== FALSE) {
        $i = 0;
        foreach($result as &$column) {

                $column[] = $data[$i++];
        }

    }
    fclose($handle);
}
$json = json_encode($result);
echo $json;

A: There are a few helpful php functions that will do what you need.
Open fopen  and parse with fgetcsv.
Once you have your array use *json_encode* to get it into JSON format.
Something like this might work (not tested):
$results = array();
$headers = array();

//some parts ripped from http://www.php.net/manual/en/function.fgetcsv.php
if (($handle = fopen("test.csv", "r")) !== FALSE) {
    $line = 0;
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
            for ($x=0; $x < count($data); $c++) {
                if ($line == 0) {
                    $headers[] = $data[$x];
                }
                $results[$x][] = $data[$x];
            }
    }
    fclose($handle);
}

$output = array();

$x = 0;
foreach($headers as $header) {
    $output[$header] = $results[$x++];
}

json_encode($output);

A: Compact solution:
<?php
$fp = fopen('file.csv', 'r');
$array = array_fill_keys(array_map('strtolower',fgetcsv($fp)), array());
while ($row = fgetcsv($fp)) {
    foreach ($array as &$a) {
        $a[] = array_shift($row);
    }
}
$json = json_encode($array);


text:
In deze lijst van beschermd erfgoed in de gemeente Kopstal zijn alle geclassificeerde nationale monumenten van de Luxemburgse gemeente Kopstal opgenomen.

Monumenten per plaats

Kopstal

|}

Bron
 Liste des immeubles et objets classés monuments nationaux ou inscrits à l'inventaire supplémentaire

Kopstal
Kopstal

redpajama_set_name: RedPajamaWikipedia


This is a QR Code for TRANSIT TELEVISION NETWORK, LLC. If you have a QR Code scanning app, you can simply scan this image to have this business's information displayed on your phone.
THOMAS W. VAN HORN, JR., LTD.
TWIN STAFFING & CONSULTING, INC.
THE KNIGHTS OF COLUMBUS MUSEUM, INC.
TRANSIT TELEVISION NETWORK, LLC is a company in Illinois and its company number is 01117076. TRANSIT TELEVISION NETWORK, LLC was registered on 2009-08-14. The company's status is listed as REVOKED.
This is Google map of TRANSIT TELEVISION NETWORK, LLC address: 8550 COMMODITY CIRCLE, ORLANDO, FL 32819. If you find error address, please submit another address using the form in the map, then search again.


text:
// Copyright 2015 Traceur Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

import {CONST, LET} from '../syntax/TokenType.js';
import {ModuleTransformer} from './ModuleTransformer.js';
import {
  createAssignmentStatement,
  createArgumentList,
  createBindingIdentifier,
  createCallExpression,
  createExpressionStatement,
  createForInStatement,
  createFunctionBody,
  createIfStatement,
  createImmediatelyInvokedFunctionExpression,
  createIdentifierExpression,
  createMemberLookupExpression,
  createMemberExpression,
  createObjectLiteral,
  createScopedExpression,
  createReturnStatement,
  createUseStrictDirective,
  createVariableDeclarationList,
  createVariableStatement
} from './ParseTreeFactory.js';
import globalThis from './globalThis.js';
import scopeContainsThis from './scopeContainsThis.js';
import {IMPORT_SPECIFIER_SET} from '../syntax/trees/ParseTreeType.js';
import {AnonBlock} from '../syntax/trees/ParseTrees.js';
import {parseStatement} from './PlaceholderParser.js';

let anonInlineModules = 0;

/**
 * Inline's ES6 module imports and outputs to a single ES6 formatted file.
 * usage: traceur --modules=inline --outputLanguage=es6 --out ./out/some-lib.js -- ./src/root.js
 *
 * in:
 *  // a.js
 *  export function a() {
 *    return 'A';
 *  }
 *
 *  // root.js
 *  import {a} from './a.js';
 *  export function b() {
 *    return a();
 *  }
 *
 *  out:
 *  // some-lib.js
 *  const $__module__a__js = (function() {
 *    "use strict";
 *    function a() {
 *      return 'A';
 *    }
 *    return {get a() {
 *        return a;
 *      }};
 *  })();
 *  "use strict";
 *  const {a} = $__module__a__js;
 *  export function b() {
 *    return a();
 *  }
 */
export class InlineES6ModuleTransformer extends ModuleTransformer {

  constructor(identifierGenerator, reporter, options, metadata) {
    super(identifierGenerator, reporter, options);
    this.metadata_ = metadata;
  }

  /**
   * Places "use strict" at the top of each generated module
   * The default `var __moduleName = "../some/path/to/module.js";` is omitted
   * @returns {Array} statements
   */
  moduleProlog() {
    return [createUseStrictDirective()];
  }

  /**
   * Wraps a module in to an IIFE closure and returns the module as a `const` unless it's a root module
   * @param statements
   * @returns {Array} statements
   */
  wrapModule(statements) {
    let seed = this.moduleName || 'anon_' + ++anonInlineModules;
    let idName = this.getTempVarNameForModuleName(seed);

    if (this.isRootModule) {
      // removes the return statement from the output
      statements.pop();
      return statements;
    }

    let body = createFunctionBody(statements);
    let moduleExpression;
    if (statements.some(scopeContainsThis)) {
      moduleExpression = createScopedExpression(body, globalThis());
    } else {
      moduleExpression = createImmediatelyInvokedFunctionExpression(body);
    }

    return [createVariableStatement(CONST, idName, moduleExpression)];
  }

  /**
   * Preserves the `export` statements for root modules
   * @param tree
   * @returns {Tree}
   */
  transformExportDeclaration(tree) {
    if (this.isRootModule)
      return tree;

    this.exportVisitor_.visitAny(tree);
    return this.transformAny(tree.declaration);
  }

  /**
   * Transforms imports to use `const` statements
   * @param tree
   * @returns {VariableStatement}
   */
  transformImportDeclaration(tree) {
    if (!tree.importClause ||
      (tree.importClause.type === IMPORT_SPECIFIER_SET &&
      tree.importClause.specifiers.length === 0)) {
      return createExpressionStatement(this.transformAny(tree.moduleSpecifier));
    }
    let binding = this.transformAny(tree.importClause);
    let initializer = this.transformAny(tree.moduleSpecifier);
    return createVariableStatement(CONST, binding, initializer);
  }

  transformNamedExport(tree) {
    return new AnonBlock(null, []);
  }

  /**
   * Handles importing modules that have `export * from './path/to/foo.js'` declarations.
   * Generates the following output:
   *
   * forEach $starIdent
   *  let ${exports} = {};
   *  for (let ${key} in ${starIdent})
   *    if (${starIdent}.hasOwnProperty(${key}))
   *      $exports[${key}] = $starIdent[${key}];
   *  return ${exports};
   *
   * @returns {Array} statements
   */
  appendExportStatement(statements) {
    let exportProperties = this.getExportProperties();
    let exportObject = createObjectLiteral(exportProperties);
    if (this.exportVisitor_.starExports.length) {
      let starExports = this.exportVisitor_.starExports;
      let starIdents = starExports.map((moduleSpecifier) => {
        return createIdentifierExpression(
          this.getTempVarNameForModuleSpecifier(moduleSpecifier));
      });

      if (exportProperties.length)
        starIdents.push(exportObject);

      // let ${exports} = {};
      let exports = this.getTempIdentifier();
      statements.push(createVariableStatement(LET, exports, createObjectLiteral("")));

      let key = this.getTempIdentifier();
      starIdents.forEach((starIdent) => {
        statements.push(
          // for
          createForInStatement(
            // let ${key}
            createVariableDeclarationList(LET, key, null),
            // in ${starIdent}
            starIdent,
            // if
            createIfStatement(
              // (${starIdent}.hasOwnProperty(${key}))
              createCallExpression(
                createMemberExpression(starIdent, 'hasOwnProperty'),
                createArgumentList([createIdentifierExpression(key)])),
              // true part: $exports[${key}] = $starIdent[${key}]
              createAssignmentStatement(
                createMemberLookupExpression(
                  createIdentifierExpression(exports),
                  createIdentifierExpression(key)),
                createMemberLookupExpression(
                  starIdent,
                  createIdentifierExpression(key)))))
        );
      });
      // return ${exports}
      statements.push(createReturnStatement(createIdentifierExpression(exports)));
      return statements;
    }
    statements.push(parseStatement `return ${exportObject}`);
    return statements;
  }

  /**
   * Ensures each transformed module has a unique name
   * @param tree
   * @returns {BindingIdentifier}
   */
  transformModuleSpecifier(tree) {
    return createBindingIdentifier(this.getTempVarNameForModuleSpecifier(tree));
  }

  get isRootModule() {
    return this.moduleName === (this.metadata_ && this.metadata_.rootModule);
  }
}


text:
September 27, 2018 by Ashley Cullins
Fox Sues Over Alleged 'The Post' Location Damage Scam
The studio says its $100,000 security deposit hasn't been returned, and the company that claimed to own the property doesn't.
September 26, 2018 by Rebecca Sun
ReFrame Stamp Program Opens Call for TV Submissions
The industry coalition already has recognized 34 films with its gender-parity stamp of honor.
April 26, 2018 by Etan Vlessing
Bradley Whitford Joins Anna Paquin in Pop TV's Limited Series 'Flack'
The 'Get Out' actor will star opposite Paquin in the upcoming scripted dramedy.
April 2, 2018 by Stephen Galloway
How Steven Spielberg Keeps Confounding His Critics
A look at the director's impossible-to-summarize career, which takes a plunge into virtual reality with 'Ready Player One,' just months after 'The Post' championed freedom of the press.
March 5, 2018 by THR Staff
Oscars 2018: 'Mudbound,' 'Lady Bird,' 'The Post' Among Biggest Snubs | THR News
Sunday's 90th annual Academy Awards might have been an exciting evening for those whose films won, but for those who worked on or were supporting 'Lady Bird,' 'Mudbound' or 'The Post,' the evening was likely a disappointment.
March 4, 2018 by Hilary Lewis
Oscars Snubs: 'Lady Bird,' 'Mudbound,' 'The Post' Shut Out
Meanwhile 'Phantom Thread' only won one award, for costume design, but its recipient also won a jet ski as a reward for delivering the shortest acceptance speech of the evening, in a contest host Jimmy Kimmel devised during the show.
Meryl Streep Wears Christian Dior Couture | Oscars 2018
Meryl Streep wowed on the red carpet in a royal red gown by Christian Dior Haute Couture.
Oscars: 8 Actors in Two or More of This Year's Best Picture Nominees
Timothee Chalamet, Michael Stuhlbarg and Bradley Whitford are just some of the actors appearing in and rooting for multiple films.
March 2, 2018 by Zoe Haylock
Oscars: Read Some of the Worst Reviews of This Year's Best Picture Nominees
Critics share harsh words about the nine films nominated for the film industry's biggest honor.
February 26, 2018 by THR Staff
Watch THR's Full Cinematographer Roundtable With Roger Deakins, Rachel Morrison and More
Janusz Kaminski ('The Post'), Hoyte Van Hoytema ('Dunkirk'), Dan Laustsen ('The Shape of Water') and Robert Elswit (Roman J. Israel, Esq.) also joined the Roundtable.


Bleu by Emmanuel Levain is a Citrus Aromatic fragrance for women and men. The fragrance features green tea and lemon.
Blanc by Emmanuel Levain is a Floral Fruity Gourmand fragrance for women and men. Top notes are ylang-ylang and peach; middle notes are jasmine, tuberose and orange blossom; base notes are tonka bean and caramel.
Noir by Emmanuel Levain is a Citrus Aromatic fragrance for women and men. Top notes are petitgrain and guaiac wood; middle notes are lemon, lime, bergamot and mandarin orange; base notes are cedar and patchouli.


Simulated Annealing (SA) is a metaheuristic, inspired by annealing process. SA starts with an initial solution at higher temperature, where the changes are accepted with higher probability. So the exploration capability of the algorithm is high and the search space can be explored widely. As the algorithm continues to run, the temperature decreases gradually, like the annealing process, and the acceptance probability of non-successful moves, decrease. Simulated Annealing is proposed by Kirkpatrick et al., in 1993. You can get more information about SA, in the realted article of Wikipedia, here.
In this post, we are going to share with you, the open-source MATLAB implementation of Simulated Algorithm, which is used to solve the Traveling Salesman Problem (TSP). In addition to standard version of SA, implementation of a Population-based Simulated Annealing is also provided within the download package. The algorithms are implemented in a structured manner and if you are familiar with MATLAB programming language, you will find it easy, to use the codes in your research projects.


Sometimes I wonder whether I am painting pictures of words or whether I'm painting pictures with words.
Ed Ruscha's body of work has influenced graphic design, architectural theory, cinema and, perhaps most profoundly, the art of the book as it has been practiced over the past fifty years. He came of age as an artist in the late 1950s with collages similar to those of Jasper Johns and Robert Rauschenberg, and early in his career he was associated with Pop Art. He quickly established his own métier, however, and became known for his paintings of words and phrases. While he has returned repeatedly to the book form throughout his career he has never been confined to it as a medium of artistic expression; his recent exhibition at the Kunsthaus Bregenz (which moved later to Gagosian in New York), entitled Reading Ed Ruscha, included acrylic and oil paintings, drawings on paper, watercolors on vellum, photographs, and altered books which were framed as sculptural objects.
Ruscha's first book, Twentysix Gasoline Stations, is a classic work from 1962 that depicts everyday objects, in this case buildings, in a way that suggests a relationship among words (the trade names on the signs), things (the stations themselves), and ideas (the cultural landscape on the highway between Los Angeles and Oklahoma City). Through this work Ruscha presaged the conceptual art movement by identifying the vernacular as the fundamental referent for the work, by using the prosaic representational medium of photography to record and memorialize the referent, and by employing a low cost method of presentation and distribution, in the form of the trade paperback, to convey his message.
Ruscha was born in 1937 in Omaha and studied at what is now Cal Arts. His first solo show was in 1963 at the Ferus Gallery. He has had major one-artist exhibitions at, among other museums, the Centre Georges Pompidou (Paris 1989), the Hirshhorn Museum and Sculpture Garden (Washington 2000), and the Whitney Museum of American Art (New York 2004). He was the United States' representative to the 51st Venice Biennale in 2005.
Ruscha, Edward, Mason Williams and Patrick Blackwell. Royal Road Test. Los Angeles: [ Edward Ruscha ]. 1967.


This appeal arises from a contractual dispute between a sports-car racing team and its sponsor. At trial, the district court found that the sponsor breached its contract and awarded the team $7 million in damages, but it refused to award additional damages on failure-to-mitigate, windfall, and policy grounds. On appeal, CA3 affirmed the damages awarded and reversed the damages denied, remanding for further proceedings.
The case is Vici Racing v. T-Mobile. Opinion by Baylson EDPA by designation, joined by Ambro and Greenaway. Arguing counsel were James Martin for the sponsor and Joseph Klock for the team.
This entry was posted in Cases on August 13, 2014 by Matthew Stiegler.


Intriguingly then, Turner is truly just a 3 away from turning his season right around. In their last ten games, the Blues have been less-than-stellar posting a record and are currently riding a two-game losing streak. It's going to be trust from our bigs and our guards, being patient, and playing together. What kind of jump can you make from Year 1 to Year 2? Miles Mikolas has been one of the most underrated starters in the majors this year as well. The Indians are against the run line and have a over under record.
Their longest punt return so far this year is 82 Baseball Jerseys Cheap yards. His minutes steadily increased as the season went on and I don't know how you leave him out of the starting lineup at this point. He also had two separate internship stints with the NFL league office in both the labor operations and legal departments before joining the Lions in 2001. Behind the arc they shoot 34% which is good for 24th in the league. Zibanejad's empty-netter turned into the game-winner after Chicago scored to get back within one in the final seconds. One potentially expensive downside of not including the trade-in with your new car purchase is that, in many states, you subtract the value of the trade from the cost of the new car and only pay sales tax on the difference. Only 20 seconds into the second period of Larkin's NHL debut, Oct. He took the no decision in that game after giving up just one run in 5 innings while walking no one and striking out three. SHe reopened days later, but it closed for good that same year. — Brett Davis-USA TODAY Sports 2017 rank: NR ZiPS projected Takkarist McKinley Jersey 2018 WAR: 3 Did you know? hugs #RiseUp.
The pitcher must still pass a physical,… The final lap was the only one Jones led. In the latter, she scored a hat trick in the final, leading Team USA to an easy 5 revenge win over the Japanese team that had bested the U.S. http://www.atlantafalcons.us.com/WOMENS-TAKKARIST-MCKINLEY-JERSEY.html And you thought the NBA betting season was finished? Their longest punt return this season is 44 yards. Wins have been hard to come by for Jackson and he is just 2 in his last 10 starts. It appears Cleveland will miss the playoffs for the 16th straight season, falling to 2 under interim Head Coach Gregg Williams. Sarachan had been appointed following the resignation of Bruce Arena, who stepped down after the USA's 2018 World Cup qualifying debacle. Read more about 2006 March Madness Preview: Oakland Region. We retrieved puck http://www.packershopnfl.com/WOMENS_YOUTH_JAMAAL_WILLIAMS_JERSEY.html and then broke them down and found a seam.
They total 116 points per contest and give up 111, which is a point differential of 4. New Jersey comes into this matchup having played 9 games. Davante, when you watch him sometimes, it's almost like he's http://www.officialbluejayshop.com/authentic-18-curtis-granderson-jersey.html in glide mode, and all of a sudden, there's that burst, that move, kind of that extra gear he has. My biggest concern, though, is that Kyle Shanahan has left to be the head coach in San Francisco. Ibitoye's pace is outstanding and physically he looks more powerful than ever. Louisville Cardinals at Houston Cougars, Thursday Jamaal Williams Jersey Nov. He was completely disinterested and ineffective down the stretch, and horses were passing him at will. NFL Handicapping: Jay Cutler Will Be Bears Bust by Robert Ferringo – 8 2009 Four years ago I was writing on this very site that Dante Culpepper was the most overrated quarterback in the NFL.
We always believe that we're in it, no matter what. They average 51 rebounds per game and 20 Curtis Granderson Jersey assists per game which ranks them 19th and 21st in those offensive categories. Houston is the pick against the spread. They allow 31 shot attempts to their opposition per game and have a team save percentage of 92%, which is 4th in the league. Scouts are going to be watching, because this is his only real hang Baseball Jerseys Cheap up. A year ago, he was sacked 23 times in the first six games. Long provides support for Director of Sports Medicine and Performance, Marty Lauzon and assists in the daily care of players, treatment, and rehabilitation.


"Estimating, Pricing and Producing Successful Projects"
This interactive workshop will introduce you and your business to the critical information needed to make sure you are properly estimating and pricing your projects for profitability. It will also include strategies you can use to successfully delegate construction projects to production employees so they can profitably complete projects on their own with the information created during the sales and estimating process.
Being strategic about the process you use to collect and document project information when selling to customers and estimating project costs can really make a big difference for your business.
Help protect planned profits while producing those projects.
Determine the markup your business needs to use when pricing projects to ensure your ability to cover project and overhead expenses and maintain planned net profit.
Understand how to determine your company's gross profit margin requirement and how sales volume and gross profit margins are interdependent.
Know the difference between cash and accrual accounting and which one to use for your business.
Understand and use a variety of options for better managing cash flow.
Take advantage of many benefits that can come from strategic estimating.
Use your estimate to help create project payment schedules that improve your cash flow and give your customer confidence about making payments.
Create proposals that help you sell, differentiate your business, protect profits and manage customer expectations.
Use your sales process and your proposal to help improve production results and profits.
Make sure your team has what they need to install/build projects profitably and on their own.
Take advantage of the Pre-Staging of projects.
Make more money in less time and have more fun doing so!


Question by otori_katsumoto: what shampoo is very good although making use of hair reduction treatment?
I'm presently employing Tresemme (Moisture for dry/ruined hair) but I also have Tea Tree shampoo, but my mom explained you must use a light shampoo, like infant shampoo. Any very good suggestions?
Oh and PS, the therapy is made up of pills and a topical "serum".
I was making use of tea tree shampoo but i thought it was way also harsh, proper now i am utilizing gillette's every day stability shampoo. I am utilizing capsules and topical serum as effectively. Your mom is most likely appropriate about the baby shampoo…I also tried a moisturizing shampoo but i found that it produced my scalp sort of break out and triggered much more hair decline i feel…I talked to someone about it and they mentioned it was possibly in excess of-moisturized.


I'm there now. Please update your bookmarks, Bloglines, or other aggregators!
You can also find me at my website or at my new blog, Cops 2.0.
And will post one more time when it actually happens.
"We let in the serpents and liars, we exchanged shining ideals for a handful of nails and some two-by-fours, and we did it by resorting to the simplest, deepest-seated and readiest method we possess as human beings for trying to make sense of the world: through our fear. America has become a phobocracy."
If you live in a state that's holding its primary today, or even after today, please: read Michael Chabon's excellent op-ed in its entirety. Then go out and be the idealist we need - and vote Obama.
With a major project due in two days, clients demanding I put their work first, and my new blog in need of some startup posts, I woke up Wednesday with a plan: take as much time as I could to do whatever the boys needed.
See, in the past, I've had a hard time with balance. I can get very focused on work when I have a deadline, to the point where I get snappish and frustrated with anything--or anyone--that distracts me. I've done that often enough with Hamlet to know I needed to try a different tack.
I played with him and Puck all morning. Even though I did have to knuckle down that afternoon, and even though Hamlet acted out because he didn't want me to work, I still feel as if I made a good start. Which is why, on Friday, I rebelled again: with one project complete, I could have gone on to the others. Instead I left the computer off, and spent the day with my boys.
I don't like to generalize and say "The work will always be there." This is true, but specific projects won't be. As a freelancer trying to make a living--not a hobbyist making a little extra spending money--I take my obligations to my clients as seriously as (okay, slightly less than) my obligations as a wife and mother. Anyone with customers and a boss feels the same way.
But it's also important for us to know when to back off. That's why finding family-friendly clients is so important. To be able to say, "I'm working on your project, but it might take some more time than I anticipated--my kids are sick (or clingy, or whatever)" is so critical to any freelance parent's success. I always feel a little weird telling those things to non-parent peers, as if they might think I'm using my kids as an excuse to avoid responsibility.
The fact is, those of us who work from home with kids--especially of the small variety--almost never get a chance to shirk responsibility. True, to rebel against our deadlines is a lot like playing hooky. But it's not like we're going off to the theater to watch movies all day, the mall to go shopping. Having fun with the kids is an investment in business--fun, yes, but also insurance against bad feelings and stress, the creativity-killers.
So, I slacked off work. We all needed it. And you know what? I'm still on schedule.
Today, January 29th, is the release date for the trade paperback edition of Patry Francis' debut novel The Liar's Diary. What makes this release different? Unlike most authors, Patry doesn't have the time, energy, or probably the money to market it herself. That's because she's undergoing treatment for an aggressive form cancer.
A case study in the explosive effects of extreme denial, Francis's debut relies completely on its very unreliable narrator, with mixed results.
Also, watch The Liar's Diary book trailer here.
Not long ago, author and freelancer Mark Terry gave me an interview about his writing. This week, he'll be doing a series that goes in-depth on freelancing. As I wrote him in a comment, I'm thinking about trying to do more with my job, so I'm really looking forward to the series. Go check it out - his first post is all about the different types of writing there are (more in the comments section too).
For the first time in over a year, I can say it: I have the house to myself.
Rain Dog took both boys to his mother's house for a visit. Originally I was going to go too, but I have so much work and he could see how frustrated I was getting with the regular morning routine. His words: "All you'll be doing over there is thinking about what you're not writing, or you'll be on your PDA." I love that man!
I nursed Puck before he left, and he has his sippy cup and whatever food is available over there. Although I was a bit at a loss for what to do - deadline work, fiction, or yes, even some housework! - I've settled on the deadline stuff. If I can make a dent in that, I'll be in much better shape for the coming week.
So here I sit at my desk with my hot chocolate and my favorite work music. It's allll good.


War of the Rebellion: Serial 006 Page 0243 Chapter XV. CORRESPONDENCE, ETC.-UNION.
running of the blockade. Saint Simon's, Fernandina, the mouth of the Saint John's, and possibly Saint Augustine, would, I think, be sufficient, Other places of some little importance could be blockade by the Navy.
The occupation of the towns on the main, such as Jacksonville, Saint Mary's Darien, Brunswick, would be injudicious with our present force, unless we are sure of being supported by a strong party of Unionists, and it is important to first ascertain whether such a party exist to much extent. The desertion of Fernandina and Saint Mary's does not look very favorable.
I shall endeavor to rally the Union men to the support of their flag.
Fernandina, Fla., March 9, 1862.
COLONEL: Flag-Officer Du-Pont proceeds to-day to the Saint John's River, and after the contemplated operations in that vicinity shall have been finished, will probably continue down the coast with the naval force to Saint Augustine, in which case you will still remain with the Navy and co-operate with it.
Should Saint Augustine be taken possession of, and it should be considered by the flag-officer important to occupy it, you are authorized to leave, say, two companies in Fort Marion as a garrison, with at least ten days' provisions, a trusty captain being placed in command. The remainder of your force will then return to its place in the Boston.
GENERAL: I am instructed to inform you that, in consequence of information just received that the enemy is abandoning his position at Centreville and towards Manassas, a forward movement of the Army of the Potomac has been order this day, to seize any advantage that may offer.


text:
25 July 2022 - ABANDONED RAILWAY TUNNEL - ARIZONA
RAILWAY TUNNEL
- ARIZONA -
A partial tunnel blasted into a steep ridge is all that remains of a failed railway across Arizona.
In 1881, businessman James Eddy was struck by inspiration. Northern Arizona was connected to the rest of the country by transcontinental railways and was dense with ponderosa pine forests and a burgeoning timber industry. Southern Arizona, meanwhile, was even more populated, and the isolated mining boomtowns in the deserts were home to some of the richest silver and copper veins in the world. If he could connect the south to the railroad network in the north, he would stand to make a fortune.
The benefit of connecting the two halves of the state would be twofold: sending much-needed lumber and supplies to the communities in the south, and freighting mined minerals back north where they could more easily be shipped to the industrial centers on the coasts. Only one thing stood in the way of Eddy's plan: the Mogollon Rim.
The southern boundary of the Colorado Plateau, an elevated region that crosses into four states, is the Mogollon Rim, a massive ridge of steep slopes that cross much of Arizona. When Eddy formed the Arizona Mineral Belt Railroad company, his engineers calculated that to run a railway across the Mogollon Rim at a gentle enough grade for trains he would need to create a tunnel 3,100 feet long and 16 feet wide.
In 1883, work on the tunnel began. Over 40 men spent all summer blasting a passage through the rock. Only 70 feet of the tunnel had been completed, however, when the company ran out of funds and the work came to a halt. Eddy spent the next several years finding investors and hyping the railroad project, managing to get another 35 miles of track laid when the money ran dry and the work stopped again, this time for good.
Over the subsequent years, the 35 miles of track south of Flagstaff were torn up by locals who reused the scrap. Today, the only remaining evidence of Eddy's ambitious but failed project is the partially completed tunnel deep in the Tonto National Forest. Other than some graffiti near the entrance, it still looks more or less exactly as it did when the Arizona Mineral Belt crews left it in 1883. The crumbling structure to the right of the tunnel entrance is the remains of the powder house where the workers stored their explosives while blasting through the ridge.
Labels: ABANDONED RAILWAY TUNNEL - ARIZONA, Arizona, CLANCY TUCKER, RAILWAYS, TUNNELS, USA
20 June 2022 - MYSTERIOUS FAIRY CIRCLES in NAMIBIA
26 June 2022 - 'DEAD VLEI' - A DEAD MARSH IN NAMIBIA
27 June 2022 - LAKE NATRON - TANZANIA
21 June 2022 - ANCIENT FOOTPRINTS FOUND in TANZANIA
22 June 2022 - ANCIENT AQUEDUCT IN ITALY
23 June 2022 - BURKE GHOST TOWN - IDAHO, USA
30 June 2022 - TUNNEL NUMBER 3 - MANHATTAN, NEW YORK
28 June 2022 - THE MYSTERIOUS BOOKSHOP in MANHATTAN
24 June 2022 - QUIRKY BOOKSTORE IN GREECE
29 June 2022 - FLOATING BOOKSTORE IN LONDON
25 June 2022 - WHEN CRICKET'S T20 WAS BORN
1 July 2022 - EDITH CAVELL - ENGLAND'S HEROINE NURSE
3 July 2022 - St PAUL'S CATHEDRAL, LONDON - A GREA...
10 July 2022 - HITLER'S BOMBING OF LONDON
2 July 2022 - FRANKLIN ROOSEVELT - 'BRITAIN'S GREA...
4 July 2022 - THE 1929 WALL STREET CRASH
11 July 2022 - LINCOLN MEMORIAL UNDERCROFT
14 July 2022 - THE HIDDEN CANINE ON KOREAN WAR MEM...
9 July 2022 - FORGOTTEN WAR MEMORIAL - WASHINGTON ...
5 July 2022 - TITO'S BLUE TRAIN - SERBIA
20 July 2022 - THE YOUNG WITNESS TO THE ERUPTION O...
28 July 2022 - THE WORLD'S MIGHTIEST EXPLOSION - K...
6 July 2022 - SOLO AROUND THE WORLD IN 1898
7 July 2022 - SPAIN'S WAR AGAINST THE U.S.A.
12 July 2022 - AKIYOSHHIDO CAVE - JAPAN
21 July 2022 - DEVIL'S SLIDE TRESTLES - COLORADO
29 July 2022 - RIFLE SIGHT NOTCH - COLORADO
22 July 2022 - GORGEOUS WYSTERIA TUNNEL - JAPAN
26 July 2022 - ROVE TUNNEL - ABANDONED CANAL TUNNE...
23 July 2022 - SAINT CABRINI NOVITIATE - NEW YORK
15 July 2022 - HISTORIC TINY TOWN IN BULGARIA
13 July 2022 - THE BIRTH OF THE TYPEWRITER
16 July 2022 - TASMANIA'S TOWN OF MURALS - AUSTRALIA


text:
News from OII Geographers
Latest Books and Reports
Academic Spotlight
Questions of equality and social justice are as important as ever in the information age. Do Internet technologies give rise to radical social change, or do they just reproduce existing social and economic divisions and relationships?
By changing how people and organisations interact with each other, ICTs disrupt and reconfigure social networks, information and value flows, and geographic space: but who exactly profits?
TRANSNET: Forecasting and understanding transport network resilience and anomalies
This project seeks to utilise newly available data to help urban policy makers improve transport infrastructure to cope with growing and increasingly mobile populations.
Contemporary urban policy makers face a critical challenge over the next decade or so: transport infrastructures need to be able to cope with growing (and increasingly mobile) populations, yet central and local governments are operating in an era of austerity where major new investment in infrastructure is unlikely.
Data science and data-centric engineering offer a potential solution to this problem. The availability of new data is transforming the way we study human behaviour as well as plan and operate infrastructure. Along with data from sensors, crowd-sourced data, social data, and administrative data have also all greatly increased. Millions of volunteers contribute geographic data to platforms like OpenStreetMap, while huge swaths of social data (e.g., online reviews, posts on social networking sites, etc.) augment our physical space with additional data. Administrative and government processes are digital, available in real-time and more easily linked and searched than ever before.
This project seeks to understand how these additional data sources complement sensor data to give us a deeper understanding of human behaviour and improve modelling and prediction tasks. It also seeks to innovate in ways to visualise and analyse this data quickly, extending previous work on generating tile maps algorithmically.
Precarity to Power: Work and organising in Hyderabad's ride-hailing economy
This research project investigates the working lives and aspirations of ride-hail workers in Hyderabad, in order to understand what worker-defined futures of ride-hail work might look like.
Fairwork for AI
Drawing on the five OECD principles for responsible stewardship of trustworthy AI, this project proposes developing a set of accountability mechanisms to ensure AI systems foster fairer working conditions.
The GEONET project at the OII investigates the geographies, drivers, and effects of Sub-Saharan Africa's emerging 'information economies.' It asks whether these economies represent a new era of development.
The App – My Boss
SRF, 17 November 2022
In this documentary, Swiss broadcaster SRF speaks to Fairwork researcher Dr Alessio Bertolini about workers' rights and the gig economy.
Amazon's worker surveillance "leads to extreme stress and anxiety"
New Statesman, 04 November 2022
Academics have warned MPs that the use of connected tech in the workplace needs to be better regulated.
Professor Mark Graham
Professor of Internet Geography
Mark Graham is an economic geographer. His research focuses on digital labour, the gig economy, and digital inequalities. He is the author, most recently, of The Gig Economy: A Critical Introduction.
Professor Mark Graham is Professor of Internet Geography at the OII, asking how people and places are ever more defined by, and made visible through, not only their traditional physical locations and properties, but also their virtual attributes and digital shadows.
His work covers a diverse range of topics, including digital labour, the gig economy, internet geographies, and ICTs and development. His research has been published in journals including Information, Communication & Society, Sociology, The Journal of Development Studies, and Urban Geography, and he is an editor of Environment and Planning A. Professor Graham has authored and edited books published by Polity, Routledge, and Oxford University Press.
Graham is one of the founders of the participatory action research project called the Fairwork Project, founded in 2018, which has brought together a team of 22 labour sociologists and lawyers. Bringing together stakeholders – including workers, trade unions, platforms, and policy makers – the project aims to set minimum fair work standards for the gig economy and frequently reports on platforms' working conditions. Other projects he has worked on have studied knowledge economies in Africa, the 'planetary labour market', and the inequalities of Wikipedia.
At the OII, he teaches the course 'Economic Development in Digital Capitalism', which examines how the digital economy can impact on the economic positionalities of people and practices at economic peripheries.
Dr Grant Blank
Departmental Lecturer
Grant Blank's work focuses on the social and cultural implications of the Internet and new media, quantitative and qualitative methods, and cultural sociology. He teaches on the OII social statistics courses.
Professor Rebecca Eynon
Professor of Education, the Internet and Society
Rebecca Eynon's research focuses on learning and the Internet, and the links between digital and social exclusion.
Dr Matthew Cole
Matthew Cole was a Postdoctoral Researcher with Fairwork, investigating global platforms. His research interests include the political economy of technology and platforms, particularly the transformation of work.


text:
package net.glowstone.inventory.inventories.base;

import com.flowpowered.math.vector.Vector2i;
import com.google.common.base.Optional;
import net.glowstone.item.GlowItemStackBuilder;
import org.spongepowered.api.item.inventory.ItemStack;
import org.spongepowered.api.item.inventory.Slot;
import org.spongepowered.api.item.inventory.property.SlotIndex;
import org.spongepowered.api.item.inventory.property.SlotPos;
import org.spongepowered.api.item.inventory.transaction.InventoryOperationResult;
import org.spongepowered.api.item.inventory.type.GridInventory;
import org.spongepowered.api.item.inventory.type.InventoryColumn;
import org.spongepowered.api.item.inventory.type.InventoryRow;

public abstract class GlowBaseGridInventory<C extends GlowSlot> extends GlowBaseInventory<C> implements GridInventory, OrderedContentInventory {
    private final int width;
    private final int height;
    private final C[] contents;

    //lazy inserted, based on need
    private final InventoryRow[] rows;
    private final InventoryColumn[] columns;

    public GlowBaseGridInventory(GlowInventory parent, int width, int height) {
        super(parent);

        rows = new InventoryRow[height];
        columns = new InventoryColumn[width];
        this.width = width;
        this.height = height;
        this.contents = getChildren();
    }

    protected int getWidth() {
        return width;
    }

    protected int getHeight() {
        return height;
    }

    @Override
    protected abstract C[] getChildren();

    @Override
    public void setRawContents(ItemStack... contents) {
        if (contents.length != this.contents.length) {
            throw new IllegalArgumentException();
        }

        for (int i = 0; i < contents.length; i++) {
            this.contents[i].set(contents[i]);
        }
    }

    @Override
    public ItemStack[] getRawContents() {
        ItemStack[] contents = new ItemStack[this.contents.length];
        for (int i = 0; i < contents.length; i++) {
            contents[i] = this.contents[i].peek().orNull();
        }
        return contents;
    }

    @Override
    public int getRawContentSize() {
        return contents.length;
    }

    private int index(SlotPos pos) {
        return index(pos.getX(), pos.getY());
    }

    private int index(int x, int y) {
        if (x > width || y > height) {
            throw new IllegalArgumentException("x or y not in range!");
        }

        return y * width + x;
    }

    @Override
    public Optional<ItemStack> poll(SlotPos pos) {

    }

    @Override
    public Optional<ItemStack> poll(SlotPos pos, int limit) {

    }

    @Override
    public Optional<ItemStack> peek(SlotPos pos) {
        if (pos.getY() > rows.length) {
            return Optional.absent();
        }
        return rows[pos.getY()].peek(new SlotIndex(pos.getX()));
    }

    @Override
    public Optional<ItemStack> peek(SlotPos pos, int limit) {
        if (pos.getY() > rows.length) {
            return Optional.absent();
        }
        return rows[pos.getY()].peek(new SlotIndex(pos.getX()), limit);
    }

    @Override
    public InventoryOperationResult set(SlotPos pos, ItemStack stack) {
        if (pos.getY() > rows.length) {
            return null; //failure
        }
        return rows[pos.getY()].set(new SlotIndex(pos.getX()), stack);
    }

    @Override
    public Optional<Slot> getSlot(SlotPos pos) {
        if (pos.getY() > rows.length) {
            return Optional.absent();
        }
        return rows[pos.getY()].getSlot(new SlotIndex(pos.getX()));
    }

    @Override
    public Optional<ItemStack> poll(SlotIndex index) {

    }

    @Override
    public Optional<ItemStack> poll(SlotIndex index, int limit) {
        return null;
    }

    @Override
    public Optional<ItemStack> peek(SlotIndex index) {
        return null;
    }

    @Override
    public Optional<ItemStack> peek(SlotIndex index, int limit) {
        return null;
    }

    @Override
    public InventoryOperationResult set(SlotIndex index, ItemStack stack) {
        return null;
    }

    @Override
    public Optional<Slot> getSlot(SlotIndex index) {
        return null;
    }

    @Override
    public int getColumns() {
        return columns.length;
    }

    @Override
    public int getRows() {
        return rows.length;
    }

    @Override
    public Vector2i getDimensions() {
        return new Vector2i(width, height);
    }

    @Override
    public Optional<ItemStack> poll(int x, int y) {
        ItemStack stack = contents[index(x, y)];
        contents[index(x, y)] = null;
        return Optional.fromNullable(stack);
    }

    @Override
    public Optional<ItemStack> poll(int x, int y, int limit) {
        ItemStack stack = contents[index(x, y)];
        if (stack.getQuantity() > limit) {
            stack.setQuantity(stack.getQuantity() - limit);
            ItemStack withLimit = GlowItemStackBuilder.copy(stack);
            stack.setQuantity(limit);
            return Optional.of(withLimit);
        } else {
            contents[index(x, y)] = null;
            return Optional.fromNullable(stack);
        }
    }

    @Override
    public Optional<ItemStack> peek(int x, int y) {
        return null;
    }

    @Override
    public Optional<ItemStack> peek(int x, int y, int limit) {
        return null;
    }

    @Override
    public InventoryOperationResult set(int x, int y, ItemStack stack) {
        return null;
    }

    @Override
    public Optional<Slot> getSlot(int x, int y) {
        return null;
    }

    @Override
    public Optional<InventoryRow> getRow(int y) {
        if (y > rows.length) {
            return Optional.absent();
        }

        if (rows[y] == null) {
            rows[y] = new GridInventoryRow(this, y);
        }

        return Optional.of(rows[y]);
    }

    @Override
    public Optional<InventoryColumn> getColumn(int x) {
        return null;
    }

    private class GridInventoryRow implements InventoryRow {
        public GridInventoryRow(GlowGridInventory inventory, int y) {
        }
    }
}