Eraserheads (The Beatles of the Philippines)
Eraserheads was my favorite band back in the early 1990's which were my college days at The University of the Philippines in Diliman, QC. My friends and I would hang out at the Kasaa, roam all over the Diliman campus and be at the Sunken Garden to watch the Eraserheads play during campus events. It's nostalgic to find this playlist on Imeem. These songs are classic Pinoy Rock now. It's 2008 yet the very same songs still rock my world.
My top six songs:
They're all good songs. They say music is universal so give it a shot. Yup ignore tracks 1 and 2 since apparently these are spiels of Pinoys high on maryjanes or maybe pretending to be high on maryjanes or just super hyper. Hey up to now no one knows what they were on! ;p
Those timestamps are crucial.
If everyone started a good habit of correctly timestamping their blog post and placing timestamps where it's quite obvious like above or below the article header, then you could save a person about 3-4 hours per day of searching for the right resource. Timestamps like created_at and updated_at would be really extremely helpful.
Don't you hate finding an article where you're left to figure out if the blog post was written in 1995 and only works for version xx.xx of so and so App or Framework or OS.
Everyone appreciates a well timestamped article/post/story.
Pwn what's distracting you
Lately in the Twitter world, I would run across tweets that say turning off twitter for less distraction. Twitter in itself isn't distracting since it's a website you go to so you can read the tweets. The real culprit is Twitterrific or Twirl or any other pull driven app for the Twitter service.
My social circle for work has doubled because of Twitter. In the past couple of months, I've been adding more people to follow. I was also using Twitterrific then and I found it very distracting as it pulls tweets for me every minute. The very oh so distinct chirping sound from Twitterrific, it can either be addictive or distracting. I get the distraction so I started pruning my list every now and then but what does that leave me? A dead end for networking and short reciprocal follow list. At the same time, I may get someone offended for un-following them.
I still keep my follow list in line with work. If I decide to follow someone, it means I find them as a good resource, of interest value and for networking purposes.
It is the unnecessary pull technology of apps like Twitterrfic or Twirl that we can do without. I am already plagued with push technology from my rss. I prefer to fetch tweets manually at my convenience via twitter.com. There you go, I opted for less distraction but not at the cost of un-following people. Hate the pull tech not the twitter.
Braindump / Ch 2 Beginning Ruby
June 20, 2008 @ 11:55 PM | posted by carmelyne
(last updated: 06.21.08)CH 2: TOUR OF RUBY & OBJECT ORIENTATION
Object
- an object is a single instance of a class.
- object is the actual object or “thing” itself.
- an object of class Person is a single person
Classes
- a class is the classification
- the definition of a single type of object
- starts with a capital letter just like global constants which therefore makes it available as a global constant.
attr in attr_accessor
- stands for “attribute”
accessor in attr_accessor
- roughly means “make these attributes accessible to be set and changed.”
Inheritance like Single Table Inheritance
- hierarchy of classes; and sub/child classes inherits attributes and methods from the parent class
- can still add class-specific code to sub/child class
Class Method
- ruby supplies all objects a class by default
- you can ask any object of which class it’s a member by using its class method, i.e. puts 2.class
Fixnum Class
- numbers
Kernel & Kernel Methods
- kernel is a special class(actually, a module) whose methods are made available in every class and scope throughout ruby.
puts
- is a method made available from the Kernel module
Kernel module
- a special type of class packed full of standard, commonly used methods, making your code easier to read and write
String Class
- strings
- has many methods, examples: capitalize, downcase, chop, hash, next, reverse, sum, or swapcase.
Braindumps from Beginning Ruby
What I've learned & still learning these past couple of months...
For the last couple of months, I've picked up new ideas and practices from working with several teams in Hashrocket. These are either required on the job or a set of tools that makes the task easier or something that peaks my interests. I will also recommend some screencasts/talks/book that I've seen/read recently.
So here's my list:
HAML
Haml by Hampton Catlin. I don't think I can ever go back to regular erb mark up and html after using haml. It did look daunting initially but now I love it so much. It makes the code views so much readable and pretty as in pretty organized. I don't have to deal with missing closing tags either as long as I know that my haml are structured well plus it keeps me disciplined. Discipline is exactly what you need for those views.
RSpec's Story Runner
RSpec's Story Runner is quite interesting and I'd really like to be able to do this. It adds a business value. I just wish I can do it with Shoulda. Can I? Does it run separately from RSpec? I haven't looked into it very well. But I'd love to know. If someone can explain it to me then I would love you forever in a friend-ish way! :)
Shoulda
I'm in two different projects at the same time where one was running in RSpec and the other one was in Shoulda. I found I was interested more in the Shoulda tests than the RSpec tests. Our RSpec tests were awesome now don't get me wrong with that but the Shoulda tests were more concise probably because of the macros or there maybe an "IT" factor to the Shoulda tests I've been reading and that would be: Tammer Saleh himself wrote the tests. Coincidentally, Josh Susser said he likes Shoulda too during his Great Test Framework Dance-Off at RailsConf 2008. That kind of solidifies it for me.
Selenium Tests
It's one of those tests that I think I'll be doing on a regular basis on any project I'll be in. Takes a little while to get used to but it's fun to watch as it executes in the browser. I've picked it up from Hashrocket and Jon/L4rk Larkowski did a Selenium demo for me while in Portland for RailsConf 2008 so I've been starting some Selenium tests locally on some personal projects too.
Factory and Factory_Girl
Factory is awesome that it makes it so much easier for me from the front-end side as an assigned front-end developer/designer to generate sample data/content in easy mode way. Now I can adjust the layout with the actual content and all attributes are there. That's a plus side for me. Moving into Facory_Girl but either one is good for me considering the sample data generation is just as easy.
Webrat
Already doing Selenium and still doing Webrat? Webrat just works seamlessly with Rspec's Story Runner so why not? You might write some clunky test but you can't over-test anything and over-testing might even lead to benchmarking which is what we're in dire need of with rails web apps.
Git + GitHub
ZOMG gitHub is the sexiest thing ever so far! Everyone was right about git. If you haven't looked into it yet, then do it now. I've watched the Git-Talk that Scott Chacon made available on gitcasts.com. (Git-talk was Scott's session during RailsConf 2008. One of the good sessions I've missed to see during RailsConf 2008). Then, immediately after watching Git-talk, I got the Git Peepcode. If you watch those two screen cast in those order, it gels more better with the ideas since Git-Talk covers the core principles and then the Git Peepcode by Geoffrey Grosenbach gives you the examples in length.
Pragmatic Screencasts
Episode 1 Everyday Active Record by Ryan Bates. I watched this but unfortunately, I didn't get anything new out of it. I've been doing Rails for 2+ years after all. I would have to try Episode 2 soon. I also bought the three episodes on Ruby Metaprogramming by Dave Thomas. I stopped at Episode 1: Objects and Classes and I decided to resume after I finish reading the ruby book that I'm halfway through.
Book: Beginning Ruby
I've been doing Rails for 2+ years but Ruby is still new to me. Two years yet Ruby is new? Yup! I am perpetually on the front layer of a web app cause of my "I can haz CSS & design skills" as my peers would call it. I can still jam with those models, controllers and test files. In all honesty, I've tried reading every "learn" Ruby book out there but they make me sleepy as hell. Then I found Peter Cooper's Beginning Ruby book finally! I'm halfway into this book and if you want to learn Ruby then this book is an excellent start without getting sleepy. So, this book works for me but something else might work different for you so find your Ruby book if you haven't.
Other notable talks/sessions I've watched
I have not attended neither Goruco 2008 nor MountainWest RubyConf 2008 but these two talks are awesome. The SDD (Story Driven Development) talk by Bryan Helmkamp during Goruco 2008 available via confreaks.com. Bryan Helmkamp is also the author of Webrat.
The BDD with Shoulda talk by Tammer Saleh during MountainWest RubyConf 2008 also available via confreaks.com.
- - -
There's another secret sauce but I'm not sure I can talk about that "tracker" yet since it's in beta mode and we're lucky to be the first testers. Boohooo. I know :(
Now the list above are the things that comes to mind real fast. I'm sure there are others that I've completely overlooked. If given the chance, next time I'd want to pick up more on AJAX, Scriptaculous, more javascript goodness, some pairing and myself brushing up on CSS3.
The conclusion: Life and work is good. Learning new things constantly on the job and being resourceful on where to find the good stuff that makes work easier and funner will always be the factors/traits I'd look to when I say I'm happy with what I'm doing. I learn quick and I'm resourceful so I got those covered. But it's the WHO resource that makes Hashrocket the place to be! I'm not sucking up. It's just for realz. ;p
MLG Pro Circuit Over at San Diego was the bomb!
Being able to watch the MLG Pro Circuit at San Diego via a gotfrag stream over the weekend was so fun. It made me realize that e-gaming is not all that bad although still in it's in early stages. What made it funner was being able to watch Zyz, a long standing kick ass player in the Burning Blade server, play as a rogue and his team recovering from almost being eliminated to actually winning the competition and taking home $12,000 and 3 HP Blackbirds 02s. The prices weren't too shabby at all.
GotFrag did an excellent coverage of the matches. Rob “voice” Simpson and Jared “vhell” Coulston both did an awesome job with the play by play.
So, look out kids when you're parents tell you to stop playing that game you love so dearly. You'll never know; you might end up getting some extra cash for being good at a vid game that you play with a passion.
George Michael @ American Idol Finale 2008
The RETURN of the 80's folks == 2008. When you have talent, you just do and you kick ass. Timeless.
Messed up sleep schedule is the new black... lies.
If you're like me and have erratic sleep schedules once in awhile, you end up looking at stats in the middle of the night. Specifically Google Analytics cause you want to know who's been doing drive-bys on your site, right? Oh just agree with me please. Thank you.
What peaked my interest were the site referrals. The two notable ones were code.google.com and blog.huikau.com of Mike McKinney. Huikau? Is that Japanese?!? Oh no -- it's not. It's Hawaiian. Short Story : I'm happy someone else found my port of the theme to NetBeans useful. Although past that, I never got around to trying NetBeans further. /sad face
============================
Update: [March 14, 2008] After scouring the internet to try to remember which theme inspired it, I finally found it! Eureka! It was by Idlefingers
============================
I'm scratching my head now with the referral from code.google.com and mumbling at the same time at 2 am. WTF did I post anything on google code. I mean c'mon I can barely juggle my time around nowadays. (Acronym cursing is great!) You should hear me saying it in real life double-you-tee-ef mahhn! Anyway, back to the topic. I found out it was a linked credit from bparanj's Simply Rich Authenticator for the Restful-Authetication post I did awhile back.
Thanks to these two great folks for entertaining me tonight with such fine blog posts while I'm sleep hunting if thats even a word or phrase. LOL
Well the Internet isn't the internet when links don't come back in a full circle so I did my share tonight.
I'm going to sleep now before I start googling myself!!
Good night and if I counted sheep instead, I would be at 158!
...and then... and then... and then...
Dude where's my hibernation spot? I don't know but it's back to some real things in life again. Normalcy from a very tumultuous beginning of the year.
Unfortunately, I didn't have spare time to update my blog since October 2007. Time just flew by.
I am now catching up with a lot of missed readings from other blogs. A lot of juicy stuff that's for sure. I've been meaning to post this last year but never got the chance and it's most likely old news to some of you but I found this site called builtwith.com. To my surprise, my little blog scored a 4. Yay! Oh wait but I've been working in the web behind the scenes for 10 years now this year. Can you believe that?!?! I can't.
Ten *effin* years?! Why didn't I write a book or maybe actively gone out to speak. I have 10 years of oh-so-painful-I-learned-this-way stories that I didn't share. Maybe that was selfish and not cool at all. There just seem to be a disconnect. I was more fascinated watching other people. Are they going to fall off that cliff or are they going to soar off that cliff. Then here I am -- still watching.
I think it's just fun watching but super cool to the max if you can support those soaring and comfort those falling off.
It's just another day in the world wide web.
Cause I just love my theme...don't you love yours? :)
============================
Update: [March 14, 2008] After scrouring the internet to try to remember which theme inspired it, I finally found it! Eureka! It was by Idlefingers
============================
I thought I would give NetBeans/Ruby (nightly build) for MAC a try after reading George Cook's very convincing article on "Netbeans THE best ruby on rails IDE". Oddly enough, I just got so used to my TextMate theme that I also ported it into Coda awhile back. Now, I felt I had to port it on NetBeans too. It takes 6 steps and 3 xml files. It's really easy and anyone can do it too. It's not as perfect as I'd wish it could be but close enough.
UPDATE: I'm a NetBeans Newb! Here's a link/resource for packaging a theme (etc): http://www.netbeans.org/kb/50/substance-look-and-feel.html. I don't feel like packaging 3 xml files. /woops. Anyway, it's nice to know the folder structure if you're new to NetBeans too.
Here's a screen shot of the theme:
Onward with the steps....
Step 1. Duplicate any existing theme in NetBeans under Preferences / Fonts & Colors; name it whatever you want. I named mine "Karuh Dida" for no particular reason.
Step 2. Open Terminal/iTerm
1 2 |
cd home mate .netbeans |
Step 3. Folder Structure
Step 4. Copy & paste xml file:
org-netbeans-modules-editor-settings-CustomFontsColors-highlights.xml
into folder => .netbeans/dev/config/Editors/FontsColors/Karuh Dida
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontscolors PUBLIC "-//NetBeans//DTD Editor Fonts and Colors settings 1.1//EN" "http://www.netbeans.org/dtds/EditorFontsColors-1_1.dtd">
<fontscolors>
<fontcolor bgColor="darkGray" name="guarded"/>
<fontcolor foreColor="yellow" name="caret-color-insert-mode"/>
<fontcolor bgColor="ff121e31" foreColor="white" name="status-bar"/>
<fontcolor bgColor="ff253e5a" name="highlight-caret-row"/>
<fontcolor foreColor="ffcccccc" name="line-number"/>
<fontcolor bgColor="ffe0e8f1" name="block-search"/>
<fontcolor foreColor="ff253e5a" name="code-folding-bar"/>
<fontcolor bgColor="ff38566f" name="selection"/>
<fontcolor foreColor="ff253e5a" name="text-limit-line-color"/>
<fontcolor bgColor="ff38566f" name="highlight-search"/>
<fontcolor bgColor="ff386f4c" foreColor="white" name="nbeditor-bracesMatching-match">
<font style="bold"/>
</fontcolor>
<fontcolor bgColor="red" name="status-bar-bold"/>
<fontcolor bgColor="ff38566f" name="inc-search"/>
<fontcolor bgColor="ff6f3757" foreColor="white" name="nbeditor-bracesMatching-mismatch">
<font style="bold"/>
</fontcolor>
<fontcolor bgColor="ff253e5a" foreColor="white" name="code-folding"/>
</fontscolors>
|
Step 5. Copy & paste another xml file:
org-netbeans-modules-editor-settings-CustomFontsColors-tokenColorings.xml
into folder => .netbeans/dev/config/Editors/FontsColors/Karuh Dida
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontscolors PUBLIC "-//NetBeans//DTD Editor Fonts and Colors settings 1.1//EN" "http://www.netbeans.org/dtds/EditorFontsColors-1_1.dtd">
<fontscolors>
<fontcolor name="whitespace"/>
<fontcolor default="string" name="markup-attribute-value"/>
<fontcolor bgColor="ff2b2b2b" foreColor="ffdddddd" name="default">
<font name="Monaco" size="12"/>
</fontcolor>
<fontcolor foreColor="ff00ccff" name="operator"/>
<fontcolor foreColor="ff7b7b7b" name="comment">
<font style="italic"/>
</fontcolor>
<fontcolor bgColor="red" foreColor="white" name="error"/>
<fontcolor default="keyword" name="markup-element"/>
<fontcolor default="default" name="entity-reference"/>
<fontcolor foreColor="ffd27522" name="keyword"/>
<fontcolor foreColor="white" name="char"/>
<fontcolor foreColor="ff669933" name="string"/>
<fontcolor default="identifier" name="field"/>
<fontcolor name="identifier"/>
<fontcolor default="field" name="markup-attribute"/>
<fontcolor default="identifier" foreColor="white" name="method"/>
<fontcolor foreColor="ffeddd3d" name="number"/>
</fontscolors>
|
Step 6. Copy & paste 3rd xml file:
org-netbeans-modules-editor-settings-CustomFontsColors-tokenColorings.xml
into folder => .netbeans/dev/config/Editors/text/x-ruby/FontsColors/Karuh Dida
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontscolors PUBLIC "-//NetBeans//DTD Editor Fonts and Colors settings 1.1//EN" "http://www.netbeans.org/dtds/EditorFontsColors-1_1.dtd">
<fontscolors>
<fontcolor default="number" name="GSF_INT_LITERAL"/>
<fontcolor default="number" foreColor="ff66cc00" name="GSF_FLOAT_LITERAL"/>
<fontcolor name="mod-interface"/>
<fontcolor foreColor="ffd1ceff" name="GSF_INSTANCE">
<font style="bold"/>
</fontcolor>
<fontcolor name="mod-public"/>
<fontcolor foreColor="ff99006b" name="COMMENT_TODO">
<font style="bold"/>
</fontcolor>
<fontcolor name="mod-constructor">
<font style="bold"/>
</fontcolor>
<fontcolor name="mod-enum"/>
<fontcolor default="number" name="GSF_DOUBLE_LITERAL"/>
<fontcolor default="string" name="STRING_TEXT"/>
<fontcolor default="number" name="GSF_LONG_LITERAL"/>
<fontcolor foreColor="ffeddd37" name="STRING_ESCAPE">
<font style="bold"/>
</fontcolor>
<fontcolor name="mod-deprecated" strikeThrough="darkGray"/>
<fontcolor name="mod-annotation-type"/>
<fontcolor default="comment" foreColor="ffaaaaff" name="COMMENT_RDOC">
<font style="bold"/>
</fontcolor>
<fontcolor default="default" foreColor="blue" name="COMMENT_LINK" underline="blue"/>
<fontcolor foreColor="ff8aa6c1" name="mod-parameter"/>
<fontcolor default="whitespace" name="GSF_WHITESPACE"/>
<fontcolor default="keyword" foreColor="ffdd7522" name="GSF_ANY_KEYWORD"/>
<fontcolor name="mod-package-private"/>
<fontcolor name="mod-static">
<font style="italic"/>
</fontcolor>
<fontcolor foreColor="ff99006b" name="GSF_TODO">
<font style="bold"/>
</fontcolor>
<fontcolor default="default" name="COMMENT_BOLD">
<font style="bold"/>
</fontcolor>
<fontcolor default="comment" name="COMMENT_HTMLTAG">
<font style="bold"/>
</fontcolor>
<fontcolor foreColor="ff99ffff" name="GSF_CLASS">
<font style="bold+italic"/>
</fontcolor>
<fontcolor bgColor="ff38566f" name="mark-occurrences"/>
<fontcolor default="comment" name="COMMENT_TEXT"/>
<fontcolor default="8AA6C1" name="GSF_ANY_OPERATOR"/>
<fontcolor foreColor="ffd1ceff" name="GSF_GLOBAL">
<font style="italic"/>
</fontcolor>
<fontcolor foreColor="white" name="mod-field">
<font style="bold"/>
</fontcolor>
<fontcolor foreColor="fff3c55f" name="mod-method">
<font style="bold"/>
</fontcolor>
<fontcolor name="mod-protected"/>
<fontcolor default="string" name="GSF_STRING_LITERAL"/>
<fontcolor default="comment" name="GSF_BLOCK_COMMENT"/>
<fontcolor default="comment" name="GSF_DOCUMENTATION"/>
<fontcolor name="mod-local-variable"/>
<fontcolor name="mod-private"/>
<fontcolor default="error" name="GSF_ERROR"/>
<fontcolor foreColor="ffca4344" name="GSF_REGEXP_LITERAL"/>
<fontcolor default="comment" name="GSF_LINE_COMMENT"/>
<fontcolor foreColor="yellow" name="mod-class"/>
<fontcolor foreColor="ffcc3333" name="GSF_CONSTANT"/>
<fontcolor foreColor="ff5098c2" name="GSF_TYPESYMBOL"/>
<fontcolor name="mod-unused" waveUnderlined="ffff8888"/>
<fontcolor default="identifier" name="GSF_IDENTIFIER"/>
<fontcolor foreColor="ffff006b" name="STRING_INVALID" strikeThrough="ffff006b">
<font style="bold"/>
</fontcolor>
<fontcolor default="string" name="QUOTED_STRING_LITERAL"/>
<fontcolor name="mod-abstract"/>
<fontcolor default="char" name="GSF_CHAR_LITERAL"/>
<fontcolor default="default" name="COMMENT_ITALIC">
<font style="italic"/>
</fontcolor>
</fontscolors>
|
Of course, you can take it from here and customize it further. I wish there was an easier way to export/import themes in NetBeans. If you can easily grab TextMate bundles, then themes should be as easy to grab too, right?
As far as how NetBeans ranks in my books, I don't know yet. I still have to find out but I can't stand not seeing my usual theme in it so I spent two hours doing that first. Imagine that!
Breast Cancer Awareness Month
September 30, 2007 @ 09:12 PM | posted by carmelyne
(last updated: 09.30.07)Show your support...
I created the ribbon in Photoshop. It is available for download if you need a vector ribbon, feel free to use. No attributions required. Breast Cancer Ribbon.
Sydney White..... and the 7 dudes....
I haven't laughed so bad in a long time while watching a movie. Must admit that the script is a bit predictable. What kept me laughing so bad was the dorky lines in the movie. I totally could relate to them all. I guess that's not a surprise since I am after all a dork. They got me at the Dr.Who theme song part. At the same time, Matt Long played Tyler. He's dreamy hot, more like will you marry me hot. I did not mean to say that out loud!
Amanda Bynes is a great commedian -- way utterly funny, yet cute and irresistibly charming but her acting was exactly the same in She's the Man. I love how she portrays her characters and I hope she's like that in real life. Wholesome. She's a breathe of fresh air compared to Lindsay Lohan.
I saw The Game Plan too and that was too disappointing. Bleh.
For secrecy and edges... NOT
Its an O'reilly Series: Women In Technology
I am another female in tech here. I've only read one essay so far and it was by Amy Hoy: "I Don't Like Articles about Women in Technology". Then as soon as I read the comments, I started feeling iffy. Why does everyone argue negatively? The people who made comments argued negatively with the author. I can understand then why Amy didn't like Articles about Women in Tech. A few months ago (maybe weeks), I brought up an idea about writing an article that had a positive connotation -- about being a happy successful female developer but I've lost the interest to write it when I heard some negativity.
It forced me to have a different outlook now more than ever. I celebrate for the Women in Tech. I care that women who strive do succeed. I care that you care about other women in Tech. I care that you try and pave for other women who wants to take on a tech career. That's pretty much my stand. Who needs that negativity? As Naruto would put it: "I like my positive chakra". I don't dwell any more on the negative side of being one of the few females in a male dominated environment/career. I'm just being more vocal about enjoying my life and career in technology. It's fun!
Install ruby-ldap on Mac
September 09, 2007 @ 05:36 PM | posted by carmelyne
(last updated: 06.15.08)Playground -- rails needing ldap
1 2 3 4 5 6 7 |
cd /usr/local/src curl -O http://umn.dl.sourceforge.net/sourceforge/ruby-ldap/ruby-ldap-0.9.7.tar.gz tar xzvf ruby-ldap-0.9.7.tar.gz cd ruby-ldap-0.9.7 ruby extconf.rb make make install |
And here we go after some time collectin'...
Snippets: SVN Delete Missing
September 01, 2007 @ 09:39 AM | posted by carmelyne
(last updated: 09.01.07)Automatically remove files missing from subversion
svn status | grep '\!' | awk '{print $2;}' | xargs svn rm |
Snippets: Rails validates_format_of
August 31, 2007 @ 12:15 PM | posted by carmelyne
(last updated: 09.01.07)1 2 3 4 5 6 7 8 |
# email validates_format_of :email, :with => /(^([^@\s]+)@((?:[-_a-z0-9]+\.)+[a-z]{2,})$)|(^$)/i # url validates_format_of :url, :with => /^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(([0-9]{1,5})?\/.*)?$/ix # password validates_format_of :password, :with => /^\w+$/ (alphanumeric) |
Snippets: Rails yield :header_css
August 31, 2007 @ 12:15 PM | posted by carmelyne
(last updated: 08.31.07)1 2 |
<%= stylesheet_tag 'my-site-wide-css' %> <%= yield(:head_css) || (stylesheet_link_tag 'general_header_css') %> |
Restful_authentication & Activation
August 21, 2007 @ 06:06 PM | posted by carmelyne
(last updated: 06.04.08)Extension of Railscasts Episode 67
============================
Update: [March 12, 2008] This blog post is outdated so if you found this page using google, I'd recommend reading something more up-to-date. Unfortunately, I don't know where else to refer you right now. I shared my thoughts and experience with the plugin at the time I was using it for a project. Living in the now, you can grab Obie Fernandez's Book "The Rails Way". That comes highly recommended!
============================
Ryan showed us how to set up restful_authentication a plugin by Rick Olson with his 67th Railscasts Episode: restful_authentication. Pretty awesome! Now, we will extend it to the activation part.
./script/generate authenticated user sessions --include-activation
With the added --include-activation option, more files and codes will be generated to handle "Activation for a User who just registered".
Shall we break them down in steps... baby steps and with codes. I would be happy to do a screencast for this but I dont own a podcast mic yet so lets do it the old school way. I know we're all spoiled by Ryan's RailsCasts and Geoffrey's PeepCodes. We are the little Brats! :)
After generating the files for restful_authentication, follow the 67th episode set up plus these...
Step 1: All about Environment.rb
Open your environment.rb file and set up the following:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# First, specify the Host that we will be using later for user_notifier.rb HOST = 'http://www.yourrailsapp.com' # Second, add the :user_observer Rails::Initializer.run do |config| # The user observer goes inside the Rails::Initializer block config.active_record.observers = :user_observer end # Third, add your SMTP settings ActionMailer::Base.delivery_method = :smtp ActionMailer::Base.smtp_settings = { :address => "mail.yourrailsapp.com", :port => 25, :domain => "mail.yourrailsapp.com", :user_name => "carmelyne@yourrailsapp.com", :password => "yourrailsapp", :authentication => :login } |
Note: Just a heads up -- if you're on SliceHost like I am, I can't get this to work on just Postfix on Ubuntu. I needed to set up the SMTP settings on the environment.rb file.
Step 2: All about app/models/user_notifier.rb
Now you can see how we set a dryer way to add the HOST via #{HOST}. The codes below is also an example if you've extended it to handle resetting the passwords. Although you will have to add an additional user migration for "password_reset_code" and adding it to your user model/controller codes and more to your routes....
Anyway, code snippets below:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
class UserNotifier < ActionMailer::Base def signup_notification(user) setup_email(user) @subject += 'Please activate your new account' @body[:url] = "#{HOST}/activate/#{user.activation_code}" end def activation(user) setup_email(user) @subject += 'Your account has been activated!' @body[:url] = "Visit #{HOST}!" end def forgot_password(user) setup_email(user) @subject += 'You have requested to change your password' @body[:url] = "#{HOST}/reset_password/#{user.password_reset_code}" end def reset_password(user) setup_email(user) @subject += 'Your password has been reset.' end protected def setup_email(user) @recipients = "#{user.email}" @from = %("/Poke by carmelyne" <CT@yourrailsapp.com>) # Sets the User FROM Name and Email @subject = "[YourRailsApp] " @sent_on = Time.now @body[:user] = user end end |
Step 3: All about app/views/user_notifier/activation.rhtml
This gets sent out for the activation email so you can change the verbiage to something like this:
1 2 3 4 5 |
Thank you! <%= @user.login %>, your account has been activated. You may now start using the member only features. <%= @url %> |
I think that should be it. :)
I wrote this up to give you an idea for activation. If you extended it way beyond for forgot_password/reset_password, make sure you extend your user model and controller to handle these additional functions. More snippets....
Extras
1 2 3 |
# more for routes map.forgot_password '/forgot_password', :controller => 'users', :action => 'forgot_password' map.reset_password '/reset_password', :controller => 'users', :action => 'reset_password' |
1 2 3 4 5 6 7 8 9 10 11 12 |
# app/models/user_observer.rb class UserObserver < ActiveRecord::Observer def after_create(user) UserNotifier.deliver_signup_notification(user) end def after_save(user) UserNotifier.deliver_activation(user) if user.recently_activated? UserNotifier.deliver_forgot_password(user) if user.recently_forgot_password? UserNotifier.deliver_reset_password(user) if user.recently_reset_password? end end |
Update
But of course, there's a much better resource for the plugins, I was just referred to it after this long post from the man himself => Rick's Stikipad for Acts As Authenticated and RESTful authentication.
The additional methods for activation/forgot_password/reset_password does not fall under REST.
New tools new tool new tools
1. Aliases in bash
I'm a mac newbie. It sounds like a bad thing but it's not. Many moons ago, I only watched people type ss on their terminals and tada! it magically starts the built in webrick/mongrel server. I've been meaning to get aliases working since I converted but never got around to actually doing it. Thankfully, John Nunemaker posted his I Can Has Command Line? article. I can do bash magic now. My bash talk: ss sc a e et sup wu omg inbd idk my bff jill tinf! I think I'll use those for shortcuts anyway. ;p
2. Growl
I am a happy peepcoder. I recently saw the RSPEC Basics PeepCode. Geoffrey had a happy face/ sad face flashing bar on his screen when he would run tests. Oh, I so want. I want! You'll just have to buy the peepcode now, dont you? Anyway, it was Growl. I installed Growl but can't get it to work with autotest. Now I just do "a" to run autotest but I get this error: "177 examples, 0 failures sh: line 1: growlnotify: command not found". Obviously, I missed something here. I copied the .autotest file to ~
I'm off to search for a fix and will post it here too as an update.....
Update:
I knew I was missing something. I had to install growlnotify that came with the install files. (http://growl.info/documentation/growlnotify.php). I got my happy/sad bars now!
3.RSpec
New to RSpec and would you hold it against me if I said lazy with writing test? Ok then no, I love writing tests!!! Learning RSpec makes it easier to do test. I find that I do like BDD. I'm no expert but it's very fun to do, that I can say.
High to low precedence of Ruby operators
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
::
[]
**
-(unary) +(unary) ! ~
* / %
+ -
<< >>
&
| ^
> >= < <=
<=> == === != =~ !~
&&
||
.. ...
= += -=...
not
and or
|
Source:
http://migo.sixbit.org/papers/Introduction_to_Ruby/slide-21.html
http://www.meshplex.org/wiki/Ruby/Variables_Datatypes_Operators4
Rule Of Thumb:
Use logical operator for logical statements use logical composition sparingly.
ID + permalink. The id gets a to_i
1 2 3 4 5 6 7 8 9 |
# using .join def to_param [id, permalink].join('-') end # just another way to do it def to_param "#{id}-#{permalink}" end |
REST, LiteSpeed & Attachment_fu
August 03, 2007 @ 12:42 PM | posted by carmelyne
(last updated: 08.09.07)The big picture is with the redirects.
The quick work around...
If you've read my post about FreeImage, then you might be interested to know about the conflict I encountered with a RESTful app on LiteSpeed and using attachment_fu.
This was quite perplexing to be honest. I installed attachment_fu on a restful app, tested on my dev environment which is using Mongrel. I committed to my svn, updated files served on LiteSpeed and uh oh, the upload feature wont work. There's no error message, nothing gets saved at all and returns back as a 200 code. I couldn't debug alas I'm not the all perfect coder either. /wink /wink. I resorted to finding a work around.
First let's get some things clear, the conflict with REST, LiteSpeed and Attachment_fu is on another slice but not on this blog's slice. When I was looking for a work-around the first thing I did was to test the attachment_fu on this blog done by Rick Olson. Justin Palmer did the UI which is great. First, it wouldn't work since I had to give proper permissions to the assigned public image folder. Then everything after that was fine and dandy. Why does it work on here and not on the other slice. I go deep into the code reading line by line but time is running short. I need the upload feature working like yesterday.
For a quick fix, I thought to myself that I will just get LiteSpeed to work with Mongrel for the time being till I get a fix. I visited PickledOnion's excellent blog because he has the LiteSpeed set up goodies. I couldn't find any about Mongrel. That's fine since you really don't need Mongrel if you've chosen LiteSpeed. I emailed Paul aka PickledOnion and told him about my scenario. He said he was looking to getting attachment_fu to work on his project so he'll let me know if he ran into any issues. Us slicers have that special slicer bond. I don't know what that means but OK. ;p
I'm very happy with using LiteSpeed. The free version is good for a simple less traversed site like this blog of mine. Now having said all that, back to the workaround. I went now to the LiteSpeed and Mongrel sites to find some docs on how to set it up. Unfortunately, no docs on LiteSpeed with Mongrel at the LiteSpeed site but there was a short version on the Mongrel site. The one on the Mongrel site is a bit too complex, I can write down my fewer steps for a next blog post. After that, the work around was great. The upload function works under LiteSpeed, Mongrel using attachment_fu.
It continues....
It doesnt stop there. A few nights ago, just one of those long coding nights, I get an email back from Paul saying he has encountered the same issues I was having with LiteSpeed. He's heavy into the detailed configurations and was able to figure out some fixes. He's posted a ticket on the LiteSpeed forums to look into the issue. It looks like the LSapi version has issues with the restful redirects. The LiteSpeed support team is now looking into this so we'll see but for now, I'll be trying Paul's fix. The ticket is right here. It has the fix Paul suggested. I hope they patch it.
Update: (Aug. 5, 2007)
The LiteSpeed Team has updated the LSapi version to perform redirection more intelligently and to do redirect if there is an index file under that directory, otherwise, return it as a 404; that way the URI will be kept when handled by rails dispatcher. The thread
I've tested the LiteSpeed Enterprise version and all works perfectly. Restful Rails app with Attachement_fu on LiteSpeed is a happy little working wonder now.
Unrelated Windows Issue: (Aug. 7, 2007)
If you found this post while looking for a windows solution to error: 'Size is not in the list', I recommend adding the :size option on the model. Starting from 0.kilobytes to your max upload limit as sampled below.
1 2 |
has_attachment :content_type => :image, :size => 0.kilobytes..500.kilobytes |
SSH Tunnel Manager & CocoaMysql
July 30, 2007 @ 11:22 PM | posted by carmelyne
(last updated: 07.31.07)Port Forwarding & connecting remotely to MySQL on your Slice
First, lets set up the forwarding ports using the SSH Tunnel Manager. I usually start with the 29000 ports so there's no conflicts with registered ports. Go to the preferences on SSHTM and add a new connection. Pictures are better than words so here's how the SSHTM set up looks like:
Lastly, setting up CocoaMySQL to connect remotely to the MySQL on your slice using the forwarded ports under preferences:
It's easy and you can easily put two and two together with the screenshots. That's it!
Note:
The SSHTM user/login is generally your server/slice login and the MySQL login is usually different than the sever login so just take note. This set up is for SliceHost but should be general enough to use on other VPS set ups.
FreeImage woes are better than RMagick woes.
First I tried installing FreeImage using this article:
http://seattlerb.rubyforge.org/ImageScience.html
Unfortunately, I get an error with make:
1 2 3 4 |
Source/Metadata/Exif.cpp:498: error: cast from 'BYTE*' to 'DWORD' loses precision make[1]: *** [Source/Metadata/Exif.o] Error 1 make[1]: Leaving directory `/usr/local/src/FreeImage' make: *** [default] Error 2 |
And If I proceeded with sudo make install, another error:
1 2 3 4 5 6 7 8 |
make -f Makefile.gnu install make[1]: Entering directory `/usr/local/src/FreeImage' install -m 644 -o root -g root Source/FreeImage.h /usr/include install -m 644 -o root -g root libfreeimage.a /usr/lib install: cannot stat `libfreeimage.a': No such file or directory make[1]: *** [install] Error 1 make[1]: Leaving directory `/usr/local/src/FreeImage' make: *** [install] Error 2 |
After Googling awhile I found another repo for FreeImage.
So Let's try this again:
1 2 3 4 5 6 |
cd /usr/local/src sudo wget http://ftp.cica.es/ubuntu/ubuntu/pool/universe/f/freeimage/freeimage_3.9.3.orig.tar.gz sudo tar -xvf freeimage_3.9.3.orig.tar.gz cd freeimage-3.9.3.repacked/FreeImage make sudo make install |
Then I did:
1 2 |
gem install -y rubyinline gem install -y image_science |
Now off to my attachment_fu and crossing my fingers that it works.... Yup it works.
I'm not sure if freeimage_3.9.3.orig.tar.gz is the latest version but I'm happy enough that it works with attachment_fu.
I really have no idea why I got the errors above but one thing is for sure: It didn't work for me!
Snippets: Short list for gems
July 26, 2007 @ 11:19 PM | posted by carmelyne
(last updated: 07.26.07)Generates a gem's list
gem list | egrep -v "^( |$)" |
Random image I took during an afternoon walk...
Not an intention to hide...
I have unconsciously forgotten to link my contact form on the site.
I do apologize to people trying to get a hold of me through my blog. Of course, I'd want to hear from you.
I'm really not that hard to get a hold of as I'm all over the web under the same name as this site or as Wrap/dida. Pretty sure you can guess my gmail address :)
To make it simpler, feel free to use my contact form. Thanks.
Photoshop shapes, brushes and filters...
D&P: Del Custom Shapes Hot Key
July 20, 2007 @ 12:38 AM | posted by carmelyne
(last updated: 07.20.07)Shitft + Alt + Click == deletes Custom Shapes from group
Compiling Ruby 1.8.6 on Ubuntu
July 17, 2007 @ 09:26 AM | posted by carmelyne
(last updated: 08.09.07)Lets do this quickly:
Note: This is not for an upgrade.
- cd /usr/src
- sudo wget http://rubyforge.org/frs/download.php/18421/ruby-1.8.6.tar.gz
- sudo tar -xvf ruby-1.8.6.tar.gz
- cd ruby-1.8.6
- sudo apt-get install build-essential
- ./configure
- make test
- make
- sudo make install
- ruby -v (# == ruby 1.8.6 (2007-03-13 patchlevel 0) [x86_64-linux])
- irb (# make sure irb works)
Then just do a quick update sweep for ubuntu:
- apt-get update
- apt-get dist-upgrade
UPDATE: Getting script/console to work
Error:
/usr/local/lib/ruby/1.8/irb/completion.rb:10:in `require’:
no such file to load – readline (LoadError)
Eeek now script/console won't work. So let's fix that. We'll go back to the archive and do the following:
- cd /usr/src/ruby-1.8.6/ext/readline
- ruby extconf.rb
- make
- sudo make install
Do I need a disclaimer? Hey! I was on my own too when I did this compile. ;p
Miles: 2.755
Time: 61 mins. | Cals: 227 | Speed: 2.7 - 3.0
Miles: 2.704
Time: 60 mins. | Cals: 269 | Speed: 2.7 - 3.0
Some Random Images from 2007, July 12 Walk by the Lake
| More of carmelyne's photos |
Note: Photos not available via RSS. Please visit the site or Flickr. Thanks :)
Some Random Images from 2007, July 4 Afternoon
| More of carmelyne's photos |
Note: Photos not available via RSS. Please visit the site or Flickr. Thanks :)
Snippets: Rails Error on Production
July 05, 2007 @ 05:57 AM | posted by carmelyne
(last updated: 07.05.07)Quick cheat method to see errors on production mode without the Exception Notifier plugin or having to look at the production log.
1 2 3 4 5 6 7 8 |
# application.rb # replace "XXX.X.X.1" with your IP in the local_request method below protected def local_request? request.remote_ip == "XXX.X.X.1" end |
Transformers! More than meets the eye...
Photo Credit: Transformer's Official Movie site
July 3, I went to see the first showing of Transformers. I didn't really know there was a movie coming out till my friend Paige mentioned it the weekend before. I was expecting a whole 3d-ish movie type like Shrek or Ice Age 2. It bit my curiosity so I searched it on the world-web-web-web when I got home. Lo and behold, the trailers on Yahoo were decent enough to catch my attention.
The funniest part of going to the movie was not the movie itself. As we were leaving the theater, we ran into some kids in makeshift transformer box costumes. I wish I had the chance to take some pics on my cellphone but alas it was out of battery -- a typical scenario with my phone. :)
It's definitely a movie with a lot of action, effects, stunts, robot stunts and scenes that will make you say.. You go darn robot you!
Snippets: Coldfusion Mask Output with *
June 27, 2007 @ 10:57 AM | posted by carmelyne
(last updated: 06.27.07)Peekabooo. Oooops wha? I don't see you.
1 2 3 |
<cfoutput>
#repeatString("*",len(qPayment.CreditCardNumber))#
</cfoutput>
|
Halt who goes there!
1 2 3 4 |
<cfif CGI.REMOTE_HOST IS NOT "127.0.0.1" AND CGI.REMOTE_HOST IS NOT "192.168.0.1"> <cfabort> </cfif> |
DoD: Doodles run in the Family
June 25, 2007 @ 10:31 PM | posted by carmelyne
(last updated: 06.28.07)Yes! SJ and his mighty ninja!
Snippets: Javascript Logical Operators
June 25, 2007 @ 02:39 PM | posted by carmelyne
(last updated: 06.25.07)1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
// mathematical operators + addition - subtraction * multiplication / division % modulus (this is the remainder when you divide something) //comparison operators > Greater Than < Less Than >= Greater Than or equal to <= Less Than or equal to == Equal to != Not equal to |
Note:
("=" sign assigns a value to a variable, "==" compares two values for equality.)
Snippets: Rails 'A'..'Z' Paginate
June 24, 2007 @ 09:40 PM | posted by carmelyne
(last updated: 06.25.07)'A'..'Z' paging cause I'm being lazy & I don't want to mess around with default paginate.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# Starts with 'A'..'Z' Paginate / model def self.sort(sort) if sort find(:all, :conditions => ['name LIKE ?', "#{sort}%"]) else find(:all, :order => 'name') end end # index action / controller @models = Model.sort(params[:sort]) # Sort link A-Z / view <a href="models?sort=A">A</a> |
Snippets: Ruby Switch Statements
June 20, 2007 @ 10:47 AM | posted by carmelyne
(last updated: 06.24.07)1 2 3 4 5 |
case foo when 1 then puts "Foo is equal to 1" when 2..9 then puts "Foo is between 2 and 9" when 10 then puts "Foo is equal to 10" end |
Source: http://railsforum.com/viewtopic.php?pid=27834#p27834
Roundtable: Women in Development
June 19, 2007 @ 08:26 PM | posted by carmelyne
(last updated: 06.19.07)- Part I (MP3, 26 minutes): Women in Development I
- Part II (MP3, 20 minutes): Women in Development II
My apologies. It just didn't cross my mind to post about the Women in Development podcast when it first came out. I had a lot in my plate right after the conference. I was mostly trying to catch up with tasks at work since I'm acting as Lead Developer at PWIM for the time being.
Anyhow, in these podcasts you will hear the views of women on the absence decline of women in development and absence during conferences. Desi shares her vision and goals about where she wants devChix to be. devChix is a collective group of women with backgrounds in Computer Science and Computing. It was so immensely uplifting to be in the company of such great women that day. I enjoyed participating in the discussion. I was more nervous than anything else during the entire podcast session. Mind you, I was sitting two feet away from Geoffrey Grosenbach. Cool, right?
After hearing the podcast again, I think it's time to live up to my nickname "multi-talented". Oh the pressure mounts!
Practice, practice, practice.

