text:
New York local union joins Boilermakers
On Feb. 1, approximately 400 service workers from independent Local 947 became affiliated with the Boilermakers. Local 947 president Gloria Larrondo, who has logged over 30 years in the fight for organized labor, has a strong commitment to protecting the rights of working people. She said this move was the right one to continue to protect and defend the local's members.
She first heard about the Boilermakers from a colleague who sang the praises about "how great Boilermakers are for the members," Larrondo said. And after researching and speaking with IBB staff, members of Local 947 made the leap.
The Kings Park, New York, local advocates for service workers in the industrial trades. The local's members work in various industries including hotels, manufacturing, transportation warehousing, call centers, office services and more.
Larrondo and members of the local are excited about the recent change. "I'm honored and delighted," she said. "I feel this will be beneficial to the rank and file."
ED-ISO Tyler Brown worked with Larrondo to cement the change. "International President Jones has made it clear that organizing remains a continuing priority in our union. We look forward to Local 947 becoming part of our Boilermaker family. It is always exciting to see our union grow."
Boilermaker Reporter Issue
V59N1
The Boilermaker Reporter
Oct 2022 to Dec 2022
Online | PDF
Greedy owners pushed unions into the 1922 shopman's strike
Locals award service pins
Local 105 hosts annual Archery Shoot
Local women's committees benefit all members
L-D194's pride is as strong as cement


Find Printer Touch Screen, Copier Touch Screen, Digital Touch Screen on Industry Directory, Reliable Manufacturer/Supplier/Factory from China.
Product categories of Copier Printer touch screen, we are specialized manufacturers from China, Printer Touch Screen, Copier Touch Screen suppliers/factory, wholesale high-quality products of Digital Touch Screen R & D and manufacturing, we have the perfect after-sales service and technical support. Look forward to your cooperation!
Here you can find the related products in Copier Printer touch screen, we are professional manufacturer of Printer Touch Screen,Copier Touch Screen,Digital Touch Screen,Small Dimension Touch Screen. We focused on international export product development, production and sales. We have improved quality control processes of Copier Printer Touch Screen to ensure each export qualified product.
If you want to know more about the products in Copier Printer touch screen, please click the product details to view parameters, models, pictures, prices and other information about Printer Touch Screen,Copier Touch Screen,Digital Touch Screen,Small Dimension Touch Screen.
Whatever you are a group or individual, we will do our best to provide you with accurate and comprehensive message about Copier Printer touch screen!


text:
In TE87 (Triple Echo, the magazine of the UK based Trident and Rocket Three Owners Club) a long standing member, Frank Marshall, asks about the Triple oil pump, what can be done to improve it, and how to identify bad pattern pumps from possibly good original pumps. Frank is correct in his statement that all original pumps have a date on the body. This dating comprises a month and year code, e.g. 10-72 for October 1972, and I believe this to be a test date rather than an assembly date. It is my belief that all pumps were test run on a rig, and they had to pass flow and pressure tests. This would be proper engineering practice for an oil pump, but who knows for BSA/Triumph? I have had in spares stock over the years some genuine bodies and these did not have any code on them. The code was applies by an electric pencil, and I have seen quite a variation in the size and style of the graphic. The poor pattern pumps that he asked about were shiny all over the outside surfaces, and seen to have had a final external grinding operation after assembly, as it is difficult to see the joins between body and end covers.
Two basic styles of pump were used in original production, and are interchangeable in service. The early pump was driven by a flat gearwheel, and this wheel was located onto the pump drive spindle with a "D" arrangement. The round spindle had a "flat" on one side and the wheel had a corresponding built up area to match. The whole affair was held together by a special flat headed screw, driven in two slots by a special tubular peg spanner. This was superseded by a taper drive arrangement. The wheel was thickened in the centre, and the outer cover of the pump thinned to allow a taper to be used between these two components. This arrangement was held together with a thin nut (in fact the same nut as the valve clearance adjusters and pull-rod use as a lock nut) secured by a tab washer. I can hear owners of early machines saying "So that's what that funny little tab is I get in my kit and don't use" The later T160 models were fitted with the large bore oil feed from oil tank to pump, and the matching hole in the back plate of the pump was larger to suit. It is perhaps worth mentioning that all pattern pumps are of the taper drive type.
Frank is right in assuming that it is mainly internal clearances that affect the efficiency of the pump. I have overhauled quite a number of pumps over many years and I have developed the following technique. It is based on accurate measurement of the various pieces with good quality equipment carefully used. I would suggest that an owner takes great care before attempting an overhaul, as once metal has been removed it is gone forever!!
Firstly the pump must be stripped and thoroughly cleaned. Inspect the radial clearance of the gears in their respective housings. No remedial action can be taken if excessive clearance is found, but I've yet to reject a body or gears for faults found in this area. Secondly measure the depth of the feed and scavenge bores from the faces of the pump body. Measure in many places, to build up a "picture" of the depth of the bores. I have found many faults here, especially with the pattern bodies. You may find when the measurements are tabulated that the bores are not "square" to the faces of the body, not "square" to each other, and at considerable variance to the measured lengths of the gears. I always lay out all my measurements in a table so that I don't get confused (easy after dealing with these bikes for many years) and decide what action to take. The end result will have feed gears with an end clearance of .0008" to .0012", and scavenge gears with an end clearance of .0012" to .0018", in a body with "square" bores. Of course the gears have to be flat, and I have seen some considerably tapered.
I will not suggest any methods of attending to the body or gear modifications on purpose. If you don't know how to do it don't, but send the pumps to a firm or individual you trust to undertake the work.
I have found (pattern) bodies with steps between the bores of up to .008" and differential lengths on a pair of gears fitted in a particular pump of .010"! From experience it seems that the best pumps were from the earliest machines, and then the quality slowly deteriorated, until some T160 pumps are quite disgusting. Most, but not all, genuine pumps can be rescued however, by careful manipulation of the body and gears to obtain the suggested clearances. I have yet to find a pattern pump that I can do anything with, and in fact there is no component in these pumps that I will use, except the drive spindle/scavenge drive gear in an extreme emergency.
The scallops in the covers of the pump are there to lubricate the end faces of the gears, and more importantly to vent the chamber formed as the gears mesh. Without this vent there would be a moment of hydraulic lock at every tooth engagement. It should be remembered that the oil flow route through the pump is circular. By that I mean that the pumped oil is carried round by the gear for approximately 270 degrees, and does not pass through the gears.
Please note the following was originally written in December 1993
Now for the advertising: For more than a few months now I have been looking at the possibility of making a quality new pump, and perhaps enlarging the capacity. I was recently introduced to a draughtsman who is very experienced in this area and the project is now close to completion. The new enlarged (50%) pump will be a direct replacement fit, and will be driven by a standard "D" drive wheel. These have been in short supply for some time, but I've already had these made and they are now available. In fact I have had made both forms of the pump wheels, the taper drive in a lightened condition, and a lightened idler wheel. These, together with a special crank drive gear are available in a "Tuftride" heat treated condition. These drive wheels are made in a tougher grade of steel than original, and some years of race experience with heat treated wheels show that life is very considerably extended. Please see this link for greater detail.
To return to the current first page please use this link
To return to the Index, Articles please use this link
Triple Cycles
95 Wanstead Park Road
IG1 3TH
Telephone: +44 20 8215 4583 (answerphone only, unless by arrangement)
Facsimile: +44 20 3137 2295
P.M.Pick@triples.co.uk
Copyright © 2000 Philip Pick
Version 0.1 Date December 2000

redpajama_set_name: RedPajamaCommonCrawl


Collegium Trinitatis is a university residence located in the heart of the Crocetta district in Turin. Built in 1934 and completely renovated in 2017, the building covers an area of 5000 square metres between Vicolo Crocetta, Largo Cassini and Via Cassini. With 12 single, 6 large single and 22 double rooms, our residence offers comfortable en-suite accommodation to 62 students — and an on site restaurant, study hall, reading room, TV, gym, and a venue for cultural events make it a favourable environment for the student's wellbeing.
Only 700 m from the Politecnico and 3 km from the city centre, Collegium Trinitatis is well served by a frequent bus service, the undeground, and the local bike-sharing (TO-BIKE) and carsharing programmes. The nearest underground station, "Vinzaglio," is just one kilometer away – a perfect location to reach the city centre and the university buildings in a few minutes.


