A series of great presentations:
Social Data Sources are
Get visual today.
Social Data Sources are
Get visual today.
I’ve created a WordPress blog on my agendi.com domain called “the green balcony project” in order to firstly encourage and challenge people to use their balcony/backyard in a more sustainable way and to investigate the act of creating a community around a particular niche (in this case domestic environmental concerns).
In particular interest to me is “how much community makes a community”? Green Balcony Project has been running for less than a month and so far it is hard to get the message out. I haven’t really gone hard on it – a few tweets here and there, but the lack of action is depressing.
So far WordPress has proven to be an really nice blogging platform but I have my doubts about it being able to facilitate a community style site. I have also set up the wordpress forum (bbPress) integration to add more community firepower.
My work has been very busy lately, there is high demand for mobile and other media innovations that seems to be endless. This is a good thing. The market is hungry and relentless – traditional media has been a big, lumbering beast that recently has the shock of its life with more agile players drying up the “rivers of gold” by diverting many little attention streams from upstream. As with all erosion, eventually the groove is too deep for people to get out of to bother going back to traditional sources. Case in point – large domestic news media organisations are not competing against other large media organisations but against attention diverting social news sites. Added to this the increasing prevalence of super diversion devices such as “always on” smart phones, mobile games platforms, e-books readers, portable media devices and so on. As such, in the past monolithic product development life cycles and industrialisation of server-side software made sense, because all your competitors had to pay the same cost to compete. Those days are over.
The 6 to 9 month long projects, carefully scoped out and made “industrial”, to scale, for the hordes are seen as the preferred path to software perfection does not take into account the prevailing wind of “follow the market don’t market to followers”. By this I mean that the consumer/customer/subscriber/market is dictating the pace and not the other way around. The notion that any piece of moderately complex web-based service can be delivered as the final solution is blatantly untrue. Even during these long projects there is a lot of prototyping and work that never makes it to the final product. This doesn’t take into account the evolutionary nature of user experience, framework changes, strategic tectonic shifts as well as business priority changes and staff churn. There is a culture of “monolithic is better than prototyping because it is more structured and controllable” is a myth. Course changes are common, and will only become more common in the Media space. More often than not, the call to “industrialise” a technology is a veiled form of political control.
A prototype that can prove the right shape of a design, rapidly iterate through UX/design options, drill down into the heart of the challenge and so on. The fact that the code could be discarded and might require rework is not a weakness but a strength because bad decisions (and bad code) is easily discarded because there isn’t already that industrialised “spend”. If a project took 9 months to complete then you can be sure that the next round of basic changes will take 3 months and so on because the code base is already set.
I am not advocating a fire and forget policy of having your business run on prototypes. I’m not saying stability, scalability and architectural concerns aren’t valid and should be thrown out with the bath water. I am saying that all projects are evolutionary regardless of how long you stretch them out (in fact the more you stretch them out the more likely it is that they should be discarded, but won’t be), all platforms are moving targets and finally media consuming customers aren’t willing to wait for your 100% rock-solid platform that can only just deliver the services that they needed two years ago.
I am not a product manager. I don’t like the term and I won’t wear it.
Listing a few TED talks here so I can reference them in the future. Great discussions on space and light as well as identity in form and function.
CREATE FUNCTION GreatCircleDistance
, @LongitudeA float
, @LatitudeB float
, @LongitudeB float
Returns float /* meters */
Great Circle Distance
declare @LatB float
declare @LatA float
declare @deltaLng float
set @LatB = RADIANS(@LatitudeB)
set @LatA = RADIANS(@LatitudeA)
set @deltaLng = RADIANS(@LongitudeA) – RADIANS(@LongitudeB)
power(cos(@LatA)*sin(@LatB) – sin(@LatA)*cos(@LatB)*cos(@deltaLng),2))
sin(@LatA)*sin(@LatB) + (cos(@LatA)*cos(@LatB)*cos(@deltaLng))
)* 6378137 –WGS-84 ellipsoid reference
There are very few programming fundamentals but an infinite way of using and expressing them.
I will start with two basic types – Strings and Integers.
A string is an ordered sequence of zero or more characters.
An integer is any whole natural number.
Ruby is a weakly typed language meaning that you don’t need to predetermine a variables type at declaration, rather it is dynamically set (and reset) at assignment.
message = “hello world” #string
message = 42 #integer/fixnum
The key parts of the above script are:
message: a variable
puts: prints to the console
#: a comment. Anything following the # is ignored.
.class: is a method of Object (message in this case)
Don’t worry if all these terms don’t make complete sense yet.
Some other methods to try out are:
Strings can be changed and manipulated. The plus sign is concatenation eg.
message = “hello world”
message = message[0..5] + ‘mum’
Appending a ! on the end will change the contents of the variable in place.
message = “Hello Mum”
Ruby treats everything as an object. For example
puts “hi mum”.length
And you can chain methods together
puts “Hello muM”.upcase.swapcase
The most recent versions of Netbeans (6+) have become very usable and are improving rapidly. Probably not as feature rich as Eclipse but faster and certainly not lacking in professional capability. Netbeans is currently my IDE of choice for ruby and rails development.
I intend to write a series of tutorials for my brother to gently introduce him to programming in ruby.
Download Netbeans here. You have two choices you can get the Ruby package (about 60mb) or the whole suite (240mb).
In the code pane you will see the line:
puts “Hello World”
You can change what is between the quotes to anything you like. Press the run button (or F6) to see what happens. Any line beginning with # is a comment and won’t affect the execution of the program.
One of the great joys of working with ideas is that it’s always fresh and there is always more of them out there. The awesome feeling when people start collaborating and the ideas spiral into the realm of the unreal. Instinctively we know when the ideas cross the line but by that stage we have moved beyond trying to dredge up ideas for the sake of it and genuinely playing without the inner-critic.