text:
SWY's technical notes
Relevant mostly to OS X admins
PRTG and Meraki API Monitoring
September 18, 2020Posted by on
I recently stumbled upon a post in the Macadmins Slack, which inspired me to learn more about logging and graphing data in my PRTG instance from the Meraki API, storing all my visual history and alerts within PRTG.
Ground zero to use the Meraki API is to enable and generate the key, which Meraki documents better than I can. Remember to store the key securely, as this is a secret just like a user/password pair or private SSH key.
Once safely documented, we can use the key to pull back our Organization ID:
curl -L --request GET --url https://api.meraki.com/api/v1/organizations --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'X-Cisco-Meraki-API-Key: <your-api-key>'
This will pull back 3 values in name:value format, comma separated. Note the "id" field. (Organization ID)
Then we take that ID over to https://developer.cisco.com/meraki/api-v1/#!get-organization-networks . Click the [Configuration] image, supply your API key there, and your Organization ID on the main page, and [Run]. Each network that your API key can access will be among the data returned, and each has a unique "id" field: this is the Network ID.
The final bit of information needed for a query is to specify what hardware is to be monitored. The device serial number can be sourced from the Meraki Dashboard, or via the API at https://developer.cisco.com/meraki/api-v1/#!get-organization-devices using the same organization ID found earlier.
With these facts documented from Meraki, we can create a new sensor in PRTG. Step 1 is to have a template for your REST sensor, which needs to reside in
C:\Program Files (x86)\PRTG Network Monitor\Custom Sensors\rest\ within your PRTG server. Paessler has documentation on creating your custom REST sensors. The first sample template I worked with provides CPU monitoring, and is named meraki-mx-utilization.template
"prtg": {
"description" : {
"device": "Meraki MX",
"query": "/api/v0/networks/NETWORK_ID/devices/SERIAL_NUMBER/performance",
"comment": "You need to replace NETWORK_ID and SERIAL_NUMBER"
"result": [
"channel": "Utilization" ,
"unit": "Percent",
"value": $.perfScore
This template was provided by Tyler Sparr in the #Meraki channel of Macadmins' Slack.
With the template in place in PRTG, we can then add a new sensor. I started by first creating a new device to store the sensors in, I named mine Meraki API Monitoring. Next, I added a new sensor of type REST Custom BETA. Fill it out to match the following:
The 3 redacted blocks are facts we pulled earlier:
-The API Key was the first step
-The 2nd redacted block is the Network ID
-The 3rd block is the Device Serial
The second template tracks loss and latency history in pinging the default server of 184.108.40.206 . If you've changed the destination to monitor, you'll find that in Security & SD WAN: SD-WAN and Traffic Shaping: Uplink Statistics.
"prtg": {
"description" : {
"device": "Meraki MX",
"query": "/api/v0/networks/NETWORK_ID/devices/SERIAL_NUMBER/lossAndLatencyHistory?ip=22.214.171.124×pan=600&resolution=600",
"comment": "You need to replace NETWORK_ID and SERIAL_NUMBER"
"result": [
"channel": "Loss Percent" ,
"unit": "Percent",
"float": 1,
"decimalmode": 2,
"value": number($[0]["lossPercent"])
"channel": "Latency",
"unit": "Msec",
"float": 1,
"decimalmode": 2,
"value": number($[0]["latencyMs"])
Which would pair with a PRTG sensor that looks like this:
To get the latency numbers to show up exactly as expected, I needed to do a little customization within the Channel Settings: tweaking the Unit value to ms instead of # , and locking the Decimal Places to a value of 1. Sometimes the many hour averaging was reporting all the decimals- harmless, but not pretty to look at.
Spurious "you don't have permission to use the application" errors
February 1, 2019Posted by on
For far too long, I've been irritated with these digital rocks in my shoes, which would appear on wake from sleep, telling me I didn't have permission for a wide variety of executables:
If you tried either kind of allow, you'd end up at an administrator credential request for Parental Controls. Except this was going on with company owned machines- there were no Parental Controls in place, so things didn't add up.
Thankfully, my friend Stephen Boyle answered my Slack query: check for an application restriction profile, and pull it. Sure enough, I had a profile to prevent my users from attempting to install High Sierra. After pulling that profile, the rocks are out of my shoes.
A better way to update a DeployStudio .nbi
July 22, 2017Posted by on
Earlier this week, my employer bought our first 2017 iMac, and the first new Apple hardware we'd purchased in quite some time. My normal workflow is to boot a new machine to DeployStudio, where I do just a few tasks, such as machine naming, installing munki, installing a default manifest, and telling it to look for software on first boot.
I did a presentation about this a few years ago.
Since I hadn't updated my DeployStudio netboot image in a while, I wasn't shocked when the brand new hardware couldn't be booted from a 10.12.2 image- the hardware is newer than that OS release, AND Apple has been doing forked builds for 2017 gear- OS releases tweaked for that hardware, instead of 1 Image to Rule Them All. The result of trying to netboot the iMac from the older image is the "circle-slash" logo that means "not gonna happen".
Fortunately, this turned out to be the day that 10.12.6 dropped. Hoping that this would be a unified build, I updated my mac mini DS/Autopkg/other duties as assigned server to 10.12.6, to using the boot volume to generate a new DS .nbi. When starting to make the image, I received the DS warning that the boot OS and recovery partition OS don't match, and that this could be a problem. This is expected behavior, as OS updates don't bump up the version of the OS on the recovery partition. I decided to roll the dice, and try making the DS netboot image despite the error.
When trying to boot from this one, the iMac got as far as showing the apple logo, but never a progress bar. The DS OS version mismatch warning was a valid heads up.
My next effort was to get the recovery partition of my mini updated to 10.12.6. After getting in a fight with Create Recovery Partition Installer and discussing my experiences with the #deploystudio channel in the macadmins Slack, user maurits shared a great idea:
@swy: you try to create a 10.12.6 DSR .nbi? My tip: create an image using AutoDMG from the fresh Install macOS 10.12.6 app, mount this image, and use that as source for creating the .nbi . On the image (and thus on the mounted volume) there is a fresh 10.12.6 Recovery HD partition. Using updates, the Recovery is usually not updated.
This was great advice I wanted others to see. If you wish to create the latest DeployStudio Runtime netboot image, get the latest Install macOS.app and AutoDMG. Build a disk image, mount that image, and when you make the DS .nbi, choose the mounted disk to generate the NetBoot image from.
This worked perfectly, and I was able to netboot the iMac, install the basics, and have munki do the rest of the configuration automatically.
A fix for high idle CPU use in Outlook 2016 15.28
December 2, 2016Posted by on
I recently noticed a displeasing behavior of Outlook 2016: while idle, in the background, it was taking up an unacceptable amount of CPU time:
I started digging around the #microsoft-office channel in the MacAdmins slack team, and was provided with this workaround that has solved it in every situation we've tried:
- Start a new email
- Click on the Options tab
- Click Language
- At the bottom, there's an option for "detect language automatically". Uncheck this option.
I can only see a downside to this if you compose in multiple languages.
Credit to macadmin Michael Clark from Cisco for first posting this fix in Slack, and Paul Bernicchi for seeing my query and pointing this out.
Update 1: @mrexchange tells us we can expect to see this fixed soon- here's the schedule for when it will hit the 3 tiers of Office releases:
just to confirm, the Outlook CPU issue is currently present in all channels. Here's the schedule for when you'll see it fixed:
Insider Fast – 15.30 on 12/7
Insider Slow – 15.29 on 12/5
Production – 15.29 on 12/13
Mounting a Synology SMB share as a local account
July 29, 2016Posted by on
Earlier this month, I moved my munki repository from my Mac Mini server to web services on a Synology rackstation. My biggest reason is for redundancy: the Syno has networking, power and drive failure redundancies beyond what a Mac Mini can provide. However, one service that a Synology cannot provide is autopkg, which requires a Mac- therefore, the mini still has a use.
In order for the autopkg output to be directed into the Synology munki server, I configured the MUNKI_REPO string to point to the SMB mounted path: /Volumes/Synologyserver/munki/path . To authenticate to that path, I made a local account on the NAS that the Mini would authenticate with. Unfortunately, when I first tried to mount the path via the Finder, I could not authenticate properly- all efforts were rejected as invalid attempts, despite my most carefully audited text entry.
Eventually I realized the issue: the Synology was only searching the directory structure of the AD domain it was bound to, and was not looking at local accounts to validate the SMB connection. In order to make it look at the local account, I needed to authenticate to the SMB share in the following format:
With the login in that format, the .\ indicates "use local directory, not a directory service", and :* indicates "bring up the SMB server login window".
Providing Snipe-IT via Docker
May 24, 2016Posted by on
The goal of this post is to walk through all the steps needed to take a stranger to Docker from ground zero to a working install of Snipe-IT asset manager in a Docker container, linked to a mysql Docker container, storing data on the host volume, where the host is a Synology NAS. We'll start with a presumption that the reader knows why Docker exists and what containers are, but doesn't have a familiarity with how to make Docker work for them.
My workplace needed a better (read: any) asset tracking system, and the venerable Snipe-IT came across my radar as a suitable choice to explore for multiple reasons:
- It's FOSS
- There's a Docker instance, and I wish to up my Docker game
- I found other macadmins who use it
- @snipeyhead and @uberbrady are smart devs
- The online demo didn't invoke rage, it felt like something we could use.
Unfortunately, like many online docs, Snipe-IT's documentation makes some presumptions that the reader has a working familiarity with making containers, linking them, and knowing why they would want to store data on the host filesystem vs a container. When you're taking your first walk down this road, the path is not always obvious: I hope to illustrate it with what I learned.
When we start with Snipe-IT's Docker docs, it starts with the basic: "pull our container from Docker Hub". This is definitely what you want. But not where you want to start: this is a cart in front of a horse. Before we're ready for a Snipe-IT container, we need to prepare a mysql container. But before that, let's get our Synology ready to do awesome Docker stuff.
To do that, log into the DSM web interface on your Synology, click the Main Menu, and head to the Package Center:
Installing Docker is a one click event, and is now available from the Main Menu. Start it up.
Synology's "Docker Registry" is the desired path to get a pre-built container. We'll use the registry search tool to find mysql. It's the ribbon-wearing "Official Image" that you wish to download: you can select the version via the "Choose Tag" request that comes after clicking the [download] button:
mysql:5.6.29 should now be an option under the Image tab. We are selecting 5.6.29 per the Snipe-it documentation guidelines regarding 5.7 defaulting to strict-mode, and skipping the requirement to disable strict-mode.
Before we get this image running in a container, we're at a decision point. Docker images are designed to be non-persistent. This aspect is great for updating to the latest image, but "non-persistent" is not a good feature in your asset tracking software database. There are 2 options for getting the needed persistence:
- Make another "data-only" container. Pros: containers are easy to relocate. Cons: you need backups. You're going to need yet another container to perform backups and restores.
- Map a path from the mysql container out to the local storage. Pros: can use Synology built-in tools to back this data up. Cons: less easy to relocate… but not all that hard. Still, you're not fully conforming to the "container all the things!" viewpoint. Like most decisions in life, neither is purely right or wrong.
I don't intend to be shipping these containers around at all, and expect that once established, my asset tracking software will stay where it is for the functional life of the NAS. So for my needs, I'm going with host-based storage.
To start up our Dockerized instance of mysql, Launch that image from the Launch button. The naming is arbitrary (snipe-mysql is logical), and no changes are needed to the port settings: the default of Local as auto mapped to 3306 is appropriate.
Step 2 is all optional. I haven't found a need to limit CPU use to make sure it's a well behaved neighbor to other services, it's a pretty low-impact service.
On the summary page, click Advanced Settings. Here's where we can set more options, such as where to store data. From volume choose Add Folder, I put mine in the docker directory, and called it snipe-it_mysql. With this mounted at /var/lib/mysql, mysql data will now be written out to the host storage instead of being put in the container. Uncheck Read-Only: we better be able to write here.
Links will not be needed: the Snipe-IT container will link TO this container. If we'd chosen to go with a data storage container, we'd link to it here.
Environment is where we put the rest of the commands. These are taken from the Snipe-IT documentation(Substituting your own password values is encouraged.)
Click OK and start up the container. By clicking Details, you should be able to see the one process running, and consult the log. If all has worked as intended, your log will end with mysqld: ready for connections, and under File Station/docker/snipe-it_mysql, you'll see some newly created data: the database that containerized mysql is reading and writing.
So it's time to connect something to it. Back to the Docker registry to download snipe/snipe-it.
Start it up from the wizard under Image. Port 80 is already in use on the NAS, so we can direct a different port into 80 in the container.
Again head to advanced, and link the container to snipe-mysql. Keep the Alias named mysql:
The environment variables are from the SnipeIT documentation, moved from the .env file to the Environment Variables section: If you don't list SERVER_URL with port 8088, then the dashboard link will fail. There's no rule that you have to use 8088, it can be any high port that appeals to you- it just has to match the Local Port value back on step 1 of this section.
After starting up the snipeit container, I found that when I pointed the browser at the SnipeIT instance, I got this:
Turns out, that's expected. As we read the fine manual, we see that we're supposed to execute docker exec -i -t snipeit php artisan app:install in our container to get things started. At first, I thought I'd get away with that in the "Execution Command" field of the window 2 pics above. No, it's interactive: it supplies questions to be answered by a human . This step requires interacting in the Docker container. To do that:
- SSH into the Synology as a local account with admin abilities. sudo -i to become root, authenticating with the local administrator's password.
- Execute docker exec -i -t snipeit php artisan app:install . This sends the command "php artisan app:install" to the docker container, and drops the user into the container to interact. This script sets up the first user account: use the username and pass defined in the SQL container's MYSQL_USER and MYSQL_PASSWORD environment variables, and soon after a number of tables are logged as "migrated", one can point their browser to the SERVER_URL above to start exploring the new web service on the NAS.
With that, you should have a working Snipe-IT install. Because this project is frequently updated, you'll periodically want to grab the current release of SnipeIT from Docker hub, to get the latest fixes and enhancements. To do so:
- Head into your Synology's Docker management interface, and stop the SnipeIT container, then the Snipe-mysql container.
- Go to the Registry tab, and search for snipe-it. Double-click the same official snipe/snipe-it container you used before. This will update your container to the latest release (equivalent of a 'docker pull' command). Once updated, start the SQL container first, then the SnipeIT, and you're current. Unfortunately, via the GUI, this is an obscure process: it lacks feedback if anything is going on. If you want to see what's going on, SSH to the Syno and sudo -i as documented above, and run docker pull snipe/snipe-it.
- Start up your updated Docker instance just like before. While things might vary on what the requirements are on future updates, you should expect to need to do some database migrating to match updates. This is probably easiest if you gain shell access to the Docker instance: docker exec -i -t snipeit /bin/bash
- Execute only the php artisan commands documented in the Snipe-IT upgrade documentation– the Docker container has handled the composer install for you
php artisan migrate php artisan config:clear php artisan config:cache
- Execute only the php artisan commands documented in the Snipe-IT upgrade documentation– the Docker container has handled the composer install for you
If you're going to open this service to the WAN, you'll naturally want to require SSL on it, which is not covered here. If you're standing up instances of FOSS software via Docker on a NAS, I'm giving you credit for knowing why that's important.
In regret of Auto-VoIP
May 20, 2016Posted by on
Due to a remodeling project at work, it came to be that I needed to provide temporary Ethernet drops to a lot of areas that weren't designed to have a human and a VoIP phone sitting there. To make this happen, we added 8 Netgear GSTP110TP switches to our network- PoE, managed, endorsed by a friend, and not expensive- as these are a temporary fix, not years of infrastructure to rely on. Configuration was not complicated: each of these had to handle just the main wired client vLAN and the VoIP vLAN, so the task list boiled down to
- Bring firmware current (who wants to troubleshoot something potentially fixed in last week's update?)
- Add the OUI for our Polycom phones, since that was not a vendor it recognized out of the box
- Enable LLDP on ports 2-8 (1 was declared to be the uplink to the core stack)
- Add vLANS to the switch, using the Voice VLAN option to match our VoIP vLAN and apply to all ports.
Soon we had streams of Cat5e running in all sorts of ways that would make any self-respecting admin hang his head in shame.
During the setup, one other option caught my eye: "auto-VoIP". Per the Netgear documentation:
The Auto-VoIP automatically makes sure that time-sensitive voice traffic is given priority over data traffic on ports that have this feature enabled. Auto-VoIP checks for packets carrying the following VoIP protocols:
• Session Initiation Protocol (SIP)
• Signalling Connection Control Part (SCCP)
• Media Gateway Control Protocol (MGCP)
Reading this, it sounded like a fine idea to enable this option, and that was done. With the above configuration set, we started testing switches and plugging phones in, and all worked as expected. LLDP allowed the switches and phones to establish that there was a device with a qualifying OUI attached to a port, and therefore put its traffic in the voice vLAN, and despite being a cabling mess, all seemed well with the world.
Then the tickets started trickling in- only from staff using phones attached to the Netgears:
- Lost audio in one direction while on a call (call stays connected, voice transit suddenly became ONE direction only)
- No dialtone
- url calling disabled shown on the Polycom screen
- More one-way audio issues
The events were unlike any other networking oddities I've tackled: sometimes they'd be magically fixed before my fellow IT staff or I could get down to witness them. We configured our PRTG monitoring to scan the VoIP subnet and start tracking if phones were pingable or not, and we ended up with 2 day graphs that showed that at approximately 24 hour-ish intervals, we'd loose connectivity with phones, in clusters, all members of the same Netgear. They didn't all go offline at the same moment, but a wave of failure would wash over the group: it might loose G2 at 2P, G3 at 2:04, G5 at 2:07, then G3 would work again, G4 would drop pings, G2 would start working… no pattern that we could see, just a wave of "nope, no traffic going to/from that phone" ranging from 2 to 20+ minutes, that would eventually resolve without our input. Naturally, this never happened in the dark of night: there was the 2P cluster, the 3:45P cluster, and the 6P cluster.
With some guidance from our VoIP provider, we finally determined the culprit: Auto-VoIP. While this might help improve the experience in high-traffic conditions where the voice device isn't in a prioritized vLAN of its own (such as a small deployment, where this 8 port switch is the only switch), it's not a benefit when there's a dedicated voice vLAN that has its own prioritization rules. Not only "not a benefit", but enabling it caused one of the most unique network issues I've ever met. Since disabling auto-VoIP on all ports, this issue has not returned.
Synology DSM 6, indexing and Advanced Permissions
April 28, 2016Posted by on
A common question in my office has been "Why can't we search the file server with Spotlight?" Since our migration to a Synology for AFP/SMB services I had no good solution to offer to this query, so I was very pleased to see this as a feature in DSM6- see "Mac Finder Integration" on their File Sharing & Management page. To test this, I first upgraded our secondary Synology to DSM 6- it contains a nightly rsync clone of the production NAS for on-site DR needs (among other uses). The upgrade was simple and uneventful.
After it rebooted, I found my way to the new "Indexing Service" Control Panel, which contains a "File Indexing" tab, where one can add the folder to index via the [Indexed Folder List]:
To my surprise, when I tried to "create" a new indexed folder (their vocabulary that also includes "add existing folder"), my rsync clone of our main production share wasn't on the list. Many other folders were, but not the one most relevant to solving a problem for us.
Through a call to Synology support, it was determined that if a Shared Folder has "Advanced Share Permissions" enabled, if the current GUI user isn't listed with read/write permissions on that folder, the ability to index that folder is not provided. When those permissions were expanded to give the GUI login read/write, the ability to index became available. The conclusion is that the index is made with the permissions of that GUI user, and is One Index to Rule Them All: meaning that depending on a user's folder permissions, a Spotlight search on the server might offer up content that the authenticated user is not allowed to access.
As I publish this, the indexing service is still churning away, and not yet available for testing. With multiple TB being indexed by 1Gig RAM and an Atom processor, my 1812+ might be working on this task for a good long while. However, others have blogged that Spotlight searching on 7TB of data on a Synology happens in a few seconds, so my expectations have been set.
Migration Assistant crash to loginwindow in 10.11
November 25, 2015Posted by on
Earlier this week, my co-worker started on a routine user migration from computer.old running 10.9.5 to computer.new on 10.11.1. He booted .old to Target Disk Mode, attached to .new over thunderbolt, and started up Migration Assistant. To his surprise, after authenticating within MA, instead of inquiring "where is our migration source?" the computer exited to loginwindow. We confirmed that this condition was repeatable under multiple circumstances.
We brought our unexpected behavior to the macadmins Slack community, where collaboration in the #osx channel with others who had seen this helped narrow the circumstances down to Profile options configured at loginwindow. Specifically, this unwanted behavior can be induced by enabling Disable Automatic Login in the Login Window section of the Profile. This has been set in our default Profile for many OS X releases, but has now become a problem.
If the Profile is removed, or updated with a version that does not have Disable Automatic Login enabled, Migration Assistant proceeds as expected.
I've filed this as Apple Bug #23664591, trackable at openradar.appspot.com.
VPN Profiles at loginwindow under Yosemite
August 21, 2015Posted by on
Unlike 10.9, Mac OS 10.10 has an unfortunate behavior regarding installing a Profile that configures a VPN while at loginwindow: it doesn't work. I'm not the first to find this, it was documented on munki-dev in October 2014. I became aware of this when I ran my first out of box configuration after producing a working Profile and postinstall script for my SonicWall Mobile Connect VPN client, when the profile that had installed perfectly at testing via MSC, but looped endlessly at the end of the firstboot process.
To address this problem, it takes 3 steps:
- Augment munki's conditional items with a custom condition
- Deploy that script to every client
- Add that check to the pkginfo
The first involves adding a script to /usr/local/munki/conditions – any and all scripts that exist in that directory are executed in every munki run. For this goal, we need a script that determines if there's currently a user logged in. If there is, the install should happen, and if not, don't try. Fortunately, this script had already been done and blogged by Patrick Fergus, and was the perfect starting point. When run, (at every munki run), if a user isn't logged in, it writes a key of false to /Library/Managed Installs/Conditional Items.plist, and true if they are.
#!/bin/bash plistLocation=/Library/Managed\ Installs/ConditionalItems #Verify a user is logged in loggedInUser=`python -c 'from SystemConfiguration import SCDynamicStoreCopyConsoleUser; import sys; username = (SCDynamicStoreCopyConsoleUser(None, None, None) or [None])[0]; username = [username,""][username in [u"loginwindow", None, u""]]; sys.stdout.write(username + "\n");'` if [ ! -z "${loggedInUser}" ] then defaults write "${plistLocation}" isUserLoggedIn -bool true else defaults write "${plistLocation}" isUserLoggedIn -bool false fi
With that script written, the next step was to get every munki client to have it. My preferred route to this is via The Luggage, but with an addition: Mike Solin pointed me to a very useful bit of code to drop into /usr/local/share/luggage/luggage.local, which makes it quite easy to pack up both Munki conditional items and Outset scripts. With that added to luggage.local, I could make the following Luggage makefile:
USE_PKGBUILD=1 include /usr/local/share/luggage/luggage.make TITLE=isUserLoggedInCondition REVERSE_DOMAIN=com.hiebing PAYLOAD=\ pack-usr-local-munki-conditions-isUserLoggedIn.sh
With that makefile and the isUserLoggedIn.sh script in the same folder, a run of make pkg builds a package to be munkimported. After distributing that package to all the machines I manage, it was a small matter of adding the following to the Profile installer's pkginfo:
<key>installable_condition</key> <string>isUserLoggedIn == TRUE</string>
With these parts, every time munki runs, it runs the above Python to ask if there's a currently logged in user or not. If yes, then it writes the key above to the Conditional Items.plist . The installable_condition must match for the install to continue. Therefore, when it first tries to run at loginwindow, Python has written the false key, the installable_condition isn't met, and the endless cycle at loginwindow is avoided. managedsoftwareupdate will soon do a background run while the user is logged in, and will then invisibly install the profile, and we have a configured VPN.


text:
Two Staffmark Group Executives Named to Global Power 150 Women in Staffing List
CINCINNATI, OH – Staffmark Group announced that Stacey Lane, executive VP of field operations, and Jennifer Prospero, CFO, have been named to Staffing Industry Analysts' (SIA) Global Power 150 Women in Staffing list. SIA first launched the list in 2015 to celebrate the most influential women in staffing. Today, the list includes a mix of female leaders, from CEOs and entrepreneurs to division heads, technologists and attorneys.
Both Lane and Prospero were instrumental in the formation of Staffmark Group, a member of RGF Staffing and one of the largest staffing companies in the United States. Staffmark Group was formed after the integration of Advantage Resourcing and Staffmark, two national staffing companies with multiple brands.
During the integration, Lane created a multi-brand field executive team, reorganized geo-based business units across all brands, and consolidated real estate, while Prospero spearheaded the integration of support services, including converting processes and technology systems. Both worked tirelessly to harmonize the brand and cultures to form one team working toward a common goal.
"I am proud of Stacey and Jenn's many accomplishments, including this recognition from SIA," said Geno Cutolo, CEO of Staffmark Group. "They are well-respected, enthusiastic leaders with a heart for people, and our organization is stronger as a result of their leadership. We are fortunate to have them both on our team!"
About Staffmark Group
Staffmark Group is one of the largest staffing companies in the United States and has been providing outstanding service for over 40 years. A proud member of RGF Staffing, Staffmark Group operates in over 400 locations, providing staffing solutions across a comprehensive range of disciplines, including contingent staffing, direct/permanent hire, on-site staffing management services, recruitment process outsourcing (RPO) and master service provider (MSP). To find out more about Staffmark Group, visit www.staffmarkgroup.com.
About RGF Staffing
RGF Staffing is a leading global HR services provider with activities in Asia Pacific, Europe, Japan and North America. Every day more than 300,000 people work for businesses and institutions via the RGF Staffing network. The organization has approximately 20,000 employees and recorded revenue of $ 12 billion in 2018. The brand portfolio comprises the main brands Advantage Resourcing, Bright Plus, Chandler Macleod, Peoplebank, Recruit Staffing, Secretary Plus, Solvus, Staffmark, Staff Service, Start People, The CSI Companies, Unique and USG Professionals. RGF Staffing is part of Recruit Holdings Co., Ltd. and headquartered in the Dutch city of Almere. For further information please visit www.rgfstaffing.com.

subset: commoncrawl


text:
Saline & Dickinson County Residential Trash Service
Salina Waste Systems proudly provides top quality residential garbage removal in Saline and Dickinson Counties. Please contact our offices at 785-825-9155 to set up residential trash collection.
Weekly residential garbage collection is performed on Monday through Friday. Visit the Schedule page to see view your customized collection schedule.
- Please place your 90 gallon cart at the curb the night before your pickup day.
- Please face cart towards the street.
- Please place all refuge into 90 gallon cart. - If cart is full place extra refuge into bags and place next to cart (5 bag limit)
- No longer servicing barrels next to cart with loose refuge - must be bagged.
- Please do not fill the cart beyond its 150 pound weight limit. Carts in excess of 150 pounds will not be picked up.
Please email us if your cart is lost, stolen or damaged.
Salina Waste Systems does not provide residential garbage removal on the following holidays:
- New Year's Eve Day
- Thanksgiving Day
- Christmas Day
During these three holiday weeks your service may run differently than regularly scheduled. Please place cart out 1 day before holiday and take back 1 day after holiday.
Example: Thursday,Thanksgiving Day, on Wednesday place your cart at the end of your driveway for servicing. On Friday, grab cart and return to normal destination after servicing.
Acceptable Materials
- Food
- Miscellaneous garbage
- Normal household waste materials
- Paper
Unacceptable Materials
- Ammunition
- Animal carcasses
- Asbestos
- Ashes (hot or cold)
- Batteries
- Chemicals
- Dirt, rocks, sod
- Electronics
- Hazardous waste, liquids, paints, oils
- Medical waste
- Tires
- White goods containing CFC's (appliances)
Extra Garbage, Lawn Refuse & Oversized Items
Extra Trash Allowed
- An extra 5 items (32 gallon sized bags, bundles of limbs or disposable containers) at no additional charge.
- No longer servicing barrels next to cart with loose refuge - must be bagged and inside barrel.
- Brush and limbs must be contained or bundled in 3 foot lengths.
- Using 32 gallon as a guide, place extra trash in good quality bags, boxes or other disposable containers
- Place items at the curb.
Large Items - Call 785-825-9155 a day ahead of your pickup day to learn if your items are acceptable and what additional fees may apply.
- Furniture
- Mattresses
- Old carpet


text:
UK Internet users accused of infringing copyright will not begin receiving warnings until at least the "latter half of 2015", minutes from a government meeting show.
If you have already subscribed please login.
If you have any technical issues please email tech support.
digital economy act, three-strikes piracy, hadopi, dcms, ofcom


text:
Eric Iverson
Creative Artists Agency (CAA), CIO
As the CIO of Creative Artists Agency (CAA), Eric Iverson currently oversees the Information Technology Department. His responsibilities include cybersecurity, infrastructure and operations, help desk, applications and development, analytics, and strategic technology alignment with the business globally. Previously, Iverson was the SVP and divisional CIO at Sony Pictures Television where he was responsible for the global systems portfolio and led strategic technology change initiatives for television production, distribution, and networks channels.
Featured in: SVG Digital (Monday)


text:
San Pellegrino
Sell by 10/18$1.79Start Shopping >
Drink in the wonderful things that surround you, fully enjoy each moment that life offers you. Because joy is all around you if you know where to look. Even a sip of a San Pellegrino Beverage ca bring you joy. San Pellegrino Sparkling Beverages stir your senses with a celebration of sun-ripened citrus and you will delight with its natural, authentic taste. With just one sip, you can experience an intense moment that snaps you out of the everyday.
Disclaimer: We make every effort to ensure that the product information presented on our website is accurate, but you should always consult product labels for the most accurate and up to date information. We assume no liability for inaccuracies or misstatements about products.


text:
Jon Gray pitched six scoreless innings, Tony Wolters had a two-run double and the Colorado Rockies beat the Philadelphia Phillies 4-1 Sunday for their sixth win in seven games.
Trevor Story and Ian Desmond also had RBI singles for the Rockies, who won three of four against the Phillies for their second series win of the season and first at home.
Bryce Harper drew a leadoff walk in the Washington eighth and has reached base safely in all 21 games to start the season.
The Phillies got a two-out RBI single from pinch hitter J.T. Realmuto in the ninth and had two runners when Wade Davis retired Cesar Hernandez on an infield groundout.
Gray (2-3) allowed one hit in six innings — a double by Maikel Franco in the fourth. He struck out five and walked four in winning his second in a row after losing his first three decisions. Carlos Estevez, Scott Oberg and Davis finished up with an inning apiece.
Jerad Eickhoff (0-1), making his first start of the season after beginning the year on the 10-day injured list with a right lat strain, allowed four runs on seven hits in six innings. He struck out eight and walked four, including two in the Rockies' three-run sixth.
Three consecutive two-out singles in the third gave the Rockies the lead. David Dahl started the string, advanced on Nolan Arenado's single and came home on the hit by Story, who extending his hitting streak to 10 games. It's his fourth career hitting streak of 10 or more games.
Colorado added three runs in the sixth. Eickhoff issued consecutive walks to start the inning and Desmond followed with an RBI single. Wolters drove in two more with a double that rolled to the wall in right-center field. Wolters was thrown out trying to reach third.
The start of the game was delayed 33 minutes because of rain.
Rockies: LHP Tyler Anderson (0-2, 11.00 ERA) is expected to be reinstated from the 10-day injured list Monday and start the series opener against the Washington Nationals. Anderson has been on the IL since April 7 with left knee inflammation. … INF Daniel Murphy has begun a rehab assignment with Triple-A Albuquerque, playing seven innings and getting five at-bats. He was placed on the injured list April 1 after breaking his left index finger diving for a groundball in the second game of the season. Murphy, a free agent acquisition, signed a two-year deal with Colorado on Dec. 21.
Phillies: RHP Jake Arrieta (3-1, 2.25 ERA) is slated to start the series opener at the New York Mets on Monday night.
Rockies: No official announcement has been made but it is anticipated that LHP Tyler Anderson (0-2, 11.00 ERA) will be reinstated from the injured list and start Monday night against Washington.


text:
The armed female security volunteer who stopped the man who fatally shot four people and wounded five more in Arvada and Colorado Springs on Sunday has spoken to the news media. Jeanne Assam gives credit to God for her heroic actions:
COLORADO SPRINGS, Colo. -- Jeanne Assam appeared before the news media for the first time Monday and said she "did not think for a minute to run away" when a gunman entered the New Life Church in Colorado Springs and started shooting.
There was applause as Assam spoke to reporters and TV cameras saying, "God guided me and protected me."
New Life's Senior Pastor Brady Boyd called Assam "a real hero" because Murray "had enough ammunition on him to cause a lot of damage."
When asked by a reporter if she felt like a hero, Assam said, "I wasn't just going to wait for him to do further damage."
"I give credit to God," she said.
Assam described how the gunman, Matthew Murray, entered the east entrance of the church firing his rifle.
"There was chaos," Assam said, as parishioners ran away, "I will never forget the gunshots. They were so loud."
"I saw him coming through the doors" and took cover, Assam said. "I came out of cover and identified myself and engaged him and took him down."
"God was with me," Assam said. "I didn't think for a minute to run away."
Assam said she believes God gave her the strength to confront Murray, keeping her calm and focused even though he appeared to be twice her size and was more heavily armed.
Murray was carrying two handguns, an assault rifle and over 1,000 rounds of ammunition, said Sgt. Jeff Johnson of the Colorado Springs Police Department.
"It seemed like it was me, the gunman and God," she said.
Assam worked as a police officer in downtown Minneapolis during the 1990s and is licensed to carry a weapon. She attends one of the morning services and then volunteers as a guard during another service.
Boyd said Assam was the one who suggested the church beef up its security Sunday following the Arvada shooting, which it did. The pastor credited the security plan and the extra security for preventing further bloodshed.
Tragically, the man killed four people before he was stopped, including two teenage daughters in the same family.
It could have been even worse.
About 7,000 people were on the church campus at the time of the shooting, said Boyd.
. . . . Boyd said Assam's actions saved the lives of 50 to 100 people.
Assam said she was ending three days of fasting on Sunday when fate put her in the path of the gunman.
"I was praying to God that he direct me" in what to do in life, Assam said. "God made me strong."
Two interesting notes from Vox Popoli. The killer said that he "hated all Christians" and wanted to kill as many as possible. And, not to fault the other armed security volunteers on the scene, but Assam acted boldly while other armed men on the scene hesitated. A Vietman veteran says it's the bravest thing he's ever seen:
Larry Bourbonnais, a combat-tested Vietnam veteran, said it was the bravest thing he's ever seen.
Bourbonnais, who was among those shot by a gunman Sunday at New Life Church, watched as a security guard, a woman later identified as Jeanne Assam, calmly returned fire and killed the shooter.
"She just started walking toward the gunman firing the whole way," said Bourbonnais, who was shot in the arm. "She was just yelling 'Surrender,' walking and shooting the whole time."
. . . .
Near an entryway in the church, Bourbonnais came upon the gunman and an armed male church security guard who was there with his gun drawn but not firing, he said.
Bourbonnais said he pleaded with the armed guard to give him his weapon.
"Give me your handgun. I've been in combat, and I'm going to take this guy out," Bourbonnais recalled telling the guard. "He kept yelling, 'Get behind me! Get behind me!' He wouldn't hand me his weapon, but he wouldn't do anything."
There was an additional armed security guard there, another man, who also didn't fire, Bourbonnais said.
. . . .
At about that moment, Assam turned a corner with a drawn handgun, walked toward the gunman and yelled "Surrender!" Bourbonnais said.
The gunman pointed a handgun at Assam and fired three shots, Bourbonnais said. She returned fire and just kept walking toward the gunman pressing off round after round.
After the gunman went down, Bourbonnais asked Assam, a volunteer security guard with the church, how she remained so calm and focused.
Bourbonnais said she replied:
"I was asking the Holy Spirit to guide me the entire time."
Update 1: A new report says the killer died from a self-inflicted shot to the head. It will be interesting to hear how and when the man shot himself. Based on witness accounts quoted above, the killer was still pointing his gun and shooting at Ms. Assam and, before that, Mr. Bouurbannais, right before he died.
Update 2: Ah-hah! The answer I was looking for:
An autopsy determined that Murray killed himself with a bullet to the head after he was brought down by gunfire from a volunteer security guard at the church, authorities said.
It's clear, then, that the shooter did not stop his rampage until he was brought down by gunfire from Ms. Assam.


text:
Elderly woman escapes submerged car
- Details
- Category: Canada News
- Published Thursday, February 4, 2016
- CTV News
An elderly woman is in hospital after driving her vehicle into Lake Ontario near Kingston, Ont. on Wednesday night.
According to reports, the 77-year-old woman was backing out of the driveway of an apartment building when she lost control and ended up in the lake.
The vehicle was nearly completely submerged, but the woman managed to get out of the vehicle. She was then helped out of the water by a pair of joggers who were passing by.
Paramedics said Wednesday night that the woman was taken to hospital only as a precaution.


text:
[Deprecated] WADO validator
Warning: This documentation is out-dated, newest version of the documentation is available at https://gazelle.ihe.net/gazelle-documentation
Gazelle WADO Validator
Gazelle WADO Validator is dedicated to the validation of WADO request message through SOAP web service calls.
The validation of WADO request can be performed against DICOM PS 3.18 or IHE RAD TF-3 (RAD-55 transaction) standards. Notice that perform a validation against IHE RAD TF-3 includes the validation against DICOM PS 3.18.
This validation service is available through a web service API so it can be integrated in your application. If you wish to validate messages occasionnaly you can use the Gazelle Validation Front-End called EVS Client which puts at your disposal a user interface to validate WADO requests, HL7 messages, CDA documents, XD* requests and so on.
Web Service
The web service API of the tool offers three methods:
- validateDocument(): validates the given message and sends back a validation report
- about(): gives information about the running version of the tool
- getListOfValidators() : return the list of validator names. Each validator represent a standard against the message can be validated.
The definition of the web service API is available here.
The validateDocument() method has the following prototype:
public String validateDocument(String, String) throws SOAPException ;
- The first parameter stands for the message to validate itself.
- The second parameter is the validator to use for validation. The available names list can be retreive using getListOfValidators().
EVSClient Validation
EVSClient use the webservice to offer a GUI for validation the WADO requests.
To access to the validation page you go to http://gazelle.ihe.net/EVSClient/ and from the menu -> IHE -> DICOMWeb -> Validate, you will access to this page :
Select the validator "IHE - WADO", and then copy and past the WADO URL to validate.
Example :
Click then on the button validate.
The result of validation will then displayed. It contains checks about the structure of the WADO request entered :
- checks of the parameters entered
- the structure of each attribute (the OID, etc)
- check of mandatory parameters
- etc
- checks of the consistencies between the parameters
Here an example of a result of validation of a wado request.
Access to existing WADO validation results
You can access to the results of already validated WADO requests using the menu -> IHE -> WADO -> Validation logs


text:
On Web Orders Over $175.00 Now Through Months End.
Valid Only On Orders Placed Within The Contiguous U.S.
Store Hours Of Operation!
Certified U.S. Lacrosse Officials Shirt - Cliff Keen Has Developed A New EXCLUSIVE Custom Sublimated Short Sleeve Shirt Featuring A 1" Stripe Pattern. No More Patches-Your Certified US Lacrosse Logo Is Seamlessly Dyed Into The Shirt On The Left Sleeve And The American Flag With A Gold Border Is Dyed Over The Pocket.
item # sk06lx1
Your opinion is important to us...tell us what you think!


text:
Last visited
Content Type
Bug Reports
Everything posted by plowna
[Support] Linuxserver.io - FreshRSS
plowna replied to linuxserver.io's topic in Docker ContainersJust a note for anyone else. I've been trying to setup pass-through authentication to this docker. The documentation for FreshRSS (under nginx) is not great, and it a took a while to figure it out. There's three changes you need to make (once you've set it up with an initial user). 1. Edit the file config.php (located in /config/www/freshrss/data/ ) and change the auth_type to http_auth: 'auth_type' => 'http_auth', Has to be done here as by default it's grayed out in the web ui. 2. Start the FreshRSS docker, and open a console into it. Then create your .htpasswd file: htpasswd -c /config/nginx/site-confs/.htpasswd <freshrss username> This will request the password for the user, and write the file out there. Repeat for any other users if need be. 3. Edit the nginx site file (located at: /config/nginx/site-confs/default ) server { listen 80; listen 443 ssl; index index.html index.htm index.php; server_name _; ssl_certificate /config/keys/cert.crt; ssl_certificate_key /config/keys/cert.key; client_max_body_size 0; root /usr/share/webapps/freshrss/p; index index.php index.html index.htm; location ~ ^.+?\.php(/.*)?$ { fastcgi_pass 127.0.0.1:9000; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_param PATH_INFO $fastcgi_path_info; include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } location / { try_files $uri $uri/ index.php; } location /i { auth_basic "Login"; auth_basic_user_file /config/nginx/site-confs/.htpasswd; location ~ ^.+?\.php(/.*)?$ { fastcgi_param REMOTE_USER $remote_user; fastcgi_pass 127.0.0.1:9000; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_param PATH_INFO $fastcgi_path_info; include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } } Feel free to correct if necessary. This means if using a different reverse proxy than nginx or apache etc (i.e. edge firewall/router) to auth through that and pass through the auth directly to the application. Note the default is to just create a new user and log them in. There's another option in the config.php: 'http_auth_auto_register' => false, Thanks seeya.
Give created user acces to /mnt
plowna replied to smiffy1989's topic in General Support (V5 and Older)Add them to the users group. If you are logged in edit the file /etc/group & add them to the end of the line ie. users:x:100:joe,jill,new_user,other_user you get the idea.
unRAID 5.0 - Full Slackware Installation - Questions !
plowna replied to callummc's topic in User CustomizationsThere will likely be others with far more experience in this regard. I can only speak from my recent experience (detailed here). I take it you want to keep the full slackware install on a drive that is not connected via SATA as you'd like to maximise the amount of drives connected to the array. Also I take it the proliant box has 6x SATA inputs & with the added card will add another 2. An option might be to get a portable hdd - might be better to use another 2.5 sata hdd & put it in an external case. You'd need to check to ensure the proliant can boot off it. Or run with 2x USB flash disks - one for the full install & the other as the 'dongle' so to speak. The 'OS' flash disk would appear as a /dev/sdX entry anyway so I don't imagine there'd be much difference in the slackware installation of it. So long as the slack installer can see it to install it. The biggest risk with any sort of setup like this (ie full slackware install) is it introduces more points of failure.
5b14, Running from Slack64, Latest Virtualbox, some notes
plowna replied to plowna's topic in User CustomizationsGot my script written for starting VM's on bootup. I found a much more comprehensive one (okay for some reason the forum doesn't like my link, it points to a pastebin entry), it seemed a bit too complicated for me. My script is made to be called by root but will just run the guests as the chosen user. (It calls them by UUID) Some of it is a bit kludgey, I'm not the best of bash script writers. I've created a button for it in unmenu, which just calls the script. I'm still a bit hesitant on starting the VM's automatically on boot, I'd like to get the timing correct. ie Only if the network interface & array is online. Anyway, here's the script: #!/bin/sh VBOX_MANAGE=/usr/bin/VBoxManage VBOX_HEADLESS=/usr/bin/VBoxHeadless VBOX_USER=vmadmin # kind of redundant considering I couldn't figure out how to use it VMNAME= for uuid in $(su vmadmin -c "VBoxManage list vms | sed -e 's/^.*{\(*.\)}$/\1/'") do eval "su vmadmin -c \"VBoxManage list vms | sed '/{$uuid}$/!d' | sed -e 's/.{$uuid}$//' > /tmp/vmname.tmp\"" VMNAME=`cat /tmp/vmname.tmp` echo "Starting $VMNAME ..." sudo -u $VBOX_USER -H -b $VBOX_HEADLESS -startvm $uuid done rm /tmp/vmname.tmp (edit: improved it upon review ...) Shutting down the VM's is made a bit simpler by both of them being Linux guests. I've set up 'passwordless' ssh logins using keychain, so its just a matter of sending a couple of shutdown commands to them. (I don't think they respond to ACPI events, I've never investigated this fully) From there its not difficult to add them to rc.local_shutdown. Last step will be adding a command to pause all open torrents that access the array when the array goes down.
Got it installed & running ok. Ran a quick cfgmaker public@localhost > mrtg.cfg, I wasn't sure if the .cfg you put in was the same. I added a link to the 'Useful Links' page for easy access.
I'll give this a go - I know of the program but have never put in the effort to find out how it works. Am I correct in assuming I need to install the mrtg slackware package (wherever it is) and then use the .conf file provided to enable it within unMenu?
5b14, Running from Slack64, Latest Virtualbox, some notes
plowna replied to plowna's topic in User CustomizationsFinally got unMenu set up & installed. Turned out the locally added share (ie mount.cifs //127.0.0.1/share /media/my_share) for mediatomb caused the initial commands that uu invoked (ie df --block-size=1000) to get stuck in a loop. Browsing to //tower:8080 would just stall 'waiting for server'. Welp that seals it not using locally added shares!! Also installed unMenu to the flash drive (/flash/unmenu) then added symlinks to the relevant directories off /boot (/boot/packages, /boot/unmenu etc). All seems to be working ok. Just need to get myself one of these USB <-> serial cables now ...
5b14, Running from Slack64, Latest Virtualbox, some notes
plowna replied to plowna's topic in User CustomizationsReplying to my own ... reply. I'm pretty sure deluge has a cli interface, so if I can add in an extra command to tell the deluge server to pause all torrents when the array goes down ... that would be neat. I can always manually start them again, but its the pausing when the array goes down that concerns me the most. Food for thought.
5b14, Running from Slack64, Latest Virtualbox, some notes
plowna replied to plowna's topic in User CustomizationsCheers! That helps tremendously. The shutting down of access to shares before stopping array shouldn't be a problem - the point of the vm's is that they can then access the user shares of unRAID via CIFS, so the normal way of shutting down the array should be sufficient (if I'm correct it shuts down SMB/CIFS shares first anyway). At this stage only a couple of things to work on: Auto-starting the vm's after everything has booted up ... I might use that startup script thingo you've posted, it looks neat. Creating a script that will do what clicking 'stop array' does, as well as shutting down the vm's & then performing a shutdown of the server in one hit ... again I think one of your scripts there looks neat, I will use that as a starting point. Once thats working ... get the UPS I have talking to the server ... its an old Cabac one with a new battery. Still have to get the serial <-> USB cable for it though. I think unMenu can do it, but when I tried to install it yesterday it didn't work at all for me, didn't have to time to investigate =( Trying to get deluge (bittorrent server ... thats what one of the vm's is for) to pause all seeds when the share connection drops (ie when the array goes down). Otherwise it will instantly try to start downloading all my seeding torrents ... I'll post notes as I get through all this stuff.
First off, not sure which forum this comes under. I believe I'm finally finished setting this build up on my server at home, I just wanted to share some of my notes from going through the process in case someone else has similar problems or is setting up a similar environment. Also, apologies in advance for the length. All up it took me 4 or 5 days, most of that time was spent making backups of existing data, partially restoring the backups and waiting for parity checks/builds to complete ... found a faulty drive in the process. At this stage I'm still 'testing' it (and will be for a few months due to using 5b14), however everything appears to be working fine. I'll be adding more drives (and yes buying a couple of licenses in the near future), so I'll see how that turns out. From the start, I wanted to create a build that satisfied these requirements: Using unRAID 5.0 beta 14 Running from hard disk (Slackware 13.1, kernel 3.1.1) 64-bit system (Slackware64 w/ multilib) Latest VirtualBox installed & running 2x VM guests Mediatomb compiled & running (I have a custom import.js script, and play everything on my WD TV Live) Notes: I used this guide for most of it. Very well written and really not that many problems! (I have compiled a few kernels in my time, so that may have been an advantage ...) For adding in multilib support, following the 'quick & dirty' part of this guide was all that was necessary. The forum thread here regarding 64-bit support mentions changing the symlinks to ensure unRAID uses the correct libraries; this wasn't necessary. (Actually unRAID restored the original symlinks upon reboot!) My build displays HDD's the same way under the Main tab of the unRAID web interface as mentioned in the thread. The guide to installing VirtualBox in unRAID (here) was very informative but ultimately redundant in this setup. If you install the dev libraries with Slack64 during install and compile your own kernel (as part of the guide to installing unRAID to a full slack distro) then the VirtualBox installer from Oracle's website should simply install without a hitch. Just remember to run guest VM's under a user not root ... Here's a list of problems I encountered & the solutions: Unable to boot from flash disk Cause: flash disk not properly formatted & prepared correctly Solution: Proper formatting of flash disk using guiformat.exe (fat32format) Creating USB flash boot disk for Slackware64 Cause: Provided file & instructions are linux-specific Solution: Boot from existing linux-based USB flask boot disk, use dd from within root console to overwrite 2nd USB flash boot disk (dd if=/folder/usbboot.img of=/dev/sdX bs=512) Cannot boot slackware system once installed on HDD Cause: Question at end of Slack install process - 'Detected OS/2 or Partition Magic boot loader' Solution: ANSWER NO at this question. Additional info: Suspect Slack installer is detecting the unetbootin/tuxboot bootloader on the USB flash disk Slackware USB install doesn't show any Slackware64 libraries to install!! Cause: Using Slackware USB flash disk to install Slackware64 Solution: Use the Slackware64 USB flash disk installer to install Slackware64 (sigh) Unable to access newly created files on user shares Cause: Messing with users outside of unRAID ... initially thought it was a samba bug Solution: Don't create/edit/touch users outside of unRAID to be used within unRAID! Finally, on compiling & running Mediatomb: ffmpeg Used AlienBob's ffmpeg SlackBuild to setup ffmpeg. The pre-built packages didn't work as they are compiled in an x11 environment (my server is headless). Had to make a few customisations: You need YASM 1.0 at least to build x264. Used slackbuild.org to find the latest. Added --disable-fontconfig to the libass configure. Disabled vaapi in the final ffmpeg compile - short answer is couldn't bothered getting the drivers setup for the AMD chipset on my MB. This gives you ffmpeg 0.9 mediatomb Used slackBuilds from SlackBuild.org to add in support for libmp4v2 & SpiderMonkey js - need the js for my custom import.js script in mediatomb. Compiling mediatomb against latest ffmpeg (0.9) fails as specified in this bug report. There's a patch there which when added to the Mediatomb sources then allows Mediatomb to be compiled with the slackBuild from SBo. As its probably not a good idea to be accessing /mnt/diskX or /mnt/shares directly from within the server (and behind unRAID's back ... it might get offended) I added an entry to fstab to mount one of unRAIDS CIFS shares - specified noauto as I'll figure out how to auto-mount it later. Will probably fail if its mounted before emhttp brings it up. At the moment I only have the one 1Tb WD drive in there - its not an EARS but the 3x 2Tb drives I have are. One is used for parity, and one is holding a backup of just about everything I hold dear so is not going into the array any time soon. Maybe in another 6 months if the array is still stable & no other bugs have turned up (maybe 5.0 will be out of beta by then too). The third 2Tb EARS was the faulty one (wasted a good 12 hours waiting for 2x parity checks to confirm) and I'll be sending it away for RMA tomorrow (today is a public holiday). I have a 4th one but can't use it yet (no comment). Hardware is: AMD Phenom II X6 1090T 8gb g.skill memory (1300mhz I think) Gigabyte 890GPA-UD3H v2.1 Antec 900-2 case, got about 10 fans all over it. cheers


text:
Our Champions of Food
|Click the image to the left to view Our Champions of Food (Mid North Coast) as an interactive Flipbook or else click the link below to download the publication (PDF).
Download Our Champions of Food (4mb)
What is Our Champions of Food?
RDA, like many others, sees great potential for food production in our region. This regional food industry is worth $1.5 billion per annum. It employs more than four and a half thousand people and contributes around 15% of our region's exports. It's a sector worth investing in!
To see this industry grow, we need to move beyond being a commodity producer to being a business entrepreneur with a labelled, packaged product to sell to the world. That requires a whole new set of skills and a new way of thinking.
Fortunately, there are industry champions out there who are already leading the way and in this industry showcase we've highlighted many of these businesses as examples of what can be achieved.
Our Champions of Food showcases some of the most innovative food producers and agribusinesses across the Mid North Coast, from large scale manufacturers to boutique producers. We invite you to be inspired by what's already happening in our local food industry.


text:
Here it is, in all its glory: The full version of James Harden's 'Harden Soul' (video)
Earlier this week, a comical commercial debuted from Foot Locker starring James Harden and Golden State Warriors guard Stephen Curry which featured the Houston Rockets star warbling through a studio performance of "Harden Soul," which Harden insisted was his way of keeping things fresh, much to Curry's chagrin.
But the 30-second spot just could not adequately document the magic captured in the studio on that day. So, on Wednesday, a video featuring Harden's entire, cringe-inducing performance was released. And goodness gracious, it is absurdly — and intentionally — awful.
One question: What's with all the shrimp? Am I missing something?
Ha. "I work so harden to be with u, I share my harden soul with only u." Gold. As in gold-freaking record, man. This track is going to "rocket" up the charts, I'll assure you of that, good sirs and good madams.
Hey, it's not any worse than a lot of the other crap polluting the airwaves these days. All the song needs is to have some hot producer and a cameo from some up-and-coming pop star or rapper.
Oh, and autotune. Lots and lots of autotune. Which really doesn't separate it, once again, from most of the terrible pop music these days. Consarnit.
[H/T Ball Don't Lie]


text:
Chinese Restaurants in FaridabadChinese, Thai and other oriental cuisines have been warmly welcomed by people of our country. Seeing the popularity of Chinese cuisine one can find an array of oriental restaurants all over. Faridabad has a multicultural society. Chinese cuisine is greatly loved by the people of Faridabad. The perfect balance of rice, vegetables, meat or chicken and sauces make Chinese cuisine delectable. Using these wholesome ingredients, the dish becomes a meal in itself.
You can find numerous restaurants serving authentic oriental cuisine in different sectors of Faridabad. Some of the most popular ones are listed below.
List of Chinese Restaurants in Fraidabad
Berco's Restaurant
3rd Floor, Crown Interior Mall, Mathura Road, Faridabad
Phone: (0129) 67775740
Hunger Cure
Scf- 77, Near Noble Hospital, Faridabad Sector-14
Phone: (0129) 4062200
Yo! China Restaurant
S-2, 2nd Floor, Crown Interiorz Mal, Faridabad Sector-35
Phone: (0129) 4018383
Delhi 9
Shop No.24-25, Huda Shopping Complex, Near K Hotel, Faridabad Sector-31
Phone: (0129) 67775659
Red Dragon Restaurant
Shop No 31, Huda Market, Faridabad Sector-14
Phone: (0129) 66265236
Premier Chinese Café
Shop 19 & 20, Dividing Road, Near Badkhal Chowk, Faridabad Sector-19
Phone: (0129) 2268881
Silk Restaurant
2nd Floor, Pristine Mall, Faridabad Sector-31
Phone: (0129) 66226832
Oasis – Vivanta by Taj
Vivanta by Taj, Shooting Range Road, Suraj Kund, Faridabad
Phone: (011) 33036362
11 & 12, Main Market, Faridabad Sector – 15
Phone: (0129) 2284210
Lee Wong's China
Shop 5, Shopping Centre, Huda Market, Sector 21 C
Phone: 9899658698
Hunger Cure
76, Opposite Community Centre, Huda Market, Faridabad Sector-46
Phone: (0129) 67775230
Le Moksh Restaurant
3rd Floor, Parasvnath City Mall, Faridabad Sector-12
Phone: (0129) 2299688
Lee China
12 & 14, 2nd Floor, Crown Ansal Plaza, Mathura Road, Faridabad Sector – 15 A
Phone: (0129) 67773211
Chops and Hops
SCF 138, Main Market, Faridabad Sector – 17
Phone: 7838773756
3 Chopstix
B 102, Green Field Colony, Faridabad Sector – 43
Phone: 9654421052
Tmos Moving Feast
Shop No-156, Huda Market, 16-17 Dividing Road, Faridabad Sector-17
Phone: (0129) 67775336
Synk Lounge
S 22/23, Eldeco Station 1 Mall, Faridabad Sector – 12
Phone: 7838100235
Open Grill
27, HUDA Market, Faridabad Sector – 31
Phone: (0129) 6526401
Momo Cha
31, Near HDFC Bank ATM, Sector 17 Market, Faridabad
Phone: (0129) 4171133
Curry n Hakka
Scf 90, Near Indian Bank, Huda Market, Faridabad Sector-17
Phone: (0129) 67772837
Spice Garden
Shop No.5, Huda Shopping Complex,Ashoka Enclave-1, Near Kanishka Tower, Faridabad Sector-34
Phone: (0129) 4060057
3rd Floor, Srs Mall, City Center, Faridabad Sector-12
Phone: 8130191231
Triple Nine
Dss-30, Near Easy Day, HUDA Market, Faridabad Sector-31
Phone: (0129) 4109993
RPM Café
R-3, Town Park, Opposite District Court, Faridabad Sector – 12
Phone: (0129) 2266545
Welcome Restaurant
Shop No 140,J Block, Opposite Ghai Hospital, 9 10 Dividing Road, Faridabad Sector-10
Phone: (0129) 67774027
La Taj Restaurant
Scf 151, Huda Shopping Complex, Moan Market, Faridabad Sector-37
Phone: (0129) 66362425


text:
Blue Steam
As a photographer I see my camera as a tool with which to capture and create. As an engineer, I see my camera as a wonderful machine and opto-electric toy. But sometimes a situation arises that makes a camera into a scientific tool. To make visible some hidden property of reality itself.
After this poetic introduction, it might seem a little mundane to tell you that this post is about the steam the comes out of my coffee machine. And in fact you don't even need a camera – this is something that you can see with your naked eye. We own a Delonghi Icona home espresso machine, which looks like this:
Like most machines of this type it has a milk frother side-arm (on the right), that can be used for making cappuccinos. It works by forcing hot steam out at high velocity. The steam's velocity is controlled by a valve which one opens by turning the round black knob on top.
Playing around with it one day, I was surprised to see a strange thing: as one opens the valve more, the apparent colour of the steam exiting the machine changes colour from neutral gray towards blueish-gray. Video follows:
[youtube_sc url=6gkrmc8xJj4 width=600]
To see it more clearly, I put a white LED headlamp behind the nozzle, shining towards to steam. Firstly, with the espresso machine's steam knob turned partly open, the steam appears gray-white:
This is not strange, as steam is normally neutral in colour due to something called Mie scattering. Mie scattering happens when light interacts with little spherical droplets that are larger (by, say, a factor of 10) than the wavelength of light. This is the same effect you see in clouds, and as it is not colour-dependent one sees clouds to be grey or white.
But now, look what happened when I opened the steam knob further:
Something strange was happening here. Remember this is still only water (steam) coming out of that nozzle. How can it now be a different colour? This blueness was not only a subjective illusion – the RGB values clearly confirm it – look at the third value (blue) relative to the two other (red and green).
Before you think this is an issue of white balance, take note that I manually set my Nikon D600 to have identical white balance in both photographs, calibrated in Adobe Lightroom to match the white LED light, visible in the background.
Now let's go on to the science of it. The first explanation that I could think of was that this had to have something to do with the size of the steam particles. Having studied physics, I remembered the sky being blue because of something called Rayleigh scattering, which occurs when blue light is selectively scattered more than other colours off molecules in the air.
If the steam particles were *really* small, they may behave in the same way that the Earth's atmosphere does. Rayleigh scattering occurs when the particles with which light interacts (the steam, in this case) are much smaller than the wavelength of light; typically less than 1/10 of the wavelength. However herein lies the problem:
- Visible light has a wavelength spanning the range of 0.4 μm (blue) to 0.7 μm (red).
- Mist and clouds contain relatively large water droplets (1 μm – 1000 μm, mean 15-20 μm). This does not cause Rayleigh scattering, but colour-neutral Mie scattering instead.
- Steam that is close to evaporation can have much smaller droplet sizes (0.2 μm – 1 μm).
However even this is still too large for Rayleigh scattering to occur, as 1/10 of the visible spectrum's wavelength is only about 0.05 μm.
- The effect of Rayleigh scattering is typically quite weak. One sees the blue sky because of the huge amount of air that comprises the atmosphere, but won't see the effect in a small volume of air. But our blue steam is rather spectacularly intense.
Only after googling this a bit did I come across the something called the Tyndall Effect. In principle the Tyndall effect is quite similar to Rayleigh scattering, but occurs for larger particles, i.e. particles that are approximately the same size as the light's wavelength. Much like Rayleigh scattering, the Tyndall effect preferentially scatters blue light. However, the effect is actually stronger than with Rayleigh scattering, and mathematically somewhat different.
Of course this effect can only work if there is some blue-wavelength light contained in the white light of the source. A friend asked me if LED light satisfies this requirement, as it isn't a natural continuous source like the sun. As it turns out, white LED light contains a large blue peak in its spectrum, which probably explains why the blue came out so strongly when I used my headlamp:
Because droplets of superheated steam from the espresso machine might be of a similar size than the wavelength of light, these droplets can exhibit the Tyndall effect.
Amazingly, Wikipedia says that this is also the reason why blue eyes are blue!
And with that, I surely learnt something amazing. Who knew that one could learn something about optical science from a coffee machine?


text:
It is difficult to write about someone whose work you love so much and question endlessly. Individuals like Shirin Neshat, Nan Goldin and Marina Abramovic steal your heart and soul, stretch your limit of core, and leave you empty – awestruck. They create magic, a poetry with their fragility and make you submit; make you pick your fragile self up to 'be'. When you wake up to your usual banal world everything seems petty, and you feel tiny in the grand narrative of life. That's the kind of impact I had when I stumbled upon Neshat's work in 2007. Since then I have been tracing her foot print left on the web and in the galleries to understand her journey. Her ontological positions were beautifully translated into her work which is bound to grow on a keen audience.
I see Shirin Neshat's 'Women of Allah' as a very personal narrative of 'homecoming'. This work emanated from her experience of return to Iran after twelve years. Meanwhile Islamic revolution (1978-79) happened, Iraq-Iran war (1980-88) happened, which she only witnessed on television. She returned to a very unfamiliar Iran. Neshat was born (in 1957) in Qazvin during the reign of Reza Shah Pahlavi. The Iran she remembered was a secular one. She mentioned in one of her interviews that her doctor father and mother were liberal, privileged and completely westernized who were losing touch with embroiling politics of differences. Despite of all her privileges she was sent to America for studies, when she was seventeen. Like rest of the upper middle class parents, her parents didn't find it safe to keep her at home. They were identified as a class enemy by the left and as well as Islamic clerics. While in USA, Neshat completed MFA from University of California, Barkley in 1982. She moved to New York and started to work at Store Front in 1983. She lived an uninspired life till she returned to Iran in 1990. It took her three years to process her reverse cultural shock and to create something meaningful out of it.
Shirin Neshat's first body of work 'Women of Allah' was created between 1993 and 1997. She directed, enacted and executed the series with the help of photographer Bahman Jalali (Iran) and Larry Barnes (USA). All these photos are in large format, 40 x 60 sizes. She chose photography as an art form to 'resolve personal dilemma'. The veil, the gun, the text and the gaze appears as the recurring theme of the series. Though her earlier work represented a mere emotional journey but soon it embodied the much needed politics. Her politics was less about documenting Iranian life rather about creating an artistic language which will talk about the complex politics in Iran. In her words, Neshat as an artist in exile chose to fight her battles in two fronts, one, critiquing the current regime; two, critiquing the perception of west regarding Iran and rest of the Muslim world. Hence, the unabashed, confident and straight gaze of 'Women in Allah' unsettles the audience. The black Chador clad women, dark kohl outlined eye tells not a story of oppression as 'West' would like it but of regimented bodies, of determined warriors and their heroic act. Women in Neshat's work are used as metaphor and metonym of nation, who are not embracing the gun, a phallic symbol of power mindlessly. Their militant femininity, sexual entity transcends Persian to Islamic Iran, a fateful journey that had to be made, a transformation that had to be embodied as a nation. Evoking the memory of Fatima, Prophet Muhammad SWA's daughter, Zainab his granddaughter in Qurbala, Prophet's defender Nusaiba in Uhud battle field, juxtaposing it to the poetry of contemporary women writers of Iran in calligraphy, Neshat pays her due to her predecessors. She portrays women at an intersection of martyrdom, faith, crime and cruelty.
The binary of black and white, East and West, inner-outer, male and female dominated her work substantially. Neshat makes her transition from photography to video installations through 'Turbulent'. This piece addressed the gender difference in Iran, specifically, the absence of female singer in public scene. It was designed as two channel projection; both screens were installed facing each other. One screen showing the performance of a public man, a singer performing (performed by Shoja Azari and sang by Shahram Nazeri) traditional Sufi song in front of auditorium full of men (showing his back, as if leading a mass in prayer), all dressed in white. In another screen Sussan Deyhim presenting a beautifully haunting and unique soundscape facing the empty auditorium, dressed in Black. Stationary camera for man and a panning camera for woman respectively represent the stagnancy in tradition/men where women representing the potential of dynamism, embodying changes. Neshat's 'Rapture' and 'Fervor' are two other installations of trilogy which deals with the issue of gender differenc in Islamic Iran.
'Soliloquy', 'Passage', 'Tooba', 'The Last Word', 'Games of desire' and 'Women without Men' represents fragments of Shirin Neshat's journey as an artist. In 'Soliloquy' she makes herself the subject of inquiry where she examines the oppositions of east and west, traditional and modern, history and memory, islam and Christianity and how these oppositions contours her entity. In her work men are represented as voice of power, where women are constantly searching their way to freedom collectively, as well as individually. Through her ambivalent visual poetry she builds a bridge between power and fragility without asserting it to a particular group. Her first feature film 'Women without Men' (based on magic realist novel by Shahrnush Parsipur) provides ambivalence a whole new meaning. This film is about four women and their parallel lives who witnessed the British-American-Israeli led coup in Iran toppling democratically elected president Mossadegh. This political piece brings in erotic in a dispassionate manner; these women desired to transcend and leave behind the social, cultural and sexual oppression and eventually reached a secret sanctuary of peace and solace.
In Abramovic letter to Neshat she mentioned both of them as 'a nomad of Post modern kind'. Perhaps she is right. Being uprooted from her land Neshat has been looking for a space which she could claim as her own. Having a family and workspace in New York did not automatically translate into home for a wanderer like Neshat. She may be away but Iran doesn't leave her. It resides very much within her. Through her work she expressed her longing. She embeds herself into a difficult conversation between her memory and Iran's history. Embattled by the experience of Iran she lived in, and Iran she returns to made her create a surreal space which can only exist in her art.
This year's Chobi Mela is going to bring 'Turbulent' for the first time in Bangladesh. A day we all have been waiting for.
Links to some of her interviews and work:
- http://www.thirdspace.ca/journal/article/viewArticle/cichocki/161#4
- http://www.artinamericamagazine.com/features/shirin-neshat
- http://www.domusweb.it/en/art/interview-to-shirin-neshat/
- http://bombsite.com/issues/73/articles/2332
- http://www.artinamericamagazine.com/features/shirin-neshat
- https://www.youtube.com/watch?v=pySIgzyDvKk
I am indebted to Nurul H. Rashid for our years of conversation regarding Shirin Neshat, and her invaluable gift – a complete work titled 'Shirin Neshat' edited by Arthur C. Danto and Marina Abramovic. She has been constant source of encouragement in my writing, a partner in crime with whom I watched 'Women without Men'. Thanks to Munem Wasif for sharing the same passion and make me write about Neshat; And Imtiaz Ilahi for being the enabler and accompanying me to the galleries everywhere to find her.


text:
According to an October 22nd Variety report, David Milch said he'd already begun work on the script for the first telepic, which he is aiming to have shot in time for a premiere next summer. The bottom line is that Deadwood fans will have to wait until next summer to get their final four-hour Deadwood fix. Visit Savedeadwood.net for more information on the progress of the telepics as well as updates on the current projects of many Deadwood stars.
No Comments »
No comments yet.
RSS feed for comments on this post.