Shared posts

14 Apr 17:42

A Dusting of Gamification

by Joel Spolsky

[This is the second in a series of posts about Stack Overflow. The first one is The Stack Overflow Age.]

Around 2010 the success of Stack Overflow had led us into some conversations with VCs, who wanted to invest.

at the Getty

The firm that eventually invested in us, Union Square Ventures, told us that they were so excited by the power of gamification that they were only investing in companies that incorporated some kind of game play.

For example, Foursquare. Remember Foursquare? It was all about making your normal post-NYU life of going to ramen noodle places and dive bars into a fun game that incidentally generated wads of data for marketers. Or Duolingo, which is a fun app with flash cards that teaches you foreign languages. Those were other USV investments from that time period.

At the time, I had to think for a minute to realize that Stack Overflow has “gamification” too. Not a ton. Maybe a dusting of gamification, most of it around reputation.

Stack Overflow reputation started as a very simple score. The original idea was just that you would get 10 points when your answers were upvoted. Upvotes do two things. They get the most useful answers to the top, signaling that other developers who saw this answer thought it was good. They also send the person who wrote the answer a real signal that their efforts helped someone. This can be incredibly motivating.

You would lose points if your questions were downvoted, but you actually only lose 2 points. We didn’t want to punish you so much as we wanted to show other people that your answer was wrong. And to avoid abuse, we actually make you pay one reputation point to downvote somebody, so you better really mean it. That was pretty much the whole system.

Now, this wasn’t an original idea. It was originally inspired by Reddit Karma, which started out as an integer that appeared in parentheses after your handle. If you posted something that got upvoted, your karma went up as a “reward.” That was it. Karma didn’t do a single thing but still served as a system for reward and punishment.

What reputation and karma do is send a message that this is a community with norms, it’s not just a place to type words onto the internet. (That would be 4chan.) We don’t really exist for the purpose of letting you exercise your freedom of speech. You can get your freedom of speech somewhere else. Our goal is to get the best answers to questions. All the voting makes it clear that we have standards, that some posts are better than others, and that the community itself has some norms about what’s good and bad that they express through the vote.

It’s not a perfect system (more on the problems in a minute), but it’s a reasonable first approximation.

By the way, Alexis Ohanian and Steve Huffman, the creators of Reddit, were themselves inspired by a more primitive karma system, on Slashdot. This system had real-world implications. You didn’t get karma so that other people could see your karma; you got karma so that the system knew you weren’t a spammer. If a lot of your posts had been flagged for abuse, your karma would go down and you might lose posting or moderation privileges. But you weren’t really supposed to show off your high karma. “Don’t worry too much about it; it’s just an integer in a database,” Slashdot told us.

To be honest, it was initially surprising to me that you could just print a number after people’s handles and they would feel rewarded. Look at me! Look at my four digit number! But it does drive a tremendous amount of good behavior. Even people who aren’t participating in the system (by working to earn reputation) buy into it (e.g., by respecting high-reputation users for their demonstrated knowledge and helpfulness).

But there’s still something of a mystery here, which is why earning “magic internet points” is appealing to anyone.

I think the answer is that it’s nice to know that you’ve made a difference. You toil away in the hot kitchen all day and when you serve dinner it’s nice to hear a compliment or two. If somebody compliments you on the extra effort you put into making radish roses, you’re going to be very happy.

This is a part of a greater human need: to make an impact on the world, and to know that you’re contributing and being appreciated for it. Stack Overflow’s reputation system serves to recognize that you’re a human being and we are super thankful for your contribution.

in Utah

That said, there is a dark side to gamification. It’s not 100% awesome.

The first problem we noticed is that it’s very nice to get an upvote, but getting a downvote feels like a slap in the face. Especially if you don’t understand why you got the downvote, or if you don’t agree. Stack Overflow’s voting has made many people unhappy over the years, and there are probably loads of people who felt unwelcome and who don’t participate in Stack Overflow as a result. (Here’s an old blog post explaining why we didn’t just eliminate downvotes).

There’s another problem, which is that, to the extent that the gamification in Stack Overflow makes the site feel less inclusive and welcoming to many people, it is disproportionately off-putting to programmers from underrepresented groups. While Stack Overflow does have many amazing, high reputation contributors who are women or minorities, we’ve also heard from too many who were apprehensive about participating.

These are big problems. There’s a lot more we can and will say about that over the next few months, and we’ve got a lot of work ahead of us trying to make Stack Overflow a more inclusive and diverse place so we can improve the important service that it provides to developers everywhere.

Gamification can shape behavior. It can guide you to do certain things in certain ways, and it can encourage certain behaviors. But it’s a very weak force. You can’t do that much with gamification. You certainly can’t get people to do something that they’re not interested in doing, anyway. I’ve heard a lot of crazy business plans that are pinning rather too high hopes on gamification as a way of getting people to go along with some crazy scheme that the people won’t want to go along with. Nobody’s going to learn French just to get the Duolingo points. But if you are learning French, and you are using Duolingo, you might make an effort to open the app every day just to keep your streak going.

I’ve got more posts coming! The next one will be about the obsessive way Stack Overflow was designed for the artifact, in other words, we optimized everything to create amazing results for developers with problems arriving from Google, not just to answer questions that people typed into our site.

 

10 Apr 17:33

Spinning Man (2018) [WEBRip] [720p] [YTS.AM]

Spinning Man (2018)
IMDB Rating: 5.7/10
Genre: Drama / Mystery / Thriller
Size: 853.54 MB
Runtime: 1hr 40 min

Evan Birch is a family man and esteemed professor at a distinguished college, where his charm and reputation have made his philosophy class very popular. When a female student named Joyce goes missing, Evan's previous off-campus dalliances make his wife question his alibi. Gruff police Detective Malloy has even more reason to be suspicious when crucial evidence makes Evan the prime suspect in Joyce's disappearance. Suddenly, the questions Evan faces aren't merely academic - they're a matter of life or death.
08 Feb 06:16

The Super Bowl is for losers

by Seth Godin

