A maneira artesanal de fabricar cerveja da Dois Corvos na Time Out Lisboa deste mĂȘsÂ
noise dept.
wallacepolsom

#extradirty
RMH
đȘŒ

romaâ
Mike Driver
i don't do bad sauce passes
"I'm Dorothy Gale from Kansas"
Alisa U Zemlji Chuda
2025 on Tumblr: Trends That Defined the Year
Show & Tell

izzy's playlists!
I'd rather be in outer space đž
Jules of Nature

⣠Chile in a Photography âŁ
Cosimo Galluzzi
Sweet Seals For You, Always

pixel skylines

ç„æ„ / Permanent Vacation

seen from Germany

seen from Russia
seen from Malaysia
seen from Spain

seen from TĂŒrkiye

seen from Canada
seen from Venezuela
seen from Australia

seen from Croatia
seen from Canada
seen from South Africa
seen from Qatar
seen from United States
seen from Italy

seen from Belgium

seen from United States
seen from United States

seen from United States
seen from United States
seen from United States
@nikoroberts
A maneira artesanal de fabricar cerveja da Dois Corvos na Time Out Lisboa deste mĂȘsÂ
Coworking Spaces in Melbourne
As I am looking to live in Melbourne shortly I have been gathering information on the location and cost of coworking spaces there.
Sublime Text - Useful Shortcuts
Great reference for key commands in Sublime Text
Anyone tried setting this up for their own use?
Almost 2 years ago today, I quit my day job and started building something. After months of customer development, discussions with my wife about my plans, savings and sleepless nights, I finally decided to take the plunge.
Iâm glad I did
That day I quit my job marked the beginning of an...
One more guy caught in the hype-cycle of accelerators and instead of caring about cash flow just focussed on the burn rate of invested money... now realising that mistake way too late has to shut down the company.
Anyone wanting to start a business. Remember what Ken Morse says CFIMITYM! http://www.businessweek.com/smallbiz/running_small_business/archives/2008/07/cfimitym.html
How to settle on whether to merge or rebase at specific points in a team-shared git workflow.
Started my new morning workout with Ingress.com today
Another great reason to learn how to code
I just found this app through Jaime Jorge from Qamine. Great app for anyone developing on a Mac and wanting a development DB environment closer to production
In the responsive UI world we live in today developers should have some basic grasp of good font usage and how different fonts should play a role in good app creation.
Buying Ebooks
I recently started reading the Game of Thrones books on iBooks with the 400 page free sample. Now I am finished I am considering paying the $22 to buy the 4 book pack.
One big thing still holds me back from buying any Ebooks is the lack of my right to transfer.
If I buy a physical book it can be a treasure handed from person to person giving everyone who reads it a common experience, allowing them to better relate to each other.
With Ebooks still the standard terms and conditions are that I can't transfer the thing to someone else even if I die and leave it specifically in my will...
 Until this changes I don't think I can undercut my beliefs about the way things should be by buying an Ebook. Which means I will probably have yo wait for someone to lend me Game of Thrones physically...Â
