[cfaussie] Re: [APUGS] Tonight: Building Everyday Web Apps as Cloud Apps by Geoff Bowers
On Monday, September 30, 2013 10:25:44 AM UTC+10, Chris Velevitch wrote: Tonight, Monday 30th September, meet at 6pm for 6:30 start. (note: the building is locked at 6:30pm) Geoff Bowers is the founder of WebDU, the owner of web heavyweight Daemon and a Grade A Ubergeek. Cloudbees, Heroku, Google AppEngine, Amazon Beanstalk and more -- they're all PaaS (aka platform as a service). Get to grips with why PaaS are awesome, and the problems you might face building cloud friendly apps that run on them. Geoff takes a quick journey through running your own physical servers, infrastructure as a service (IaaS), scripting infrastructure (with stuff like Chef Vagrant) to why the Daemonites are gravitating to the platform as a service or PaaS. With a dose of theory upfront, Geoff will try a bit of hands on tinkering with the Cloudbees Java PaaS running Railo CFML. If you're not into Cloudbees|Java|Railo, there's plenty of interesting tidbits for anyone interested in building an app in a PaaS supporting their favourite languages (including Java, Ruby, Python and others). I posted a writeup of Geoff's APUGS talk on the Daemonite blog: http://www.daemon.com.au/news/building-everyday-web-apps-as-cloud-apps/ Comments are not enabled on the blog, but feel free to share your comments about the talk or the writeup here. Regards, -- Dennis -- You received this message because you are subscribed to the Google Groups cfaussie group. To unsubscribe from this group and stop receiving emails from it, send an email to cfaussie+unsubscr...@googlegroups.com. To post to this group, send email to cfaussie@googlegroups.com. Visit this group at http://groups.google.com/group/cfaussie. For more options, visit https://groups.google.com/groups/opt_out.
Re: [cfaussie] Re: Recommendations for a CF Framework.
Mark, what makes you think I was hating on FarCry? FarCry is f**king AWESOME, and to think otherwise is RETARDED. I guess people don't get my humour either :-) And yes, FarCry does use UUIDs all over the place, but it that's a good thing. It means no autonumber conflicts! -- Dennis On Feb 18, 2012 12:50 PM, Mark Picker mark.pic...@det.nsw.edu.au wrote: @Dennis. I don't understand the FarCry hate. What version are you talking about? We have been running FarCry from when it was just a CMS but have recently made the jump to 6.1.3. I do get that it can be confusing to someone who is new to it. Even though the documentation still needs some more love, it has gotten a lot better. I recently went through the Developer Jump Start course (available from the FarCry wiki) and was blown away yet again at how powerful FarCry is when you start to dig into it. To someone learning to use FarCry (6+), make sure you have a good look at application.fapi. Especially application.fapi.getContentObjects(). @Zac. Depends if your using Friendly URL's. Also depends if you use aliases (which is way easier to work with). Cheers Mark On Feb 17, 2:15 pm, Dennis Clark boomf...@gmail.com wrote: As others have said there are plenty of CF frameworks to choose from. One that hasn't been mentioned yet is FarCry. As a CMS it works well, but one non-scientific study found a strong correlation between prolonged exposure to FarCry and excessive use of expletives such as f**k, c**k, and dogr***er. The study was unable to prove or disprove causation, but recommends developers exposed to FarCry exercise caution and be on the lookout for these known symptoms. Hope that helps, -- Dennis On Feb 17, 2012 12:36 PM, MossyBlog scott.bar...@gmail.com wrote: Firstly, kudos for sticking it out with CF all these years! :) Secondly, I'm keen to brush the dust off my old CF skills and try it out again feeling more armed in the plethora of languages I've acquired over the years. That being said, I'm also keen to see what all the cool kids are using with regards to CF after market addons. Mach-II? or did i just show my age. -- You received this message because you are subscribed to the Google Groups cfaussie group. To post to this group, send email to cfaussie@googlegroups.com. To unsubscribe from this group, send email to cfaussie+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/cfaussie?hl=en. -- You received this message because you are subscribed to the Google Groups cfaussie group. To post to this group, send email to cfaussie@googlegroups.com. To unsubscribe from this group, send email to cfaussie+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/cfaussie?hl=en. -- You received this message because you are subscribed to the Google Groups cfaussie group. To post to this group, send email to cfaussie@googlegroups.com. To unsubscribe from this group, send email to cfaussie+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/cfaussie?hl=en.
Re: [cfaussie] Recommendations for a CF Framework.
As others have said there are plenty of CF frameworks to choose from. One that hasn't been mentioned yet is FarCry. As a CMS it works well, but one non-scientific study found a strong correlation between prolonged exposure to FarCry and excessive use of expletives such as f**k, c**k, and dogr***er. The study was unable to prove or disprove causation, but recommends developers exposed to FarCry exercise caution and be on the lookout for these known symptoms. Hope that helps, -- Dennis On Feb 17, 2012 12:36 PM, MossyBlog scott.bar...@gmail.com wrote: Firstly, kudos for sticking it out with CF all these years! :) Secondly, I'm keen to brush the dust off my old CF skills and try it out again feeling more armed in the plethora of languages I've acquired over the years. That being said, I'm also keen to see what all the cool kids are using with regards to CF after market addons. Mach-II? or did i just show my age. -- You received this message because you are subscribed to the Google Groups cfaussie group. To post to this group, send email to cfaussie@googlegroups.com. To unsubscribe from this group, send email to cfaussie+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/cfaussie?hl=en. -- You received this message because you are subscribed to the Google Groups cfaussie group. To post to this group, send email to cfaussie@googlegroups.com. To unsubscribe from this group, send email to cfaussie+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/cfaussie?hl=en.
Re: [cfaussie] Melbourne Adobe Developers: MAD Un-Meeting Thurs 19 Jan 2011 (drinks / food)
If you see a guy wearing a Barcamp T-shirt in the vicinity looking at bit lost, that would most likely be me. -- Dennis On Jan 18, 2012 4:56 PM, Peter Robertson peter.r.robert...@gmail.com wrote: Thanks to Dennis Clark's recent post, we are going to get together for a drink and a feed. As there is no formal presentation, this won't be funded, so we'll each be paying our own way. Let's meet for a drink (alcohol not compulsory Dale, please come anyway), and then move straight on to dinner. DRINKS 6:00 PM The Carlton, www.thecarlton.com.au 193 Bourke St (One block up from CogState) Melbourne, VIC, 3000 DINNER 7:00 PM Venue TBC, (I'll tweet the location as soon as it's fixed, (http:// www.twitter.com/Peter_Robertson) ) If you can post back here to let us know if you're coming, then we'll get some idea of numbers when choosing a dinner venue. Look forward to seeing you all. Peter -- You received this message because you are subscribed to the Google Groups cfaussie group. To post to this group, send email to cfaussie@googlegroups.com. To unsubscribe from this group, send email to cfaussie+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/cfaussie?hl=en. -- You received this message because you are subscribed to the Google Groups cfaussie group. To post to this group, send email to cfaussie@googlegroups.com. To unsubscribe from this group, send email to cfaussie+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/cfaussie?hl=en.
Re: [cfaussie] MAD! Melbourne Adobe Developers: No meeting for Jan 2012
I guess that ruins my gatecrashing plans. I'll be in the Melbourne CBD this Thursday and Friday, so if any of you MAD hatters are planning a non-meet gathering and wouldn't mind the company of a random non-local CF developer, let me know. -- Dennis On 12 January 2012 19:57, Peter Robertson peter.r.robert...@gmail.comwrote: Greetings and Happy New Year to all Melbourne Adobe Developers. We will be kicking off our MAD meetings next month, Thursday 16th Feb. As always, we'll be looking for presentations during the year. If you would like to present on a technology (which can be anything of interest to CF, AS or Flex developers), or if you'd like to talk about methodologies or even a project your're working on, please get in touch and we'll schedule you in. We look forward to seeing you all soon. Peter Robertson Co-Manager Melbourne Adobe Developers Steve Onnis Manager Melbourne Adobe Developers -- You received this message because you are subscribed to the Google Groups cfaussie group. To post to this group, send email to cfaussie@googlegroups.com. To unsubscribe from this group, send email to cfaussie+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/cfaussie?hl=en. -- You received this message because you are subscribed to the Google Groups cfaussie group. To post to this group, send email to cfaussie@googlegroups.com. To unsubscribe from this group, send email to cfaussie+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/cfaussie?hl=en.
Re: [cfaussie] Re: MAD! Melbourne Adobe Developers: No meeting for Jan 2012
Peter: It's been long enough since I was last down there that I didn't remember if it was Burke or Bourke, but thankfully Google Maps has autocorrect :) Mark: I've got all of Thursday night free so I can go for dinner as well, assuming it's not overly expensive. Fancy schmancy restaurants is one part of the Melbourne experience that I don't mind skipping. -- Dennis On 17 January 2012 17:55, Mark Mandel mark.man...@gmail.com wrote: You thinking just drinks, or you want to grab dinner somewhere as well? I could potentially do Thursday too ;o) Mark On Tue, Jan 17, 2012 at 5:39 PM, Peter Robertson pe...@p-robertson.comwrote: Thanks Dale. It's BOURKE Dennis, but I'm sure you knew that. Peter R On Tue, Jan 17, 2012 at 4:53 PM, Dale Fraser d...@fraser.id.au wrote: Burke street, where is that? Regards Dale Fraser http://dale.fraser.id.au http://cfmldocs.com http://learncf.com http://flexcf.com -Original Message- From: cfaussie@googlegroups.com [mailto:cfaussie@googlegroups.com] On Behalf Of Peter Robertson Sent: Tuesday, 17 January 2012 3:26 PM To: cfaussie Subject: [cfaussie] Re: MAD! Melbourne Adobe Developers: No meeting for Jan 2012 Hi Dennis I'd be happy to meet for a drink on Thursday evening. If you're in the CBD, then a suitable venue would be: Date: Thursday 16 Dec 2011 Time: 6:00 PM Location: Top floor The Carlton, www.thecarlton.com.au 193 Burke St (One block up from CogState) Melbourne, VIC, 3000 Any other starters? Peter Robertson On Jan 17, 3:20 pm, Dennis Clark boomf...@gmail.com wrote: I guess that ruins my gatecrashing plans. I'll be in the Melbourne CBD this Thursday and Friday, so if any of you MAD hatters are planning a non-meet gathering and wouldn't mind the company of a random non-local CF developer, let me know. -- Dennis On 12 January 2012 19:57, Peter Robertson peter.r.robert...@gmail.comwrote: Greetings and Happy New Year to all Melbourne Adobe Developers. We will be kicking off our MAD meetings next month, Thursday 16th Feb. As always, we'll be looking for presentations during the year. If you would like to present on a technology (which can be anything of interest to CF, AS or Flex developers), or if you'd like to talk about methodologies or even a project your're working on, please get in touch and we'll schedule you in. We look forward to seeing you all soon. Peter Robertson Co-Manager Melbourne Adobe Developers Steve Onnis Manager Melbourne Adobe Developers -- You received this message because you are subscribed to the Google Groups cfaussie group. To post to this group, send email to cfaussie@googlegroups.com. To unsubscribe from this group, send email to cfaussie+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/cfaussie?hl=en. -- You received this message because you are subscribed to the Google Groups cfaussie group. To post to this group, send email to cfaussie@googlegroups.com. To unsubscribe from this group, send email to cfaussie+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/cfaussie?hl=en. -- You received this message because you are subscribed to the Google Groups cfaussie group. To post to this group, send email to cfaussie@googlegroups.com. To unsubscribe from this group, send email to cfaussie+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/cfaussie?hl=en. -- You received this message because you are subscribed to the Google Groups cfaussie group. To post to this group, send email to cfaussie@googlegroups.com. To unsubscribe from this group, send email to cfaussie+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/cfaussie?hl=en. -- E: mark.man...@gmail.com T: http://www.twitter.com/neurotic W: www.compoundtheory.com 2 Devs from Down Under Podcast http://www.2ddu.com/ -- You received this message because you are subscribed to the Google Groups cfaussie group. To post to this group, send email to cfaussie@googlegroups.com. To unsubscribe from this group, send email to cfaussie+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/cfaussie?hl=en. -- You received this message because you are subscribed to the Google Groups cfaussie group. To post to this group, send email to cfaussie@googlegroups.com. To unsubscribe from this group, send email to cfaussie+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/cfaussie?hl=en.
Re: [cfaussie] Count the number of arguments passed into a function.
Unfortunately it's too late to strive for consistency at this point. The odd behaviour of structKeyExists is due to the underlying Java implementation, the inconsistent handling of null values in Adobe CFML, and backwards compatibility concerns. CF structs are special Java objects that implement the java.util.Map interface. The method to retrieve a value in a Map is get(key). Map.get(key) returns a Java null if the key does not exist in the map. However if the key exists but the value is a Java null, then Map.get(key) also returns null, so Map.get(key) alone is insufficient to tell whether the key exists or not. Given the behaviour of CF's structKeyExists(), it is extremely likely that Adobe implemented it via Java's Map.get(key). The issue could be worked around by exposing Java's Map.containsKey(key), but that would expose the other two problems. CF is still a bit confused about null values. In many cases CF treats a variable with a null value as if it doesn't exist (much like a struct key with a null value). At other times it automatically converts it to an empty string. Changing structKeyExists() to return true for keys with null values would also require a sensible way for CF to handle those null values. A number of proposals have been made about this. My preference is the implementation of a proper void type (whose only possible value is null) in CFML. That brings us to the third problem. There is lots and lots of legacy code that relies in the existing behaviour that has been around since ColdFusion MX. I've written cfif structKeyExists(arguments,foo) more times than I can count. If structKeyExists() were changed to return true for keys with null values, a lot of that code would break. Adobe's policy for the evolution of CF has been to avoid the creation of such severe backwards-incompatibilities, and I don't see Adobe changing it's position on this any time soon. Someone who feels passionately about it should file a bug report (if they haven't already), but I'm almost certain that Adobe will treat it as a wontfix. -- Dennis On 6 January 2012 13:59, Dale Fraser d...@fraser.id.au wrote: Well I originally said no because ** ** Accessing it other ways fails ** ** But it’s clearly there, it needs to be consistant ** ** The name of structKeyExists is perhaps wrong, because it really releates to the data, not the key. ** ** Regards Dale Fraser ** ** http://dale.fraser.id.au http://cfmldocs.com http://learncf.com http://flexcf.com ** ** *From:* cfaussie@googlegroups.com [mailto:cfaussie@googlegroups.com] *On Behalf Of *MrBuzzy *Sent:* Friday, 6 January 2012 1:47 PM *To:* cfaussie@googlegroups.com *Subject:* Re: [cfaussie] Count the number of arguments passed into a function. ** ** Yeah, so do you agree structkeyexist should return true for that key? ** ** It exists, but it's not defined. On 06/01/2012, at 13:25, Dale Fraser d...@fraser.id.au wrote: But the key to the struct exists J I can dump it. Regards Dale Fraser http://dale.fraser.id.au http://cfmldocs.com http://learncf.com http://flexcf.com *From:* cfaussie@googlegroups.com [mailto:cfaussie@googlegroups.com] *On Behalf Of *MrBuzzy *Sent:* Friday, 6 January 2012 12:56 AM *To:* cfaussie@googlegroups.com *Subject:* Re: [cfaussie] Count the number of arguments passed into a function. Hey Bau Co, this one's been bending my brain for a few hours now. It's an interesting thread I read it lots. Please excuse me for just rambling a bit, so I can sleep tonight. @Dale I agree StructKeyExists will return false when the key exists, but the value is null, ie; cfset theStruct={'theKey'=javacast('null',0)} cfdump var= #theStruct# cfdump var=#structKeyExists(theStruct,'theKey')#!--- outputs NO ---* *** I *think* I agree it's a bug. But with CF that key with a null value is not very useful. It's one of those things that's existed for a long time and for good or bad, it's one reason I use IsDefined() more. Will it ever get 'fixed'? Does it really need to be? Should they or should they not change it? It gets a bit philosophical, eh. I don't see this exact bug in the tracker, so I wonder if this is one of those issues that's been done to death. Maybe there's a definitive answer out, perhaps it's unimportant? If not it really should be logged as a bug. @Gavin Your issue is of course related. The cfargument tag defines the keys in the arguments collection, but your default values are undefined. When the method is invoked the arguments collection is updated NOT overwritten. This is also the case when using argumentCollection, ie; cfset someMethod(argumentCollection={something='something'}) A bit annoying? Maybe. Perhaps it has a purpose. I tend to think of it as a bug. But again it's easy
Re: [cfaussie] Converting boolean YES to true
The issue here is not one of static vs. dynamic languages. JavaScript is dynamic but doesn't have this difficulty with booleans that Adobe CF has. The problem is due to two characteristics of Adobe CFML: 1. Boolean is not a true primitive type. 2. Boolean operators return the string YES for true and NO for false. Most people who encounter problems with booleans in conversions between CF and other representations blame (2) because it is immediately noticeable, but the true root cause of the problem is (1). The lack of a primitive boolean type means that there will always be some values that will be handled incorrectly in conversions between CFML and representations with real booleans like JSON. Adobe doesn't make it obvious that boolean is not a primitive type in CFML. CFML has standard boolean operators and constants, but if you play with them enough you will find that there is no true true value in CF. Code: cfscript foo = true; bar = True; baz = TRUE; /cfscript cfoutput foo = #foo#br bar = #bar#br baz = #baz#br /cfoutput Output under Adobe CF 9.0.1: foo = true bar = True baz = TRUE Languages with boolean primitives treat 'true' as a single literal value. In the above example the values of the 3 ColdFusion variables were converted to 3 different strings, so they could not have been set to the same literal value even though they are all supposed to be true. It looks like CF implicitly converts the barewords true and false to strings and preserves their original case. Adding a new primitive type (even one as simple as boolean) to a programming language is no small thing. If it ever arrives in Adobe CF it would almost certainly be part of a major release. Then and *ONLY* then should Adobe add a toBoolean() function. In the meantime, I've written myself a simple UDF to handle issue (2): string function trueFalseFormat(boolean booleanValue required, string trueString=true, string falseString=false) { return arguments.booleanValue ? arguments.trueString : arguments.falseString; } With this I can use #trueFalseFormat(val)# to get a JSON boolean or #trueFalseFormat(val,1,0)# to get a SQL boolean (which is rare but sometimes necessary). Note that none of this should be a problem when writing ColdFusion code that does not interface to other systems. If your code accepts a boolean value as an argument or return value, you should not write your code to expect the value to be exactly TRUE or FALSE or YES or NO. If you need the value for conditional logic, use it as is. If you need to output the value, then you should convert it to the desired format first. -- Dennis On 4 August 2011 17:40, Mark Mandel mark.man...@gmail.com wrote: #(value ? true : false )# There you go. CF is dynamic, so true is YES is 1... if you want static values, use a static language. There are pros and cons both ways. Mark On Thu, Aug 4, 2011 at 5:33 PM, Barry Beattie barry.beat...@gmail.comwrote: so, what's !YES ... is it NO? is anything that can be construed as a YES (True, 1, etc) considered a YES and therefore the opposite is NO? On Thu, Aug 4, 2011 at 5:30 PM, Chong kck...@gmail.com wrote: TBH you would have to fix it yourself, I can't see Adobe fixing it soon as it is likely a legacy issue, I would imagine if they change how it works to the way we expect it should, any code using specifically the old behaviour would error ... so they are probably stuck till they can agree on an elegant solution or give clients enough warning... -- You received this message because you are subscribed to the Google Groups cfaussie group. To view this discussion on the web visit https://groups.google.com/d/msg/cfaussie/-/-amD6_MZprcJ. To post to this group, send email to cfaussie@googlegroups.com. To unsubscribe from this group, send email to cfaussie+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/cfaussie?hl=en. -- You received this message because you are subscribed to the Google Groups cfaussie group. To post to this group, send email to cfaussie@googlegroups.com. To unsubscribe from this group, send email to cfaussie+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/cfaussie?hl=en. -- E: mark.man...@gmail.com T: http://www.twitter.com/neurotic W: www.compoundtheory.com cf.Objective(ANZ) + Flex - Nov 17, 18 - Melbourne Australia http://www.cfobjective.com.au -- You received this message because you are subscribed to the Google Groups cfaussie group. To post to this group, send email to cfaussie@googlegroups.com. To unsubscribe from this group, send email to cfaussie+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/cfaussie?hl=en. -- You received this message because you are subscribed to the Google Groups cfaussie group. To post to this group, send email to cfaussie@googlegroups.com. To
Re: [cfaussie] CreateObject of itself
Duplicate works on CFC instances, so Duplicate(this) would work. Of course it also duplicates the state of the instances variables in 'this', so it might not be what you want. Otherwise, try CreateObject(component,GetMetaData(this).name) or maybe CreateObject(component,GetMetaData(this).fullname). I'm not sure which is better. -- Dennis On 13 July 2011 20:37, Steve Onnis st...@cfcentral.com.au wrote: Can anyone suggest a way i can create a new reference to a cfc that i am already in? ** ** Something like ** ** FooBar.cfc cfcomponent cfproperty name=fooProp type=string / cffunction name=bar output=false cfscript LOCAL.tmpArr = []; *for* (LOCAL.i = 1; LOCAL.i LTE 10; LOCAL.i = LOCAL.1+1) { LOCAL.tmpObj = *new* this*;* LOCAL.tmpObj.setfooBar(Some String #LOCAL.i#);** ** *ArrayAppend*(LOCAL.tmpArr, LOCAL.tmpObj); } /cfscript /cffunction /cfcomponent ** ** Obviously “new this;” wont work. ** ** I want something to replace LOCAL.tmpObj = *createObject*(COMPONENT, FooBar); ** ** Ideas? ** ** Steve -- You received this message because you are subscribed to the Google Groups cfaussie group. To post to this group, send email to cfaussie@googlegroups.com. To unsubscribe from this group, send email to cfaussie+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/cfaussie?hl=en. -- You received this message because you are subscribed to the Google Groups cfaussie group. To post to this group, send email to cfaussie@googlegroups.com. To unsubscribe from this group, send email to cfaussie+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/cfaussie?hl=en.