[But selling projects well isn't. There are five things every project organizer can learn from the stadium builders...]

The Times reports that the people of Minnesota spent half a billion dollars (more accurately written as $500,000,000.00) to build a stadium and make concessions that led to being able to host the big game today. And, like every other city that has invested heavily in the NFL over the last decade or more, they will certainly lose money, probably a lot of money. More money than we can easily visualize.

So why does it keep happening?

Why, despite volumes of documented evidence, do well-intentioned people spearhead new projects like this? There's a valuable set of lessons here about human behavior:

  1. The project is now. It's imminent. It's yes or no. You can't study it for a year or a decade and come back to it. The team creates a forcing function, one that turns apathy into support or opposition.
  2. The project is specific. Are there other ways that Minneapolis could have effectively invested five hundred million dollars? Could they have created access, improved education, invested in technology, primed the job market? Without a doubt. But there's an infinite number of alternatives vs. just one specific. 
  3. The end is in sight. When you build a stadium, you get a stadium. When you host a game, you get a game. That's rarely true for the more important (but less visually urgent) alternatives.
  4. People in power and people with power will benefit. High profile projects attract vendors, businesses and politicians that seek high profile outcomes. And these folks often have experience doing this, which means that they're better at pulling levers that lead to forward motion.
  5. There's a tribal patriotism at work. "What do you mean you don't support our city?"

For me, the biggest takeaway is to realize that in the face of human emotions and energy, a loose-leaf binder from an economist has no chance. If you want to get something done, you can learn a lot from the power of the stadium builders. They often win. 

[Update: I heard from some kind readers in MN who shared numbers that show that the state was very careful with their investment, and it might be one of the better long-term stadium bets on record. Well done. If you have to do a giant stadium project like this one, it sounds like this is the way to do it...]

       
22 Jan 03:38

Splenda in the grass

by Linda

I’ve been on a cut-wayyyyy-back-on-the-carbs food plan lately, which is a pretty big change from how I was eating during the holidays (“holidays” meaning the entire chocolate-smeared section of the calendar from Halloween to New Year’s, mind you) and for the frillionth time I am faced with the undeniable evidence that I just plain feel better when my diet doesn’t revolve around tortilla chips and frosting. Physically, mentally (like: bigtime), energy-wise, headache-wise, stomach-wise: better.

Now what would be great is if I would take this information, which I have experienced many many times, and commit to a self-care-focused long-term lifestyle which involves fueling my body in a way I know for a fact results in a healthier happier me as opposed to repeatedly having to course-correct after an uncontrollable downward slide into the land of Can Cookies Be Pulverized and Placed in an IV Bag? Let’s Find Out but 1) history does not indicate a high chance of success in this department, and 2) even in my most motivated state of being I cannot, repeat, cannot step away from the Splenda.

You know: Splenda. Sucralose. Those little yellow packets of PURE FUCKING HEAVEN.

Most current dietary advice now positions artificial sweeteners as The Absolute Worst, for a myriad of reasons ranging from toxicity to triggering spikes in blood sugar to being evil on account of synthetic things = bad. I’ve read all the suggestions to switch to things like Stevia, Truvia, Eryth … erythit … ritol, Swerve, monk fruit, and of course “a hint of honey.”

First, just stop it right there with your hint of anything. I’m not overly fond of honey but if I’m going to eat it I’m going to want an entire glorp, not a hint. If I were the sort of person who could be satisfied by a hint of anything I wouldn’t have half the problems I do, okay? As for the other sweeteners, I’ve tried them all and they run the spectrum from disappointing to downright hostile.

Nothing is as wonderful as Splenda, which I consider one of mankind’s greatest achievements. It elevates my coffee, it transforms my berries, it can be eaten directly out of a small prep bowl via moistened fingertip, not that I have ever done such a thing (OMG TRY IT WITH SEA SALT).

I feel like my devotion to Splenda, and its freakish effect on taste receptors — what is it, 600 times sweeter than sugar? — is indicative of a basic psychological makeup that probably can’t be altered at this point without trepanation. I like sweet stuff and I cannot lie.

Real sugar and processed carbs legitimately make me feel awful in a variety of ways and I have a terrible time staying away from them, which is why I’m always somewhere on the battle map with how I eat: either gathering forces and holding strong, or in full surrender.

But Splenda? Oh, man. When I’m feeling like this about cookies:

Splenda is all,

23 Dec 03:00

Heartbeats (2017) [720p]

Heartbeats (2017)
IMDB Rating: 4.9/10
Genre: Comedy / Drama / Musical / Romance
Size: 781.21 MB
Runtime: 1hr 47 min

This is the story of a feisty American hip hop dancer who travels to India with her family for a wedding and falls in love -- both with a new style of dance, and with the determined young man who introduces it to her.
04 Apr 03:39

Trying ASP.NET Core on the Google Cloud Platform "App Engine Flexible Environment"

by Scott Hanselman

Last week I used Zeit and "now" to deploy an ASP.NET Core app (via a container) to the Zeit cloud. Tonight the kids are asleep so I thought I'd deploy to the Google Cloud. They've got beta support for open source ASP.NET so it's a perfect time. Google even has Google Cloud Tools for Visual Studio (2015).

I'll install the Google Cloud SDK. I checked "beta" as well.

Installing the Google Cloud SDK

Install it, login to your Google account and setup/select a project. I make a new folder and put an "app.yaml" in there with this inside as a directive to the Google Cloud Platform.

runtime: aspnetcore

env: flex

Here's a gratuitous screenshot:

App.yaml

I did a dotnet new, dotnet restore, and finally a:

dotnet publish -c Release

which makes a publish folder that will get sent up to the cloud.

IMPORTANT NOTE: I initially tried to push a .NET Core app using the .NET Core 1.1 runtime but Google Cloud's beta support in the flexible environment is set up for the 1.0.3 runtime (using their own custom docker base image) as of the time of this blog post, so you'll want to "dotnet new mvc --framework netcoreapp1.0" and set the "RuntimeFrameworkVersion" to get that specific shared LTS (Long Term Support) version. As soon as the Google Cloud flex runtime has the latest LTS (1.0.4, at the time of this writing) then apps would just roll forward.

