Monday, February 7, 2011

BlueWolf Spam

Bluewolf does "Agile Business Transformation" -- whatever that means.

Don't do business with them.

They also spam people. For myself, their spamming has gotten tiresome enough that I decided to post about it.

My favorite spam was their first one. It was last October. The title was "Meeting Monday".


From: Richard Coates
Subject: Meeting-Monday

Hi Joel,

My Senior Director, Anna Wright, asked me to reach out to you as she is hoping to come introduce herself to you as she is new to your account and have not had the pleasure to meet you yet! Are you in your office on Monday the 25th? Around 2:30pm?

As I am sure that you know, Bluewolf is an IT consulting firm, focusing on staff augmentation, IT contract needs, remote DBA work, on-demand consulting and many other IT solutions.
We hope to build a relationship with Alpihand expand our already large footprint in the Bay area!

How about Monday the 25th at 2:30pm?

Look forward to hearing from you Joel .

Richard
Richard Coates I Inside Sales Account Manager - San Francisco I Bluewolf.com I 415.692.4139
Bluewolf Celebrates a Decade of Success

Thinking about migrating your infrastructure to the Cloud?
Ask me about Bluewolf Cloud Transformations Solutions[http://ssl.salesforce.com/servlet/servlet.ImageServer?oid=00D00000000hiRf&esid=01800000003owgM]


It's curiously forward because they're actually going so far as to suggest a time to meet.

I understand that it's hard to get your product out there. But spamming me isn't going to help you. It just shows you're not a very good netizen.

I did my normal "Please tell me how you were referred to me, and I'd be happy to talk to you more." and got this

You know, I'm not entirely sure where your information came from. Your contact information was already present in our CRM system. Maybe a friend referred you to us and that's how you got there, but I'm not entirely sure? Sorry I don't have more specific information.


Which is completely lame. So I told them I wasn't interested in talking to them based on a cold call without any references and to please not contact me again.

I thought we were done.

But then later that month I got this.


From: Tim Johnson
Subject: Quick Question

Hi Joel,

I hope all has been well.

To refresh your memory, Bluewolf specializes in hard to find IT resources in the Bay Area.

I wanted to let you know that we are offering a free 3 day trial period for any Bluewolf contract consultant hired in the month of November. We also will reduce our perm placement fee to 15% from 25%.

Do you currently have any needs that may require a consultant? Are you having a hard time finding the perfect full time employee?


Please let me know....I would be happy to help.

Thanks,

Tim


This is cute because he hopes everything is well. Everything would be better if BlueWolf didn't feel the need to spam people.

How do they specialize in the Bay Area when the company is clearly in NYC?

Then randomly I get a hit in January from yet another sales rep.


From: "Allen K. Cheon"
Subject: Need some extra help?

Hi Joel,

Hope you enjoyed your weekend!

Just wanted to check in to see if there were any new projects on your plate since we last spoke. Let me know if you need any additional hands.

I'm always happy to help find contract, contract to hire, or permanent candidates for you.

Hope all is well!

Best,

Allen

____________________________________________________________________
Allen K. Cheon I Account Manager I Bluewolf.com I 415 692 4392
Bluewolf Celebrates a Decade of Success


This guy also hopes things are well, but now this brand new person whom I've never ever spoken to is casual enough to talk to me about my weekend. How friendly!

They must have a lot of turnover in the cold call sales department. They can't even keep the same rep on my account for a few months. Maybe they should look to Bluewolf for some placement services. Hah.

But he's back in February. So he must be a good one.


From: "Allen K. Cheon"
Subject: Remote DBA Inquiry

Joel,

I hope this email finds you well.

To refresh your memory, Bluewolf is the largest and fastest growing provider of on-shore, Remote Database Administration services in North America.

The advantages are simple:

1. Saving clients 40%-60% on operating costs
2. 24x7x365 Proactive and reactive support for Oracle, SQL, MySQL 3. 100% On-Shore DBA's
4. Dedicated Primary DBA
5. Fixed Monthly Fee (regardless of hours worked)
6. Fortune 1000 Clients (NYSE, Heineken, Polo, Toys"R'Us)
7. Also offer remote SysAdmin

If you are interested in learning more, would you have a few minutes next Monday around 10AM? Or simply feel free to give me a call.

Best Regards,

Allen

____________________________________________________________________
Allen K. Cheon I Account Manager I Bluewolf.com I 415 692 4392
Bluewolf Celebrates a Decade of Success


And now they're playing the Monday am meeting game again.

So we've come full circle.

Should I arrange for a meeting and then no-show just to waste their time?

Nah. That would be stooping to their level.

Wednesday, January 19, 2011

Nginx / HAProxy / Varnish

I've spent a bit of time trying to come up with a clean stack of Nginx, HAProxy and Varnish based on this Server Fault question..

Here's what I've come up with... Comments?

Note: 'FOO's have been added to obfuscate.


#--------------------------------------------------------------------------------
# Nginx Config - SSL Termination
# TODO: Consider patched stunnel
# /etc/nginx/sites-enabled/default

# HTTPS server used to passthough to HAProxy
server {
listen 443;

ssl on;
ssl_certificate /etc/ssl/FOO.crt;
ssl_certificate_key /etc/ssl/FOO.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;

# HAProxy pass through
location / {
proxy_pass http://127.0.0.1/;
proxy_redirect http://127.0.0.1/ http://$host:$server_port/;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

# Health Check gif
location = /1x1.gif {
empty_gif;
}
}




#--------------------------------------------------------------------------------
# HAProxy Config - Load Balancing
# /etc/haproxy/haproxy.cfg

global
daemon
log 127.0.0.1 local1 notice
maxconn 4096
user haproxy
group haproxy
spread-checks 50

defaults
balance roundrobin
log global
mode http
option httplog
option forwardfor
timeout client 5000
option http-server-close
retries 3
contimeout 5000
clitimeout 50000
srvtimeout 50000
stats enable
stats refresh 300s
stats uri /STATSFOOURL
stats auth USERNAMEFOO:PASSWORDFOO

frontend Incoming
bind :80
default_backend live_pool

########################################
# Map to alternate backends

# QA Matching on server name
acl qa hdr_dom(host) -i qa
use_backend qa_pool if qa

# Staging Matching on server name
acl staging hdr_dom(host) -i staging
use_backend staging_pool if staging

# Static Content Matching on URL path
acl static path_beg /FOOversionFOO/
use_backend varnish_cache if static


backend live_pool
server live-app-01:8080 live-app-01:8080 cookie a0 check inter 3000 rise 2 fall 3 maxconn 255
server live-app-01:8081 live-app-01:8081 cookie a1 check inter 3000 rise 2 fall 3 maxconn 255
# Healthcheck URL
option httpchk GET /areyoureadyeddie
# Haproxy status page
stats admin if TRUE

backend qa_pool
server qa-app:9090 qa-app:9090 cookie a0 check inter 3000 rise 2 fall 3 maxconn 255
server qa-app:9091 qa-app:9091 cookie a1 check inter 3000 rise 2 fall 3 maxconn 255
# Healthcheck URL
option httpchk GET /areyoureadyeddie
# Haproxy status page
stats admin if TRUE

backend staging_pool
server staging-app:9090 staging-app:9090 cookie a0 check inter 3000 rise 2 fall 3 maxconn 255
server staging-app:9091 staging-app:9091 cookie a1 check inter 3000 rise 2 fall 3 maxconn 255
# Healthcheck URL
option httpchk GET /areyoureadyeddie
# Haproxy status page
stats admin if TRUE

# Local varnish cache
backend thoughts_varnish_cache
server localhost localhost:6081 check inter 3s
option httpchk GET /FOO/cached/test.png




#--------------------------------------------------------------------------------
# Varnish Config - Caching (set your expires headers correctly and use versioned URLs)
# /etc/varnish/default.vcl

# Backend server
# TODO: get a director pool working
backend default {
.host = "live-app-01";
.port = "8080";
}

# Unset any cookies and autorization data for static links and icons, and fetch from cache
sub vcl_recv {
if (req.request == "GET" && req.url ~ "^/FOOversionFOO/") {
unset req.http.cookie;
unset req.http.Authorization;
return(lookup);
}
}

# Add some header hints to show varnish performance
sub vcl_deliver {
set resp.http.X-Served-By = server.hostname;
if (obj.hits > 0) {
set resp.http.X-Cache = "HIT";
set resp.http.X-Cache-Hits = obj.hits;
} else {
set resp.http.X-Cache = "MISS";
}
return(deliver);
}

Wednesday, January 12, 2011

Fixing Apple Push Notification Service - Entrust Cert - Ubuntu Servers

If your iPhone app's push notifications are broken you were probably hit by the expiring Entrust certificate file.

You shouldn't need to generate a new pem file, all you need to do is make sure your system has an updated crt file.

On most Ubuntu systems the file that needs to be updated is in the /usr/share/ca-certificates/mozilla directory.

/etc/ssl/certs is full of symlinks -- most of them pointing to that directory.

So archive your old 2048-bit certificate.



mv /usr/share/ca-certificates/mozilla/Entrust.net_Premium_2048_Secure_Server_CA.crt /usr/share/ca-certificates/mozilla/Entrust.net_Premium_2048_Secure_Server_CA.crt.expired


And pull down the updated file.


wget -O /usr/share/ca-certificates/mozilla/Entrust.net_Premium_2048_Secure_Server_CA.crt
https://www.entrust.net/downloads/binary/entrust_2048_ca.cer
--no-check-certificate


That should get your notifications flowing again.