I think it's obvious by now that my color preference leans on the really obnoxiously bold end. After reading ThinkVitamin's article on Web Design-isms: 7 Surefire Styles that Work by Lisa Meek, I thought it would be nice to follow along and respond with a redesign. Implementing what you learn and read is always the best route to just hone in on that skill. Here we go then. Please let me know if there's anything out of the ordinary that I should be fixing. Thanks :)
Sleepless friday nights == me taking quiz from random links. Break time.
I thought I was more creative as an individual. Now I'm torn. Left brain, right brain, left, right.
"You Are 50% Left Brained, 50% Right Brained"
The left side of your brain controls verbal ability, attention to detail, and reasoning. Left brained people are good at communication and persuading others. If you're left brained, you are likely good at math and logic. Your left brain prefers dogs, reading, and quiet.
The right side of your brain is all about creativity and flexibility. Daring and intuitive, right brained people see the world in their unique way. If you're right brained, you likely have a talent for creative writing and art. Your right brain prefers day dreaming, philosophy, and sports.
Take the Quiz: Are You Right or Left Brained?
Mission to share the fun completed!
Two days ago, I was im-ed by an old guildie-friend and asked if he could use my old design for the guild site I made back in 2005 for a World of Warcraft Guild on [fill in the blanks] server (Not telling!). Of course, I said yes and he may recycle the design for his DOTA guild but it drew out the memories. Good times raiding and leading 40-man raids on Ventrillo to clear out Molten Core and Black Wing Lair. 98% of raid goers are guys. Oh yes, girls are on the intraweb leading raids. I've had my share. That's our secret. Shhhhh...
This was my design of the site and you can still view what's left of it:

Sorry, some links and CSS may not work anymore on that site.
Below are some of the screen shots I took while playing the game. I played with these screen shots on photoshop to make them more vivid and added "text".
I have more screen shots but that would require digging and resizing so I leave you with just those above. :)
If you're a fan of the tv show Star Trek: The Next Generation and remember those episodes where they simulate worlds virtually in their cabins, then you should check out Photosynth. I feel like this is the start. Seamlessly patch all images to create some 3d-ish environment. Give or take 5-10 years or maybe sooner, we can all step into our virtual domains.
Check out Blaise Aguera y Arcas' demo of Photosynth on TED: www.ted.com/index.php/talks/view/id/129
Download the windows demo: http://labs.live.com/photosynth/installing.htm.
So I took the quiz : Which Programming Language Are You? According to my answers, I am Java! Oh Man!

Which Programming Language are You?
I thought I was sluggish because of the junk food. It looks like I was wrong.
Good news. Today, the tragic lost of my domains have come to past. Thanks to Mike Nudell, a Customer Orientation Consultant, of godaddy.com. This was all from the registerfly.com fiasco a few months back. I had a post about it on the devchix site. I have all my 42 domains back. Why do I have with 42 domains? They're all playground sites. Just clean fun. A good example would be this site I designed and customized for flash games:
Godaddy have been very instrumental in getting things done - the right way. I even have my own personal Domain Concierge (for now at least).
Relieved of the fact I don't have to pay $375.00 to reclaim just one domain. It's definitely good to be patient.
I was very disappointed with ICANN. At first, I felt they didn't care at all. They finally came through!
If something nice and good happens, take it and let it happen. Enjoy!
Are you a Mac Software Developer?
June 03, 2007 @ 09:07 PM | posted by carmelyne
(last updated: 06.21.08)I am no Mac Developer but I may know a few here and there. Cough cough cough. I think ;p
Seth Dillingham, a real cool guy, is trying to reach the $6,600 goal for the cancer-care-and-treatment charity. It's a great cause. Read the details over at his site.
Image Credit: - me, I have no mac app ;p
=============
Update:
2008 Pan-Mass Challenge Auction
Collection of comment styles.
June 03, 2007 @ 07:36 AM | posted by carmelyne
(last updated: 08.08.07)Single line comments:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
AppleScript (*Hello I am a comment*)
ASP <% 'Hello I am a comment. %>
Bash # Hello I am a comment
C // Hello I am a comment
C++ /* Hello I am a comment */
CSS /* Hello I am a comment */
Coldfusion <!--- Hello I am a comment --->
DOS :: Hello I am a comment
Erlang % Hello I am a comment
HTML <!-- Hello I am a comment -->
Java // Hello I am a comment
JavaScript /* Hello I am a comment */
Liquid {% comment %} Hello I am a comment {% endcomment %}
Lua -- Hello I am a comment --
Perl # Hello I am a comment
PHP <?php // Hello I am a comment ?>
Python # Hello I am a comment
Regex (?#Hello I am a comment)
Rails <%# Hello I am a comment %>
Ruby # Hello I am a comment
Smarty {* Hello I am a comment *}
XML <!-- Hello I am a comment -->
YAML # Hello I am a comment
|
I've been wondering what comment style is used in Liquid.
Got any to share?
Hackety Hack on my Deskity Top
May 24, 2007 @ 08:24 PM | posted by carmelyne
(last updated: 06.19.07)What is Hackety Hack?
That's a very good question. It all started with this article by _why back in 2003 titled "The Little Coder's Predicament". But I think the Hackety Hack manifesto is a better way to understand what it is than me babbling about it. :) So click on it and read on => The Hackety Manifesto.
My interest in it:
I've mentioned Hackety Hack on my RailsConf recap which was one of the topics of a BOF session I attended. Jaj and I were actually playing with it before I left for Portland. She finished lesson 1 and totally dug the whole experience. Since I came back, there is a newer version which doesn't spew gecko render errors. I am on Win XP 64bit and she's on Win XP Media. I was the only one that got the errors. I am glad that I don't get any errors anymore with v.0.5.1.
I am playing with Hackety Hack right now and going through the lessons since I was considering mentoring other kids at Jaj's school next school year. It'd be nice to know the ins and outs of the entire Hackety Hack app before I do any mentoring.
The target audience of the app is 13 and over. The eleven year olds seem to follow along well. There shouldn't be any problems for any adult to follow along. This in fact is one of the best way to start learning