<PropertyGroup>
  <TargetFramework>netcoreapp1.0</TargetFramework>

<RuntimeFrameworkVersion>1.0.3</RuntimeFrameworkVersion> </PropertyGroup>

Otherwise you'll get errors. Fortunately those errors are very clear.

.NET Core Runtime 1.0.3 supported

The walkthrough on Google Cloud suggests you copy the app.yaml file using a standard CLI copy command. However, since you're going to need that app.yaml EVERY publish, just add it to the csproj like this:

<ItemGroup>

<Content Include="app.yaml" CopyToOutputDirectory="Always" />
</ItemGroup>

This way it'll end up in publish automatically. You can then publish to the "AppEngine flexible environment:

dotnet restore

dotnet publish -c Release
gcloud beta app deploy .\bin\Release\netcoreapp1.0\publish\app.yaml
gcloud app browse // THIS IS JUST TO VISIT IT AFTER IT'S PUBLISHED

NOTE: You may get an ERROR that billing isn't enabled, or that the cloudbuild.googleapis.com aren't enabled. You'll need to ensure you have an active Free Trial, then go to the API Manager in the Google Cloud Platform dashboard and enable "Google Cloud Container Builder API." I also had to manually enable the API for the "Flexible" Environment and confirm I had a valid billing account.

Needed to enable some Billing APIs in the Google Cloud

Once I enabled a few APIs, I just did a standard "gcloud beta app deploy" as above:

gcloud beta app deploy

Pretty cool stuff! Here is my ASP.NET Core app running on GCP's Flex engine:

ASP.NET on Google Cloud

You can "tail" your app with "gcloud app logs tail -s default" and you'll see the output from .NET Core and ASP.NET (and Kestrel) in the Google Cloud!

gcloud app logs tail -s default

Or online in the Google "Stackdriver" logging page:

Google Stackdriver Logging page showing ASP.NET Core Logging

Go read up more on the Google Cloud Platform Blog. They even support Kubernetes clusters with ASP.NE Core apps packaged as Docker containers.


Sponsor: Thanks to Redgate! Track every change to your database! See who made changes, what they did, & why, with SQL Source Control. Get a full version history in your source control system. See how.



© 2017 Scott Hanselman. All rights reserved.
     
12 Mar 04:22

The no excuses culture

30 Dec 02:52

Vue in 2016

23 Nov 02:46

Visual Studio Code 1.7.2 Release Notes

02 Jul 19:15

VIDEO: How to run Linux and Bash on "Windows 10 Anniversary Update"

by Scott Hanselman

Ya, I'm not a fan of the name Windows 10 "Anniversary Update" but it has been a year since Windows 10 came out. It's my daily driver and it gets better every month. This year it's gonna get better (like Windows 10.1 better if you ask me) with an update that's coming August 2nd!