Cisco rates the v3 as capable of supporting up to 50 Site-to-Site IPSec tunnels, 50 Client-to-Site IPSec tunnels and 5 Client-to-Site PPTP tunnels. This is another upgrade from the 2007 RV042, which supported only 30 Site-to-Site tunnels and 10 Client-to-Site tunnels, plus 5 Client-to-Site PPTP tunnels.
According to Cisco's specs, the RV042 can support all these tunnels simultaneously. There is a counter in the VPN status screen that shows the number of tunnels used and available. With both a Site-to-Site and Client-to-Site tunnel active, the counter showed 1 tunnel used and 49 tunnels available, indicating that Client-to-Site tunnels don't count against the total number of supported Site-to-Site tunnels.
I set up all three connection types and verified they can be run simultaneously. As you can see in Figure 6, the top connection is an active Site-to-Site tunnel and the bottom connection is an active Client-to-Site tunnel.
In addition, I was able to run a PPTP tunnel at the same time as the Site-to-Site and Client-to-Site tunnels. PPTP tunnel status is displayed in the RV042 menu separately, shown in Figure 7.
Setting up a Site-to-Site tunnel was simple. I used a NETGEAR SRX5308 [reviewed] as the other end of the Site-to-Site tunnel. I configured both ends with 3DES encryption, SHA-1 authentication, Diffie Hellman Group 2 (1024 bit) key exchange, and Perfect Forward Secrecy (PFS) enabled. The RV042 also supports DES and AES-128, AES-192, and AES-256 encryption, as well as MD5 authentication.
Client-to-Site IPSec VPN tunnels are supported via Cisco's QuickVPN Client, which you can download here. I used the latest version, 1.4.1.2. The RV042 manual also states you can use third-party VPN client software such as TheGreenBow.
Setting up a QuickVPN tunnel is a matter of adding a user name and password in the RV042 and installing the software on your PC. Cisco's QuickVPN software actually runs on top of the IPSec software built into Microsoft Windows.
I had some inconsistent performance with the QuickVPN client with my Windows 7 PC. I had a couple instances where the client would time out without connecting. Cisco's release notes for QuickVPN version 1.4.1.2 here provide some useful information. For Windows Vista and 7, you must have the Windows Firewall enabled for the QuickVPN client to work. Further, QuickVPN must be run with administrative rights. I found that disabling the Windows Firewall resulted in consistent failure of the QuickVPN client.
PPTP tunnels are one of the easiest of all remote access tunnels, a feature I noted on the 2007 RV042 and am glad to see is retained on the 2011 RV042. Enabling PPTP on the RV042 is a matter of clicking a check box to enable the PPTP server and adding user names and passwords.
No software needs to be downloaded or installed on Windows PC for a PPTP tunnel. From the Windows Network and Sharing Center, select Setup a New Connection or Network, then select Connect to a Workplace, enter the RV042's WAN IP or Dynamic DNS name and the user name and password you created on the RV042, and you're good to go.
Cisco rates the RV042 as capable of 59 Mpbs for IPSec VPN throughput. I used the Cisco QuickVPN Client to measure IPSec VPN throughput.
As you can see in Table 1, the RV042 didn't measure up to its rated 59 Mbps throughput on any of my tunnels. But, relatively speaking, the RV042 made a decent showing for itself, nearly matching the recently reviewed Cisco RV220W, which didn't measure up to its 90 Mbps for IPSec VPN throughput, either.
You can also see that the v3 is significantly faster than the original (v1) RV042. WAN-LAN throughput has improved a bit more than 70%, while LAN-WAN throughput is improved by 46%.
The RV042 has two WAN ports, with the second WAN port useful for connecting to a second ISP or serving as a DMZ port.
The default for WAN2 is as a second ISP connection. The RV042 provides two options for managing dual ISP connections, Load Balancing (default) and Smart Link Backup.
The Load Balancing option allows you to use both ISP connections simultaneously and manage traffic flows over the two interfaces. Traffic flows are managed via the bandwidth settings on the RV042.
The bandwidth management feature allows you to define the upload and download bandwidth of each interface. You then have the option to control traffic flows over each interface by protocol type, as well as source and destination IP addresses. Specific traffic types can be bound to a specific interface and then allocated minimum and maximum bandwidths or prioritized as high or low. There are 19 pre-defined traffic types, and you can add custom traffic types as needed.
To test bandwidth management, I first measured my ISP connection via speedtest.net. My download was 11.35 Mbps and upload was 650 kbps as shown in Figure 8.
I then set up the bandwidth management rule shown in Figure 9 to limit throughput to a maximum download of 5 Mbps and upload to 200 kbps.
I then re-ran the speed test. As you can see in Figure 910, the RV042 throttled traffic pretty close to my settings, limiting my download speed to 4.8 Mbps and upload speed to 170 kbps.
Smart Link Backup allows you to designate one ISP as primary, the other as backup. This would be a useful setting if you wanted all traffic to go over the primary ISP and only use the secondary ISP in the event of failure.
Failover from primary to backup, and failback from backup to primary was nearly instantaneous. This is an improvement over the 2007 RV042, which lagged on reconnecting to the primary ISP. Packet loss was minimal (one ping in a continuous ping) when I disconnected the primary ISP connection. Upon reconnecting the primary ISP, a traceroute showed all traffic was again routing through the primary ISP connection within seconds.
The WAN2 interface can also be configured as a DMZ port or Transparent Bridge. A DMZ port requires you have multiple public IP addresses from your ISP, which then allows you to place a web server and other public facing devices outside the RV042's firewall. The Transparent Bridge option enables using the DMZ port to connect to another segment of your internal network.
The RV042's firewall feature set remains fairly standard, with the expected options for customization, displayed in Figure 11.
Additional firewall functionality includes designating a single host on the LAN in a DMZ, port forwarding and port triggering, rule-based firewall permissions, website black listing, and URL keyword blocking.
Setting up a single host on the LAN in a DMZ is different than designating the WAN2 interface as a DMZ port. Setting up a single host on the LAN in a DMZ essentially applies a port forwarding rule to send all unrecognized inbound traffic to the specified host. Designating the WAN2 interface as a DMZ port creates a different zone completely outside the firewall.
The RV042's port forwarding and port triggering are also pretty standard. One note, the forwarding and triggering configuration pages seem like they should be under the Firewall menu instead of the Setup menu.
The Firewall menu has three options, the general page shown in Figure 10, the ability to create access rules, and a simple Content Filter. The RV042's access rule functionality allows or denies traffic based on source interface, traffic type, source and destination IP address and by a user defined schedule. There are 20 pre-defined traffic types (HTTP, FTP, SMTP,etc..), more can be added based on protocol (UDP/TCP) and destination port number.
There is a non-subscription based Content Filter in the Firewall menu that allows for creating a black list of specific URLs, as well as URL keyword blocking. Both of these lists can be applied on a user-defined schedule. If a user on the LAN browses to a listed URL or one containing a listed keyword, they will receive the below message. I added google.com to a URL black list and was presented with this message when I tried to browse to Google.
New to the 2011 RV042 is a more advanced subscription based Content Filter available via the ProtectLink feature. This feature enables website content filtering and web-reputation assessment to block web-based attacks and control web access. Website and web-reputation filtering is done through a partnership with TrendMicro.
The ProtectLink feature on the RV042 is similar to the feature I described on the RV220W, but without the email protection. On the RV042, the feature is called ProtectLink Web, while on the RV220W the feature is called ProtectLink Gateway.
Cisco provides a 30 day free trial of ProtectLink Web with the RV042. 1 year and 3 year licenses of ProtectLink Web are available via Cisco resellers. CDW lists a 1 year license for ProtectLink Web at $132.99 and a 3 year license at $194.99. Both licenses allow for unlimited users.
Another aspect of the ProtectLink Content Filter is web-reputation assessment, which blocks potentially malicious websites based on data collected by TrendMicro. You select whether to apply a security level of High, Medium or Low.
A security level of High will block most websites with questionable reputations, but also may have some false-positives, meaning it may block some acceptable websites. A security level of Low will block fewer websites with questionable reputations, but may have some false-negatives, meaning it will not block some malicious websites. The default setting is Medium.
The RV042 firewall also has the ability to create a white list of websites for those you want permanently approved and not subject to filtering. Similarly, you can create a list of "trusted" host IP addresses on the LAN that will not be subjected to filtering.
The RV042 is a Dual WAN gateway router, so I grabbed data from our charts for other Dual WAN gateway routers. Interestingly, there are not many other non-wireless Dual WAN routers with 10/100 ports in our charts. However, the RV042 matches up closely to the Draytek 2920 and Netgear FVS336G, even though both have Gigabit ports.
Table 2 below shows the throughput numbers, IPSec Tunnel capacity and pricing. As you can see, the v3 RV042's throughput is near line speed at about 90 Mbps in both WAN-LAN and LAN-WAN on 10/100 Ethernet ports. There is a significant throughput improvement over the original version, especially for WAN-LAN throughput.
The Gigabit NETGEAR FVS336G at about 59 Mbps WAN-LAN and LAN-WAN is actually slower than the RV042. However, the Draytek 2920 takes advantage of its Gigabit ports and produces higher throughput at 147 Mbps WAN-LAN and 136 Mbps LAN-WAN. The lack of Gigabit Ethernet, in my opinion, is a weakness of the RV042.
On the plus side, the RV042's VPN tunnel capacity is highest of any VPN routers we've tested to date. The RV042 supports up to 50 IPSec Site-to-Site tunnels, plus 50 IPSec Client-to-Site and 5 PPTP Client-to-Site tunnels. And you'll be able to take advantage of all those tunnels without worrying about breaking the bank. Because QuickVPN software and licensing for up to 50 users is now free on the RV042, where in 2007 it was $119, another nice change.
Another strength of the RV042 is its flexible Dual WAN functionality. A business or home dependent on connectivity cannot afford to have its Internet connection down for a significant period of time. The RV042 solves that problem. It can send and receive traffic over two ISP connections simultaneously, and provides multiple options for managing traffic flows over those connections.
The main disadvantages of the RV are its lack of Gigabit Ethernet ports and current admin interface problems with Firefox / Windows. The latter should get straightened out via new firmware at some point. But if you want Gigabit ports, you'll need to add a switch or pick another product.
Overall, the RV042 v3 is a solid improvement over the original. The updated hardware design has improved both its VPN and Routing performance. And the addition of Cisco Protectlink for Content Filtering is also a plus.
I gave the original RV042 a thumbs up because it was extremely stable and reliable for me. I give the RV042 v3 a thumbs up as well. It's faster, has more features and capacity, and retains the same ease of use I enjoyed in the original version.


text:
package org.axway.grapes.server.webapp.tasks;

import com.google.common.collect.ImmutableMultimap;
import org.axway.grapes.commons.api.ServerAPI;
import org.axway.grapes.server.GrapesTestUtils;
import org.axway.grapes.server.config.GrapesServerConfig;
import org.axway.grapes.server.db.RepositoryHandler;
import org.axway.grapes.server.db.datamodel.DbCredential.AvailableRoles;
import org.junit.Test;

import java.io.PrintWriter;

import static junit.framework.TestCase.assertNull;
import static org.mockito.Mockito.*;

public class AddRoleTaskTest {

    @Test
    public void testAddRole(){
        final RepositoryHandler repositoryHandler = mock(RepositoryHandler.class);
        final GrapesServerConfig config = GrapesTestUtils.getConfigMock();
        final AddRoleTask task = new AddRoleTask(repositoryHandler,config);

        final ImmutableMultimap.Builder<String, String> builder = new ImmutableMultimap.Builder<String, String>();
        builder.put(ServerAPI.USER_PARAM, "user");
        builder.put(ServerAPI.USER_ROLE_PARAM, "data_updater");
        Exception exception = null;

        try {
            task.execute(builder.build(), mock(PrintWriter.class));
        } catch (Exception e) {
            exception = e;
        }

        assertNull(exception);
        verify(repositoryHandler, times(1)).addUserRole("user", AvailableRoles.DATA_UPDATER);
        verify(config, times(1)).loadCredentials(repositoryHandler);

    }
}

redpajama_set_name: RedPajamaGithub