Controller based stylesheet or javascript loading with Rails 3.2 and asset pipeline
After reading Steve Souders' books on High Performace Websites in 2009 I understand much better how to increase the speed of websites and how to tweak loading until it is super fast.
In 2012 I started really programming in Rails instead of just playgramming and I really was happy with some of the results I was able to produce. I feel very thankful that I am coming into the language now that it has matured a bit more.
I did a bit of a search on how to load controller specific assets through the asset pipeline in Rails 3.1 (Aug 2011) and struggled to find something that matched my best practice knowledge of Rails or of asset loading.
I based my work on this one but he suggests putting the stylesheets in the /public/ directory which means they would not go through the asset pipeline and would not be compressed or version tracked. shaunchapman.me/post/446260774/rails-tip-automatically-link-a-controllers-stylesheet
Instead I suggested the following to be put in app/helpers/application.rb
# very useful methods, improves caching efficiency and allows division of controller specific CSS/JS def controller_stylesheet_link_tag stylesheet = "#{params[:controller]}.css" #e.g. home_controller =>assets/stylesheets/home.css #if stylesheet asset exists include it unless Rails.application.assets.find_asset(stylesheet).nil? stylesheet_link_tag stylesheet end end def controller_javascript_include_tag javascript = "#{params[:controller]}.js" #e.g. home_controller =>assets/javascripts/home.js unless Rails.application.assets.find_asset(javascript).nil? javascript_include_tag javascript end end
And also the following in app/views/layouts/application.html.haml in the header
= stylesheet_link_tag "application", :media => "all" = controller_stylesheet_link_tag
at the bottom inside the body
= javascript_include_tag "application" = controller_javascript_include_tag
This could quite easily be adjusted to allow for model or page specific asset loading if you need
By doing this you will allow for the applcation wide javascript to be cached and reused for all pages (please donât make me reload your JS files each page view by changing the application.js contents on each load)
 **UPDATE** Jan 22 2013
It is important to note Rails 4 now comes with Turbolinks which reloads the body on demand. This means CSS loaded based on the controller_stylesheet_link_tag method shown above will not work.
The JS loaded will still load and cache fine.
Unless Turbolinks provides a way to load specific CSS files I think it probably unlikely that you can cache your CSS in fragments like I have shown so the best method for now will probably be to include all of your CSS inside the application wide CSS
**UPDATE** Feb 26 2013
Updated to use unless statements instead of if! Thanks OliverÂ
Installing RescueTime on Ubuntu 12.04 x64
1. Download RescueTime Linux Uploader from https://launchpad.net/rescuetime-linux-uploader
2. Unzip the file and open the terminal to that folder. i.e. cd ~/Downloads/rescuetime-linux-uploader-99/
3. Then edit the setup.py and find and change update these lines with the bolded text
shutil.copy(âgnome_applet/rescuetime_tracker.serverâ,â/usr/lib/x86_64-linux-gnu/bonobo/servers/â) shutil.copy(âgnome_applet/rescuetime_notifier.serverâ,â/usr/lib/x86_64-linux-gnu/bonobo/servers/â)
4. Run these commands in the terminal
sudo apt-get install python-setuptools python setup.py build sudo python setup.py install
6. Run the following command and type your username and password
rescuetime_linux_uploader
7. If you want RescueTime to start automatically with the computer Open Terminal and run
whereis rescuetime_linux_uploader
Then open the Startup Applications Click âAddâ Name: RescueTIme Command: /location/from/above/rescuetime_linux_uploader Comment: type whatever you like Click âSaveâ
Setting up a Rails 3.2 server in the Rackspace Cloud
with Ubuntu 12.04, Nginx, Passenger, Nodejs, RVM, Ruby 1.9.3
also setting up a deploy process with Capistrano + Github
1) Create a fresh new 1024MB server on Rackspace
2) Login to the server as root
3) Create a user account for deployment
adduser deployer adduser deployer sudo
4) Logout of the server
exit
5) Login to the server as deployer
6) Install libraries needed
sudo apt-get install git-core curl gcc make libcurl4-openssl-dev libreadline-dev libxslt-dev libxml2-dev
7) Install RVM
curl -L get.rvm.io | bash -s stable
8) Find RVM requirements and install them (read the output carefully). If you see RVM not installed try opening a fresh terminal
rvm notes rvm requirements
If you see RVM not installed, then try logging out and back in
Read and find the apt-get command and run it
It should look something like:
sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion pkg-config
9) Install Ruby
rvm pkg install zlib rvm pkg install openssl rvm install 1.9.3 --default --with-openssl-dir=$HOME/.rvm/usr
Replace the version above with the one you want as default 1.9.* is recommended if this is a new project
10) Install Rails
gem install rails
11) Install NodeJS
sudo apt-get install python-software-properties sudo add-apt-repository ppa:chris-lea/node.js sudo apt-get update sudo apt-get install nodejs npm
12) Install Passenger
gem install passenger
You should log out and in after this
exit ssh [email protected]
13) Install Nginx and setup to use Passenger
rvmsudo passenger-install-nginx-module
You should choose option 1 to install Nginx and just go with the default install path
Once the install is done we can configure Nginx
sudo nano /opt/nginx/conf/nginx.conf
Turn gzip compression on by default
gzip on;
Add this below the gzip setting
passenger_default_user deployer;
Add a server setup for our Rails app
server { listen 80; charset utf-8; server_name localhost; root /var/www/helloworld/public; passenger_enabled on; rails_env production; # fast passenger and rails respawn # from http://stackoverflow.com/a/2329221 rails_spawn_method smart; rails_app_spawner_idle_time 0; rails_framework_spawner_idle_time 0; location ~ ^/(assets)/ { root /var/www/hellworld/public; gzip_static on; expires max; add_header Cache-Control public; # access_log /dev/null; } }
14) Make Nginx start on boot
git clone git://github.com/jnstq/rails-nginx-passenger-ubuntu.git sudo mv rails-nginx-passenger-ubuntu/nginx/nginx /etc/init.d/nginx sudo chown root:root /etc/init.d/nginx sudo /usr/sbin/update-rc.d -f nginx defaults
15) Create our first app
sudo mkdir /var/www/ sudo chown deployer /var/www/ cd /var/www/ rails new helloworld
16) Edit Gemfile
cd helloworld nano Gemfile
Uncomment the rubyracer gem
gem 'therubyracer', :platforms => :ruby
17) Install the gems
bundle install
18) Restart Nginx
sudo /etc/init.d/nginx restart
19) View on a browser
http://your.rackspace.server.ip
You should see your HelloWorld Rails app
Your server should now be setup
So lets setup Capistrano Deployment from Github on your local/dev machine
1) Create local ssh access to Github (if you havenât already)
ssh-keygen
Do not enter a passphrase
cat ~/.ssh/id_rsa.pub
copy the ssh key into your personal Github SSH keys
https://github.com/settings/ssh
2) Create local RVM, Ruby, Rails
If you donât already have RVM and Ruby installed on your development machine follow instructions 6->10 from aboveBundler not installedthis can be caused by the following line missing from your bash profile (located at ~/.bashrc )
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
 It is likely that you wonât need Nginx and Passenger on your development box you can just use webrick or foreman to do most of your dev testing
