As the App Store reaches 25bn downloads, will there be a new Goldrush building Apps for wildly popular at launch @raspberry_pi?
Maybe this will finally be the moment where the oft-predicted never realised Linux desktop revolution starts.
he wasn't even looking at me and he found me

oozey mess
"I'm Dorothy Gale from Kansas"
Misplaced Lens Cap

roma★
One Nice Bug Per Day
Sade Olutola

shark vs the universe
occasionally subtle
No title available

PR's Tumblrdome
h
Lint Roller? I Barely Know Her
d e v o n

@theartofmadeline

Andulka
No title available
Monterey Bay Aquarium
hello vonnie
Today's Document

seen from United States
seen from United States
seen from Greece

seen from United States

seen from Malaysia
seen from Vietnam

seen from Brazil
seen from China
seen from Burkina Faso
seen from United States

seen from Spain
seen from Brazil
seen from United Kingdom
seen from United Kingdom
seen from Argentina
seen from United Kingdom
seen from Brazil

seen from Germany

seen from Norway
seen from United States
@norwichtech-blog
As the App Store reaches 25bn downloads, will there be a new Goldrush building Apps for wildly popular at launch @raspberry_pi?
Maybe this will finally be the moment where the oft-predicted never realised Linux desktop revolution starts.
Sad Reality - by Vincent Bocognani
Flickr || Threadless
ARS reports that some Mastering Atudios are now specifically targeting iTunes and it's lossy AAC compression
Social Network Explosion Will Lead To Fragmentation
Social Networks to join this week: pinterest.com & luluvise.com #KeepUp
If your head is too full with all the places you need to sign up to / keep track of, here's a couple you can "remove" to make space: Foursquare, GroupOn
So MANY networks now - yet the real fashionistas are desperately trying to sign-up - and keep track - of all of them. Pretty soon this will come to a head - or your head will literally explode. Social Saturation Point (where individuals simply cannot be everywhere) is coming - this year? Next year? And when it does, the market fragmentation will accelerate in earnest. Facebook will become the TESCO of the web - the big cheap beast that everyone goes to but no-one admits to - most unwillingly, but lazily accepting.
The kids won't though - with cool kids choosing a home for their gang away from their parents. Facebook's dominance will wane as others follow like rats from a beached ship; new virtual homes will be sought out away from the rotting hulk.
--------
Need some web-software development?
Google's TED.com a bit Rubbish
Google's answer to TED, Solve for <x> (http://www.wesolveforx.com/) is fancy looking, but it's really just a posh YouTube showcase at the moment, with UI issues - such as articles you can't directly link to! That educationally dangerous OLTP founding burk Nicholas Negroponte gets one of the first slots too.
VERDICT: Must do better
OR TRY THIS: ted.com
Leap Second In June 2012
It's just been announced by the explanatorily named International Earth Rotation and Reference Systems Service that June 2012 will be 1 second longer usual due to the time taken for the Earth to orbit the sun not being exactly 365.25 days.
More info from Wikipedia: http://en.wikipedia.org/wiki/Leap_second
-- SYSADMINS ONLY ---
Will your Unix system calculate the correct time from it's UNIX epoch? Hmm?
Mobile Browser Market Share 2012
Interesting chart of mobile browser market share - handy if you're thinking about what handsets to concentrate on when developing a mobile site : http://www.netmarketshare.com/operating-system-market-share.aspx?qprid=9&qpcustomb=1&qptimeframe=M&qpsp=132&qpnp=25
iOS is far and away the leader - despite having fewer handsets. It seems iPhone / iPad / iPodTouch users just love to surf - perhaps because the experience is that much more enjoyable...
The other interesting stat going into 2012 is that the JavaME operating system has crept ahead of Android again. For those who think Android and iOS were the only big players this may be a surprise (that'll be me, then). JavaME is the O/S used on so called "feature phones" - those cheap handsets that make up the majority of the worldwide mobile market and now have basic web-search etc.
Google+ Usage Surges, Are You Using it?
This recent CNET post details many peoples estimations of the current user base on Google's latest (and best) social network:
http://news.cnet.com/8301-30685_3-57351106-264/hitwise-u.s-google-traffic-leaps-55-percent-in-december/?part=rss&subj=news&tag=2547-1_3-0-20
Visits to the site jumped by 55% in december according to this report, and user base is now lingering around the 62-65 Million mark.
It seems that a good majority of these users are US based, so back to my original question:
Are YOU using it? And if not, WHY NOT?
I'm using it, and have been solidly ever since I was first able to join. I love it, I love the workings of the site, I love it that all the features actually work, the layout is great, I've met lots of new people I get on well with, and I don't have to go anywhere near F**ebook to communicate quickly and efficiently with people I like.
If you've not tried it, give it a go and let us know what you think. To get your started here's a link to my profile, feel free to add me to your circles:
David Pye
Server-side git - a guide
Using GIT on a server to allow multiple people to work on the same code base
If you're new to git, first work through Using GIT locally on OSX to back-up and track changes to get the hang of the lingo/basic commands
1. On the Server
Make sure your server has the latest version of the code, as this will become the master!
Get an SSH connection to your server. On Mac OSX open Terminal and type:
(I'm assuming a Linux or other Unix flavour server here. If you're using a Windows server I have NO IDEA WHAT YOU ARE DOING)
Switch to root and get your favourite package manager to install to code e.g. for Ubuntu it's:
sudo apt-get install git-core
Now change directory to the code you wish to share / edit / backup, for example:
cd /www/htdocs
Start git tracking:
git init git add . git commit
2. On your Local Machine
You also need to install git. (Go get it!: http://code.google.com/p/git-osx-installer/downloads/list?can=3 )
Now you need somewhere to keep your local copy of the code, e.g.
mkdir ~/mycode/
cd ~/mycode/
Now you can clone your server's files, e.g.:
git clone [email protected]:/home/path/to/my/code
Wait for however long it takes to download your working copy of the code...
Now, make some changes then do the usual "git commit -a" to apply them locally.
3. Apply your changes to the server
Have a look at the servers you have configured:
git remote -v
This should at least list the server you cloned your code from, by default called "origin".
Now first you need to merge any changes on the server with your code:
git pull
If it fails, you'll need to find the conflicts, edit the files and recommit them locally, then:
git pull
git push
(Note: you can rename "origin" using "git remote rename origin somethingelse")
An added level of source control can be added by first cloning your local master repository:
git branch -b newbranchname
git checkout newbranchname
Then when you're done:
git merge master
git diff (then fix shit)
git commit -a
git merge master (again)
git checkout master
git merge newbranchname
git push origin master
Stop GIT being a git - a simple guide to code control
Using GIT locally on OSX to back-up and track changes
This is principally a guide to getting git to work on Mac OSX. Sure, there's plenty of git tutorials online, but I found them esoterically geeky so thought I'd write one that made SENSE (to me anyhow)...
1. What is GIT? This surprisingly unanswered question is a case in point. There's plenty sites in Courier out there explaining the File Status Lifecycle and SSH keys but precious little by way of high level summary. Essentially, you can use it to back up your code (and if you're a one-man-band coder then you're probably just as well sticking to Time Machine)
However, if you're project has expanded to a couple of you working on various files at once you'll know what an UTTER NAUSE it is when you stuff everything back onto the file server / shared drive and it doesn't work. This is where it really gets useful - in telling you who has done what changes and when.
2. Where does it live? git keeps a copy of the directory of code you point it at in it's repository, either locally on your laptop - or on a web-server so a bunch of you can use it (or even the outside world if you're openly-sourcey. Whatever, you'll access it via the command line (via Terminal). There is a bunch of GUI clients if you prefer - or just type
git gui
from Terminal to launch the one that comes with git.
3. Local GIT like I said before, this isn't wholy necessary if you're already using a Time Capsule, but it's good practice with git and does allow you to tag changes with comments if your human memory is not fully functional (as mine isn't).
Fire up Terminal and change directory to something with code in it (e.g. cd ~/Sites/mywebapp). Now type:
git init
Now tell git to add all your files to it copy of your code:
git add .
git commit
It'll ask you to enter a commit message - which you have to do each time you commit. Your Terminal has probably launched your least favourite text-based editor to do this. To switch editor to a different Terminal-based one either follow this brief guide or simply if you prefer to use emacs go for:
git config core.editor emacs
or for TextWrangler:
git config core.editor "edit -w"
Something like "Initial commit for my project" will do fine.
Typing:
git status tells you what's going on
git diff tells you (in a hideously geeky way) what the differences are between your version and the last committed version
git log see what you've done
git log -n4 see what you've done recently without spewing out EVERYTHING
git log -n4 --pretty=oneline see what you've done in a compact one-line-per-commit way (WHY is this not the default?)
If you don't want to add all changed files, list their filenames instead of "." e.g.:
git add file1.js file2.css
If you want to commit everything you've changed, you don't need to do "git add ." for existing files, only:
git commit -a
If you use some editor like emacs which leaves back-up files strewn around, cd to the root of your code and create a .gitignore file. In it you put the name of each file you wish to ignore on separate lines - or you can use a * wildcard (mine is simply "*~" to catch all of the code.js~ etc files)
you'll probably want to add your .gitignore file too!
git add .gitignore
Retrieving GIT back-ups
OK - that's the basics. Now it gets useful.
To see the differences between 2 commits for a file, use:
git log -p nameofcodefile.php
At first it looks like scrambled sed, but it's fairly straightforward:
- The long 40 character code next to each commit is it's id.
- each line that starts with "+" was added in that commit
- each line that starts with "-" was removed in that commit
To see who wrote every line in a file, this is cool:
git blame nameofcodefile.php
To rollback to a previous version of your code, use:
git checkout dc4dd42f109aba67a671d61ab6b2d0cfa6ec13fd
substituting your own 40 character id (from a call to git log)
You are now looking at your files as they are. Any changes you make and then commit WON'T affect the master code, but are committed to a temporary branch. Try doing a change, commit and git log. You can see all of the changes that were made prior to the id you chose, then only the ones you've just committed subsequently.
Now you have a choice - a) keep using your code base you've changed, b) revert back to the original (and chuck your changes), or c) merge the changes:
a) This is called "branching" the code. Formalise your current temporary branch using:
git checkout -b new_branch_name
b) Chuck away your changes by switching to another branch. First you need to know which branch to merge with (likely "master", if you're working through this tutorial). To list all of the branches, type:
git branch using:
Now do:
git checkout master
(replacing master with the branchname you're merging with)
c) Merge your changes.
git merge branch_name
Whoops! Did you get a "Automatic merge failed; fix conflicts and then commit the result." message that stopped the merge?
Ok, so you need to tell git which code to use. git merge will have listed the merge conflicts to give you a head start. To look at the differences between each one use:
git diff filename.php
Git will list out your code, and litter it with bits that look like this:
++<<<<<<< HEAD + +// This is a new change to index.php +// I did this following checkout of an older version... ++======= + // This was a change that was made to master but I do not have. ++>>>>>>> master
The top bit of this section is the code you've just written (HEAD) and the bottom bit is the original code in the target branch (in this case "master")
Edit the conflicting file (your version, obv) and delete git's diff messages, choosing the code you want to keep. Finally tell git that it's right simply by adding it:
git add index.php
Do a commit and recall "git merge"
Now then, this has merged "master" into YOUR branch. (This is way safer than you screwing up the master branch whilst you fix merge conflicts). The final step is to update the master. Type:
git checkout master
That'll switch you over. DON'T PANIC that all of the code on your hard-disk has reverted to the old version! Now, merge your new branch into master, following the same steps as before:
git merge nameOfYourBranch
Delete your old branch if you like…
git branch -d nameOfYourBranch
If you don't want to start a fight with everyone else working on the master branch, it's probably a good idea to create your own branch:
git branch newbranchname
git checkout newbranchname
Then you can work without affecting anyone else. When you're done it's:
git merge master
git diff (then fix shit)
git commit -a
git merge master (again - should work without conflicts this time)
git checkout master
git merge newbranchname
git branch -d newbranchname
How to fix WordPress "Call to undefined function has_post_thumbnail()" error
This sometimes occurs when a WordPress Plugin is trying to use the WordPress standard thumbnail functions but hasn't included them. I had this problem with the Featured Posts Scroll plugin.
How to fix it
Log in to your WordPress admin and:
1. First check your WordPress version (Click on About Wordpress, top left menu). If you're not using version 3 or above then you're going to have to upgrade.
2. Go to Plugins > (your troublesome plug-in) > Edit
3. Whack this code in near the top (I put mine after all of the other add_action lines)
// Added by tin @ klikweb.co.uk add_action('after_setup_theme','final_bits');
4. Put this code at the bottom, before the closing ?>
// Added by Tin @norwichtech function final_bits() { add_theme_support('post-thumbnails'); }
I guess the error didn't occur for the plugin developer because some other plug-in they were using (or the theme) already included this code.
Why Upgrade To Internet Explorer 9?
The big problem here is Internet Explorer version 6. IE6 especially is over a decade old - and was engineered for a time when the web was a different place. Security holes are constantly being found and Microsoft no longer fixes nor supports it.
Google, too only support the last two major versions of any browsers - that means that all those lovely additional services like Gmail and Google Docs just won't work properly in IE7 or IE6.
According to Microsoft's own internal documents, IE8 and IE9 are far more secure - see http://blogs.technet.com/b/srd/archive/2010/01/15/assessing-risk-of-ie-0day-vulnerability.aspx
The latest Microsoft Security Intelligence Report also strongly recommends moving to IE9, as well as recommending a move to Cloud Computing services - such as our own Pupil*Asset.
It's not just security though - want things to work properly and look nice? You really need to upgrade - or push your IT guy to do it. Today. Do it. Go-on!
Finally, Microsoft is auto-updating people to IE9:
http://windowsteamblog.com/ie/b/ie/archive/2011/12/15/ie-to-start-automatic-upgrades-across-windows-xp-windows-vista-and-windows-7.aspx This can only be a good thing - especially for web-developers. We are DESPERATE to drop IE6 support - something that corporate heel-dragging is making impossible.
However, the millions still on XP or with hooky copies of windows will still be un-able to, which leaves them with the horrible pre-9 versions of Internet Explorer and their nasty site-breaking standards.
Google++ : How Google Could Make Google+ Way Better
Put simply, there should be WAY more integration with Gmail.
I mean, like Gmail being effectively what messages are to Facebook - but REALLY GOOD messages that actually work and are useful.
G+ was/is too geared toward including those not on Gmail but HECK - why do that? To take on Facebook from the outset? Meh. Make something that works REALLY well for people with Gmail to interact. Why would we bother skipping over to FB where our old school hates & parents live, or even Twitter for that matter? That's a better focus - and a solid foundation for a social network outside of the FB Goliath, particularly as the market fragments (of which, more in a later post)
One more thing - GOOGLE, PLEASE LET US GOOGLE CHAT (inc. talk+video) FROM THE G+ MOBILE APPS - TA
Bad Apple are again attempting to prevent us writing nice HTML5 touch capable mobile sites by flexing it's patents:
http://my.opera.com/haavard/blog/2011/12/09/apple-w3c
via @opera