Before you start looking for a person, make sure you know who you are seeking. The individual who will make a good technician is a people person who is comfortable working independently (and maybe, desires working independently), with a mechanical aptitude. While all of these characteristics are necessary, being a people person is most important. Remember, as a service business, your people are your product.
The CSR is your first point of customer contact. The CSR should be friendly, empathetic, able to solve problems, multi-task, and calm the unruly. Just call her Superwoman.
Salespeople need minimal mechanical aptitude. They need enough to make a mechanical sketch, run a load calc, and figure out solutions to basic problems of fitting today's high efficiency equipment into spaces designed for 10 SEER. Salespeople should be driven, competitive, and money motivated. You may give them a paycheck, but they should understand the work for themselves.
Some automotive mechanics like interacting with people. In today's auto repair business model, mechanics do not get the opportunity. If you find a people oriented mechanic, HVAC can offer him human interactions, more freedom, and more money.
The military is drawing down and ex-military can make good technicians. If they have initiative, consider the service side. If they appear to need someone to give them orders, consider installations. There are a number of websites that actively or solely promote hiring ex-military.
Retail salespeople working in stores selling hardware or tools can be excellent technicians with training. In all likelihood they are working in the hardware area because they like tools and are mechanically inclined. Plus, you get the opportunity to observe how well they interact with others.
The hospitality industry can be an excellent source for CSRs. One occupation in particular is the front desk personnel at a hotel. They are trained with in customer service and accustomed to problem solving, and dealing with difficult people. You can offer better hours and pay, the opportunity to sit down, and the ability to dress comfortably. If the hotel employee is on a management track, you will not be successful. If, on the other hand, the employee sees the front desk as a dead end, you might find an outstanding candidate.
Another place to look for CSRs is among bartenders and restaurant servers or wait staff. You offer better pay, hours, and working conditions. Moreover, the restaurant employees are accustomed to incentive pay. Service agreement spiffs should resonate.
Real estate agents can make excellent HVAC salespeople if they possess sufficient mechanical aptitude. The hours are not dissimilar, but the pay for HVAC is far higher. Real estate agents have usually receive some sales training. They are money motivated and used to generating leads on their own, not to mention marketing. You offer more money and less expense.
Another occupation to consider are automotive service advisors. The interpersonal presentation requirements of the job would serve them well in HVAC. Financially, HVAC has a lot more upside.
You should not try to hire a candidate away from another occupation while working. Instead, hand the person who catches your eye a business card and say you might have a career opportunity if the person is interested. Instruct the candidate to call when off work.
If the person is intrigued enough to call, you have cleared the first hurdle. Arrange for a meeting at a coffee shop. Spend the first part explaining what you do, why it's important, and why your company is a great one. Be excited. You are selling the industry, your company, and yourself.
Explain the position you are considering the candidate for, where the position fits and why it's important within the company, the hours, working conditions, training, opportunities for extra pay, and the potential for advancement. Ask the candidate if he could see himself in this role. If he answers yes, ask him why he thinks he would be a good fit. By selling you, he will also sell himself.


text:
axisrecapital
About axisrecapital
Thrift Store 7"
stl_ben reacted to a post in a topic: QOTSA - Lullabies to Paralyze 1st Press and EODM - Peace Love and Death Metal 1st Press June 4
axisrecapital started following PO: The Mark Lanegan Band - Somebody's Knocking and QOTSA - Lullabies to Paralyze 1st Press and EODM - Peace Love and Death Metal 1st Press June 4
QOTSA - Lullabies to Paralyze 1st Press and EODM - Peace Love and Death Metal 1st Press
axisrecapital replied to sewnmouth's topic in Vinyl Collective Message Board
Here are people I think are D Bags...I really wish I could have scored copies instead of flippers: https://www.ebay.com/itm/Queens-of-the-Stone-Age-Lullabies-to-Paralyze-2xLP-Colored-Vinyl-1st-Pressing/303173868539?hash=item4696921bfb:g:CGUAAOSwdLxc8cub https://www.ebay.com/itm/Queens-Of-The-Stone-Age-Lullabies-to-Paralyze-Color-Vinyl-2LP-NEW-SEALED-QOTSA/254250879569?hash=item3b32888a51:g:mYgAAOSwv-Nc8wrd https://www.ebay.com/itm/Lullabies-to-Paralyze-1st-Pressing-Vinyl-Queens-of-the-Stone-Age-Orange/163714565318?hash=item261e2604c6:g:FpEAAOSwaDxc8ai0
PO: The Mark Lanegan Band - Somebody's Knocking
axisrecapital replied to axisrecapital's topic in Vinyl Collective Message Board
And I have not seen one pre-order in the US popup online yet, so I'd bet there is another colored variant coming as well. Probably trying to sellout the blue vinyl in the UK / EU and then another variant in the US...just a hunch, no evidence to support the claim.
If it makes you feel better, I caved on the first pre-order and then again on the signed pre-order. Multiple copies.....ugh!
Done and Done...thanks for the heads up!
Mr Mojo reacted to a post in a topic: PO: The Mark Lanegan Band - Somebody's Knocking May 9
andynz reacted to a post in a topic: PO NOW: The Black Keys - "Let's Rock" (June 28th) April 26
PO NOW: The Black Keys - "Let's Rock" (June 28th)
axisrecapital replied to ethanpricington's topic in Vinyl Collective Message Board
Use a VPN and you can order Bullmoose. I live in Paris, but have my records sent to my office in WA. Bullmoose works if you use a VPN.
ethanpricington reacted to a post in a topic: PO NOW: The Black Keys - "Let's Rock" (June 28th) April 25
Indie ordered...
It is back up for sale....get em while there hot...
I'd bet it will be back online later today. It just went live yesterday and I doubt they had finished up the website. More to come soon....
axisrecapital posted a topic in Vinyl Collective Message Board
Limited Heavyweight 'Sea Blue' Edition - Double vinyl - Gatefold is here: http://heavenlyemporium.com/buy/somebodys-knocking-2/ Awesome Video for the Single, Stitch It Up is here: https://youtu.be/vuW0KLUYCQg Info and Track List is here: From the opening bars of Disbelief Suspension onwards, it's clear that Somebody's Knocking is an album made by someone deeply obsessed with how music - with all its primal, spiritual healing power - truly penetrates the soul. As a result, there's joy in the music, as if created from a perfect set of inspirations smashed and grabbed from God's own record shop. Some of the influences are oblique, others direct and fully respectful. From the Raw Power-esque garage metal grind of that opener to Letter Never Sent's rocket-powered take on Love-era kaleidoscope-psych, through the pensive subterranean murk of Dark Disco Jag and on to Playing Nero's sun-bleached riff on Joy Division's Atmosphere, there's the glee of infatuation running deep in the tracks. And, in some ways, that display of infatuation serves to change the very perception of Lanegan the artist - this album being less the tale of a brooding, crepuscular rock'n'roll veteran and more that of someone consumed by a lifelong love of words and sound fused together. With that perception shift in mind, one of the most remarkable moments on Somebody's Knocking is Penthouse High - a track that positively blooms, sounding like a love letter to imperial phase New Order. For Lanegan, it signals a return to one of his formative musical loves from a time even before he joined Screaming Trees. "I've always been into electronic music since I was a kid," he says. "I think the reason those elements have become more obvious in my music is that my tastes have changed as I've grown older. The bulk of what I listen to now is electronic. Alain Johannes and I had actually written Penthouse High for Gargoyle (the 2017 album the Guardian stated saw "Lanegan in the form of his career") but then it didn't really fit on that record. I have been a huge fan of New Order and Depeche Mode forever and have wanted to do a song along those lines for a long time - a blatantly catchy, old-school dance-type song." Although Somebody's Knocking came together in an 11 day session in L.A. (Lanegan's hometown of the last 22 years), many of the deepest musical influences on the record are European - be they the aforementioned electronic artists or newer, murkier forms provided by writing partners Martin Jenkins (who records as Pye Corner Audio) or Rob Marshall - a collaborator on Gargoyle and on his own, forthcoming debut album as Humanist. In each case, Lanegan approached working with each of the writers from the perspective of a fan. Lyrically, Somebody's Knocking sets the listener off down multiple rabbit holes, painting deeply psychedelic pictures where someone's "drip, drip, dripping acid out of the dropper" (Disbelief Suspension) or where "the hounds are behind me/footsteps following/you know you can't find me/I'm miles from the crime scene" on the monumentally addictive Stitch It Up. While on the whole, interpretations are left for the listener to decide on, there are aspects of the real world that can't help but seep subconsciously into Lanegan's songs: "It seems to me that the entire world is in a weird, precarious place right now. I try to not be someone in a constant state of worry and alarm but watching the massive divide that is taking place and the political situations, especially in the US and UK makes me think, "what the fuck are these idiots thinking?" The hatred, racism and all this other fear-driven shit, these "adults" that continually drive the machine that perpetuates this ignorance to their own ends should all be in prison cells instead of the non-violent drug "offenders" in them now. I can't specifically say how any of this effects my writing but I know that most of the things that occupy my thoughts have a way of coming back out in a song." At the end of the day though, Somebody's Knocking doesn't need to be either commentary or allegory. Like Lanegan's best work, it tells its own stories and weaves its own wonders, conjuring up feverish hallucinogenic visions to sit atop roughly hewn rock and glassy, brilliant bright electronics. And then it leaves them to penetrate their own ways right down to our deepest, darkest roots. Tracklisting 12" VINYL ALBUM (LIMITED COLOURED VINYL EDITION) (HVNLP166C) Mark Lanegan Band - Disbelief Suspension Mark Lanegan Band - Letter Never Sent Mark Lanegan Band - Night Flight to Kabul Mark Lanegan Band - Dark Disco Jag Mark Lanegan Band - Gazing from the Shore Mark Lanegan Band - Stitch It Up Mark Lanegan Band - Playing Nero Mark Lanegan Band - Penthouse High Mark Lanegan Band - Paper Hat Mark Lanegan Band - Name and Number Mark Lanegan Band - War Horse Mark Lanegan Band - Radio Silence Mark Lanegan Band - She Loved You Mark Lanegan Band - Two Bells Ringing At Once Mark Lanegan Band - Two Bells Ringing At Once
Eagles of Death Metal covers record
Looks like two other versions are available for preorder, but this time, there are a few more songs on the new version. Red and Blue Marble is here: https://www.recordstore.co.uk/recordstore/recordstore/EODM-Presents-Boots-Electric-Performing-The-Best-Songs-We-Never-Wrote-Exclusive-Red-Blue-Marble-Vinyl/64LP0000000?utm_campaign=recordstorecoukWeek16Weekly180419170419&utm_content=UMGUK13879-639690&utm_medium=Email&utm_source=Email Jesse "Boots Electric" Hughes dives into the world of his favorite musicians and songs to create his first-ever covers album titled EODM Presents Boots Electric Performing The Best Songs We Never Wrote. Kicking the album off with electrifying renditions of KISS's "God Of Thunder," Guns N' Roses' "It's So Easy" and AC/DC's "High Voltage / It's A Long Way To The Top (If You Wanna Rock N' Roll"), he then jumps into covers of Love & Rockets' "So Alive" and The Ramones' "Beat On The Brat." A special nod to the space cowboys, Boots takes on the Steve Miller Band's "Abracadabra" and further digs into the '80s with an incredible twist on George Michael's "Careless Whisper." The biggest surprise in this collection is Boots coming out of leftfield with a cover of Mary J. Blige's "Family Affair" that simply put is kickass. Keeping it in the family, Boots spreads his arms wide to give love to his brother Joshua "Baby Duck" Homme and Josh's wife Brody Dalle with versions of Queens of the Stone Age's "Long Slow Goodbye" and The Distillers' "The Hunger." Bringing the album to an unwanted finish, Boots delivers the Kenny Rogers & The First Edition's epic psychedelic track "Just Dropped In (To See What Condition My Condition Is In)" [original is also widely recognized from the cult favorite film The Big Lebowski], Cat Stevens's "Trouble" and David Bowie's "Moonage Daydream."
PO Now: The Drums - Brutalism
axisrecapital replied to lethalenforcer's topic in Vinyl Collective Message Board
Also...why do you know this about the guy who does the album art? You are either in the industry or a big fan of both bands.
Yeah...Encyclopedia was great. The picture kind of made it look like "well, there are two of us left where four would have fit on this couch". The first three records had great artwork...can't say 4 or 5 did.
I'd rather see a simple logo of The Drums than a guy with a shoe to his ear (Abysmal Thoughts) and I don't know why he chose a picture of either Johnny wiping tears away or sticking his finger up his nose to avoid blood running down from doing too much cocaine.
So...here is a little more about the new record: Brutalism is quite possibly the best collection of songs in The Drums' ten-year career. The album is defined by growth, transformation and questions, but it doesn't provide all the answers. Brutalism is a form of simplistic architecture defined by blocks of raw concrete. Brutalism is rooted in an emotional rawness but its layers are soft, intricate and warm, full of frivolous and exquisitely crafted pop songs that blast sunlight and high energy in the face of anxiety, solitude and crippling self-doubt. Even the fact that Brutalism sounds intentional, focused and efficient is a symbol of how Pierce's prioritizing of his own health and wellbeing has bled into how he makes music. For the making of this album, between his lake house in Upstate New York and a studio in Stinson Beach, California, Pierce was more open than ever, keeping his control freakery at bay, working with others to produce and record the album. He brought in Chris Coady (Beach House, Future Islands, Amen Dunes) to mix it. If there was a guitar part he wanted to write but couldn't play, he brought in a guitarist. It's also the first Drums record with a live drummer. Delegating freed up Pierce's time to produce a more specific vision. His intentions were rooted in pop, as they've always been. Back in The Drums' previous iterations, however, the pressure was on Pierce to maintain the innocent and nostalgic sound of this surf-pop indie band and it didn't allow him to explore sex, drug use, darker emotions or how he felt currently. Abysmal Thoughts was the first occasion he had chance to do that. Lyrically, Brutalism is another giant step in that direction. It's much more cut-throat. "I think there's a parental advisory sticker on the cover!" laughs Pierce. "I didn't have the courage to stand up for what I wanted before. I felt I had to keep things whimsical and that's not who I am. It feels empty." Sonically he had been devoid of external influences, so afraid of being accused of losing the purism of The Drums' sound. Now he's rediscovering music: everything from SOPHIE to 90s band Whale. They inspired the loop-based, breakbeat drums on 'Kiss It Away' and 'Body Chemistry'. "I used to think our songs sounded like they were held together by scotch tape. These are more bulletproof.
So...here is my take on things. First, if you bought the new record, they have released two tracks so far. Both tracks are great in my opinion. Classic drums and I love that Johnny has confidence with his lyrics. I agree that The Drums have lost something over the years, but I think they also have regained it. The first time I saw them live was with Jacob playing at a gig in Amsterdam. Top of their game and they sounded great while they were touring Encyclopedia. Cut to Jacob leaving and Abysmal Thoughts being released. I saw them in Paris about 1.5 years ago while promoting Abysmal Thoughts...they still sounded great, although a more stripped down version. But Johnny still has a stage presence like no other and they pulled it off. Johnny can command an audience. I think Abysmal Thoughts was a tough album because it was the first real solo record. Hard space for Johnny to be in, but the record has some great tracks. Now back to the new tracks. I heard Johnny hired a producer and the sound of the two singles are very concentrated pop songs. They are all the best of what Johnny has done with The Drums over the years. Now...another theory....they need to fire whoever is approving the artwork for their records. Abysmal Thoughts was easily the worst art work I have ever seen. The picture made no sense at all to me. Not a huge fan of the artwork for Brutalism either. Maybe the worse the album cover gets, the better the music? But seriously, tone the artwork down.....


