Skip to content

Instantly share code, notes, and snippets.

View saimonmoore's full-sized avatar

Saimon Moore saimonmoore

View GitHub Profile
I, [2015-04-14T10:39:05.891925 #31775] INFO -- : Refreshing Gem list
/data/teambox/releases/1428591906-5608444/vendor/bundle/ruby/2.1.0/gems/activesupport-3.2.19/lib/active_support/dependencies.rb:251:in `require': /data/teambox/releases/1428591906-5608444/vendor/bundle/ruby/2.1.0/gems/redbooth_ms_project-0.0.1/lib/redbooth_ms_project/engine.rb:10: syntax error, unexpected keyword_do_block (SyntaxError)
...et precompile', group: :all, do |app|
... ^
/data/teambox/releases/1428591906-5608444/vendor/bundle/ruby/2.1.0/gems/redbooth_ms_project-0.0.1/lib/redbooth_ms_project/engine.rb:11: syntax error, unexpected tSTRING_BEG, expecting keyword_do or '{' or '('
puts 'HERE NOW'
^
/data/teambox/releases/1428591906-5608444/vendor/bundle/ruby/2.1.0/gems/redbooth_ms_project-0.0.1/lib/redbooth_ms_project/engine.rb:16: syntax error, unexpected keyword_end, expecting end-of-input
from /data/teambox/releases/1428591906-5608444/vendor/bundle/ruby/2.1.0/gems/activesupport-3.2.1
> parrot@0.0.0 start /data/parrot/package
> node --expose-gc ./server.js
could not parse<stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client" version="1.0" id="c58c891005b2e3e0ad325511634bb15d" from="onprem1.on-premise.staging.redbooth.com">
_http_outgoing.js:333
throw new Error('"name" and "value" are required for setHeader().');
^
Error: "name" and "value" are required for setHeader().
at ServerResponse.OutgoingMessage.setHeader (_http_outgoing.js:333:11)
at BOSHServer.setCorsHeader (/data/parrot/package/node_modules/node-xmpp-server/lib/bosh/http.js:69:9)
> parrot@0.0.0 start /data/parrot/package
> node --expose-gc ./server.js
could not parse<stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client" version="1.0" id="c58c891005b2e3e0ad325511634bb15d" from="onprem1.on-premise.staging.redbooth.com">
_http_outgoing.js:333
throw new Error('"name" and "value" are required for setHeader().');
^
Error: "name" and "value" are required for setHeader().
at ServerResponse.OutgoingMessage.setHeader (_http_outgoing.js:333:11)
at BOSHServer.setCorsHeader (/data/parrot/package/node_modules/node-xmpp-server/lib/bosh/http.js:69:9)
notifying activity: #<Comment:0x007f31d0b96bb8> for provider: digest
ESC[1mESC[36mPerson Load (0.1ms)ESC[0m ESC[1mSELECT `people`.* FROM `people` WHERE `people`.`deleted` = 0 AND `people`.`project_id` = 1 AND (user_id not in (2,4,3))ESC[0m
notifying activity: #<Comment:0x007f31d0b96bb8> for provider: native_push
ESC[1mESC[35mPerson Load (0.2ms)ESC[0m SELECT `people`.* FROM `people` WHERE `people`.`deleted` = 0 AND `people`.`project_id` = 1
[NaivePush] notifying activity: #<Comment:0x007f31d0b96bb8> for peoplle: [#<Person id: 1, user_id: 2, project_id: 1, source_user_id: nil, created_at: "2015-01-27 13:38:59", updated_at: "2015-01-27
15:48:53", role: 3, permissions: nil, deleted: false, digest: 4, last_digest_delivery: "2015-01-27 13:38:59", watch_new_task: false, watch_new_conversation: false, watch_new_page: false, instant_
notifications: true, watch_new_event: false>, #<Person id: 2, user_id: 3, project_id: 1, source_user_id: nil, created_at: "2015-01-27 13:39:22", updated_at: "2015-01-27 15:58:44",
git checkout master
git pull --rebase
git merge --no-ff release/6.3.0-ring-nebula-entp
git push origin master
error: Your local changes to the following files would be overwritten by checkout:
Gemfile.lock
Please, commit your changes or stash them before you can switch branches.
Aborting
script/enterprise/release:1000:in `block in execute': Error executing: git checkout master (Exception)
git checkout master
git pull --rebase
git merge --no-ff release/6.3.0-ring-nebula-entp
git push origin master
error: Your local changes to the following files would be overwritten by checkout:
Gemfile.lock
Please, commit your changes or stash them before you can switch branches.
Aborting
script/enterprise/release:1000:in `block in execute': Error executing: git checkout master (Exception)
Started GET "/downloads/21/thumb/smarties-birthday-cake-satisfying.png" for 127.0.0.1 at 2014-11-27 12:03:06 +0000
Processing by UploadsController#download as HTML
Parameters: {"id"=>"21", "style"=>"thumb", "filename"=>"smarties-birthday-cake-satisfying.png"}
Filter chain halted as :login_required rendered or redirected
# Setup your iOS projects for testing
![image](http://www.gibedigital.com/media/1280/unit-test.jpg)
Although in other programming communities, like Ruby, developers are more aware of testing newly implemented components in the app, in mobile app development, ensuring every component is tested **is not common** within the community.
Fortunately a bunch of iOS developers have been working over the years to bring that culture to iOS too, **offering new libraries** that use native ones to allow you to write your tests with a fresh and more readable syntax. This has provided a big impulse and every day more and more developers ensure that expected behaviour in their apps is tested.
In the **Redbooth iOS Team** we were strongly influenced by the Ruby backend team and decided to have introduce testing into our development flow. Thanks to components, like *Cocoapods*, the use of *Schemes and targets*, and some other tools, testing has become an essential component for us.
@saimonmoore
saimonmoore / gist:5872757
Created June 26, 2013 23:39
Demonstrate Microsoft SMTPSVC mail header bug
# With invalid space between "Microsoft" and "SMTPSVC"
# Parses incorrectly
irb(main):001:0> Mail::Header.new( "Received: from LEXCV6.live.trust.xblt.nhs.uk ([12.10.5.27]) by lexcb1.live.trust.xblt.nhs.uk with Microsoft SMTPSVC(6.0.3790.4675); Fri, 26 Oct 2012 15:42:13 +0100" ).errors
=> [[Received, from LEXCV6.live.trust.xblt.nhs.uk ([12.10.5.27]) by lexcb1.live.trust.xblt.nhs.uk with Microsoft SMTPSVC(6.0.3790.4675); Fri, 26 Oct 2012 15:42:13 +0100, #<Mail::Field::ParseError: ReceivedElement can not parse |from LEXCV6.live.trust.xblt.nhs.uk ([12.10.5.27]) by lexcb1.live.trust.xblt.nhs.uk with Microsoft SMTPSVC(6.0.3790.4675); Fri, 26 Oct 2012 15:42:13 +0100|
Reason was: Expected one of
, (, <, ., ", !, #, $, %, &, ', *, +, -, /, =, ?, ^, _, `, {, |, }, ~, [ at line 1, column 121 (byte 121) after from LEXCV6.live.trust.xblt.nhs.uk ([12.10.5.27]) by lexcb1.live.trust.xblt.nhs.uk with Microsoft SMTPSVC(6.0.3790.4675)
>]]
# Without invalid space between "Microsoft" and "SMTPSVC"
Interesting tidbit:
Due to this line in ruby's Timeout module:
https://github.com/ruby/ruby/blob/v1_9_3_429/lib/timeout.rb#L84
If you use your own custom class, you don't get the original timeout exception backtrace.
This is probably a good thing.