In that update (or in the Windows 10 Insider Builds you can get if you're a techie or adventurous) you're going to get a lot of nice polish AND the ability to optionally run Linux (ELF) Binaries on Windows 10 at the command line. The feature is the Linux Subsystem for Windows or "Bash on Windows" or sometimes "Ubuntu on Windows." Call it what you like, they're real, and they're spectacular.

We first saw Bash on Windows 10 in march of this year at the BUILD conference.

Developers can run all their Linux user-mode developer tools like Redis or even TensorFlow (without GPU support).

I went and recorded a 20 min video screencast showing what you need to do to enable and some cool stuff that just scratches the surface of this new feature. Personally, I love that I can develop with Rails on Windows and it actually works and isn't a second class citizen. If you're a developer of any kind this opens up a whole world where you can develop for Windows and Linux without compromise and without the weight of a VM.

I hope you enjoy this video! Also check out (and share) my other Windows 10 videos or my Windows 10 playlist at http://hanselman.com/windows10.

Sponsor: Build servers are great at compiling code and running tests, but not so great at deployment. When you find yourself knee-deep in custom scripts trying to make your build server do something it wasn't meant to, give Octopus Deploy a try.



© 2016 Scott Hanselman. All rights reserved.
     
07 Jun 17:23

Sonja Lyubomirsky on Tech & Wellbeing

by Dorian Peters
Welcome to our short interview series, "Perspectives on Tech & Wellbeing" where we speak with leaders in psychology, health and computing about how we can better design technology to support wellbeing.

For this video, we had the opportunity to speak with happiness expert, Sonja Lyubomirsky.   Author of The How of Happiness and The Myths of Happiness, Sonja has dedicated her research career to the study of human happiness.  As we found out, she is also optimistic about technology...



19 Oct 02:47

Control how your bower packages are installed with a gulpfile in ASP.NET 5

by Scott Hanselman

ASP.NET 5 beta 8 is out. Yes, that's a lot of betas, but it's important to get things right when you're doing something new like this. You can find instructions in our documentation for installing ASP.NET 5 beta8 on Windows, Mac and Linux.

ASP.NET 5 uses the NuGet package manager to get server-side libraries but for client-side things we recommend folks use Bower. The most popular JavaScript and CSS libraries are there, and there's no need for us to duplicate them in NuGet. This means ASP.NET 5 folks get to use the same great client-side libraries that other open web technologies enjoy.

In very early builds of ASP.NET 5 we put those libraries in a folder outside the web root (wwwroot) into bower_components or npm_components and then used a gulp/grunt (think MSBuild for JavaScript) task to copy the files you want to deploy into wwwroot in preparation for deployment. However this confused a LOT of folks who weren't familiar with these tools. It also meant another step after installing a new JavaScript library. For example, you'd install angular with bower, then manually edit the gulp file to copy the .js you wanted into the folder of your choice, then run gulp to actually move it. These are common tasks for many of today's open web developers, but have been confusing for ASP.NET 5 users who don't usually work on the command line. So, this was changed a while back and your bower libraries show up right in your wwwroot.

bower stuff under wwwroot

While this is convenient change and great to starters, at some point you'll want to graduate to a more formal process and want to move your bower client libraries back out, and then setup a task to move in just a files you want. Let's take a moment and switch it back the way it was.

Here's how.

Update your .bowerrc and project.json

In the root of your project is a .bowerrc file. It looks like this:

{

"directory": "wwwroot/lib"
}

Change it to something like this, and delete your actual wwwroot/lib folder.

{

"directory": "bower_components"
}

Exclude your source bower folder from your project.json

You'll also want to go into your project.json file for ASP.NET 5 and make sure that your source bower_components folder is excluded from the project and any packing and publishing process.

"exclude": [

"wwwroot",
"node_modules",
"bower_components"
],

Update your gulpfile.js

In your gulpfile, make sure that path is present in paths. There are totally other ways to do this, including having gulp install bower and figure out the path. It's up to you how sophisticated you want your gulpfile to get as long as the result is that production ready .js ends up in your wwwroot ready to be served to the customer. Also include a lib or destination for where your resulting JavaScript gets copied. Could be scripts, could be js, could be lib as in my case.

var paths = {

webroot: "./" + project.webroot + "/",
bower: "./bower_components/",
lib: "./" + project.webroot + "/lib/"
};

Add a copy task to your Gulpfile

Now open your Gulpfile and note all the tasks. You're going to add a copy task to copy in just the files you want for deployment with your web app.

Here is an example copy task:

gulp.task("copy", ["clean"], function () {

var bower = {
"bootstrap": "bootstrap/dist/**/*.{js,map,css,ttf,svg,woff,eot}",
"bootstrap-touch-carousel": "bootstrap-touch-carousel/dist/**/*.{js,css}",
"hammer.js": "hammer.js/hammer*.{js,map}",
"jquery": "jquery/jquery*.{js,map}",
"jquery-validation": "jquery-validation/jquery.validate.js",
"jquery-validation-unobtrusive": "jquery-validation-unobtrusive/jquery.validate.unobtrusive.js"
}

for (var destinationDir in bower) {
gulp.src(paths.bower + bower[destinationDir])
.pipe(gulp.dest(paths.lib + destinationDir));
}
});

Do note this is a very simple and very explicit copy tasks. Others might just copy more or less, or even use a globbing wildcard. It's up to you. The point is, if you don't like a behavior in ASP.NET 5 or in the general build flow of your web application you have more power than ever before.

Right click the Bower node in the Solution Explorer and "Restore Packages." You can also do this in the command line or just let it happen at build time.

image

Looking in this simplified screenshot, you can see the bower dependencies that come down into the ~/bower_components folder. Just the parts I want are moved into the ~/wwwroot/lib/** folder when the gulpfile runs the copy task.

A new flow for my JavaScript

Feel free to share in the comments links to your blog posts on how YOU like your gulpfiles and build process to work!


Sponsor: Thanks to Infragistics for sponsoring the feed this week! Responsive web design on any browser, any platform and any device with Infragistics jQuery/HTML5 Controls.  Get super-charged performance with the world’s fastest HTML5 Grid - Download for free now!


© 2015 Scott Hanselman. All rights reserved.
     
21 Aug 03:59

HP Phoenix 850se Intel Core i7 Hexacore Gaming Desktop (256GB SSD) $979.99

by esong
05 Jul 20:39

Epic photo of the International Space Station passing in front of the moon

by Xeni Jardin
A stunning capture of the ISS in front of Earth's moon, by Dylan O'Donnell. Read the rest
23 May 16:51

But do you want to get better?

by Seth Godin

It seems like a stupid question. Of course we want our organization, our work and our health to improve.

But often, we don't.

Better means change and change means risk and risk means fear.

So the organization is filled with people who have been punished when they try to make things better, because the boss is afraid.

And so the patient gets the prescription but doesn't actually take all the meds.

And the bureaucrat feigns helplessness because it's easier to shrug than it is to care.

There are countless ways to listen, to engage with users, to learn and to improve, but before you or your organization waste time on any of them, first the question must be answered, "do we want to get better?"

Really? We can tell.

       
20 Feb 17:22

Sceptre X322BV-HDR 32in LED LCD HDTV (720p) $159 Free Shipping

by rss@techbargains.com
10 Jan 04:59

FCC Will Hold Net Neutrality Vote On February 26

by Alex Wilhelm
brazil-net-neutrality Today FCC Chairman Tom Wheeler publicly committed his agency to a February 26th vote on new net neutrality regulations. The now-official timing is in keeping with market expectations The Chairman also indicated that he will circulate the proposed rules to the agency’s commissioners on February 5th. Wheeler hinted in his interview at this year’s CES that he will employ Title II… Read More
02 Dec 03:38

Mongoose Dolomite 26in Men's 7-speed All-Terrain Fat Tire Mountain Bike $199

by rss@techbargains.com
29 Nov 16:53

20 Productivity Hacks That You Probably Thought Would Always Work

by Anthony Metivier
Productivity Hacks

From its first appearance in the early days of Web 1.0, people have defined the term “lifehack” in different ways.

For some, a lifehack is an unknown technique brought to the attention of the public through the Internet. They are often smart, save time, create organization and increase happiness. For others, a lifehack is an unethical way of cheating the system. Discussions on Reddit burn over the right and wrong aspects of getting free food in hotels or evading parking fines.

Either way, Oxford Dictionary Online added the word in June of 2011. Before that, HackCollege appeared in 2006 and Lifehack.org itself appeared in 2005. The Internet brims with all kinds of lifehacks, some of which are poorly understood. Others create the opposite of the intended effect. Yet others can be downright destructive.

Let’s examine the darkside of lifehacks and explore the alternatives. And if you think I’m being picky, just read this post in the voice of George Carlin and smile a little at the cantankerous parts.

1. It Takes 21 Days To Form A Lifelong Habit.

Sounds like a sweet deal, right? Put in 21 days of writing, jogging, eating well and you’re set for life.

Not so fast, Sweetie-Pie.

The 21-day habit change myth has its origin in a book by Maxwell Maltz called Psycho-Cybernetics. It’s a self-help classic from 1960, but that doesn’t mean it’s loaded with truth.

In fact, the “cybernetics” part comes from the idea that the same programming used in guided missiles can change human behavior. By making the right choices, you can “close the loops” of various processes and “set and forget” things that you do. Kind of like how you learn to drive a car and can then daydream your way from home to work without having an accident. But Maltz applied this idea to habits almost as an afterthought. He first came up with the idea in the context of self-image following plastic surgery. As a plastic surgeon himself, he noted that people needed approximately 21 days to adjust to the name face they saw in the mirror.

Since then, the 21 Day Habit Formation idea has been a meme repeated countless times around the globe.

Real research by scientists like Phillippa Lally has shown that it actually takes between 66 and 90 days to form a habit. Even then, this is no guarantee that good habit will stick to you harder than a crack addiction. A lot depends on your age, the nature of the habit and your overall health during the process. Plus, it seems that it doesn’t need to be every single day. 80% of the time tends to do just as well as daily application.

So as a good rule of thumb, plan to spend 12 weeks on any new behavior you want to use to “hack” or improve your life.

2. Spaced-Repetition Software Will Help You Learn.

In truth, spaced-repetition based around flashcards can help. However, this approach doesn’t work equally well for everyone.

Worse, the rote learning at the core of spaced-repetition software can be a harmful waste of time.

Above all, there’s no guarantee that you’ll actually learn anything. Repeating something from memory, after all, doesn’t mean you’ve synthesized the information. And more than synthesize what you’ve memorized, you want to be able to use it to create new knowledge. For reasons we’ll talk about shortly, you’re much better off creating your own index cards by hand. And you should do this alongside listening to and reviewing recorded lectures and reading books that put the information in context.

3. You Can Learn A Language In 3 Months

There’s no doubt about it. You can make amazing strides in learning a new language in a short period of time, but this short time span comes from Benny Lewis, author of Fluent in 3 Months.

Huge respect to the guy, but if you read the book, you’ll find out that the title comes from the immigration policies of most countries. After three months, you’ve either got to leave or go through the process of getting a visa. Thus, Lewis worked at getting as fluent in the language of the land as possible in that short period of time before moving on.

You should definitely read this book and make use of its techniques. Just make sure you have a good idea of what “fluent” actually means. And just as “lifehack” has many meanings, the definition of “fluency” is not universally agreed upon.  Language learning enthusiasts use the word “fluency” in many ways.

Spend some time thinking about what fluency means to you and work towards that goal before you get started.

4. 10,000 Hours Of Practice Will Make You A Master

Like the 30 days to form a habit myth, the belief that you need 10,000 hours of practice to become a master artist, musician or athlete is dangerous.

The truth is that you can hack practice in many fields. This means learning about “dedicated practice.” It means breaking down large actions into component parts and then getting really good at them before tackling the whole. On guitar, for example, instead of trying to learn an entire Metallica song in one go, you learn just one part. Then, when you’ve gotten it down, you add another.

You also don’t practice a song by going back to the beginning and starting again every time you make a mistake. Rather, you stop and analyze that mistake and practice just that part until you smooth it out. Then you resume playing it in the context of the entire song. You can apply this principle to just about anything you’re trying to master, including language learning, and it won’t take 10,000 hours.

That said, if you love what you’re doing, you’ll wind up spending at least that much time on the activity anyway. So dedicated practice is a cool way to get results quickly and find out if you really enjoy the effort (not the time) you’ll need to put into it.

5. Procrastination Is Bad

Feel good guru Eckhart Tolle says in the Power of Now that the worst thing about procrastination is that no one bothers to enjoy it.

Face it, people. Procrastination is going to happen. Plan and prepare for it.

Accept it. Make it your friend. The sooner you take that knife of guilt out of your heart, the better. Stop pushing procrastination away and you’ll find yourself making it less of a barrier in your life by default.

6. The Internet Is Addictive

As with many myths, there’s some truth to this one, but as with all the ways people give themselves a headache over procrastination, lifehacking your way out of spending so much time online may not be the solution.

For example, chimes that remind you to stand up can be ignored. Software that locks your computer for five minutes every hour can be disabled, and rest assured that you will ignore the chimes and will disable the software. It’s normal to cut phony fixes like these
out of your life.

Instead of these lifehacks, try making appointments that you can’t cancel. Pay for a course that would be a great loss if you didn’t go. Have a walking partner that you meet with every couple of days.

And as the famous saying goes, never eat alone.

7. Cramming Everything Into Evernote Is A Good Thing

Hey – there’s no doubt about it that Evernote is the king of its kind, but what are you losing?

It turns out, quite a lot.

Richard Wiseman presents research on the positive effects of handwriting in his book 59 Seconds: Think a Little, Change a Lot. You don’t need a whole whack of science to figure out why handwriting is such a good cognitive exercise. For one thing, it uses far more muscles. It also requires hand-eye coordination that typing for some of us doesn’t use in the same way.

It’s not just hand-eye coordination. It’s the wealth of fine motor control exercise needed to write legible letters. You also exercise memory to remember the sizes, slants characteristics of letters and punctuation. All this healthy body and brain fitness is lost on Evernote and similar technologies.

But does that mean you need to chuck your favorite apps into the trash?

No way, Jose.

It just means that you will benefit a great deal by incorporating handwriting into your daily life ,and it’s easy to do.

Send a postcard to a loved one or friend. Write in a journal. Dash out a poem.

You’ll be glad for it.

8. The Internet Is Shortening Your Attention Span

Have you notice how articles on the Internet are getting longer instead of shorter?

Guess why?

It’s because people actually read, that’s why. When they’re interested in a subject, they want information about it by the pound.

Sure, there is evidence to suggest that we don’t read the same on line as we do from books. That’s why so much online writing has involved to have 2-3 sentence paragraphs. Sometimes there’s just one sentence long. Like this one.

Either way, online writing is evolving, and as it grows with the needs of readers in the 21st Century, keeping your attention on valuable content means length.

You just can’t learn enough to improve your life in a 500 word blog post, and if you do feel that your attention span is suffering, here’s what to do: Take active steps to increase your own attention span. The following exercise will extent your focus and improve your ability to learn.

It’s easy to do.

When I was in school, they called it U.S.S.R. Not, not that U.S.S.R. Uninterrupted Sustained Silent Reading.

Just open a book, either on paper or Kindle and read at least 10 pages every day.

If it’s a novel, really focus in on what characters look like and the settings. If it’s non-fiction, create questions in your mind as you read.If it’s a personal development book, think about how you’re going to apply the ideas in your own life.

You’ll amaze yourself by just how much you learn and how your focus and attention span improves in just 10 pages a day, and if that seems like a stretch to you, get started with just 5.

The point is to get started and keep going. Those two actions combined are perhaps one of the ultimate hacks you’ll ever use.

9. The Internet Is Free

At the core of so many life hacks lay the idea that the Internet is free. This is one of the most seductive myths on the planet, but the Internet isn’t free and neither are the devices you use to plug in.

So if you really want some hacks in the “Internet is free” department, get a job reviewing technology. Makes sure the publication supplies you with devices. These can range from smart phones to laptops. Also, if you work at home, you can usually deduct the costs of the hardware, software and online connections you can use.

Old school lifehacks, but lifehacks all the same.

10. The Big Brother Is Watching You Hack

You can find all kinds of hacks that will keep you out of the eyes of the NSA and other organziations that want to cramp your online lifestyle. Some of these are okay, others not so okay.

The reality is that the ulimate lifehack is not evading criminal behavior. Let’s look at this lifehack demystified. To hack it is simple. Just be doing things online that are worth the attention. You draw the public and private eye of the government because you’re creating helping people. Create more value than you’re taking and you won’t need to hide.

11. The Zig Ziglar Lifehack Demystified

On the matter of creating value for others, there is one word of caution.

Zig Ziglar famously said that if you help enough other people get what they want, you’ll get what you want.

But is this really true?

The reality is that you can bust your ass helping people who only want to take advantage of you, and if you’re doing it for free, they might not take the value you’re creating seriously.

Just as the Internet is not free, neither is the help you offer people without cost. No matter what you do, you will always spend either time, money or energy. Often all three.

The real lifehack in this area is to define how you can help people, but make sure that the value you give receives proper recognition. Also, take care of your health. You won’t be helping others for long if you’re burned out, broke and unhealthy.

12. Burning More Calories Than You Eat Will Help You Lose Weight

That would be awesome, wouldn’t it? Too bad it doesn’t work.

The real way to lose weight is to eat the right things at the right times and in the right amounts according to your body type and your fitness. In some cases, you may even want to eat more calories to increase the amount you can burn. When it comes to fitness and weightloss, there are some principles that are universal, but always need to be geared towards you.

In other words, calibrating your diet, rather than generalizing it is the real lifehack you should use. Tim Ferriss’s The 4-Hour Body is a must-read book for more information about doing this.

13. Success comes in Sevens

We all know the titles of the books by heart. “The Seven Habits of Highly Effective People,” be Stephen Covey is just one of many to put a number to what works. However, the reality is that no one habit (or three, seven, nine or 2500) is going to get you real results unless you take action.

Action should not be a habit. It should be a devotion. The action you take should always involve things that give you energy. Because anything you do that takes energy away is worse than a bad habit.

Now that you know that the secret of success cannot isn’t contained by numbers, let’s move on to …

14. You Can Do Good Research Online

Have you ever heard the phrase, “according to research conducted online”? It should make you cringe. Why?

Because less than 15% of human knowledge exists online. Millions of books and journals never have and probably never will join the ranks of digitized reading and research material. This means that the only way to do effective research remains visiting a library and looking at books.

Not only will you find materials that cannot be found online to deepen your research and intelligence. You’ll also be able to practice the old school form of hyperlinking by looking at all the books surrounding the one you want. Instead of just pulling down one book, pull down ten. And as you skim through them, pay extra attention to the indexes at the back. Use these too find yet other books that probably aren’t online either.

In this way you’ll learn, grow and have a cutting edge over those who do their research only online.

15. Memorizing Shopping Lists Will Improve Your Memory

You’ve probably seen posts on the Internet about using Memory Palaces to memorize information.

Most of them tell you to practice using your shopping list. Like carrots and milk and stuff. Really?

The only meal you’re going to make out of that recipe is … boredom!

Here’s what to do instead:

Learn how to use a Memory Palace. Then think about something you could practice memorizing that will make a positive impact on your life. Even if it’s just the lyrics of a song that would make you happy to sing along with, work with that.

Once you’ve got it and understand the technique, you’ll see how this miraculous lifehack applies to memorizing anything. Then, and only then, will information never be dry, dull or boring again.

16. You Can Pick Up Chicks Wearing Funny Hats And Doing Card Tricks

Pick-up Artists and their lifehack culture is hilarious. You’ve probably come across one of their hyped-up sales pages selling programs that teach you how to get women.

Two of the major lessons you’ll learn from them involve learning card tricks and “peacocking.”

First of all, you’d better learn some damn good card tricks if you’re hoping to get a girl into bed. I mean, seriously. When was the last time you saw a girl turned on by finding a duplicate of the Queen of Hearts she picked in your pocket? You might as well recite your memorized shopping list to her.

“Peacocking” is the idea that if you wear a hat that stands out or some kind of crazy hairdo, you’ll stand out. It’s kind of like the idea that you can lifehack your way into mating season.

Here’s what to do instead:

Learn how to spot whether a girl is attracted to you in the first place. It’s not that hard to do.

There’s a bit of controversy around what I’m about to tell you, but decent science demonstrates that hidden sex signals exist. Like when a woman sweeps the floor with her eyes after looking at you. Or shows you the open palm of her hand after sweeping back her hair.

If she doesn’t like you, she might look up and to the left or right. Or she may put her hand against her chin with the knuckles out to symbolically bar you.

You don’t have to take my word for it. Go out and watch the world and see for yourself. When you can interpret the signals right, you won’t have to do card tricks or wear a funny hat. “Hello” will do.

17. Positive Thinking Will Solve All Your Problems

Personally, I’m a huge fan of positive thinking. It has literally changed my life. However, like so many cures sold at the pharmacy, happy thoughts can also be poisonous.

The truth is that grief, sadness and critical thinking about the realities of life are all healthy. You can put yourself in real danger if you try to slather these over with the icing of positive affirmations and happy slogans. The real lifehack is to embrace unhappiness and sorrow when it arrives. Invite it in and hold it close to your heart.

Call it Emotional Martial Arts. In most versions that’s exactly how you weaken your enemy: by bringing him closer to you, not pushing him away. By the same token, you can work on not getting too involved. Kind of like how a mother comforts a crying child without entering the problem itself.

Don’t get your ego involved. As Bruce Lee once said, “No self, no enemy.” Above all, realize that one day, you’re going to die. Most problems are temporary and don’t really matter. Look them realistically in the eye, solve them and move on. That’s a lifehack that will rarely fail and you can smile to your heart’s content as you dance in victory.

18. You Can Be Original

Have you ever thought about what “original” means? Don’t worry. There isn’t a quiz at the end of this post.

But here’s a concept that can improve your life: Original means “of origin.”

That means that one of the most original things you can do is to go back to what already exists. Study it. See how you can improve it. Make it your own, and never, ever let “originality” get in your way.

It’s not that there’s nothing new under the sun. It’s that until you’ve seriously studied everything that does exist in your interest area, you have almost no chance of being unique.

19. Visualization Will Help You Achieve Your Goals

As always, there is some truth to this, but the fact of the matter is that most people get it wrong.

Like people who want to build muscle. They picture a version of themselves buff and ripped and already at the end of the journey. What’s the problem with this?

Easy. They’re setting the goal too high.

Here’s what you should visualize instead:

Getting down on the floor and doing one push-up. Just one. And then do it.

In fact, try to do just one pushup – I bet you’ll fail and wind up doing more than you expected. The next day, visualize yourself doing five. And try to do just five.

The point is that visualization can help you, but what you see in our mind has to be realistic. It should be a stepping stone toward what you want to achieve. Not a leap to the top of the Empire State Building.

20. Lifehacks Make Your Life Easier

This is the most pervasive lifehack of all. Why?

Because you don’t want life to be easier. You want it to be more interesting. More productive. Geared toward getting better results. But easier?

Never forget that “ease” makes up over half of the word “disease.” Instead, go for the lifehack of constant challenge. Look for hacks that make you work smarter instead of easier.

Choose lifehacks that take all your hard work and streamline them into superior outcomes. Then write this line from the playwright Howard Barker on to your soul: “Because it was hard, we were honored.”

And come back and re-read this post from time to time. It will keep you in good stead when the fluff gets too much and you need to have some of those many syrupy lifehacks demystified.

Featured photo credit: Factory workers on the job via shutterstock.com

The post 20 Productivity Hacks That You Probably Thought Would Always Work appeared first on Lifehack.

28 Nov 19:13

IBM: Thanksgiving Online Sales Up 14%, One-Third Of Sales On Mobile Led By iOS

by Ingrid Lunden
15273791493_3c9b89afe5_k Black Friday is traditionally thought of as the first day of holiday shopping in the U.S., but with more buying options (and promotions) becoming available online, many are now starting their shopping a day earlier, on Thanksgiving. As a bellwether for how e-commerce companies will fare in the busiest buying period of the year, yesterday was a mixed (shopping) bag. Overall sales were up… Read More
27 Nov 16:31

Sears Cyber Monday Door Buster Craftsman Tool Sale up to 50% off

by rss@techbargains.com
29 Mar 20:02

Not even one note

by Seth Godin

Starting at the age of nine, I played the clarinet for eight years.

Actually, that's not true. I took clarinet lessons for eight years when I was a kid, but I'm not sure I ever actually played it.

Eventually, I heard a symphony orchestra member play a clarinet solo. It began with a sustained middle C, and I am 100% certain that never once did I play a note that sounded even close to the way his sounded.

And yet...

And yet the lessons I was given were all about fingerings and songs and techniques. They were about playing higher or lower or longer notes, or playing more complex rhythms. At no point did someone sit me down and say, "wait, none of this matters if you can't play a single note that actually sounds good."

Instead, the restaurant makes the menu longer instead of figuring out how to make even one dish worth traveling across town for. We add many slides to our presentation before figuring out how to utter a single sentence that will give the people in the room chills or make them think. We confuse variety and range with quality.

Practice is not the answer here. Practice, the 10,000 hours thing, practice alone doesn't produce work that matters. No, that only comes from caring. From caring enough to leap, to bleed for the art, to go out on the ledge, where it's dangerous. When we care enough, we raise the bar, not just for ourselves, but for our customer, our audience and our partners.

It's obvious, then, why I don't play the clarinet any more. I don't care enough, can't work hard enough, don't have the guts to put that work into the world. This is the best reason to stop playing, and it opens the door to go find an art you care enough to make matter instead. Find and make your own music.

The cop-out would be to play the clarinet just a little, to add one more thing to my list of mediocre.

As Jony Ive said, "We did it because we cared, because when you realize how well you can make something, falling short, whether seen or not, feels like failure."

It's much easier to add some features, increase your network, get some itemized tasks done. Who wants to feel failure?

We opt for more instead of better.

Better is better than more.

       
13 Nov 04:11

Looking for Lunch in All the Wrong Places

by Judy Dailey

Our newest neighbor is, I think, a Cooper’s Hawk, which feeds mainly on small birds and mammals according to the Audubon Society. I’m not sure our full-grown hens qualify as small birds, but he seems willing to try–and our girls certainly puffed up in that bravely hysterical way that chickens do when they feel threatened.  Tom always puts a chicken-wire roof on their run, which stops talons but not the calculating glare.

14 Oct 17:00

Realistic Facebook Privacy Simulator

28 Aug 00:04

Is Smiling Unethical?

I smile for at least two reasons:

1.       I am happy.

2.       I want to influence someone.

If you smile because you're happy, that seems honest enough. But what about smiling when you're not feeling it on the inside, such as during a job interview, or while trying to make a good impression on a potential love interest? Is it ethical to fake-smile?

Research backs common sense on this topic: Smiling influences how people feel about you, and that in turn influences how they act. So if you smile for strategic reasons, you're not a genial personality so much as you are a manipulative bastard.

On the other hand, don't we all have an implied obligation to make the world a better and happier place? If a fake smile causes a real smile in others, and that initiates their happiness subroutine as science says it will, aren't you - the fake smiler - sort of a living saint and a spreader of joy? Or are you still a manipulative bastard?

I was thinking of this recently because an employee at my local UPS store told me I have a "great smile." I thanked her for the compliment, even though my dentist deserves most of the credit. But I felt a little guilty about it because she was reacting to my professional smile as opposed to my happy smile. And by that I mean that I make a special effort to smile during business transactions because it makes my experience and that of others a little bit nicer. And it's free, so why not?

Smiles are like compliments in the sense that they cost you nothing while having a real impact on the happiness of others. So I try to dole out both smiles and compliments whenever I get the chance. But I have a tiny reservation about the honesty of it all. I never give out false compliments, so that part is honest. And I generally don't smile at people unless I think they deserve it. But there's no doubt that it is intended for effect, and therefore manipulative by definition.

Do you ever smile with the intention of manipulating others? And if you don't, why are you so selfish?

-----------------------------------------------

On another topic, have you friended Dilbert and me yet on Facebook? www.facebook.com/dilbert

 I also accept all connections on my personal LinkedIN account.

05 Jul 02:18

Immutable isn’t just for parallel code

by JaredPar MSFT

For the last 6 months the BCL team has been hard at work shipping an out of band release of immutable collections for .Net.  Most recently delivering an efficient implementation of ImmutableArray<T>

http://blogs.msdn.com/b/dotnet/archive/2013/06/24/please-welcome-immutablearray.aspx

Unfortunately with every announcement around these collections I keep seeing the following going past in my twitter feed.

That looks neat.  Next time I’m writing parallel code I’m going to try that out.

No, no no!!!  Immutable types are not just for parallel code.  They are very useful in even single threaded applications.  Developers are missing out by thinking of them as a parallel only construct.  Any time you want to enforce that the contents of a collection never change you should consider an immutable type.

The Provider

Consider the case of an object which provides a collection to callers where the contents never change.  Something like Assembly.Modules.  A type like Assembly must be robust in the face of misuse by any caller and always present the same set of Module values.   Given this constraint what type should it use though for the property? 

It can’t do something as simple as using a List<Module> with a similarly typed backing field.  Returning such a value would allow a devious caller to clear the list and spoil the results for everyone else.   It cannot even store a List<T> internally and return an IEnumerable<T> as anyone could just come along and down cast to List<T> and clear the collection. 

Assembly assembly = ...;
// Evil laugh
((List<Module>)assembly.Modules).Clear(); 

Instead it chooses to be robust by returning a freshly allocated array on every single call to Modules [1].  This works but is a very wasteful process and results in many unnecessary allocations. 

If this API were being designed today this would be a perfect candidate for using ImmutableArray<T>.  This value can be safely stored and returned with no fear of the caller deviously mutating the result.  There is simply no way of doing so. 

The Consumer

Now consider the case of the consumer who wants to store a collection of Modules instances and do multiple lazy independent calculations on them.  In order for the different calculations to be correct they need to ensure the collection of Module instances don’t change from operation to operation.  Hence they have to make a decision when storing the collection in the constructor

class Container {
   IEnumerable<Module> m_modules;

   public Container(IEnumerable<Module> modules) { 
     // Do I trust my caller??? 
     m_modules = modules;
   }
}

The constructor can choose to do one of the following

  1. Create a private copy of the input collection that it doesn’t mutate
  2. Create no copy and hope that the caller never mutates the input collection

The first option is wasteful and the second is just a bug waiting to happen a year from now when someone decides to reuse a List<Module> for another purpose.  With immutable types the container has a much better third option: demand a collection that never changes

class Container {
   ImmutableArray<Module> m_modules;

   public Container(ImmutableArray<Module> modules) { 
     // Trust no one 
     m_modules = modules;
   }
}

The callee has now forcefully stated to the caller exactly what type of data it expects.  It no longer has to make a wasteful copy or hope for good behavior.  True this may force the caller to create an immutable copy of the value it holds.  It’s also just as likely that the caller will be in a position to provide the collection without any copies.  If it takes the collection as input it can simply pass along the requirement in its parameter list.  Or if it is the original creator of the collection it can do so as an ImmutableArray<Module> from the start and avoid the extra copy altogether.  Over time, code bases which are assertive about using immutable collections will see a decrease in allocations because they will feel more comfortable with sharing data between independent components. 

This is just a small sample of cases where immutable collections are useful in day to day code.  The more you use them the more uses you will find for them.  At some point you may even find yourself asking the following question when writing up a type

Do I actually need to mutate this collection after I finish building it?

Generally speaking the answer to this is no.  And this is why you should be using immutable types. 

 

[1] If you dig deep into the implementation you’ll find it’s actually a fresh array of RuntimeModule[].  So even though they allocate a new array on every call you can’t safely write Module instances into it unless they happen to be instances of RuntimeModule.  So wasteful!

26 Jun 01:07

The lab or the factory

by Seth Godin
Idvorkin

Something to think about at work!

You work at one, or the other.

At the lab, the pressure is to keep searching for a breakthrough, a new way to do things. And it's accepted that the cost of this insight is failure, finding out what doesn't work on your way to figuring out what does. The lab doesn't worry so much about exploiting all the value of what it produces--they're too busy working on the next thing.

To work in the lab is to embrace the idea that what you're working on might not work. Not to merely tolerate this feeling, but to seek it out.

The factory, on the other hand, prizes reliability and productivity. The factory wants no surprises, it wants what it did yesterday, but faster and cheaper.

Some charities are labs, in search of the new thing, while others are factories, grinding out what's needed today. AT&T is a billing factory, in search of lower costs, while Bell Labs was the classic lab, in search of the insight that could change everything.

Hard, really hard, to do both simultaneously. Anyone who says failure is not an option has also ruled out innovation.