NorthPoint operates with extensive and diverse backgrounds in virtually all facets of domestic and international safety and security. Though we provide significant capabilities, NorthPoint always operates discretely with a low-profile. We deliver logistics, training, construction, security services, operations, and life support. With partners across the globe, NorthPoint has extensive experience and working relationships with commercial and government clients around the world. We currently have in-country resources including managers, supervisors, interpreters, and senior global leadership that provide us with the personnel and specialized resources, the international footprint, local familiarity, and depth of corporate experience necessary to support and achieve your objectives in all corners of the world.
Known for discretion, efficiency, professionalism and attention to detail, NorthPoint implements effective quality and cost controls. Our operational teams, and subcontractors possess the highest ethical standards while achieving mission goals and surpassing client expectations. All personnel on our contracts abide by the government and security laws of the host countries in letter and in fortitude.
The founders and principals of NorthPoint bring career experience that spans the defense, intelligence, homeland security, public safety, emergency management and national security spectra with backgrounds in the private sector, government agencies, academia, and non-government organizations.


text:
Yellowstone Grizzly Deaths Highest in Four Years
According to statistics from the United States Geological Survey (USGS), 2012 saw the highest number of grizzly bear deaths in the greater Yellowstone area in the past four years. Researchers recorded a total of 51 bear deaths this year, compared to 44 deaths in 2011, 50 deaths in 2010 and 31 in 2009.
Statistics about the deaths
Male: 20
Female: 11
Unknown: 20
Adult: 20
Subadult: 6
Yearling: 1
Cub of the year: 12
Inside Yellowstone National Park: 10
Inside Grand Teton National Park: 2
Inside Bridger-Teton National Forest: 8
Outside of national parks (includes those in BTNF): 39
By Cause
Known natural: 9
Likely natural: 6
Known human-caused: 29
Probably human-caused: 5
Unknown/other: 2
Among the bears killed this year was "Brownie," a yearling cub of Grand Teton National Park's well known, mother bear known as "399." Brownie was the only human-caused casualty within a national park (the other 28 known human-caused deaths were outside of Yellowstone and Grand Teton National Parks). He died as a result of trauma from a vehicle strike.
For more information about grizzly mortality rates for the past four years, visit the USGS website.
Man Killed by Grizzly in Yellowstone Aug 2015
A hiker was found dead in Yellowstone, apparently from a grizzly bear attack. The victim was 63-year-old Lance Crosby from Billings Montana.
Grizzly bear deaths in Yellowstone
A recent study by the Interagency Grizzly Bear Study Team finds that 10 of the 16 grizzly bears that have died so far this summer in Yellowstone National Park have died of natural causes.
Yellowstone Grizzlies Coming Out of Hibernation Early
Feb 9, 2015: The first Yellowstone grizzly bear out of hibernation was spotted today at a bison carcass. This is a month earlier than usual.
Yellowstone Grizzly Population at Risk of Decline
Sept 2013: Researchers believe there are fewer grizzlies in Yellowstone than previously estimated. Are there enough for the bears to be taken off the endangered species list?
Grizzlies leaving dens
According to the National Park, Yellowstone grizzly bears have begun emerging from their dens in the park.
Yellowstone Park May Delist Grizzlies
New research indicates that the grizzly bear has a more diverse diet than previously thought - including pine nuts, elk, bison, berries, trout, and insects - and that food sources available in Yellowstone National Park are sustainable for the bear population.
Yellowstone Grizzly Bears By the Numbers
The grizzly population beat all odds after teetering on the brink of extinction. It grew from 136 bears in 1975 to around 700 in 2016.
Studying Grizzly Activity
How will an increase in grizzly population will affect campgrounds in the park?
Should Grizzly Bears be Delisted?
April 17, 2008: There are all kinds of answers to the question of whether the grizzly in the lower 48 is doing well enough to no longer require protection.


text:
Josephine P. Briggs is an American nephrologist and director emeritus of the National Center for Complementary and Integrative Health (formerly the National Center for Complementary and Alternative Medicine), an agency of the National Institutes of Health. She is currently the editor-in-chief of the Journal of the American Society of Nephrology.

Early life and education
Briggs was born in Toronto, Ontario, Canada to a physicist father. She has two brothers. Her family moved to the United States when she was five, and she became an American citizen at age eleven. She excelled at math, physics and other sciences in high school.

Briggs received her bachelor's degree from Radcliffe College in 1966 in biology. She received her M.D. from Harvard Medical School in 1970. She then completed a residency in internal medicine and a fellowship in clinical nephrology at Mount Sinai School of Medicine. She did her postdoc at Yale School of Medicine and worked at the University of Munich for six years as a research scientist.

Career
In 1985 Briggs joined the faculty of the University of Michigan, where she was a full professor in the department of nephrology from 1993 to 1997. In 1997, she joined the National Institutes of Health as director of the Division of Kidney, Urologic and Hematologic Diseases at the National Institute of Diabetes and Digestive and Kidney Diseases. In 2006 she became a senior scientific officer at the Howard Hughes Medical Institute, a position she held until 2008 when she was appointed director of the National Center for Complementary and Integrative Health (NCCIH). In October 2017, she retired from her position as director of the NCCIH; she was replaced by acting director David Shurtleff.

Views
As of 2009 Briggs did not use alternative medicine in her practice. In 2010, a NCCAM-funded study was published which found that echinacea was not effective in the treatment of the common cold. Briggs reacted to the study by saying that the center does not intend to fund any more research into echinacea. In 2012, Briggs told The Washington Post that massage appeared to be an effective treatment for back pain. In 2014, in response to an announcement that the US government would spend millions of dollars on studying pain in members of the military, Briggs said that "The need for non-drug treatment options [for pain] is a significant and urgent public health imperative".

References

External links
Josephine Briggs at Google Scholar

Radcliffe College alumni
Harvard Medical School alumni
American nephrologists
Living people
Alternative medicine researchers
University of Michigan faculty
National Institutes of Health people
People from Toronto
Canadian emigrants to the United States
Medical journal editors
Year of birth missing (living people)

redpajama_set_name: RedPajamaWikipedia