3) If you havenât already lets clone or create an app
Browse to a directory where you keep project code e.g.
cd ~/projects/
Now we can clone an existing Github repo (skip to next step if you clone)
git clone [email protected]:UserName/ProjectName.git
or create a fresh rails project:
Go to github.com/new to create a new Github repo for this then
rails new helloworld cd helloworld git init git add . git commit -m 'first commit' git add remote add origin [email protected]:UserName/ProjectName.git git push -u origin master
4) Capify your project
From help.github.com/articles/deploying-with-capistrano
cd ~/projects/helloworld gem install rvm-capistrano capify .
If you are using a public Github repo Do not add the generated Capistrano files config/deploy.rb and Capfile to the Github repo because they are only relevant to a development machine and may contain sensitive data
nano .gitignore
Add these lines
# Ignore configs in capify docs (added after first commit) /config/deploy* /Capfile
5) Give Rackspace Server SSH access to Github
ssh [email protected] ssh-keygen
Do not enter a passphrase
cat /home/deployer/.ssh/id_rsa.pub
Copy the ssh key into your Github project Deploy keys
https://github.com/UserName/ProjectName/admin/keys
Logout of the server
exit
6) Setup Capistrano to use this repo
nano Capfile
Uncomment the load âdeploy/assetsâ line
nano config/deploy.rb
There are a lots of options on how to set up Capistrano. I would recommend a setup called multistage as it allows for future use of various environments (staging)Â gist.github.com/3596906
Although if you want there are some simpler setups gist.github.com/3596877
If you want to use multistage you will need to set up individual environment files
nano config/deploy/production.rb
Example production setup gist.github.com/3597275
7) Deploy using Capistrano
cap production deploy:setup cap production deploy cap production deploy:migrations
8) Alter Production Server Nginx config to point to the deployment location
ssh [email protected] sudo nano /opt/nginx/conf/nginx.conf
Replace the location of the server to the capistrano deployment location (/current/)
server { listen 80; charset utf-8; server_name localhost; root /var/www/helloworld/current/public; passenger_enabled on; rails_env production; # fast passenger and rails respawn # from http://stackoverflow.com/a/2329221 rails_spawn_method smart; rails_app_spawner_idle_time 0; rails_framework_spawner_idle_time 0; location ~ ^/(assets)/ { root /var/www/hellworld/current/public; gzip_static on; expires max; add_header Cache-Control public; # access_log /dev/null; } }
Then reload nginx
/etc/init.d/nginx reload
Logout of the server
exit
Now we should have a good Development and Deploy environment
Steps to make modifications
1) Alter code on development machine
2) Git add, commit and push to Github
3) Cap deploy to push those changes to the production server
I will probably write up more on these topics separately using the same system
Open sourcing code while maintaining the security of sensitive data using Capistrano and Github
Using Rackspace Cloud DB on Rails
Setting up Memcached with Rails
Google's race to be "better" at mobile is hurting the dev community
Google and their Android release strategy are getting to me...
I am a fan of what Google are trying to do for the mobile software industry but I think the choice to pick speed over stability is going to lose a lot of developers.
I created a mobile software company last August buildings apps for Android mostly and about 60% of our time since then has been spent on finding stupid fixes for what Google has decided to brand as "differentiation" (aka fragmentation)
Fragmentation for the user:Features are features and if an OS update comes or not the majority of users, I don't think cares.They do care however when they see an app working on another phone running "Android" and they think that means they can get it working fine on theirs.
Fragmentation for the developer:Means finding good methods of avoiding being victim to vendor differentiation. This can range from hardware differences (like a missing Home button...) or in pre-ICS altering the default themes.Testing for various different OS versions on various devices all with varying screen sizes and other hardware which takes a lot of time
Pre 2011 this wasn't such a big issue. The version strategy looked obvious and there was good reason to push out minor versions even though it meant there might be differences.What got to me was the rumours after the launch of the second major release (ICS) for the year, we already heard plans for the release of v5...
To be honest I don't care about v2.1 or less. 2.2 is dropping on priority quickly.2.3 is the major OS version I care about.However any new version I basically have to support (except v3 as it was a mutant child)But if by the end of the year I have to support v4 and v5 without either of them having significant market share, it really turns me off developing for Android, especially if this continues.
Google, I know you want to build a great OS for users and a great ecosystem for developers but just give developers a chance to breath, let the latest version of Android get a significant share of the market before planning the release date for the next version. React based on the market, not on the calendar.
Google Adds Mobile and Landline calls to Chat
As of my birthday (3rd of Aug) Google has added a "Call phones from Gmail" feature to google chat.
Can anyone say "goodbye skype!"?
What most would consider the final advantage of Skype now has been matched and the proliferation of google chat into google plus only means less reason to boot up the slow and cumbersome dinosaur that Skype now is.
Skype, thanks for the good times but it looks like goodbye. Microsoft, good luck Google, well played
Google Realtime + Facebook
It is very encouraging to see that Google is not all politics and actually realises the potential that Facebook gives to the Google platform as well as the threat.
I am very encouraged that Google is working on something similar to what I have been exploring these last couple of weeks. (more news about this I hope soon)