TextMate had better start waking up.
just some more awesome
TextMate had better start waking up.
Searching the Command HistoryOne of the greatest features of the bash shell is command history, which makes it easy to navigate through past commands by navigating up and down through your history with the up and down arrow keys. This is fine if the command you want to repeat is within the last 10–20 commands you executed, but it becomes tedious when the command is 75–100 commands back in your history.
To speed things up, you can search interactively through your command history by pressing Ctrl-R. After doing this, your prompt changes to:
(reverse-i-search)`':
Start typing a few letters of the command you're looking for, and bash shows you the most recent command that contains the string you've typed so far. What you type is shown between the ` and ' in the prompt. In the example below, I typed in htt:
(reverse-i-search)`htt': rpm -ql $(rpm -qa | grep httpd)
This shows that the most recent command I typed containing the string htt is:
rpm -ql $(rpm -qa | grep httpd)
To execute that command again, I can press Enter. If I want to edit it, I can press the left or right arrow key. This places the command on the command line at a normal prompt, and I now can edit it as if I just typed it in. This can be a real time saver for commands with a lot of arguments that are far back in the command history.
This tendency to look for individual goats – and heroes – isn’t just a problem that permeates the world of sports. It is reflected in many misguided ideologies and management practices, which focus excessive energy on hiring stars and weeding-out mediocre and poor performers, and insufficient energy on building a great system that enables most competent people to succeed.
6. Purdue: Matt Painter has the squad to compete with Michigan State, led by one of the most improved players in the country the past two years in JaJuan Johnson. Robbie Hummel should be healthy and the Boilermakers are now a serious player in the Big Ten and nationally.
What people wished they'd paid more attention to when choosing cofounders was character and commitment, not ability.
Just how important is this release? Well, Twitter has beta tested this release and they’re reporting roughly 30% improvement in throughput. Keep reading to learn more and follow us on @phusion_nl for the latest updates.
If you lead a group that allows anyone to join, for free, your group might be large, but it's not tight, it's not organized to make important change. Commitment slows things down in the short run, but ultimately aligns interests.
Lasers sweep the surroundings and when they detect a CCD, they fire a bolt of light right at the camera to obliterate any photograph.
via wired.comToo bad Chelsea can't win titles as well as Roman can zap photos.
Titles are mostly bullshit at the best of times, but “vice president” seems to be bullshit all the time.
Is it sad that I have purchased two Snuggies?
Is it even sadder that, in retrospect, I think the Ice Cream Glove is a more useful item?
Evernote, says they are generating about $79,000/month in revenue. Then the article goes on to say “By January 2011, Mr. Libin projects, the company will break even.”
$79,000/month and they won’t break even until January 2011. So every day they’re losing money until 2011. And the title of the piece is “Using ‘Free’ to Turn a Profit”. What? How can the Times let a headline like this slide?
What?! It costs Evernote more than $79K a month to operate? To most people, outside of the technology industry, Evernote is an unknown product.
It’s Snow Leopard day zero, so of course I had to upgrade. All in all, everything is great. (Especially the multiple monitor window migration fix!)
But the #1 thing that annoys me about all OS X releases in the colors in Terminal.app. They’re pretty much unusable on a dark background (especially the blue). For some time, there have been hacks to fix the problem. Well of course these hacks didn’t work on 10.6 anymore.
Never one to shy away from the problem, I dove in. And we have success!
Here’s how to make it work:
- Find Terminal.app in Finder (/Applications/Utilities), right click, “Get Info”
- There is a checkbox “Open in 32-bit mode”, Check it!
- Install SIMBL. Plugsuit was installed on my machine before, it freaks out because of the 10.6 changes. SIMBL silently just works or doesn’t.
- Get My updated TerminalColours SIMBL plugin. See the original post for details on how to install it.
- Restart Terminal.app
- Enjoy your readable colors!
This works because InputManagers still work in 32bit mode, but not 64bit mode. So by forcing Terminal.app to run in 32bit mode, SIMBL can still hook in. I just had to update TerminalColours to swizzle a new method that 10.6 uses to pick colors.
Hope you enjoy!
You will need to do this if you are using the ir_black Terminal and Vim theme on Snow Leopard.
"Here's how you clean a toilet," he said.
And he got down on his knees in front of the porcelain bowl -- in his pressed-starched-spotless dress uniform -- and scrubbed it with his bare hands until it shined.
To a 19-year-old assigned to clean toilets, which is almost by definition the worst possible job in the world, the sight of this high-ranking, 38-year-old, manicured, pampered disciplinary officer cleaning a toilet was a shock. And it completely reset my attitude. If he can clean a toilet, I can clean a toilet, I thought. There's nothing wrong with cleaning toilets. My loyalty and inspiration from that moment on were unflagging. Now that's leadership.
"I am proud today to introduce to those who really, truly deserve it, our most incredible iPhone yet," announced Apple CEO Steve Jobs, extending his seemingly empty left palm toward the eagerly awaiting crowd. "Not only is this our lightest and slimmest model ever, but as any truly savvy Apple customer can clearly see, it's also the most handsome product we've ever designed."
This is like riding a bike in wheelie mode all the time.
Vim is in. TextMate is out.
Here are my dot files and vim settings.
http://github.com/fredlee/mydotfiles/tree/master
Feel free to use these for the good of all people.
Some highlights:
$18M Being Spent to Redesign Recovery.gov Web Site
What?! Who is doing this for them? Even at crazy high rates, this number is is nuts.
($200/hour)(40 hours/1 week)(52 weeks/1 year) = $416,000/year
5 year long project.
($416,000/year)*5 years = $2,080,000 (we still have not spent $18 million)
It is going to take about 8.5 people, 5 years at the cost of $18 million to "redesign" a web site? Forget "redesign". Let say they are actually going to "redo" the website. Sounds like that SOW was a winner.
I am sort of disappointed in this. I really thought he just had crazy calf muscles.
The real reason to actively distrust ROI projections is the other side of the equation: Most IT shops are punting when it comes to capturing the true cost of the investment. The reason is that almost half of the cost of new IT projects is labor and the only way to accurately measure labor costs is through time sheets. According to research by the Corporate Executive Board, fewer than 30% of the largest IT shops in the world have effective time-tracking capabilities.
For the remaining 70%, conventional wisdom indicates that "guesstimation" is okay—after all, labor costs are being measured in toto, so the overall portfolio cost appears right. However, this approach ignores the benefits of understanding project-level costs. Those costs inform portfolio prioritization, become the foundation for resource estimation and productivity improvements, underpin outsourcing initiatives, allow leadership to understand capacity peaks and valleys across the organization, and are the currency of the right conversation with individual business sponsors.
IT leaders looking to construct believable ROI metrics should not underestimate the value of time sheets and can follow these lessons to maximize their measurement potential:
• Make sure staff are convinced that the time sheets are not an attempt to micromanage activities. They must be motivated to hit utilization targets.
• Project managers should check in with their staff on a weekly basis to ensure that they are allocating their time to the appropriate project codes. In addition, codes must have caps on them to ensure projects are not being billed to in error.
• Loop in HR and compliance in advance in order to proactively manage staff overtime hours worked.
There's a mess I've heard about with quite a few projects recently. It works out like this:
- They want to use an agile process, and pick Scrum
- They adopt the Scrum practices, and maybe even the principles
- After a while progress is slow because the code base is a mess
What's happened is that they haven't paid enough attention to the internal quality of their software. If you make that mistake you'll soon find your productivity dragged down because it's much harder to add new features than you'd like. You've taken on a crippling TechnicalDebt and your scrum has gone weak at the knees. (And if you've been in a real scrum, you'll know that's a Bad Thing.)
I've mentioned Scrum because when we see this problem, Scrum seems to be particularly common as the nominative process the team is following. For many people, this situation is exacerbated by Scrum because Scrum is process that's centered on project management techniques and deliberately omits any technical practices, in contrast to (for example) Extreme Programming.
In my keynote I attempted to show the historical trajectory that has led to the emergence of the software craftsmanship movement. My argument was that since the business practices of SCRUM have been widely adopted, and since teams who follow those practices but do not follow the technical practices of XP experience a relentless decrease in velocity, and since that decrease in velocity is exposed by the transparency of scrum, then if follows that the eventual adoption of those technical XP practices is virtually assured. My conclusion was that Craftsmanship was the “next big thing” (tm) that would capture the attention of our industry for the next few years, driven by the business need to increase velocity. (See Martin Fowler’s blog on Flaccid Scrum) In short, we are on a trajectory towards a higher degree of professionalism and craftsmanship.
Nicolai’s thesis was the exact opposite of mine. His argument was that we are all ruled by marketing and that businesses will do whatever it takes to cut costs and increase revenue, and therefore businesses will drive software quality inexorably downward. He stipulated that this will necessarily create a crisis as the defect rates and deadline slips increased, but that all attempts to improve quality would be short lived and followed by a larger drive to decrease quality even further.
Josuttis’ talk was an hour of highly depressing rhetoric couched in articulate delivery and brilliant humor. One of the more memorable moments came when he playacted how a manger would respond to a developer’s plea to let them write clean code like Uncle Bob says. The manager replies: “I don’t care what Uncle Bob says, and if you don’t like it you can leave and take Uncle Bob with you.”
The problem stems from selling each customer a custom one-time product. This is the magic of sales: by learning about each customer in-depth, they can convince each of them that this product would solve serious problems. That leads to cashing many checks. Now, in some situations, this over-selling would lead to a secondary problem, namely, that customers would realize they had been duped and refuse to re-subscribe. But here’s where a truly great sales artist comes in. Customers don’t usually mind a bait-and-switch if the switched-to product really does solve an important problem for them. These salesmen used their insight into what their customers really needed to make the sale and then deliver something of even greater value. They are closing orders. They are gaining valuable customer data. They are close to breakeven. What’s the problem?
This approach is fundamentally non-scalable. These founders have not managed, to borrow a phrase from Steve Blank, to create a scalable and repeatable sales process. Every sale requires handholding and personal attention from the founders themselves. This process cannot be delegated, because it’s impossible to explain to a normal person what’s involved in making the sale. The founders have a lethal combination of insight about what potential customers want and in-depth knowledge about what their current product can really deliver. As a result, potential customers are being turned away; they can only afford to engage with the customers that are best qualified.
Another great article from startuplessonslearned.blogspot.com.
The key phrase if "This approach is fundamentally non-scalable."
This reminds of every company I have ever worked at. But, one in particular stands out. If you know what I am talking about, holla!
Liverpool forward Dirk Kuyt has signed a two-year extension to his Anfield contract, tying him to the Merseyside club until at least 2012.The 28-year-old Holland international's current deal was due to expire at the end of next season and manager Rafael Benitez is delighted Kuyt has joined captain Steven Gerrard in committing his long-term future to Liverpool.
We all knew that there was no way Gerrard was leaving Liverpool. So, it was only a question of whether others we be resigned. Kuyt is a huge signing. He is like Park Ji Sung. Only better.
FAST AND FURIOUS left me annoyed, bored, and eager to get the hell out of the theater and see something better right away. If you go in with the lowest possible expectations, you might have a good time at all the glitzy cinematography and occasional scantily clad female. And director Lin certainly has an eye for making Diesel's straining pectorals look shiny and lumpy on film under a host of tight shirts, but beyond those few high points, there's really nothing here to recommend.
Still seeing this. But, maybe, I'll Netflix it.
What happens if a sender and recipient both have Autopilot on?
Two Gmail accounts can happily converse with each other for up to three messages each. Beyond that, our experiments have shown a significant decline in the quality ranking of Autopilot's responses and further messages may commit you to dinner parties or baby namings in which you have no interest
Ahahahahahahhahah!!!!
I think this is a very plausible concept/rumor.
Personally, I think Apple should take all of their laptops into a more "Air-esque" fashion. Thinner, enclosed battery, remove the optical drive, less ports . . .
I would be first in line for a 15 inch MacBook Pro Air. But, why does "thin" equal "weak"? Is it an issue of CPU heat dispersion? Thin does not allow proper air flow?
Apple's generally doesn't give people raises because most employees are so happy to be working for Apple -- and fearful of being fired by Mr. Jobs -- they don't worry about raises. However, small bonuses are given for great work. Also, the giddiness over receiving a free iPhone can fold under the pressure of the spouse pointing out that a 3 percent raise for most is worth many, many iPhones and pays the household bills.
I wonder how true this statement is. How can any successful company in this day-and-age treat their employees like this? And, if it is true, why haven't we seen a decline is Apple's quality? The quality seems to have gone up.
Say it all together now, "Less is more".
Stage 4: Unconscious competence
This is the ultimate stage of programming mastery. It’s not only the result of accumulated knowledge, but the result of a set of logic rules that have been slowly imprinted on the individual’s mind through the years.
We know we’re dealing with such a person when one cannot help but admire the ease with which extremely complex solutions are provided. This type of programmer seems to smell, not think, his way to a solution.
Writing optimized, maintainable and secure code, applying design patterns and picking the right set of tools he’ll be working with come naturally. This guy can work with ease on multiple languages and platforms.
The Safari 4 tabs are conceptually the right way to go. It's not tabs at all. Instead, think of it as an efficient way to dock multiple windows together.
I like the new tabs. Takes a little while to get used to. But, overall, it is probably the correct UI design.
It's human nature to only do the stuff that's familiar and fun, and that's what has happened with Agile. People look at agile methods as a chinese menu of practices, choose the few that look cool, and ditch the rest. Unfortunately, the parts they leave out are the parts that make Agile work. Scrum makes it worse by ignoring important (but hard) agile engineering practices, and the Scrum Alliance makes it worse still with their armies of trainers--some good, some not--issuing dubious ScrumMaster certificates to people who demonstrated competence in connecting butt to chair for two days.
This is an important post and comments thread. Fred, re-read this later. It might confirm why Scrum is not working for your team.
Children with severe peanut allergies have been cured in the world's first successful treatment for the potentially fatal disorder, doctors have announced.
For someone with a niece with a severe peanut allergy, this is great news!
Learning new keyboard shortcuts
If you like to be a bit adventurous, or at least discover some new things every once in a while, here’s a great way of finding some new keyboard shortcuts. In any application, open the menu and take a look at what commands are available. Some of these commands have their keyboard shortcuts displayed right next to them. What you may not know is that some of these commands have alternate behaviours when you press a certain modifier, such as the key.
For example, open a Finder window and then open the File menu. Now press and hold the key without clicking any command. See how some menu items change to reflect the modifier being pressed? Try the ctrl key for some more commands. This works with some contextual menu items, too. Just try it out with some different types of files.
This works not only in Finder but in many applications too. It’s a great way of learning all those useful keyboard shortcuts that can make your Mac life more productive and enjoyable.
I am starting a new series of posts. I am calling them "Make It More Awesome" (MIMA . . . mee-mah) posts. These are things I see everyday, and just think to myself, "Man, this sucks! Someone really needs to innovate this! Make it more awesome please!"
The Coffee Condiment Bar
I am not sure what this is called in the industry. I am referring to that little table where you add cream, and sugar to your coffee. This thing sucks. Someone please make it more awesome!
Why does it suck:
How to MIMA:
Out.
I got my doane paper grid+lines notebook yesterday.
I am looking forward to trying it out.
I love how the Korean crown just sits there and claps along. Perfectly illustrates the culture. The back up singer has some mad hand drumming and harmonizing skills. I wonder if the crowd is understanding what he is saying during the improv'ed ending.
http://sethgodin.typepad.com/seths_blog/2009/02/learning-all-the-time.html
Why did you stop educating yourself when you graduated?
The #1 habit successful people share with me is this: They read books to learn. They do it often and with joy. It's cheap (or free, at the library or online) and portable and specific.
I love that last quote. "They read books to learn . . . do it often . . . with joy." Previously, I posted about how I like to ask job candidates what they are currently reading (http://structurallysoundtreehouse.com/favorite-non-technical-intervi). I think Seth's post sums up my reasons for asking that question. In other words, are you educating yourself? Are you going to be successful? Will you be awesome?!
Yesterday, I had Hot Pot for lunch in Chicago's China Town. I had never heard of this.
If you have not either, educate yourself: http://en.wikipedia.org/wiki/Hot_pot
It is this pot of regular and spicy broth in a two-section hot pot. You get all raw meats, sea foods, vegatables, tofu, noodles, etc. Cook the stuff in the hot pot. Eat!
The photos make it look kind of disgusting. But, you just have to man up. Get over it.
It was pretty awesome!
First, here is a good tutorial for using Screen: http://www.linuxjournal.com/article/6340
Screen is great for keeping long running processes running. This is especially useful if you are ssh'ed into a server. But, I know people who live in Screen even locally. Not sure what the benefit is of that. But, to each his own.
Some Screen Commands
Whenever you see something like "ctrl+a, c", that means "ctrl+a" then press "c".
From the command line:
From within a Screen session:
Fix the delete key issue
On my mac, the "delete" key does not delete when in screen. You need to do this to fix it. On the system from which the screen command will be run, add the following line to the ~/.bashrc file.
alias screen='TERM=screen screen'
Make sure the restart the user's shell session.
.screenrc file
Create one of these in your ~ directory. Anyone have a really sweet one? Please share.
I don't have a lot of Screen customizations. But, the one I must have is this one. See the image below.
Here is what you need in order to get that:
hardstatus alwayslastline "%{= wk}%H | %-w%{+u r}%n %t%{= wk}%+w%{= wk}"
Have been asked:
If you could have one super power, what would it be?
My answer was:
Teleportation. Basically, I don't think time should be wasted simply because you need to get from point A to point B. Now, if you want to take the scenic route to enjoy the beauty of nature, then that is fine. I was just referring to efficiency and being awesome.
It turns out that my type of answer was a good one. It indicates that I might like to get things done, work fast, or work hard. In any case, I thought it was a half-way clever way of asking a pseudo psychological question without getting too crazy.
BTW: This question was asked by John Scott (@jszilla). John, sorry if I am giving away your secret "go to" question. But, no worries. No one reads this blog.
Like to ask:
What book is on your nightstand (in your book bag) right now?
I ask this question for the following reasons:
Stupid non-technical questions I have been asked and I never ask:
What do you see yourself doing in 5 years?
Could there be a more useless question?! There is no correct way to answer this! It is just a stupid question that is asked when you do not know what else to ask.
If anyone says, "I hope to be working here and have moved up the ranks." I know that person is shoveling crap. Why? There is no way that person could possibly know that they want that. It is the canned response to a stupid question. If anyone can think of a legit reason for this question, please let me know.
Let's say you have a disagreement with a team member. How do you resolve this?
Say it with me, "Well, I would really try to work with that individual and talk the issue through. I would try to understand their viewpoint and give them the benefit of the doubt. If that fails, then I would privately escalate the issue to my superior. blah, blah, blah . . ."
Is there a wrong answer to this except for, "I would not resolve it."?
Out.
It looks awesome! Click the link and download it for yourself!
Credit goes to here: http://-kol.deviantart.com/art/MinMaxCLose-63569813
I will post later about Pragmatic Thinking and Learning, and Outliers. There is just too much good stuff to keep to myself.
At any given time, I might be reading 3-4 books. A couple will be about programming/technology. Another will be about management/innovation/marketing. The last will be my "for fun" book. Usually, it is a fantasy novel. I started on the Wheel of Time series based on a recommendation from Jamis (@jamis).
Pragmatic Thinking and Learning: Refactor Your Wetware (Pragmatic Programmers)
Outliers: The Story of Success
If you are a Mac user, and you are anything like me, you go back and forth between Firefox and Safari as your primary browser. Firefox for its Add Ons, such as Firebug. And, Safari for its Mac-esque-nes.
One "must have" Safari feature for me, was the ability to bind a keyboard shortcut to a bookmark that is in your Bookmarks Bar. It is possible that you did not even know of this feature. If you put a bookmark into your Bookmarks Bar, Safari will give it a Comand+<number> keyboard short cut.
Well, now, Firefox has something just as awesome! SiteLauncher: https://addons.mozilla.org/en-US/firefox/addon/10127
On a Mac, you hit control+alt. A sweet looking HUD appears. Hit a key. Opens a site.
If you are a Mac user, and you are anything like me, you go back and forth between Firefox and Safari as your primary browser. Firefox for its Add Ons, such as Firebug. And, Safari for its Mac-esque-nes.
One "must have" Safari feature for me, was the ability to bind a keyboard shortcut to a bookmark that is in your Bookmarks Bar. It is possible that you did not even know of this feature. If you put a bookmark into your Bookmarks Bar, Safari will give it a Comand+<number> keyboard short cut.
Well, now, Firefox has something just as awesome! SiteLauncher: https://addons.mozilla.org/en-US/firefox/addon/10127
On a Mac, you hit control+alt. A sweet looking HUD appears. Hit a key. Opens a site.
http://startuplessonslearned.blogspot.com/2008/09/what-does-startup-cto-actually-do.html
So, what is a CTO supposed to be doing all day? I think Eric Ries, in the above post, sums it up pretty well.
The CTO's primary job is to make sure the company's technology strategy serves its business strategy.
So concise. So correct. The key phrase in that statement is "serves its business strategy". Technology often forgets why it exists. Why does technology exist? It exists to serve some function. If you work for a company, that function is for business. And, if you are really lucky, that business is transforming the world, and culture.
He goes on to identify 5 (+1) key skills for a CTO.
Provide options
Some technologists have a tendency just to "decide for you" and give you the "best" option, but that's dangerous. You can't have an honest dialog if one party knows all the answers.
"Some"? I would say "most" technologists. Usually, when a technologist says, "That's impossible." What they really mean to say is "I don't want to do that because I don't know the technology you are talking about, and I kind of think you are an idiot, and by the way, I have this piece of code that I wrote 20 years ago that we should use, and basically, I don't care about the business, I care about Perl."
Too many technologists only think about technology. What good is technology if it is not meeting a business need? Provide options. Be a collaborator. Collaboration is the key to honest dialog. Collaboration builds trust. So, get out of your cave and start collaborating.
Find the 80/20
Once I understood what the objective of their feature was for customers, I could sometimes see a way to get 80% of the benefit for 20% of the cost.
Now, we are talking! Everyone, all up and down the food chain, needs this skill!
This is of ultimate importance for the CTO. Why? Because technology is friggin' expensive. Because a technology project is never 100% done. Because technology is never as easy as you think it is. The key to "getting done" is getting 80% done. Then, decide if doing the rest is part of the technical and business strategy. If the CTO (or an leader for that matter) cannot grasp the 80/20 concept, costs will rise while project timelines increase. A losing proposition indeed.
Grow technical leaders
By delegating and training, we create a corps of leaders who could step in to provide CTO-like services on demand. And by working together, we created a team whose whole was greater than the sum of its parts.
In other words, the CTO needs to mentor. To me, this is a no-brainer. For anyone in leadership, one of their main day to day activities should be to mentor. ABM (Always be mentoring). But, I am constantly amazed at how little mentoring is done. I have found that when I mentor someone, it is always a growing experience for me. I think I get more out of it than the mentee. Why? Teaching something is the best way to learn something. Plus, you can't BS someone you work with everyday.
Out.
Quick snippets of Git tips and tutorials.
Quick snippets of Git tips and tutorials.
Got these in the mail yesterday. Just in time for this crazy cold weather in Chicago.
Gotta say that I like them so far. They have that "I'm too cold to care what they look like, and that is what makes me more awesome than you" look to them. Waterproof. Warm (get the Thinsulate ones). Comfortable. Affordable. Awesome. If you get them, following L.L.Bean's sizing guide. These run large. No. These run huge.
Got these in the mail yesterday. Just in time for this crazy cold weather in Chicago.
Gotta say that I like them so far. They have that "I'm too cold to care what they look like, and that is what makes me more awesome than you" look to them. Waterproof. Warm (get the Thinsulate ones). Comfortable. Affordable. Awesome. If you get them, following L.L.Bean's sizing guide. These run large. No. These run huge.
Create a Document
Ever wanted to create a document from an email conversation thread? This is a great feature. My emails contain all sorts of awesomeness, such as feature requests (that get shot down), technical specs, passwords to my money, and really good stuff.
Send and Archive
I archive everything in order to keep a clean inbox. Also, I don't label stuff. I just search. So, this is a great for me.
Create a Document
Ever wanted to create a document from an email conversation thread? This is a great feature. My emails contain all sorts of awesomeness, such as feature requests (that get shot down), technical specs, passwords to my money, and really good stuff.
Send and Archive
I archive everything in order to keep a clean inbox. Also, I don't label stuff. I just search. So, this is a great for me.
For me, it has been a long time since I have HAD to use MS Outlook. Recently, because of "IT" issues, I have had to use MS Outlook via Crossover. I am still on my Mac. But, still . . . it kind of sucks. I was struck and reminded of the UI design differences between MS and Apple.
Take a look.