Little-known fact: The Easter Bunny is an avid box-office watcher, and thanks to the better-than-expected performance of one movie, children can expect a significant increase in chocolate eggs this year. Hop, Universal's family comedy about the Easter Bunny's rebellious (and Russell Brand-voiced) teenage son, sprinted ahead of the competition with $38.1 million, according to studio estimates. If the estimate holds (and that's a big if), the film will have scored the best opening weekend of the year so far, passing Rango by about $39,000. Hop was made for $63 million by the production company Illumination Entertainment, which is now two-for-two after the breakout success of last summer's Despicable Me. And with Easter still three weeks away, plus a splendid "A-" rating from CinemaScore audiences, Hop should have the box-office legs of a, well, rabbit.
In various alternate universes, Source Code made anywhere from seven cents to $683 billion this weekend. But in this world, the multiverse thriller settled for second place with $15.1 million. The PG-13 movie, which stars Jake Gyllenhaal as a soldier who repeatedly relives the last eight minutes of another man's life in an attempt to uncover a terrorist, earned an okay "B" grade from CinemaScore moviegoers. Like other recent thrillers, Source Code skewed older, attracting an audience that was 64 percent over the age of 30. The $32 million film was directed by Duncan Jones, who also made the 2009 sci-fi puzzler Moon — and, yes, who happens to be the son of David Bowie.
In third was the horror film Insidious, which debuted to $13.5 million. The PG-13 movie, about a comatose boy whose body becomes possessed by evil spirits, was directed by Saw's James Wan and produced (for only $1 million) by the team behind Paranormal Activity. That horror-movie pedigree helped bring out the genre's fans, and unlike most horror films, Insidious saw a Friday-to-Saturday spike of 13 percent. Also unlike most scary pictures, the film's audience was slightly more male (52 percent) than female. CinemaScore graders handed Insidious a "B" rating.
Fourth and fifth place went to holdovers Diary of a Wimpy Kid: Rodrick Rules ($10.2 million) and Limitless ($9.4 million), which dropped 57 percent and 38 percent, respectively. The fantasy action film Sucker Punch nosedived 68 percent for $6.1 million — the year's largest second-weekend decline among wide releases. And The King's Speech, which was replaced by a newly sanitized PG-13 cut, fell 23 percent for $1.2 million.
In limited release, the action comedy Cat Run deserves a special mention for opening to $30,000 from 103 locations, for an abysmal per-theater average of $291. Assuming an $8 ticket price and five showtimes per day, an average of 2.4 moviegoers attended each screening of the film. Check back next week for four new releases: the comedy remake Arthur, the adventure thriller Hanna, the surfing drama Soul Surfer, and the medieval stoner comedy Your Highness.


text:
Yearn for You by Sayara St. Clair
Yearn For You
Sayara St. Clair
Genre: Erotic Romance
Blurb/Back cover copy: Dante's Purgatory, Book Two
Dante has been Erica's savior since she was a child, protecting her from others, wiping her tears, making her feel worthy. Until, as the years passed, she began to feel something new…and a girl's crush became a young woman's unyielding passion. Though she ran away to Paris after Dante unknowingly broke her heart, even distance couldn't quell Erica's desire. Because she knows Dante well, knows what he's capable of doing for a woman…and knows her submissive needs match Dante's deep dominance perfectly.
Dante's in trouble. For years he's kept his burning ache for his best friend's sister firmly in check. But now Erica's back in the States, more gorgeous than ever. Worse, she wants to learn about BDSM—and she's determined to have Dante as a teacher. He won't let her near the club he co-owns with her brother—Chris would kill him—but he'll "train" her at home. When he's done, Erica will want nothing to do with the lifestyle. And hopefully her crush on Dante will be diminished…for both their sakes.
But Erica proves to be far more resilient that he'd ever dreamed, and Dante's plan backfires in spectacular fashion, driving her straight into the clutches of someone far worse than another Dom. Someone dangerous, someone from his past…who's going to make Erica pay for Dante's sins.
"Wow, just wow…I am lost for words.
This is the second instalment of the Dante's Purgatory series and again I was not disappointed. Actually, it was BRILLIANT!!
It's raw, confronting, and all things sinful, with a dark and edgy side.
It's breathtaking and heartbreaking.
It's all-consuming.
It's everything any one of us could ask for in a novel and so much more.
Again an extremely rare read that delves into the dominant/submissive lifestyle.
I highly recommend this read." —Bloggers From Down Under
"I just love the way Sayara writes the Dante's Purgatory books. I loved the first book, Hurt Me, Heal Me, and could not wait to get started on this second book in the series.
It did not disappoint. It dragged me in from the start, and kept me hooked until the very last page.
This book made me both laugh and cry. It's so well written. It also made me wish that Dante's Purgatory was a club in my town.
I can't wait for the next book to come out." –Annike, Amazon reviewer
Visit Sayara on the web: http://www.sayarastclair.com
What's New /
Secrets of The Ravine by Brenda Whiteside
Phantom Riders MC Box Set by Tory Richards
Better Than Gold by Maggie Blackbird
‹ Getaway by Fern Michaels ~ Available now!	› Rapture at Midnight by Isobelle Cate


Missing vital features in Opera?
Be warned for confirmation when closing the browser, if there are multiple tabs open.
Delete specific URL entry just like SHIFT+DELETE, from address bar history that appears during typing.
Display Home (home page) button on main screen, next to address bar.
All these features are extremely simple to implement and they're not re-invention of the wheel. Why did Opera developers choose not to implement these? No extension is required for these basic features, as well.
Request and suggestions belong to Suggestions Box.


Android 4.1+: Doze is one of the best new features in Android Marshmallow, which stops apps from using the network when your phone is idle. But if your phone still doesn't have Marhsmallow, this app will bring the feature to older phones.
Once installed and activated, Doze creates a VPN, which the developer says is more a barrier to block data flow rather than an actual VPN. Doze kicks in once the screen is switched off, but you can whitelist certain apps to use data. Considering that data connections drain your battery quickly, it's a good way of saving power.
You can also set Doze to auto-quit when you're connected to Wi-Fi or a charger. It's a simple app that brings one of Marshmallow's coolest features to older Android devices.


So our family had our first Christmas Party this weekend. There was a lot of great food and people, and it was nice, even though it was cold and rainy. Husbando had two whole plates of food, and then dessert. But then, about an hour after we got home, he was snacky again. What's the deal!?
If you find you're always hungry again right after you eat, you can relax . . . you probably don't have a tapeworm. The real explanation could be one of these eight things, which are all a lot easier to fix.
1. You drink too much soda. The high-fructose corn syrup in sodas can suppress the hormones that tell your body when you've had enough to eat. Compared to regular sugar, drinks high in fructose make you feel more hungry.
2. You're eating canned food. Canned foods often have a lot of BPA, a chemical that can cause hormonal imbalances that lead to food cravings.
3. You had a small breakfast. A long-term study showed that people who ate 300 calories or less at breakfast gained more weight than people who ate 500 calories or more. The people eating small breakfasts would get hungrier throughout the day.
4. You're not eating enough salad. Leafy green vegetables are high in folate and vitamin K, both of which help control your appetite in different ways. Folate protects against depression and fatigue, and vitamin K regulates insulin.
5. You're not drinking tea. Black tea has chemicals that fight food cravings, and make you feel full for a longer period after eating.
6. You're not drinking enough water. Dehydration often feels like hunger. Try drinking a glass of water before you eat, and see whether your appetite goes away.
7. You're bored. Australian scientists found that visual distractions can help fight food cravings. If you get hungry when you shouldn't be, try watching TV or going outside.
8. You're eating cold cereal. One study found that oatmeal left people feeling fuller than the same sized bowl of Honey Nut Cheerios. It could be because the oatmeal is thicker, or because it has more oat fiber than most ready-to-eat cereals.
Are you guilty of any of these habits? What do you do to make yourself a little less snacky between meals?


text:
Here are Microsoft's picks for the best Windows Phone and Windows apps of 2014
November 28, 2021 December 29, 2014 by Hammad Saleem
The 2014 year is about to end, and so much has happened in the past several months when it comes to the software giant. The company introduced the latest Windows Phone 8.1 operating system which introduced some much needed features. Furthermore, Microsoft launched a number of budget-friendly and mid-range devices to cater to the needs of its users.
Well, it's not just the devices and features, we've seen several popular developers jumping on the Windows Phone bandwagon with their apps which definitely helps in reducing the app gap. If you missed out, Microsoft has compiled some of the best apps released this year for Windows and Windows Phone devices.
The list includes some popular apps which were missing from the Windows Phone and Windows, notably some popular games like Candy Crush Saga and Minecraft: Pocket Edition for Windows Phone which have received their fair share of success on other platforms. It's not just these two, the list further mentions some popular apps and games such as FIFA 15, Age of Empires: Castle Siege, Flipboard, Asphalt 8: Airborne, Uber, and many more.
Most of these apps don't need any introduction. Candy Crush Saga doesn't need any introduction, if you ask me, it's one of the most addictive puzzle games available -- there have been several games with a same genre so I find it a little strange that it created so much hype. As for Minecraft, it's yet another popular game which made its way to Windows Phone recently, after Microsoft acquired the developer behind it for billions of dollars -- Mojang.
It's not just the new apps, the list contains the best apps, some of which are universal while others are on either one of the platforms -- Windows and Windows Phone.
You can check out the collections in the Windows Store and Windows Phone Store. Let us know about your favorite apps and games for this year.
Categories News Tags Apps, Video Games, Windows 8.1, Windows Phone, Windows Store
This is how a single Windows 10 feature introduced a new dimension in mobile productivity
Microsoft provides best Windows Phone apps to help you get through the New Year


I was able to visit the amazing Maison + Objet trade show in Paris. Held twice a year in January and September it showcases an incredible 3,000 suppliers from 59 countries. With 700 new brands this year, it's the best way to stay in touch with the latest design trends.
Attending key trade shows is an investment that Boucle Design makes to ensure we make maintain our contact with suppliers both old and new and bring you the latest in interior design.


text:
Feedthepoor
U.S. labor secretary, in Davos, calls for 'serious' dialogue between business and labor
"I know I'm in a roomful of mostly businesspeople here. I think the dialogue between business and labor needs to be broadened, and it has to be serious."
— Marty Walsh, U.S. secretary of labor, at Davos
Labor Secretary Marty Walsh is in Davos, Switzerland, this week for the World Economic Forum. During a panel about the future of work, he called out business leaders, pointing out that the labor movement is seeing a resurgence for a reason: increased inequality.
"Leadership is needed now," he said, adding that leadership needs to come from business, government, nonprofits and labor, so that "inequality can be addressed finally."
The secretary said Wednesday that businesses and labor unions should be having more conversations and that companies' leaders, such as their chief executives, need to be present.
It can't be "the HR director talking to the president of the union," he said. "It should be [the union] president to CEO to understand what's going on."
The comments by Walsh, a former union official, come as some of the biggest companies in the nation and world face a growing unionization movement — and companies such as Amazon.com Inc.
AAPL,
and Starbucks Corp.
SBUX,
are accused of fighting that push.
See: Unions' push at Amazon, Apple and Starbucks could be 'most significant moment in the American labor movement' in decades
Also: Labor secretary takes to Starbucks and Amazon's hometown paper to point out 'more worker organizing than many of us have seen in our lifetimes'
Walsh also talked about the coronavirus pandemic being "brutal," and people coming out of it with a lot of feelings and emotions. "We had George Floyd get killed in America… there was somewhat of a revolution in America — 'we're going be different this time.' "
"Well, you know what? We're not," he said.
He then appealed to the people in the room: "Let's tackle the issues we've talked about forever. It's time for action, not time for talking."
Tags: businesscallsDavosdialogueLaborSecretary
Looking to Heal Your Gut? Make These Simple Steps First
Newville VFW to host Rockout for Charity event this Saturday | Community News
STOP GOING ON DIETS: The Toxicity of Diet & Fitness Culture
Youngster finds success in bowling
Vitamin C Levels Decrease As We Age — What You Can Do About It
DeSantis, Fauci and others are not in the diamond mining business together
How to Have a Better Relationship With Your Leader
Insights from Dr. Andrew Huberman, Greg McKeown, Jocko Willink, Brené Brown, and Naval Ravikant (#616) – The Blog of Author Tim Ferriss
Worldfeedthepoorday
© 2022 All rights reserved by blog.worldfeedthepoorday.org


ATLANTIC CITY, N.J., July 15, 2015 – Today Commissioner Harold J. Wirths of the Department of Labor and Workforce Development addressed delegates of the New Jersey State Building and Construction Trades Council (NJBCTC) at their 111th Annual Convention in Atlantic City.
Speaking before the more than 150 union members in attendance at Caesar's Atlantic City Hotel and Casino, Commissioner Wirths highlighted the Christie Administration's efforts to create jobs by making the state more attractive to business.
Commissioner Wirths also announced his approval of $600,000 in grants for the NJBUILD program. Otherwise known as the New Jersey Builders Utilization Initiative for Labor Diversity, the program is one of several in the state aimed at training women and minorities in the construction trades. NJBUILD provides funding for pre-apprenticeship training, basic skills instruction and structured work experience for entry-level skills in the construction trades.
Grants were approved for the Hudson County area through the Jersey City Employment and Training Program ($200,000), the Camden County area through the Union Organization for Social Services ($150,000), and the Union County area through the New Jersey Carpenters Apprentice Training and Education Fund ($250,000).
Commissioner Harold J. Wirths of the New Jersey Department of Labor and Workforce Development speaking to delegates of the New Jersey State Building and Construction Trades Council (NJBCTC) during the group's 111th Annual Convention in Atlantic City.


text:
Vera Wang Signs 10-Year Deal With Pronovias For Accessible Vera Wang Bride Label
The new licensing deal will sell Vera Wang's high-end bridal line to a wider audience at an affordable price point.
Vera Wang has signed a 10-year deal with Pronovias for Vera Wang Bride.
The 71-year-old fashion designer has partnered with the Barcelona-based brand on a licensing deal in a bid to bring her bridal designs to a wider audience.
She told WWD: "It's very exciting. We've always done upper-end bridal and that's obviously a limited audience. You're never going to get any sizable volume when you're doing dresses that start at US$4,500 (S$6,014) or US$4,000, and go up to about $12,000.
"Pronovias Group is one of the most respected and successful bridal companies in the world with a huge international reach. But the most important value we look for in a company when signing a licensing agreement is the ability to create a great product. Product is king: it is where it all begins. Pronovias Group understands this."
Amandine Ohayon, chief executive officer of Pronovias Group, added, "It has been so incredibly fulfilling to work with Vera and her team. There is true commitment from both sides toward the new Vera Wang Bride brand. Vera's unique signature and iconic designs, together with our wide capabilities on sourcing high-quality materials and technical abilities, is leading to a unique collection that we are very proud to offer to fashion-loving brides worldwide."
The more affordable collection will retail from US$1,600 to US$4,000, considerably less than the gowns Wang designed for the likes of Hailey Bieber, Kim Kardashian West and Kaley Cuoco.
The new deal comes after Wang's licensing contract with David's Bridal dissolved in 2020.
She explained: "I really wanted to avail myself of the archives we've developed over 32 years. That was really not its [David's] business model. When the Pronovias thing came up — I've been talking to Pronovias on and off through the years — it is such a respected and financially successful business, and its reach is global."— BANG SHOWBIZ
Bridal Designer Vera Wang Is 70 Years Old And Looking Absolutely Fabulous
Fashion Designer Vera Wang Opens Up On Her Sports Bra Photo Going Viral: "I Was Totally Shocked"
Eat Play Watch
Sheng Siong Selling Gigantic 75-Piece Pack Of Abalones For CNY
Another Casual Western Eatery To Replace Grub Burger Bistro Space At Bishan Park
Foodie Friday: What The Stars Ate This Week (Jan 14-21)
Seafood Paradise Chef Opens Hawker Stall Serving Pao Fan With Soup That Tastes Like Prawn Mee
French Bistro Summer Hill Closing At Clementi, Will Offer Takeaway From Orchard Towers
Dwayne Johnson Blocked From Gym By A Wild Hawk Vs Snake Wrestling Match
Eddie Murphy's Son And Martin Lawrence's Daughter Are Dating: They Are "Head Over Heels In Love"
Tom Cruise Helps England Team Prepare For Euro 2020 Final Against Italy With FaceTime Pep Talk, Special Screening Of Top Gun: Maverick
First Look: Newcomer Louise Wong As Anita Mui In Canto-Pop Icon's Biopic
Recommendedx


text:
Queen's College, Queens' College eller Queens College  kan syfta på:

College

Australien
 Queen's College, University of Melbourne, college vid universitetet i Melbourne
 Queen's College North Adelaide, tidigare skola

Bahamas
 Queen's College, Nassau, Bahamas

Barbados
 Queen's College, Barbados

England
 The Queen's College, Oxford, college vid Oxfords universitet
 Queens' College, Cambridge, college vid Cambridges universitet

 Queen's College, Birmingham, tidigare högskola, idag del av Birminghams universitet och Queen's College i Edgbaston
 Queen's College, Edgbaston, teologisk högskola i Birmingham
 Queen's College, London
 Queen's College, Taunton

Guyana
 Queen's College, Guyana

Hongkong
 Queen's College, Hong Kong

Kanada
 Queen's College, Newfoundland, college vid Memorial University of Newfoundland

Nigeria
 Queen's College, Lagos, Nigeria

Skottland
 Queen's College, Edinburgh, tidigare college i Edinburgh

Spanien
 Queen's College, Spanien

Sri Lanka
 Queen's College, Colombo

Sydafrika
 Queen's College, Queenstown, Eastern Cape

USA
 Queens College, City University of New York, universitet i stadsdelen Queens, New York.
 Queens University of Charlotte, North Carolina

Universitet grundade som "Queen's College"
 Queen's University, Kingston, Ontario, Kanada (1841–1877)
 Queen's University Belfast, Nordirland (1845–1908)†
 University College Cork, Republic of Ireland (1845–1908)†
 University of Dundee, Dundee, Skottland, (1954–1967)
 National University of Ireland, Galway, Irland (1845–1908)†
 Rutgers University, New Brunswick, New Jersey, USA (1766–1825)


text:
HomeQJ.NETWiiWii jumps on the pages of National Geographic for Kids
Wii jumps on the pages of National Geographic for Kids
Lookie what we have here: Wii has jumped on the pages of "National Geographic for Kids". Cool, eh? It seems that this console is making such a buzz that it has transcended the pages of non-gaming magazines.
So, does this mean that the said console can be labelled as a "For-Kids-Only" toy? Definitely not. It even says in article that parents might want to play it, too. Will we see lengthened sleeptime curfews because of this family-friendly console? We'll never know. We do know that this console is marketed to virtually everyone. Even good ol' Pops and Granny looks like they're having tons of fun playing it in the Wii video. Will that happen in real life? That's what Nintendo hopes for. After all, seeing your grandma waiting in line at Gamestop for the Wii doesn't seem that strange, doesn't it?
Hmm… I wonder where a Wii feature will land on next? The Wii is getting more hyped up now that its launch is drawing near. So if you manage to spot it on the pages of "Playboy", don't be surprised.
Via Go Nintendo
Wii homebrew – Visual Boy Advance GX v2.1.1
Here's How Wii Play: Wiimote Competition on Myspace!
Red Steel Won't Have Online Capability…Yet


text:
Sunday Visitor
Is Limited Government Consistent With Religious Doctrine?
What did religious theologians think about our attempts to solve societal problems by granting more central power and authority to the government?
by Jon L. Pritchett
Over many decades in America, we've observed a great shift in the manner by which society attempts to solve problems. Despite a governmental system designed by founders who were suspicious of centralized government power, we continue to fund a larger and more complex system of government. And while a lot of that complexity and bigness has grown in Washington, D.C., we can't deny the same cancer has infected our states. One of the biggest problems, and there are many, with allowing the size, scope, and cost of government to expand is that we surrender our personal responsibility in the process. In so doing, we abdicate our legal and moral rights to live our lives as we see fit. We disempower ourselves as individuals and our communities of the liberty and responsibility we own naturally.
From Lord Acton to Reinhold Niebuhr, theologians have agreed that the consolidation of power into higher-level organizations should only be done as a last resort. In Christianity and Social Order, Archbishop William Temple described the idea of the individual's value succinctly: "the State exists for its citizens, not the citizens for the State." Temple goes on to write, "one of our first considerations will be the widest possible extension of personal responsibility; it is the responsible exercise of deliberate choice which most fully expresses personality and best deserves the great name of freedom." On this idea rests the culture of our inherited civilization and the promise of what America is to be.
Many Catholics are familiar with the principle of subsidiarity. This tenet holds that nothing should be done by a larger and more complex organization if it can be done well instead by a smaller and simpler organization. In other words, any activity that can be performed by a more decentralized entity should be. This principle is central to the American ideals of limited government and personal freedom. In his 1991 encyclical Centesimus Annus, Pope John Paul II took the "social assistance state" to task. He wrote that the welfare state was contradicting the principle of subsidiarity by intervening directly and depriving society of its responsibility. In the pope's words, "this leads to a loss of human energies and an inordinate increase of public agencies which are dominated more by bureaucratic ways of thinking than by concern for serving their clients and which are accompanied by an enormous increase in spending."
For those of us interested in economics, a core principle of economic efficiency is that goods and services are produced and allocated to their most valuable uses, with as little waste as possible. When we think of how we help society, there are really two paths. We can give a growing, bureaucratic, centralized government our funds through ever-increasing taxes to work on societal problems in our stead, or we can choose to give our time and money to private, local institutions, like families, churches, and nonprofits, to address societal problems in the local community. If efficiency is our goal, it seems the latter path is the obvious choice. Which path is consistent with theology and with our founding?
Similar to the ideas written by Jefferson in our Declaration of Independence, which were heavily influenced by the essays of John Locke, the Dutch Reformed theologian and politician Abraham Kuyper argued Protestants have a principle he called "sphere sovereignty." Slightly different than Jefferson and Locke, though, Kuyper put forward the principle that the State derives its authority from God, but families, churches, businesses, local social organizations, and other private institutions have a sovereign right to maximum liberty and ultimate authority to regulate their own affairs that preceded the State. Only when the State can prove the need to resolve a conflict between these spheres of sovereignty should it intercede.
Locke wrote (not under his own name at the time owing to the rebelliousness of his ideas) that the individual possesses rights from the creator, and government has been given the responsibility to protect and defend those rights only through the consent of the people — in his words, "to protect the natural rights of life, liberty, and estate." These ideas, which should be considered both libertarian and Christian, were the ones that fueled the American Revolution and inspired people all across the globe to value liberty. But over the ensuing centuries, many authors, some judges, and more than a few progressive professors have claimed that Locke was a deist and that his revolutionary ideas were rooted in a godless rationalism and inspired by reason alone. I would argue that reason and theology are not mutually exclusive and, in fact, are born of the same father — truth.
A better way to connect Locke's ideas on limited government and Christian theology is to read his own words. Repeatedly, Locke references God and the Old Testament in his Second Treatise on Government, which is considered by many to be the most influential document on political philosophy in the history of modern government. One of the best accounts of Locke's views on liberty and God can be found in a meaty and well-researched book entitled John Locke: Philosopher of American Liberty, written by Mary-Elaine Swanson. In the book, the author uses Locke's original text to methodically destroy the notion of Locke as a godless rationalist philosopher and restore the Lockean ideas at the heart of America's founding, ideas underpinned by a conviction to reason and God's revelation.
Today, as a consequence of our complex and powerful government, we have weakened the application of the principles of subsidiarity, sphere sovereignty, and natural rights. We have sacrificed our personal responsibility in a Faustian trade with government officials who claim they will be happy to attend to the common good on our behalf. By giving more power to central government to solve more social problems, we've not only made the process of resource allocation less efficient; we've also removed the moral authority and the personal relationships that exist in local communities.
When we try to replace a personal relationship, in which the dynamic of mutual accountability is present, with a government solution, we weaken the bonds in a community connected by the common good. It's in the best interest of all in a local community when a person or family in need is helped. And when we address temporary problems at the local level through personal relationships, those problems don't become permanent ones because it's in the best interest of both parties that they do not. The opposite is true of government. As Milton Friedman said, "Nothing is so permanent as a temporary government program." We also need to realize that we hold the power to make a difference in our own hands and in our own communities. We possess both liberty and responsibility. We don't need a massive, indebted bureaucracy or an all-powerful leader in Washington to do it for us. Our founders, standing on the shoulders of others and guided by the words of God, have already provided the way.
Jon L. Pritchett (@tobaccoroadguy) is president and CEO of the Mississippi Center for Public Policy, the state's non-partisan, free-market think tank. Prior to joining MCPP, Jon was senior vice president of the John Locke Foundation. He also worked as an investment banker, executive, and entrepreneur over a 28-year career in private business. Pritchett is a contributor to the Wall Street Journal and his opinions have been published in Forbes, National Review, the Washington Examiner, the Federalist, the Foundation for Economic Education, the Daily Signal, and many state and local newspapers.


Came into our lives 2 years ago today, June 16, 2012.
Pretty much stole our hearts the minute she walked through the door.
Began leaving puppyhood behind far faster than we might have liked.
Was fast becoming the friend, packmate, and companion we were hoping for.
Is the apple of her daddy's eye.
Happy Gotcha Day, Beka Valentine Olson. We love you.


A key part of your medical distributor selection process is building a profile in order to evaluate and qualify potential partners in your chosen medical device markets. This profile should incorporate details of your device as well as your overall business requirements, and can match those requirements to distributors best suited to assist you in your sales efforts.
Your profile should include information about your device such as how simple or complex it is, whether your device uses novel or advanced technology, and if it will require servicing or maintenance on a regular basis. The medical distributor profile should also contain your business goals as well as identify the medical device markets in which you plan to sell your product.
Using your profile, we can create a pre-screened list of potential medical device distribution partners. This list may vary from five to 40 distributors depending on the regional, national or international scope of your business development strategy. Once you have evaluated the list of distributors we have generated, we then go through the process of qualifying the listed distributors to identify the best potential partners for your business. Our qualifying process entails contacting each distributor on the list and providing them with your device's technical and pricing information as well as product samples if necessary.
In addition, we will interview interested distributors on your behalf for details on how they would launch your product in their markets.
Following our qualification process, your list of potential medical distribution partners will be considerably smaller—only those firms best matching the requirements set forth in your distributor profile will remain. At this point, we can facilitate conference calls or face-to-face interviews with you and these distributors in order for you to make your final determination. The process can take two to three months to complete, but substantially increases the likelihood that you'll find the best-equipped distributor for your medical device marketing plan.
Please contact us for more information or a free proposal on our medical device distributor profile and qualification services.


text:
package org.pentaho.di.trans.steps.denormaliser;

import java.util.List;

import org.pentaho.di.core.CheckResult;
import org.pentaho.di.core.CheckResultInterface;
import org.pentaho.di.core.Const;
import org.pentaho.di.core.database.DatabaseMeta;
import org.pentaho.di.core.exception.KettleException;
import org.pentaho.di.core.exception.KettleStepException;
import org.pentaho.di.core.exception.KettleXMLException;
import org.pentaho.di.core.row.RowMetaInterface;
import org.pentaho.di.core.row.ValueMetaInterface;
import org.pentaho.di.core.row.value.ValueMetaFactory;
import org.pentaho.di.core.variables.VariableSpace;
import org.pentaho.di.core.xml.XMLHandler;
import org.pentaho.di.i18n.BaseMessages;
import org.pentaho.di.repository.ObjectId;
import org.pentaho.di.repository.Repository;
import org.pentaho.di.trans.Trans;
import org.pentaho.di.trans.TransMeta;
import org.pentaho.di.trans.step.BaseStepMeta;
import org.pentaho.di.trans.step.StepDataInterface;
import org.pentaho.di.trans.step.StepInterface;
import org.pentaho.di.trans.step.StepMeta;
import org.pentaho.di.trans.step.StepMetaInjectionInterface;
import org.pentaho.di.trans.step.StepMetaInterface;
import org.pentaho.metastore.api.IMetaStore;
import org.w3c.dom.Node;

/**
 * The Denormaliser transformation step meta-data
 *
 * @since 17-jan-2006
 * @author Matt
 */

public class DenormaliserMeta extends BaseStepMeta implements StepMetaInterface {
  private static Class<?> PKG = DenormaliserMeta.class; // for i18n purposes, needed by Translator2!!

  /** Fields to group over */
  private String[] groupField;

  /** The key field */
  private String keyField;

  /** The fields to unpivot */
  private DenormaliserTargetField[] denormaliserTargetField;

  public DenormaliserMeta() {
    super(); // allocate BaseStepMeta
  }

  /**
   * @return Returns the keyField.
   */
  public String getKeyField() {
    return keyField;
  }

  /**
   * @param keyField
   *          The keyField to set.
   */
  public void setKeyField( String keyField ) {
    this.keyField = keyField;
  }

  /**
   * @return Returns the groupField.
   */
  public String[] getGroupField() {
    return groupField;
  }

  /**
   * @param groupField
   *          The groupField to set.
   */
  public void setGroupField( String[] groupField ) {
    this.groupField = groupField;
  }

  public String[] getDenormaliserTargetFields() {
    String[] fields = new String[denormaliserTargetField.length];
    for ( int i = 0; i < fields.length; i++ ) {
      fields[i] = denormaliserTargetField[i].getTargetName();
    }

    return fields;
  }

  public DenormaliserTargetField searchTargetField( String targetName ) {
    for ( int i = 0; i < denormaliserTargetField.length; i++ ) {
      DenormaliserTargetField field = denormaliserTargetField[i];
      if ( field.getTargetName().equalsIgnoreCase( targetName ) ) {
        return field;
      }
    }
    return null;
  }

  /**
   * @return Returns the pivotField.
   */
  public DenormaliserTargetField[] getDenormaliserTargetField() {
    return denormaliserTargetField;
  }

  /**
   * @param pivotField
   *          The pivotField to set.
   */
  public void setDenormaliserTargetField( DenormaliserTargetField[] pivotField ) {
    this.denormaliserTargetField = pivotField;
  }

  public void loadXML( Node stepnode, List<DatabaseMeta> databases, IMetaStore metaStore )
    throws KettleXMLException {
    readData( stepnode );
  }

  public void allocate( int sizegroup, int nrfields ) {
    groupField = new String[sizegroup];
    denormaliserTargetField = new DenormaliserTargetField[nrfields];
  }

  public Object clone() {
    Object retval = super.clone();
    return retval;
  }

  public void setDefault() {
    int sizegroup = 0;
    int nrfields = 0;

    allocate( sizegroup, nrfields );
  }

  @Override
  public void getFields( RowMetaInterface row, String name, RowMetaInterface[] info, StepMeta nextStep,
    VariableSpace space, Repository repository, IMetaStore metaStore ) throws KettleStepException {

    // Remove the key value (there will be different entries for each output row)
    //
    if ( keyField != null && keyField.length() > 0 ) {
      int idx = row.indexOfValue( keyField );
      if ( idx < 0 ) {
        throw new KettleStepException( BaseMessages.getString(
          PKG, "DenormaliserMeta.Exception.UnableToLocateKeyField", keyField ) );
      }
      row.removeValueMeta( idx );
    } else {
      throw new KettleStepException( BaseMessages.getString( PKG, "DenormaliserMeta.Exception.RequiredKeyField" ) );
    }

    // Remove all field value(s) (there will be different entries for each output row)
    //
    for ( int i = 0; i < denormaliserTargetField.length; i++ ) {
      String fieldname = denormaliserTargetField[i].getFieldName();
      if ( fieldname != null && fieldname.length() > 0 ) {
        int idx = row.indexOfValue( fieldname );
        if ( idx >= 0 ) {
          row.removeValueMeta( idx );
        }
      } else {
        throw new KettleStepException( BaseMessages.getString(
          PKG, "DenormaliserMeta.Exception.RequiredTargetFieldName", ( i + 1 ) + "" ) );
      }
    }

    // Re-add the target fields
    for ( int i = 0; i < denormaliserTargetField.length; i++ ) {
      DenormaliserTargetField field = denormaliserTargetField[i];
      try {
        ValueMetaInterface target =
          ValueMetaFactory.createValueMeta( field.getTargetName(), field.getTargetType() );
        target.setLength( field.getTargetLength(), field.getTargetPrecision() );
        target.setOrigin( name );
        row.addValueMeta( target );
      } catch ( Exception e ) {
        throw new KettleStepException( e );
      }
    }
  }

  private void readData( Node stepnode ) throws KettleXMLException {
    try {
      keyField = XMLHandler.getTagValue( stepnode, "key_field" );

      Node groupn = XMLHandler.getSubNode( stepnode, "group" );
      Node fields = XMLHandler.getSubNode( stepnode, "fields" );

      int sizegroup = XMLHandler.countNodes( groupn, "field" );
      int nrfields = XMLHandler.countNodes( fields, "field" );

      allocate( sizegroup, nrfields );

      for ( int i = 0; i < sizegroup; i++ ) {
        Node fnode = XMLHandler.getSubNodeByNr( groupn, "field", i );
        groupField[i] = XMLHandler.getTagValue( fnode, "name" );
      }

      for ( int i = 0; i < nrfields; i++ ) {
        Node fnode = XMLHandler.getSubNodeByNr( fields, "field", i );
        denormaliserTargetField[i] = new DenormaliserTargetField();
        denormaliserTargetField[i].setFieldName( XMLHandler.getTagValue( fnode, "field_name" ) );
        denormaliserTargetField[i].setKeyValue( XMLHandler.getTagValue( fnode, "key_value" ) );
        denormaliserTargetField[i].setTargetName( XMLHandler.getTagValue( fnode, "target_name" ) );
        denormaliserTargetField[i].setTargetType( XMLHandler.getTagValue( fnode, "target_type" ) );
        denormaliserTargetField[i].setTargetFormat( XMLHandler.getTagValue( fnode, "target_format" ) );
        denormaliserTargetField[i].setTargetLength( Const.toInt(
          XMLHandler.getTagValue( fnode, "target_length" ), -1 ) );
        denormaliserTargetField[i].setTargetPrecision( Const.toInt( XMLHandler.getTagValue(
          fnode, "target_precision" ), -1 ) );
        denormaliserTargetField[i]
          .setTargetDecimalSymbol( XMLHandler.getTagValue( fnode, "target_decimal_symbol" ) );
        denormaliserTargetField[i].setTargetGroupingSymbol( XMLHandler.getTagValue(
          fnode, "target_grouping_symbol" ) );
        denormaliserTargetField[i].setTargetCurrencySymbol( XMLHandler.getTagValue(
          fnode, "target_currency_symbol" ) );
        denormaliserTargetField[i].setTargetNullString( XMLHandler.getTagValue( fnode, "target_null_string" ) );
        denormaliserTargetField[i].setTargetAggregationType( XMLHandler.getTagValue(
          fnode, "target_aggregation_type" ) );
      }
    } catch ( Exception e ) {
      throw new KettleXMLException( BaseMessages.getString(
        PKG, "DenormaliserMeta.Exception.UnableToLoadStepInfoFromXML" ), e );
    }
  }

  public String getXML() {
    StringBuffer retval = new StringBuffer();

    retval.append( "      " + XMLHandler.addTagValue( "key_field", keyField ) );

    retval.append( "      <group>" + Const.CR );
    for ( int i = 0; i < groupField.length; i++ ) {
      retval.append( "        <field>" + Const.CR );
      retval.append( "          " + XMLHandler.addTagValue( "name", groupField[i] ) );
      retval.append( "          </field>" + Const.CR );
    }
    retval.append( "        </group>" + Const.CR );

    retval.append( "      <fields>" + Const.CR );
    for ( int i = 0; i < denormaliserTargetField.length; i++ ) {
      DenormaliserTargetField field = denormaliserTargetField[i];

      retval.append( "        <field>" + Const.CR );
      retval.append( "          " + XMLHandler.addTagValue( "field_name", field.getFieldName() ) );
      retval.append( "          " + XMLHandler.addTagValue( "key_value", field.getKeyValue() ) );
      retval.append( "          " + XMLHandler.addTagValue( "target_name", field.getTargetName() ) );
      retval.append( "          " + XMLHandler.addTagValue( "target_type", field.getTargetTypeDesc() ) );
      retval.append( "          " + XMLHandler.addTagValue( "target_format", field.getTargetFormat() ) );
      retval.append( "          " + XMLHandler.addTagValue( "target_length", field.getTargetLength() ) );
      retval.append( "          " + XMLHandler.addTagValue( "target_precision", field.getTargetPrecision() ) );
      retval.append( "          "
        + XMLHandler.addTagValue( "target_decimal_symbol", field.getTargetDecimalSymbol() ) );
      retval.append( "          "
        + XMLHandler.addTagValue( "target_grouping_symbol", field.getTargetGroupingSymbol() ) );
      retval.append( "          "
        + XMLHandler.addTagValue( "target_currency_symbol", field.getTargetCurrencySymbol() ) );
      retval.append( "          " + XMLHandler.addTagValue( "target_null_string", field.getTargetNullString() ) );
      retval.append( "          "
        + XMLHandler.addTagValue( "target_aggregation_type", field.getTargetAggregationTypeDesc() ) );
      retval.append( "          </field>" + Const.CR );
    }
    retval.append( "        </fields>" + Const.CR );

    return retval.toString();
  }

  public void readRep( Repository rep, IMetaStore metaStore, ObjectId id_step, List<DatabaseMeta> databases )
    throws KettleException {
    try {
      keyField = rep.getStepAttributeString( id_step, "key_field" );

      int groupsize = rep.countNrStepAttributes( id_step, "group_name" );
      int nrvalues = rep.countNrStepAttributes( id_step, "field_name" );

      allocate( groupsize, nrvalues );

      for ( int i = 0; i < groupsize; i++ ) {
        groupField[i] = rep.getStepAttributeString( id_step, i, "group_name" );
      }

      for ( int i = 0; i < nrvalues; i++ ) {
        denormaliserTargetField[i] = new DenormaliserTargetField();
        denormaliserTargetField[i].setFieldName( rep.getStepAttributeString( id_step, i, "field_name" ) );
        denormaliserTargetField[i].setKeyValue( rep.getStepAttributeString( id_step, i, "key_value" ) );
        denormaliserTargetField[i].setTargetName( rep.getStepAttributeString( id_step, i, "target_name" ) );
        denormaliserTargetField[i].setTargetType( rep.getStepAttributeString( id_step, i, "target_type" ) );
        denormaliserTargetField[i].setTargetFormat( rep.getStepAttributeString( id_step, i, "target_format" ) );
        denormaliserTargetField[i].setTargetLength( (int) rep
          .getStepAttributeInteger( id_step, i, "target_length" ) );
        denormaliserTargetField[i].setTargetPrecision( (int) rep.getStepAttributeInteger(
          id_step, i, "target_precision" ) );
        denormaliserTargetField[i].setTargetDecimalSymbol( rep.getStepAttributeString(
          id_step, i, "target_decimal_symbol" ) );
        denormaliserTargetField[i].setTargetGroupingSymbol( rep.getStepAttributeString(
          id_step, i, "target_grouping_symbol" ) );
        denormaliserTargetField[i].setTargetCurrencySymbol( rep.getStepAttributeString(
          id_step, i, "target_currency_symbol" ) );
        denormaliserTargetField[i].setTargetNullString( rep.getStepAttributeString(
          id_step, i, "target_null_string" ) );
        denormaliserTargetField[i].setTargetAggregationType( rep.getStepAttributeString(
          id_step, i, "target_aggregation_type" ) );
      }
    } catch ( Exception e ) {
      throw new KettleException( "Unexpected error reading step information from the repository", e );
    }
  }

  public void saveRep( Repository rep, IMetaStore metaStore, ObjectId id_transformation, ObjectId id_step )
    throws KettleException {
    try {
      rep.saveStepAttribute( id_transformation, id_step, "key_field", keyField );

      for ( int i = 0; i < groupField.length; i++ ) {
        rep.saveStepAttribute( id_transformation, id_step, i, "group_name", groupField[i] );
      }

      for ( int i = 0; i < denormaliserTargetField.length; i++ ) {
        DenormaliserTargetField field = denormaliserTargetField[i];

        rep.saveStepAttribute( id_transformation, id_step, i, "field_name", field.getFieldName() );
        rep.saveStepAttribute( id_transformation, id_step, i, "key_value", field.getKeyValue() );
        rep.saveStepAttribute( id_transformation, id_step, i, "target_name", field.getTargetName() );
        rep.saveStepAttribute( id_transformation, id_step, i, "target_type", field.getTargetTypeDesc() );
        rep.saveStepAttribute( id_transformation, id_step, i, "target_format", field.getTargetFormat() );
        rep.saveStepAttribute( id_transformation, id_step, i, "target_length", field.getTargetLength() );
        rep.saveStepAttribute( id_transformation, id_step, i, "target_precision", field.getTargetPrecision() );
        rep.saveStepAttribute( id_transformation, id_step, i, "target_decimal_symbol", field
          .getTargetDecimalSymbol() );
        rep.saveStepAttribute( id_transformation, id_step, i, "target_grouping_symbol", field
          .getTargetGroupingSymbol() );
        rep.saveStepAttribute( id_transformation, id_step, i, "target_currency_symbol", field
          .getTargetCurrencySymbol() );
        rep.saveStepAttribute( id_transformation, id_step, i, "target_null_string", field.getTargetNullString() );
        rep.saveStepAttribute( id_transformation, id_step, i, "target_aggregation_type", field
          .getTargetAggregationTypeDesc() );
      }
    } catch ( Exception e ) {
      throw new KettleException( BaseMessages.getString( PKG, "DenormaliserMeta.Exception.UnableToSaveStepInfo" )
        + id_step, e );
    }
  }

  public void check( List<CheckResultInterface> remarks, TransMeta transMeta, StepMeta stepMeta,
    RowMetaInterface prev, String[] input, String[] output, RowMetaInterface info, VariableSpace space,
    Repository repository, IMetaStore metaStore ) {
    CheckResult cr;

    if ( input.length > 0 ) {
      cr =
        new CheckResult( CheckResult.TYPE_RESULT_OK, BaseMessages.getString(
          PKG, "DenormaliserMeta.CheckResult.ReceivingInfoFromOtherSteps" ), stepMeta );
      remarks.add( cr );
    } else {
      cr =
        new CheckResult( CheckResult.TYPE_RESULT_ERROR, BaseMessages.getString(
          PKG, "DenormaliserMeta.CheckResult.NoInputReceived" ), stepMeta );
      remarks.add( cr );
    }
  }

  public StepInterface getStep( StepMeta stepMeta, StepDataInterface stepDataInterface, int cnr,
    TransMeta transMeta, Trans trans ) {
    return new Denormaliser( stepMeta, stepDataInterface, cnr, transMeta, trans );
  }

  public StepDataInterface getStepData() {
    return new DenormaliserData();
  }

  @Override
  public StepMetaInjectionInterface getStepMetaInjectionInterface() {
    return new DenormaliserMetaInjection( this );
  }
}