I noticed the other day that rather than becoming easier, corporate communications have become significantly harder. The dream has always been one universal way to contact people and share information that allows everyone who needs it to get it, while maintaining corporate security. Instead of creating this, we’ve ended up with a Tower of Babel in which we are forced to seek out and actively watch numerous applications.
For example, on any given day these sites/apps/programs for Corporate Communications
The Slack Channel for my local dev team
The Slack Channel for my global dev team
Skype to converse with a specific team in India
What’s App for management discussions
Google Hangouts to interact with the Customer Support Team in India
Text from a handful of management types who don’t like any of the previous options
There are more that I use less frequently. My point is that rather than simplifying communications over time, we’ve complicated them, and in doing so, increased the likelihood that important messages will be missed.
The problem is that rather than committing to that one “killer app” which has failed to materialize, we’ve Balkanized our communications and compartmentalized our information.
What’s needed? I’d say that one “killer app”, but time has shown that’s not the solution. Better, we need to be smarter about what we use. While it’s nice to let teams choose their apps to help facilitate communications that will work for them, we need to remember that we can also be creating barriers within our organization.
The solution comes down to people making better decisions. We all need to collectively stop asking “can we” and think more in terms of “should we.”
Nearly two years ago I wrote about the pain in the a$$ that is wireless printers. They’re still a pain, but I thought I’d share a little trick that I’ve found that makes them a whole lot less bothersome: configuring a static IP address for them.
HP has a decent video on how to manually setup a static IP address for your printer which you can see here. On many of their newer printers, if you go to the web page for the printer (it’s current IP address), it’s even easier than that, you just find the link for “create a static IP address for printer”, click it, and it will do it all for you.
For other printers, Google “configure static IP address <your printer model here>”.
The static IP address will keep you from losing contact with the printer every time the power goes out or the router is restarted. Thus you spend much less time getting the printer to work.
Oh that this trick fixed the printer cartridge problems as well!
Over the past couple months I’ve had a customer with on going issues. The biggest single issue was the site was slow to respond in the afternoon. The site is built on WordPress, and this was a nationally known WordPress hosting company.
Whenever we asked them about the issue, we got the standard response that it was due to “your code”. However, they could not point to a simple example. We’re talking about the site taking 10-15 seconds to respond during peak business hours. My customer wasn’t sure who to believe.
The symptom was clear: the shared server was likely overloaded. I looked at the error logs in cPanel and I could see they were hosting a whole lot of domains on the server, and that there were a lot of scripted attacks going on across the spectrum of sites that were hosted there. The same external script hitting site after site after site…
Honestly I did everything in my power to make the site function fast. I cached the heck out of it, minified the css and script files, etc. using W3 Total Cache.
The hosting company continued to argue the problem was code alone. However there was one telling fact: they refused to tell us what the Server Load Average was. Dead give away right there. They either weren’t even looking at the server, or they knew they had a problem.
Their entire hosting service got the blues two weeks ago when “something” happened and they were down for the better part of a day. A major hosting company down for a the better part of a day! So my customer decided it was time to move.
The new server, another shared box, at 1and1.com (I am not recommending them, but I do use them for many things) immediately proved my case; site response improved to 1.5 seconds per page load. Not bad, and in that case, I had not even turned on caching!
The short version is this: hosting companies are a dime a dozen. If you think you’ve got a slow server and the hosting company isn’t doing anything, move. It may be the only way to prove you’re not the problem.
Preface: I’ve done some small amount of work with big data, and have a general understanding of how it works. I haven’t really seen a decent breakdown of what is happening, and felt it necessary to share.
Over the past decade, Business Intelligence has really come into vogue. Companies all have many large and often unconnected databases, full of information about their customers. Thus is makes sense that they’d want to find ways to connect this data together, to reach across systems to enable them to literally mine the value of their data, allowing them to better understand not only their customers, but the nature of their businesses.
Business intelligence (BI) is a set of theories, methodologies, processes, architectures, and technologies that transform raw data into meaningful and useful information for business purposes. BI can handle large amounts of information to help identify and develop new opportunities. Making use of new opportunities and implementing an effective strategy can provide a competitive market advantage and long-term stability.
Here is a great, fairly short IBM animation on Big Data. While you listen, consider the implications of applying such strategies to ALL data…for political purposes.
So the other day, I was talking with another engineer and system architect and mentioned that the government was storing all the data from the license plate scanners in police cars. He looked back and me and said “Of course they are…if you designed the system, you’d be storing the data too…” and he was right. I would.
Okay, so let’s look at the data that our government has admitted they are already grabbing:
Okay, that’s a pretty major intrusion on our privacy to begin with. But we can also safely assume the following is being stored:
Location data from traffic cams
Tax data (they already have it, so why not pull it into their profile, along with all employment related documents)
The actual cell phone call itself (the NSA maintains they don’t listen, but they do save them, so they can listen later if they want) – Daily KOS
Immigration records (trips out of the country)
Travel records (trips inside the country via airlines)
Location data via your EasyPass – the time and date of every trip through the tolls you take.
Now, just for laughs let’s consider a couple other bits of information they very well might consider mining:
Supermarket advantage cards – that would tell them what you eat, what brand of deodorant you use, the works.
Drug store advantage cards – that give them every type of medication you buy, prescription or over the counter(Of course, they won’t need this for long…).
That, my friends, is a crap ton of data. None of it comes from a warrant, and that’s all without out even the slightest presumption that you’ve done anything wrong. I’m no lawyer, but I am certain that violates the constitution in both deed and spirit. And when Obamacare kicks in, that will most likely give them access to all of our health records, right down to our DNA profile.
So why are they collecting it, you ask? The reason is this: large scale data analysis relies on having the most possible data points to provide comprehensive profiles.
This is a great way for our government to identify possible miscreants before they’ve offended. However, its not illegal in the US to fit a profile for a potential offender.
For my progressive friends, let me put that into context: how would you feel if President Cheney was using the incredible power of the federal government to selectively target Harry Reid, George Soros and MoveOn?
Worse yet, our government isn’t just doing this to our citizens, they are apparently doing the same throughout the rest of the world.
As Americans, we need to stand up and put an end to this. It is intolerable that our government is running rough shod over privacy, the Constitution and our general sensibilities. Our forefathers fought against this sort of tyranny, and it begins to look more and more as though we will need to fight that fight as well.
As Edmund Burke said:
“All tyranny needs to gain a foothold is for people of good conscience to remain silent.”
Security experts are warning about a large botnet attacking WordPress sites using brute force attempts to break passwords. It is important to note that WordPress is not insecure. It is, however, a big target with a massive number of sites installed, many of which were installed by morons who use things like “God123” as their password. Do yourself a favor, protect your WordPress site from brute force attacks – hire a professional to install it or at least to run a security audit on it. If your site is hacked, email me and I can help you get it back. Here is a list of things you can do right now to keep your site safe.
We’ve got another fairly interesting release from WordPress on the way – 3.6. From Mark Jaquith’s post on features:
Post Formats: Post Formats now have their own UI, and theme authors have access to templating functions to access the structured data.
Twenty Thirteen: We’re shipping this year’s default theme in our first release of the year. Twenty Thirteen is an opinionated, color-rich, blog-centric theme that makes full use of the new Post Formats support.
Audio/Video: You can embed audio and video files into your posts without relying on a plugin or a third party media hosting service.
Autosave: Posts are now autosaved locally. If your browser crashes, your computer dies, or the server goes offline as you’re saving, you won’t lose the your post.
Post Locking: See when someone is currently editing a post, and kick them out of it if they fall asleep at the keyboard.
Nav Menus: Nav menus have been simplified with an accordion-based UI, and a separate tab for bulk-assigning menus to locations.
Revisions: The all-new revisions UI features avatars, a slider that “scrubs” through history, and two-slider range comparisons.
All good features. However I would suggest that it’s time for WordPress to address the one major feature of a CMS that they have woefully ignored: Workflow.
At it’s basic level, Workflow is the movement of information or tasks through a work process. In our case, it’s content as it moves through the WordPress system. This might be as simple as the blogger opening the editor, writing his content, adding a couple pictures, and then clicking publish; essentially three workflow steps. In a larger media organization, that general process becomes much more involved as more people perform separate and distinct tasks. The workflow might look more like:
Editor assigns story and deadline
Writer researches story
Writer writes story
Writer archives story research items (not for publication but as resources that may be used later)
Copy editor edits story
Photographer takes photos,
Photo editor edits photos
Editor (or someone) adds photos to story
So our simple task now involves 5 people at least, as well as spanning 8 distinct workflow steps. Now realize there may be several cases of back and forth, for example., the editor sends the story back to the writer for rewrite, or the photo editor realizes they need another photo, etc. Similarly, these same people are each involved in multiple workflows at the same time.
How do we keep it all straight?
Basically, we’d need a way to provide a “To Do” list for each of the members of our team. The items on that list all might have separate deadlines, which would then allow our editor to see the progress of the story, as well as adequately budget time for the various resources. Obviously your photographer isn’t going to be at two ends of the county at once…thus the editor is able to “budget” his resources. Now extrapolate that to including not just your human resources, but perhaps your equipment. Perhaps you’ve got two events your covering and you want to film both with your Red Camera. Problem is that you’ve only got the one, and the events are both at the same time.
For your human resources, they are able to get notifications when something is ready for them. In the newspaper world, a copy editor would see the article appear in his “queue” (his task list) and then he’d proceed to edit it. This article might be assigned specifically to him, or perhaps it might be generically assigned to someone with the role “copy editor”.
Perhaps this system also enables us to get notifications on things. Such as impending (or worse yet, passed) deadlines. Or new work that needs to be done. And maybe that notification is can be made at several levels of urgency. Level one just sends an email, whereas level 4 alerts you via sms, email, tweet, and probably also warns the editor to something such as a missed deadline.
…And then, magic happens.
So let’s think about those steps in our workflow again. We’re assuming that all of these steps are human steps. They probably aren’t. You might have videos uploaded to the system, and perhaps once they have been edited, you have an automated step that sends then through a program (which isn’t part of WordPress) to convert them to various formats. Or maybe you have a program that extracts keywords from a post and creates a summary post that gets automatically tweeted out. Simple stuff…but important.
So that is sort of what I’d like to see. In it’s core, WordPress works well as a CMS, but the management of people and work is sorely missing. Yes, it is possible to cobble much of this together, but in my mind, there is no reason not to provide it in the system itself. Many of us would be working much more efficiently and the system would certainly get much more acceptance as a real CMS for Media and Enterprise.
(If you’re interested in how you can setup a system with this level of functionality let me know – I’ve already got some of this working right now)
WordPress technology is ill-fitted to power hotel websites’ content management systems and is only adequate as a blogging technology.
Hmmm…that’s a pretty serious allegation. So I read on. The crux of his argument was that a WordPress system can be hacked using the technique described in the post contained in this article. So where is the fatal flaw? Apparently if a user creates an insecure password, the system can be breached by blunt force.
Blunt force. Right. So if you were to ignore WordPress’ own warnings that your password was not strong, you might be hackable. This is not a system problem, it is a user problem. It is in fact a problem inherent in computing in general and in any system which uses passwords.
Read on further and you’ll find the co-writers of this article have designed their own hotel content management system. I’m going to guess that they don’t use passwords though, since those would be insecure. But I will venture a guess without looking at their system: it is neither open source, nor are there millions of users who are trained and ready to work in the system.
I could continue ripping their post apart, but on further reading, it is an obvious attempt to get some Google juice for their site. They are simply not worth it. If you have a hotel and want a simple, easy to use, and effective hotel website, drop me a line and I’ll get you set up for a fraction of what they’d charge you. In the long run, you’ll be better off.
Often the biggest threats come not from without, but from within.
There’s a big issue looming for web and mobile developers, and if it happens, it will affect virtually everyone that uses the web. The problem is that a very large proportion of database driven websites and applications (think of the stuff on your phone) is built using a MySQL database. We developers used that particular database, in general, because it was free, and most websites can’t afford the license cost of Microsoft SQL (think $5k a server or more) or, even worse, Oracle (think$10k a processor per server).
Everything was fine until one day, Sun bought MySQL. That worried us, but then our fears compounded when about a year later, Oracle bough Sun. The web’s most important Open Source database was in the hands of the company that sells it’s huge enterprise big brother. The guys that make huge dollars selling databases for big bucks.
We shuddered. Obviously the move was worthy of Standard Oil in it’s heyday, one summed up in the single word: monopoly. Meanwhile the Oracle PR team went into overdrive telling us it simply wasn’t true.
Oracle is holding back test cases in the latest release of MySQL. It’s a move that has all the markings of the company’s continued efforts to further close up the open source software and alienate the MySQL developer community.
The issue stems back to a recent discovery that the latest MySQL release has bug fixes but without a single one having any test cases associated with it. That creates all sorts of problems for developers who have no assurance that the problem is actually fixed.
Open source software relies on transparency. As consumers (meaning site owners, business owners, etc.) we need to know what is going on with the code. What changed, what is going to change, etc.
There is simply too much invested in MySQL by too many of us. A large portion of the online economy is built on MySQL; sites like Wikipedia, American Airlines, TicketMaster,
Zapphos, etc. MySQL is the database of the Internet.
Deep down, even with $$$$ invested in MySQL, we’ve got to worry that Oracle has a strong vested interest in seeing MySQL go away. After all, when you own the most expensive of enterprise databases, you’re view towards “open and free” is going to be dark and black.
Is this then end? No. However this is a situation which potentially could affect all of us, and bears close watching.
I’ve started blogging on my new company site – http://cahilldigital.com so you will definitely want to add that to your reading list. My last post was about Responsive Design, Retina Displays and their importance in new site development. The title is “Welcome to Retina-stan.”
Meanwhile in the present day, designers have to deal with a web that requires a “responsive” design – on that by using media queries will present the appropriate css 3 styles to a browser, be it on a phone, tablet, laptop or whatever. Essentially, we’ve created a variable driven CSS; one of the things we realized virtually from the outset of CSS that was missing. Say good bye to those funky old conditional comments calls that allowed use to work around that failing.
Now we have retinal displays, which unlike the phones and tablets that require different widths and sizes, actually changes the pixel density of the images and fonts that are presented. It’s all pretty cool, but honestly, its also more work if you want to do it right.
As usual, a post packed full of useful development goodness, but also important for small business owners. Check it out at CahillDigital.com
I found myself with a sudden need for new laptop last week. Not something I was really looking forward too, as I had a perfectly fine Dell MP4500 in my grasp up until last Friday afternoon.
Initially I thought I might make do with the HP G7 – exactly the same machine I picked up for my mother last month. 17.3″ screen, AMD A6 processor, 4 meg of ram and a nice price tag at $429.00 on special at BestBuy.
I forgot that I’m not like other users. I do development work and I hit my processor rather hard most of the time. This isn’t simply a media delivery machine for me, it’s my livelihood. I have a need for speed, and it’s not just so I can dodge zombies in Call of Duty.
So as I started setting the machine up, I was beginning to notice software like Eclipse was REALLY slow. It became apparent almost immediately that I wasn’t going to be able to live with it. So I started doing research. I knew I didn’t have a boatload of drachmas to sweeten the pot with. I was really going to need 8mb of ram, and the fastest processor I could get.
“Almost as good” is kissing your sister – its a euphemism for not good enough. I started searching for the 3rd Gen I7 and found luckily it had just hit the market and BestBuy had a Toshiba P855 with the beast on sale right in my price range.
I had to give up on the big screen, which comes in handy for members of the bifocal set such as myself. What I got for my money was an etched aluminum case that is seriously rugged, a nice Harmon Kardon audio system (they bill this thing as a media machine, so audio is de rigeur), and the memory/processor combination I needed.
I haven’t run any hardcore tests on it yet, but I can tell you Eclipse loads at least three times faster than it did on the Dell.
A few general observations:
Added bonus, and frankly the biggest surprise: no bloatware. Not a bit, unless you include the Norton Anti-virus they preloaded, but really, they’ve got to provide some form of anti-virus. The HP would have taken me an hour to uninstall the bloatware – if I hadn’t out of the gate decided on a full clean install of Windows 7.
Chiclet keys – not as much of a problem as I was expecting. I tend to bank the board hard and this was a huge concern.
HDMI output to an HD monitor rocks
The power brick gets hot. REALLY hot…to the point that I will most likely replace it someday soon.
The machine itself doesn’t seem to throw that much heat. The Dell was hot enough to make popcorn, and it pump the air out on the left side, which is where I keep my external mouse. In the winter, nice and warm on the hand. In the summer, not so much fun.
They ship it with the battery in – and the reviews I read attribute this to a number of battery failures in new machines. Seems like a rather foolish mistake.
The lowdown: if you need a media delivery machine, to handle some emails and maybe manage your checkbook, go with the HP G7 (and do a fresh install of Win7). If you want kick ass processing power and a laptop case you can bang nails with, go with the Toshiba P855-S5200.