"its' 0.3 cents per hour, this is 0.32 cents per request"
So how can we get the subtotal cost of an AWS Cloud application?
Simple, use the Amazon Cloud Services Cost Calculator.
note: i tried it with my own parameters, and it's showed a little above what i actually pay (5$ more).
Ruby On Rails and a Conning Israeli entrepreneur
Amazon AWS: Calculate your monthly costs on Amazon S3, EC2 and SQS
Noupe: 15+ Incredibly Useful Mac Apps For Freelance Web Designers
Noupe: 15+ Incredibly Useful Mac Apps For Freelance Web Designers . <== This is a great blog, don't dare not to subscribe to their RSS Feed.
1. Espresso
Extremely powerful web development tool, created by the minds behind CSSEdit. Providing a powerful editing, sleek projects, live preview, real publishing and synchronization tools.
Espresso features an immensely powerful rule-based syntax engine, CoreSyntax, that transforms your text documents into semantic structure. Espresso has an extensible Navigator that’s best compared to the CSSEdit styles list.
2. CSSEdit
CSSEdit’s unique focus is on style sheets, it offers a wide range of features for any level of expertise. Starting out? Selector Builder, advanced visual editors, Live Preview, intelligent source environment and a powerful X-Ray web page inspector for an unbeatable CSS debugging suite.
3. Pixelmator
Pixelmator, the beautifully designed, easy-to-use, fast and powerful image editor for Mac OS X has everything you need to create, edit and enhance your images. Pixelmator is a layer-based image editor. You can quickly create layers from your photos, other pictures, from selections or even your iSight. Pixelmator can add a layer to your composition directly from your Mac’s little camera. With Pixelmator’s powerful, pixel-accurate collection of selection tools you can quickly and easily select any part of your images to edit and apply special effects to portions of your pictures.
4. Coda
Panic Coda is a great all-in-one Web development environment tool, keeping many of your commonly used tools in separate tabs. Tools include: text-editor, css editor, file transfer, svn, terminal & smart Spelling. All of the usual languages are supported and styled appropriately including: CSS, HTML, Javascript, Java, Perl, PHP, Python, Ruby, SQL, XML, and straight text.
5. Lineform
Lineform is an ideal Mac app for vector art, diagrams and illustrations. Lineform has all of the most popular tools, including everything from freeform gradients to compositing effects, enabling you to create the designs you want without getting in your way with superfluous “features” you don’t need.
6. Fontcase
Fontcase is a font management application that provides an elegant and powerful workflow to help you organise the fonts you have installed on your system. Designed to be an iTunes for your fonts, Fontcase has a powerful tagging system, which is designed to let you control your fonts like you control your music.
7. Deep- Image Search
Deep calculates the range of colors used in each of your images by analyzing the pixels and calculating the most popular colors. This is what makes the palettes in Deep powerful, you can find images that have similar colors, which is great when you are looking for the perfect picture to go on your web site. In fact, just drag any image on to Deep and it will find and rank all the images on your computer that are similar.
8. Cyberduck
Cyberduck is an open source FTP, SFTP, WebDAV, Mosso Cloud Files and Amazon S3 browser for the Mac. It features an easy to use interface with quickly accessible bookmarks.
9. Flow
Flow is another file transfer coming in style. Flow brings the best of the Mac to your server’s files and folders. Put simply, Flow makes working remotely every bit as intuitive and natural as working locally with the Finder. With Flow, you can edit files directly on your server, connect to (FTP, SFTP, Amazon S3, WebDAV, and MobileMe iDisk servers), Quickly Upload Without UI and many other features.
10. Sequel Pro
Sequel Pro is a Mac OS X MySQL Database Management app. Sequel Pro gives you direct access to your MySQL databases on local and remote servers with support for importing and exporting data from popular files including SQL, CSV and XML.
11. Things
Task management has never been this easy. Organize your to-dos with Projects and Areas of Responsibility. Features include: A smart Today list automatically gathers all you need to look at, Repeating To Dos, Every list can easily be filtered and sorted by due date, iPhone Sync and many other features.
12. xscope
xScope is a powerful set of tools that are ideal for measuring, aligning and inspecting on-screen graphics and layouts. Quickly available via the Mac OS X menu bar, xScope’s flexible tools float above desktop windows and UI elements making measuring a breeze.
13. KeyCue
KeyCue gives you an instant overview of the overall functionality of any application, plus lets you automatically start working more efficiently by making use of menu shortcuts.
14. TextExpander
TextExpander saves you countless keystrokes with customized abbreviations for your frequently-used text strings, code snippets and images.
15. OnTheJob
On The Job has a lot of power under the hood but maintains it’s reputation as the easiest to use time and expense tracking solution available for Mac OS X. On The Job offers flexible invoice creation. Create invoices for specific date ranges, covering a single job, or spanning multiple jobs.
Other Mac Apps you will find interesting
- TextMate
- Billings
- Littlesnapper
- MAMP
- Inkscape
- Picturesque
- Layers
UML for Rails applications
UML is a Graphical language for visualizing, specifying and constructing the artifacts of a software-intensive system. The Unified Modeling Language offers a standard way to write a system's blueprints, including conceptual components such as business processes and system functions as well as concrete things such as programming language statements, database schemas, and reusable software components.[1] UML combines the best practice from data modeling concepts such as entity relationship diagrams, business modeling (work flow), object modeling and component modeling. It can be used with all processes, throughout the software development life cycle, and across different implementation technologies.
As the strategic value of software increases for many companies, the industry looks for techniques to automate the production of software and to improve quality and reduce cost and time-to-market.
These techniques include component technology, visual programming, patterns and frameworks. Businesses also seek techniques to manage the complexity of systems as they increase in scope and scale. In particular, they recognize the need to solve recurring architectural problems, such as physical distribution, concurrency, replication, security, load balancing and fault tolerance. Additionally, the development for the World Wide Web, while making some things simpler, has exacerbated these architectural problems. The Unified Modeling Language (UML) was designed to respond to these needs and to supply the programmers and the project managers with a visual application state and layout.
There isn't a clear why to implement the usage of UML for rails development, but here are the tools i did find.
- RailsRoad is a RailRoad is a class diagrams generator for Ruby on Rails applications. It's a Ruby script that loads the application classes and analyzes its properties (attributes, methods) and relationships (inheritance, model associations like has_many, etc.) The output is a graph description in the DOT language, suitable to be handled with tools like Graphviz. Last tested on old rails versions!
- A visual paradigm plugin for generating ruby (yap, not rails)
- ruby-uml, couldn't find any documentations.
- The generate_from_uml plugin does the oppsite and enerates rails models from a UML schema, i didn't see how advanced relations are handled though (:has_many :through for example)
Deploying Ruby on Rails on EC2 - Deploying Oracle
Well, generally i use Oracle for my large scale applications.
Some people might say that it's not too-competible with Rails, but using the oracle_enhanced_adapter didn't pop up any special issues (it even supports Oracle's bind variables technique).
The Oracle Cloud Deployment tutorials on Oracle's website contains explanations, PDFs, tutorials and demos on how and when to deploy Oracle DB in the cloud.
Extra guides include backup and recovery practices.
Web Base SQL schema design
This amazing online SQL design (ERD) tool called wwwsqldesigner, is a great solution for those of us who get too troubled by designing simple apps database layouts. (NOTE: you should always hire a professional DBA)
Checkout the Homepage on GoogleCode, and Live demo.
Deploying Ruby on Rails on EC2 - Update
Tom Mornini, the Founder and CTO of EngineYard, introduced me their latest announcement, Solo.
Solo is an inexpensive, web-based platform for on-demand management of your Ruby on Rails web application on Amazon’s cloud computing infrastructure. Manage your web application from development to deployment. You get Engine Yard’s Ruby on Rails deployment expertise wrapped in an easy-to-use interface.
Solo removes a lot of the hassles and provides a battle tested Rails stack and many tools required to create reliable and manageable deployment atop Amazon's wonderful AWS offerings.
Tom also mentions that using my Deploying on Ruby on Rails on EC2 guide is not recommended for production stages and that users on AWS should always keep in mind that in case of a crash or reboot of the environment will result in lost data (without proper countermeasures, like EngineYard offers)
So your setup scenario as i suggested, should be used for development only, and carefully even in that case and keep in mind the non-persistence state of EC2 instance disks.
Beautiful Javascript Date Pickers
Source: Woork! - Beautiful Javascript Date Pickers
Great list of Date Picker plugins and scripts, for several Javascript frameworks.
Woork: 10 Javascript UI Libraries
Source: Woork!
1. IT Mill Toolkit
IT Mill Toolkit is an open-source framework, providing widgets and tools for the development of Rich Internet Applications (RIAs). Deliver web applications without worrying about incompatibilities of web browsers, DOM or JavaScript by using standard Java tools.
2. LivePipe UI
LivePipe UI is a suite of high quality widgets and controls for web 2.0 applications built using the Prototype JavaScript Framework. Each control is well tested, highly extensible, fully documented and degrades gracefully for non JavaScript enabled browsers where possible
3. Iwebkit iPhone/iPod touch framework
Iwebkit is the revolutionnairy kit used to create high quality iPhone and iPod touch websites in a few minutes. In the first 4 months of it's existance the pack has greatly evolved from a basic idea to a project that has reached worldwide fame!
4. Jitsu
Jitsu contains an integrated set of tools to enable developers to build and deploy sophisticated user interfaces for web applications. These include an Xml markup language, page compiler, data binding engine, JavaScript runtime, control library, runtime inspector, animation engine, cross-platform library, Ajax, and back button support.
5. MochaUI
MochaUI is a web applications user interface library built on the Mootools JavaScript framework.Uses: web applications, web desktops, web sites, widgets, standalone windows and modal dialogs.
6. Echo Web Framework
Echo is an open-source framework for developing rich web applications. From the developer's perspective, Echo behaves as a user interface toolkit--like Swing or Eclipse SWT. AJAX technology is employed to deliver a user experience to web clients that approaches that of desktop-based applications.
7. The Yahoo! User Interface Library (YUI)
The YUI Library is a set of utilities and controls, written in JavaScript, for building richly interactive web applications using techniques such as DOM scripting, DHTML and AJAX. YUI is available under a BSD license and is free for all uses.
8. Sigma Ajax UI builder
Written in javascript and PHP, SigmaVisual is web based visual AJAX UI builder for professional developers. Developers save their time in building up prototype as well as real web applications. TreeBar, TreeGrid, Layout, Menu are supported.
9. WUI Web UI Framework
WUI (Web User Interface) is an MVC framework for writing web UIs in a single language: Java. Write web apps with components, widgets & events, not JSPs. Runs in any servlet 2.3 container. Similar to Model 2 / Struts, only better. Apache-style license.
10. Butterfly Web UI
Butterfly Web UI is a component oriented web framework for Java, like Wicket or Tapestry. The main advantage compared to these frameworks is that Butterfly Web UI integrates naturally with Butterfly DI Container, giving you a state-of-the-art dependency injection container to help you structure and decouple the internal components of your web applications.
Yet another Framwork: Pylons
Pylons combines the very best ideas from the worlds of Ruby, Python and Perl, providing a structured but extremely flexible Python web framework. It's also one of the first projects to leverage the emerging WSGI standard, which allows extensive re-use and flexibility — but only if you need it. Out of the box, Pylons aims to make web development fast, flexible and easy
Looks like a fun language, after reading the Pylon book for a few days now, it looks very interesting.
This framework is based on Paste and allows some extended python usage, templating, modeling and basically a full MVC application development interface (even CouchDB).
What i can say about it, is that it's some kind of another Rails-ish framwork ("paster" for "generate" for example), these frameworks are popping like mushrooms these days (Currently reviewing the PHP Akelos framework as well)
The pylons web site offers general information, a link to the online book and some screencasts.
Browser Security Hand book
The Browser Security Handbook is a free and no-nonsense guide to the security concepts in today's main browsers. It covers all security features, explains why and in which browsers certain attack methods work and talks about experimental security mechanisms in browsers. It's a recommended read for everyone who creates web applications.
Important read, i remember reading a similar article a few years back (FF1 vs. IE6) and i learned some good stuff.
Get it here
Rails 2 i18n: Globalize2 plugin for Rails
A while ago i posted a post about a Globalize plugin bug in Rails 2.x. Eventually i found a solution but i was still waiting for a real solution for Rails 2.x to supersede my monkey patching.
Well, it's here.
note for the Hebrew natives: check out the examples :)
Globalize2 is the successor of Globalize for Rails.
It is compatible with and builds on the new I18n api in Ruby on Rails. and adds model translations as well as a bunch of other useful features, such as Locale fallbacks (RFC4647 compliant) and automatic loading of Locale data from defined directory/file locations.
Globalize2 is much more lightweight and modular than its predecessor was. Content translations in Globalize2 use default ActiveRecord features and do not limit any functionality any more.
All features and tools in Globalize2 are implemented in the most unobstrusive and loosely-coupled way possible, so you can pick whatever features or tools you need for your application and combine them with other tools from other libraries or plugins.
Get it from joshmh Github Repo
Elliott Kember: Sexy Page Curl JQuery plugin
Just one of those fun-and-no-real-use things you might want to put in your blog/personal-homepage.
Elliott Kember created this Page Curl plugin for JQuery which shows a page curl on the corner of your website, with the option to set an image below it.
Check the demos.
Rails Migrations - Running a Single Migration
We all know the good old
rake db:migrateAnd we all know the Rails 2.x
rake db:migrate:rollbackto go back in time and fix what we did.
Now, in Rails 2.x you can specify a single migration by specifing one of the each
rake db:migrate:up VERSION=<migration_timestamp> # Runs the self.up rake db:migrate:down VERSION=<migration_timestamp> # Runs the self.downNote that migrations are meant to be concurrent and that's the most basic purpose in which they are there for, executing an out of line migration may cause you problems in the future, so try to stay as clean as possible when dealing with migrations
CSS Sprites: onilne sprite generator
The CSS sprites technique is basically a technique that reduces the CSS requests when dealing with background images.
Example: Lets say you have 2 selectors in your CSS,
div#first { background: url(first_bg.png); } div#second { background: url(second_bg.png); }
when loading your CSS file will preform 2 requests, one for each image you specified as background, so when dealing with a complete design, you are probably talking about 40-50+ image requests as such.
CSS sprites solves this problem by loading only one image, that contains all the images you will use on your site within, and displaying the correct image by playing with a combination of a background offset (background-position CSS attribute) and the size of the element.
This technique can be very effective for improving site performance, particularly in situations where many small images, such as menu icons, are used. The Yahoo! home page, for example, employs the technique for exactly this.
Examples and full explanation can be found here at the CSS Tricks.com - CSS Sprites: HowTo or here at the List Apart: Image Slicing's kiss of death article.
Today, i found a Sprite image generator that actually generates this Sprite image file from a zip file you upload and containing all the images, and produces the image as said before, but also the output CSS statements.
very useful.
Firefox vs. Explorer: the power of free will
First i have to clear the background. In Israel, like every other place in the world, IE still rules. The problem in Israel is that there is not enough exposure for other browsers, and even to other OS besides windows. People are not familiar with Ubuntu (almost) at all, and the Macs are pretty expensive in Israel, relatively a lot more than it is elsewhere.
This causes some serious problems in the Israeli online experience, government and other public service provider websites can not be viewed in other browsers except IE, and the web developer community is in a consistant battle to explain to some low-level yet common development firms, why you should implement web standards and support other browsers.
Courses and training programs are more than often don't approach standards and semantic HTML issues, but there are numerous which hold ActiveX in their syllabuses
Back to business, that guy explained that
"People who don't use IE are a minority and if they choose to handicap themselves, it's not my or the government responsibility to enable the support for other browsers".
What can you say about that?
Putting a side everything i have against Microsoft as a corporation, i think that IE is the handicaped browser, not Firefox/Opera/every other browser.
Handicap is not a plugin and extenstion enabled browser, it's the browser that can't support 40% of the W3C Standard for example.
You can find too many hits on why you should dump IE(#2, #3 so on..) and i don't think it's the Firefox hype talking, it's simply the people who had enough with their browser doing stuff he shouldn't do, and not what they want or asked it to do.
BTW, i ended that discussion with that guy... you can't argue with someone that can't understand the meaning of the things you say, just like one of the other forum users said: "Arguing the benefits of Firefox over IE with an iE user is like arguing the advantages of a flashlight with a caveman carrying a torch."
ActiveRecord.js: a Relational js ActiveRecord implementation
ActiveRecord.js is the first released component of ActiveJS a JavaScript framework initiative sponsored by Aptana. This project is still in it's early stages and we welcome your thoughts and ideas on the future of JavaScript application development. Since this is a GitHub hosted project, if you would like to directly contribute we recommend you fork the project and initiate a pull request to merge your changes
The ActiveRecordjs Homepage
Not tested in IE initiative: a new savethedevelopers.com
savethedevelopers.com used to be a great script that pops up when the client's browser was IE6, warning him about the mischief ways of that browser and urging the user to either update to IE7 or go the happy road on Firefox.
Than, something weird happend.
The website stopped working and now redirects to Microsoft's IE download page... yak.
The "not tested in IE initiative" tries to re-incarnate that thought. So if you are unsure that your website will be displayed correctly on IE6, use one of these icons link to the project's home page.
- 142x50 pixels :
- 85x30 pixels :
- 57x50 pixels :
- 34x30 pixels :
Tools of the Trade: Web development tools list
Well, it's not mine, but it's great.
Dion Almaer's Web resources page includes a shiny list of web resources/tools/tips he uses when developing web applications (on PHP though, baaah.).
He indicates that some of the links are outdated, but promises to fix it. as soon as possible.
All Browsers Online Preview
Great tool, shows you how your website looks in many browsers and OS's, including screen shots.
Visit at browsershots.org
Rails and Amazon EC2 - Beginners guide
First of all, Amazon AWS rocks. it's a great, stable and not so expensive way to get your application up and running, but also ready for any disaster to come (Someone said Digg effect?).
Getting your application on to Amazon EC2 is not as complicated as you think, managing and controlling your instances may require a professional system administrator, but i would recommend that anyway (except if you go and host your application on EngineYard than you are worry-free, but you'll pay.. ohh you'll pay for that sense of security).
Get your application Ready
There is no real need to setup your EC2 instances in day 1, you can wait until the application is mature enough to be deployed onto a production infrastructure. Amazon EC2 costs per usage, so, it will cost you to have your application up and running on EC2, keep that in mind (although the prices are a joke).
Setting things up
Once your application is ready to be deployed to EC2, you'll need an image.
Image, in EC2 terms, is a reference to an OS + all required installations and configuration needed to run your application.
The best all-round image to use with rails is Pawl Dowman's Rails on EC2 bundle (or here). EC2onRails is great. Unfortunately, if you’ve never used EC2 before, you probably won’t be able to “Deploy a Ruby on Rails app on EC2 in Five Minutes” as the documentation claims, so this document will try to fill in the gaps for someone who has never worked with EC2.
note: it's never too early to sit down and read Amazon's documentations, they are not that bad
Local machine
First thing is first, your development machine, the one from which you will be deploying to EC2 should undoubtably hold:
- Ruby on Rails (do yourself a favor, at least version 2.1)
- MySQL (Well, we are going to work with RailsonEC2, which includes it, if you need another db.. you'll need another image).
- Java Development Kit 1.5 or later installed.
Mac users should be ready-to-go (Hah! Hah!), Windows/Linux users if you don’t have it, download it from Sun's website.
Make sure to download a version labeled “JDK”.
Java is required for the tools that Amazon provides to manage EC2 instances. (rumor says that there are ruby management tools also, but i prefer the ones that Amazon gives).
Once you are set with these issues, you'll need to sign up for the Amazon EC2 service, do that right here.
Now, sign up for the S3 service.
Why? becaous althougn your image (later: 'instance') includes storage, images/instances can be brought down, up, dropped and even deleted, that will ultimatly, kill your data.
S3 is Amazon’s “Simple Storage Service”. S3 is a super-inexpensive service to store files into “buckets in the cloud”. S3 will be used for database backups of your Rails Application.
Sign up for S3 here.
What you'll need to keep somewhere
After signing up, you will need to collect four pieces of information from your AWS account by visiting the Access Identifiers page.
- Your account number. The account number can be found at the upper right of the Access Idenfiers page and should be three four-digit numbers separated by dashes.
- Your Access Key ID. This is a 20 or so character key found in a beige box a little below your account number.
- Your Secret Access Key. This is a 40 or so character key found in another beige box just below your Access Key ID. If this is your first time on this page, you may have to generate your key. Click the “Show” button to display your 40 character key.
- Your X.509 Certificate Create and download the X.509 certificate below the Secret Access Key section. Place the public and private keys into a folder called “.ec2″ in your home directory.
Download and Install the EC2 Command Line Tools
The EC2 command-line tools are a Java-based set of tools that allow you to create and manage machine instances on EC2.
Download the Command Line ToolsDownload here Amazon EC2 Command-Line Tools and extract the zip file, remember where you put it, i always keep it in my home folder as a hidden folder named .ec2 (/Users/eizesus/.ec2/ on OSX).
Set Appropriate Environment Variables
export EC2_PRIVATE_KEY=/Users/eizesus/.ec2/pk-5xxxxxxxx7.pem export EC2_CERT=/Users/eizesus/.ec2/cert-5xxxxxxxxxxxxx7.pem export EC2_HOME=/Applications/java/ec2-api-tools-1.3-24159 export PATH=$EC2_HOME/bin:$PATHRemember to replace my library with yours.
I suggest adding these lines to your startup profile, whatever it maybe on your OS. (OSX, it's in /etc/profile).
After you do that, reload your session (close the console/command line and open it again).
Create a Key Pair the Deployment machine
ec2-add-keypair my-secret-codeThe string my-secret-code can and should be anything that you like, try to pick something that makes sense for your setup (remember that i will keep on writing my-secret-code, use your phrase instead).
Save the output from that into a file named id_rsa-my-secert-code and paste everything between (and including) the “—–BEGIN RSA PRIVATE KEY—–” and “—–END RSA PRIVATE KEY—–” lines into it. Confirm that the file contents looks exactly like this, then save the file into the file:
~/.ssh/id_rsa-my-secret-code
Set permissions on the new key file:
chmod 600 ~/.ssh/id_rsa-my-secret-code
Start Up an Amazon EC2 Instance
An Amazon Machine Image (AMI) is a named configuration of an EC2 image.The current AMI id’s for EC2onRails are:
- ami-c9bc58a0 (32-bit)
- ami-cbbc58a2 (64-bit)
ec2-run-instances ami-c9bc58a0 -k my-secret-codeThe second line of the results returned will look like:
INSTANCE i-XXXXXXXX ami-c9bc58a0 pending my-secret-code 0The pending my-secret-code means that the image is pending.
To check the status of the instance build type:
ec2-describe-instances i-XXXXXXXXReplace the i-XXXXXXXX above with the string that comes after INSTANCE in the second line of the results from the ec2-run-instances command.
Run it again until it says running my-secret-code, than you have an Amazon EC2 instance running! (yippie!).
Take note of the string that looks like
ec2-xx-xxx-xxx-xx.compute-1.amazonaws.comthat is your machine’s address.
Authorize SSH and HTTP
ec2-authorize default -p 22should result in:
PERMISSION default ALLOWS tcp 22 22 FROM CIDR 0.0.0.0/0
ec2-authorize default -p 80This should return something like:
PERMISSION default ALLOWS tcp 80 80 FROM CIDR 0.0.0.0/0
you are up and ready to go!
You should be able to ssh into the your new machine, replace
ec2-xx-xxx-xxx-xx.compute-1.amazonaws.com
with your own machine’s address:
ssh -i ~/.ssh/id_rsa-ec2-rails-keypair root@ec2-xx-xxx-xxx-xx.compute-1.amazonaws.comYou may have to type “yes” to accept the authenticity of the host.
Prepare Your Application for EC2
EC2 for Rails requires Capistrano:sudo gem install capistrano -v 2.4.3And then install the EC2 for Rails gem:
sudo gem install ec2onrailsOkay, you need to add three configuration files to your Rails application.
- Capfile - save this file at the root of your application.
- deploy.rb - save this file in the /config folder.
- s3.yml - also save this file in the /config folder.
Customize the EC2 Configurations
capfile can an be left as-downloaded.
config/s3.yml
- This configuration is pretty simple, under the production section, put your AWS information that you noted above. aws_access_key: (you got me when you signed up) aws_secret_access_key: (me too) bucket_base_name: production.yourname.comconfig/deploy.rb - There are a lot of definitions to be made, read all the comments and setup the deploy process as your applicaiton requires.
config/database.yml - For the production section, basically add any good password that you like and add hostname: db_primary. It should look something like:
production: adapter: mysql encoding: utf8 database: appname_production username: user (not ROOT!) password: password (no, no empty passwords) hostname: db_primary
Run the EC2 on Rails Capistrano Tasks
cap ec2onrails:get_public_key_from_server cap ec2onrails:server:set_roles
Configure the db and stuff:
cap ec2onrails:setupAnd launch your app:
cap deploy:coldAnd wooooohoooo, check your application url.
That's it basically, you are up.
Noura Yehia: 45+ JQuery user interface plugins you must use
The web is different these days, i remember the days when anchoring (<a name="jumphere">) were considered as magic.
These days, following the overwhelming outburst of javascript frameworks, it's getting easier and simpler to generate extended, usable, fun and sexy interface.
This 45+ JQuery user interface plugins you must use list, is packed with some slick design and usability supplements that should be strongly condered when choosing a javascript framework and user interface guidelines for your application.
WireIt: Javascript wiring library
one thing i was always trying to figure out, is how to make lines in HTML/JS, after recently finding out about the Yahoo Pipes interface i came across this lightweight library that does the same thing, show objects are wired to each other.
There is an open source JavaScript library, which enables you to create this "wired interface", named WireIt.
WireIt is very well-documented & has some attractive examples.
Rails nil, null empty or blank object
From the rails Ruby Object extenstion, The Object#blank? is now covering nil, blank and empty responses.
so:
elad = nil elad.blank? # trueand even empty containers
elad = [] elad.blank? # true
note: Remember that this is a Rails extension to Ruby's Object, so it will not work on IRB, but will on console
David Walsh: The most preferred Javascript Framework
David Walsh, one of my favorite RSS destinations, posted a poll a while ago in order to get a quick look over the preferred javascript framework in use these days.
Well the winner is JQuery, but not in a too wide margin from MooTools at the back, at least not as i thought it would be.
I personally voted for JQuery at that time, but since i switch frameworks depanding on the project nesecities, i think my vote is divided equally by MooTools and JQuery. Dojo was well at the back with only 2 (!!) votes and a close to 0% of vote share, kind of a surprise to me, i was really impressed by Dojo and was considering using it, or at least benchin' it out a little bit.
An alternative to MochaUI: a JQuery based virtual desktop
I am personally using mochaUI is my current projects, and it was one of the main reasons a started working with MooTools at all, but this alternative to a web based desktop implementation is also something to pay attention too.
Although MochaUI is far more feature-packed, i think that this basic JQuery implementaion can be a good start for starting off a new web based desktop application (Add some plugins, and ding! ready).
How much to charge? project estiamtion for freelancers
This neat little tool allows you to fill in a basic form with tasks and hours x rate calculation in order to know how much to charge for a project, cute, not more.
max indelicato:17 Distributed Systems and Web Scalability Resources
Well, scaling an application in my opinion, i like doing the dishes after a really big dinner, nobody wants to do it, but you have to.
Just leaving it there will only make the process of cleaning and washing the dishes worst, and might add some more problems on the way.
Max Indelicato stats in his blog a list of 17 Distributed Systems and Web Scalability Resources which makes it easier to understand and to implement a proper application scaling policy, and on time.
Drew Douglass: The 20 Most Practical and Creative Uses of jQuery
-
James Padolsey Color Switcher
One of our sporadic writers, James Padolsey, has a nice feature on his website. A "customize" bar in the top right portion of the screen allows you to change the background color of the header.
Visit Site
-
Dragon Interactives jQuery Navigation
These guys are pretty much Gods of web design, and their site really proves it. Just have a look at the custom jQuery navigation they used on their homepage. Have you ever seen such a sexy navigation in your life?
Visit Site
-
FamSpams FaceBox
FamFamFam needed a custom lightbox like script for FamSpam (whew, say that three times). They ended up building what is now know as FaceBox, which replicates the effects of lightbox, but goes above and beyond by allowing you to load in static html pages, contact forms, anything you wish really! FaceBox is now a jQuery plugin after all the demand for their script.
Visit Site
-
Grooveshark Widget Creator
Instead of going with a typical flash menu/control menu, Grooveshark mixed it up a bit and built a custom jQuery script to allow you to make your own music widgets; pretty nifty indeed.
Visit Site
-
CSS-Tricks Fade-In Navigation
CSS-Tricks, by Chris Coyier, is next up on the list with a wonderfully simple and creative jQuery navigation. When the links are hovered over, instead of immediately changing colors, jQuery is used to help the color fade slowly to the desired color.
Visit Site
-
David Walsh Link Nudge
Developer David Walsh of DavidWalsh.name implements an extremely simple to use script to give your links a little nudge on hover. The script utilizes the strong animation capabilities of jQuery triggered on hover. Check out the links in the sidebar and in the footer to see the effect in action.
Visit Site
-
CarrotCreative-Custom Sites Lightbox
If you check out the CarrotCreative website, you will actually notice two really unique jQuery effects. Firstly, if you click on sites in the upper left, you will see a unique application of a 'lightbox' like effect listing their sites and icons. Secondly, if you click on any navigation links, you will notice there is no refresh, but that the new page just slides in from the right. Cool stuff!
Visit Site
-
BrightCreative Portfolio
Another "two for one" special, Bright Creative uses an extremely subtle glow effect in their navigation that is very calming and warm. In addition, all of their portfolio pages have a tabbing effect, so their is no need for the user to refresh the page every time - thanks to AJAX and jQuery.
Visit Site
-
Incredible Login Form
Not too long ago, Connor Zwick wrote us a nice tutorial that demonstrates exactly how to build an amazing drop-down login form.
Visit Site
-
Application Scroller by Aviary
It would be an insult to call this a type of 'marquee' (shivers uttering that word). Instead, Aviary came up with a very nice looking and functioning 'scroller' to showcase a lot of text in a small amount of space. Even better is that the scroller will degrade gracefully is javascript is disabled.
Visit Site
-
Featured Fade Effect by DesignFlavr
DesignFlavr, known for their great sources of design inspiration, put together a simple fadeIn/fadeOut script to showcase their featured artwork and corresponding descriptions. Also, they've used the lavalamp plugin quite well on their main navigation.
Visit Site
-
Hv-Designs Fade In RSS Icon
On the Hv-Designs homepage, you will notice the the RSS icon starts off as an outline/sketch of the actual image. Then, when hovered, the rss icons 'glows' into place.
Visit Site
-
Asylums Custom Scroller
Besides being an absolutely hilarious website, Asylum has their own sweet 'featured articles' scrolling script. It's hard to put a finger on why this one is so nice, but that is probably because it behaves slightly differently than most scrolling scripts. It almost seems to snap into place after you give it a click.
Visit Site
-
5 Javascript Tricks Made Easy with jQuery
Brian Reindel created a webpage showcasing 5 custom scripts you can use however you like. The article takes ideas and previous javascript techniques frequently used and utilizes jQuery to make them powerful, compact, and easy to read.
Visit Site
-
Codas Entire Website
Coda is well known for its amazing UI and site design. It set a fire under the jQuery plugin community by inspiring many developers to re create their page tabbing effect. In addition, they have a wonderful on hover effect on the links located in the header.
Visit Site
-
Clark Lab Fading Effect
ClarkLab is a well known and very successful author on ThemeForest. If you visit his portfolio below, you will notice the large header images eventually fade to the next, showcasing all of his latest work. The fade effect is so well done and subtle, you barely notice the new image showing up.
Visit Site
-
Rob Young | E is for Effort
Designer and Art Director Rob Young used a unique idea of displaying his artwork on a simulated Mac screen. Then using jQuery scrolling effects, each new page slides into the page view as if it is being loaded on a computer.
Visit Site
-
Web Designer Wall
Besides being a visually stunning website, WDW features some unique custom jQuery scripting to add classes to certain elements on hover. Check out the effects when the rss and navigation items are hovered over.
Visit Site
-
KomodoMedia
I've saved my absolute favorite site for last. First, just look at that design, it's wonderfully unique and comforting. Using one of the most creative jQuery scripts I have ever seen, KM has a 'foliage-o-meter' slider where sliding it either increases or decreases the foliage and design of the theme, depending on the direction the slider is moved. For an easter egg be sure to check out the source code!
Visit Site
Free Legal Documents, Contracts and other stuff
if you need a real, professional legal document, go to a lawyer!
Now that we are done with the warning, i want to recommend a very good free online pdf and other document collection site, and specifically it's rich legal category, i found some pretty good documents over there. enjoy.
Tim Bray: Ruby is the Leading Language for Web Applications
A pretty while ago in fact (Apr 2008), i wonder what the status is right now..
"In his keynote talk at the recent Silicon Valley Ruby Conference, Sun’s Tim Bray asserted that “PHP and Ruby are the languages of choice for new web apps.” Coming from most people, this wouldn’t be a remarkable comment, but given that Tim is Sun’s director of web technologies, it is worthy of note. Java wasn’t even on Tim’s list, much less his recommended solution."
from Building Web Apps (subscribe to their RSS, recommended!)
Blog future plans
I have been trying for quiet a long time to get a move on Mephisto as my blog and to my own domain and get out of blogger for good.
Well, i finally bought eizesus.com which was supposed to host this blog and another blog in Hebrew dedicated to bring Rails to Israeli programmers (as well as a forum system).
So meantime, until i do the move and move the new blog and forum into production iv'e moved this blog to a subdomain at http://blog.eizesus.com, the old blogger url is still available but i suggest you update your bookmarks so later on there won't be any problem when i will drop the Blogger account at all.
yougetsignal.com: Great web2.0 tool
i just love those web2.0 small time project, where people make their own application for something they wanted, and it turns out to be a Tsunami of digg hits.
yougetsignal.com is a great website with some various network tools for checking connectivity, domains, hosts, and traces (even phones) all of that within a great UI design.
really nice, and in the owners words:
YouGetSignal.com is a collection of network tools that I started working on in late September of 2007. The name of the site, YouGetSignal, is a nerdy play on a line of broken English from the infamous "All your base are belong to us" cut scene.
Free file hosting
I hardly use my box.net account anymore, not since i started to seriously use GoogleDocs and transfer almost all my domains to GoogleApps, mostly because of the fact that all the files i uploaded were documents.
But still, for anyone who might need this kind of service, here is a list of free file storage and hosting services
Free Shell Accounts
There are many uses for shell accounts, i prefer to use them for my legal needs only (MySQL, mail bouncing...), and although some people misuse this utility quiet ofter, i still think people be familiar with it.
Check out the free shell services
Looking for a RoR team
Well, it's time to move on and work on marketing my new application (can't tell you what it is yet :) ), but i need a dedicated, professional Rails+Client Side development team to support the final stage of development, and to continue supporting further changes.
I heard about people getting teams in India, and some companies offer services for out-sourcing code, but i prefer at the moment to find a team (india, USA doesn't matter) that will support my application and will be ready to put some real work into it.
anyway, if anyone is interested, post me a message on linkedin.
basically the skills i need are
* Ruby on Rails experience (2.x)
* Client side (JQuery, MooTools, MochaUi is a great plus).
* CSS and some basic design capabilities.
* DBA (MySQL, Oracle experience will be a great advantage).
* Amazon AWS+S3+EC2 experience.
* ability to work remotely.
i will prefer a whole team, rather than finding these skills in specific programmers and building the team myself.
UPDATE: All positions are filled, thank you everyone!
Trying out Akelos
Akelos became very intersting after a guy pulled it out of the sleeve in one of my many "Rails is better" duals with PHP/.Net developers.
I had no idea at the what he was talking about (shame on me..) so i decided (and promised that guy) to do some work on Akelos a little bit, and than go back and tell him that i still prefer Rails.
Well, a little bit about Akelos.
Akelos is an MVC PHP web development Framework which consists over favoring convention over configuration, sounds familier?
As far as a basic overview and right before starting my first Akelos application, i find it rather a PHP Rails replica, even with some basic convention naming (has_many? again?) but the basic syntax is still PHP and consists too much over direct SQL.
$Project->findFirstBy('language', 'PHP');
in ruby
Project.find_by_language('PHP')
This is a very simple example, i will try to find out how well it goes when trying to preforms something more complicated in Akelos.
NETTUTS: JQuery for beginners
http://nettuts.com/articles/web-roundups/jquery-for-absolute-beginners-video-series/
great great tutorial, although i am (currently) a MooTools fan, i think this is a very good guide collection for JQuery.
Which fonts are the best for web usage?
A great article from sitepoint, about 8 definitive web font stacks for a better and cleaner web typography .
2008 and me
i have learned a lot of new things, which i am very happy about, but i also had some bad experiences:
in Programming, i learned
- how to use git, finally.
- about unfuddle and i am happy about it.
- how to master Rails Caching.
- how to master Ruby meta programming to the max (self learning class!).
- how to use Oracle, also with rails.
- tried .net, hated it.
- tried Django, hated it.
- JQuery, MooTools and basically Javascript.
- the power of RSS feeds.
- about the joy in helping others where you struggled in forums across the net.
- Never to do business with friends.
- Never to do business with friends, ever (yeah, twice).
- how to spot opportunities of a life time.
- how to make words and sentences, into real kicking money
- how to harness adsense.
- how to negotiate when i am not on top.
- how to fight, struggle and win with minimum resources.
- from the big shots, how to do it in the USA.
Life
- microsoft came back into my life with an XBOX-360, and i hate to say i like it.
- i learned to play the guitar.
- Moved to USA, smartest thing i did in my life.
- i learned how to run a flawless project plan.
- got 2 more Macs, ipod, and an AppleTv.
on the good side...
- Took part in few amazing projects.
- Gained #1 on Oracle ruby on rails blog reference page.
- Finally started my own baby startup.
- Got 1.8M$ investment for a friend's company in a 45 minute phone call to the investor.
- Sold all my AAPL shares before the crisis.
- Taking a major part in bringing Rails to Israel.
- i lost too many friends, if they ever were.
- too many of my dreams and wishes came down in flames (but were replaced by new ones.)
Looking back, it wasn't such a bad year... some things may not be so good, but i believe that 2009 is the key year for me.
Hopefully in the next year (on Mephisto!!), i will be able to say
"it was an amazing year"
happy new year everyone.
NETTUS: Best tutorial of 2008
NETTUS just published a great tutorial roundup for 2008.
Great web development resource.
Still here
well, the holidays were a waste of time, it is simply wrong to go on a vacation when you know that there are code-issues which you just left behind.
But anyway, i am back, going on Mephisto soon.
Twiters Around
About Me
- Elad Meidar
- I am a web developer for more than 9 years, managed, cried, coded, designed and made money in this industry. now trying to do it again.
Blog Archive
-
▼
2009 (67)
-
▼
January (44)
- Amazon AWS: Calculate your monthly costs on Amazon...
- Noupe: 15+ Incredibly Useful Mac Apps For Freelan...
- UML for Rails applications
- Deploying Ruby on Rails on EC2 - Deploying Oracle
- Web Base SQL schema design
- Deploying Ruby on Rails on EC2 - Update
- Beautiful Javascript Date Pickers
- Woork: 10 Javascript UI Libraries
- Yet another Framwork: Pylons
- Browser Security Hand book
- Rails 2 i18n: Globalize2 plugin for Rails
- Elliott Kember: Sexy Page Curl JQuery plugin
- Rails Migrations - Running a Single Migration
- CSS Sprites: onilne sprite generator
- Firefox vs. Explorer: the power of free will
- ActiveRecord.js: a Relational js ActiveRecord impl...
- Not tested in IE initiative: a new savethedevelope...
- Rails Testing: Getting started free e-book
- Tools of the Trade: Web development tools list
- All Browsers Online Preview
- Rails and Amazon EC2 - Beginners guide
- Noura Yehia: 45+ JQuery user interface plugins you...
- WireIt: Javascript wiring library
- Rails nil, null empty or blank object
- David Walsh: The most preferred Javascript Framework
- An alternative to MochaUI: a JQuery based virtual ...
- How much to charge? project estiamtion for freelan...
- max indelicato:17 Distributed Systems and Web Scal...
- Drew Douglass: The 20 Most Practical and Creative ...
- Free Legal Documents, Contracts and other stuff
- Tim Bray: Ruby is the Leading Language for Web App...
- Blog future plans
- yougetsignal.com: Great web2.0 tool
- Free file hosting
- Free Shell Accounts
- Looking for a RoR team
- Trying out Akelos
- Nested Model support in Rails
- NETTUTS: JQuery for beginners
- Which fonts are the best for web usage?
- Who is the Boss? Web2.0 or us?
- 2008 and me
- NETTUS: Best tutorial of 2008
- Still here
-
▼
January (44)
Labels
- 1.9 (1)
- 2.0 (1)
- 2.2 (1)
- 2.3 (1)
- 2.x (1)
- accessibility (2)
- account (1)
- actionmailer (1)
- activerecord (3)
- adsense (1)
- affiliate (1)
- ajax (3)
- amazon (4)
- analytics (1)
- api (3)
- application (1)
- array (1)
- associations (1)
- attachment_fu (1)
- autocomplete (1)
- aws (2)
- blog (4)
- books (4)
- boolean (1)
- browser (8)
- browsers (3)
- bugs (4)
- buzz (1)
- callback (1)
- callbacks (1)
- caller (1)
- capistrano (1)
- chronic (1)
- class (2)
- classes (1)
- classifieds (1)
- client (1)
- coding (2)
- collboration (1)
- console (2)
- convert (1)
- core (2)
- core. object (1)
- cost (1)
- css (7)
- database (10)
- date (3)
- dating (1)
- db (2)
- debug (2)
- deploy (5)
- deployment (3)
- design (11)
- development (5)
- dojo (1)
- eager (1)
- ec2 (2)
- effects (1)
- elad (2)
- email (3)
- engine (1)
- engineyard (1)
- english (1)
- entrepreneur (1)
- environment (2)
- erd (1)
- error (1)
- example (1)
- expire (1)
- explorer (1)
- extention (1)
- extra (2)
- facebook (2)
- fast (1)
- file (1)
- files (1)
- firefox (4)
- fixtures (1)
- font (1)
- form (1)
- framework (16)
- free (6)
- funny (2)
- gem (7)
- gems (2)
- git (5)
- globalize (2)
- gmail (3)
- google (8)
- graphes (2)
- graphics (1)
- guides (4)
- hacks (1)
- hosting (1)
- html (1)
- http (1)
- ie (5)
- ie8 (1)
- image (2)
- indomite (1)
- install (1)
- iphone (1)
- israel (2)
- javascript (19)
- JQuery (10)
- js (3)
- legacy (1)
- leopard (1)
- lib (1)
- library (3)
- links (2)
- list (1)
- loading (1)
- log (1)
- logger (2)
- logging (1)
- love (1)
- mac (4)
- mail (2)
- manuals (1)
- mapping (1)
- mass (1)
- mephisto (3)
- mercurial (1)
- meta (1)
- metaprogramming (3)
- microsoft (1)
- migrations (2)
- minimagick (1)
- mistake (1)
- mistakes (1)
- model (1)
- money (4)
- mootools (4)
- move (1)
- movies (2)
- music (1)
- mvc (2)
- mysql (2)
- native (1)
- nested (1)
- network (1)
- new (1)
- newsletter (1)
- num_to_english (1)
- numbers (2)
- object (1)
- observer (1)
- ohad (1)
- open (1)
- operators (1)
- optimization (4)
- oracle (4)
- overload (1)
- parse (1)
- pdf (4)
- php (3)
- plugin (11)
- plugins (7)
- programming (4)
- programs (1)
- projects (5)
- prototype (1)
- queries (1)
- rails (50)
- rails 2.0 (10)
- rails 2.1 (6)
- rake (2)
- rants (1)
- record (1)
- reflections (1)
- release (3)
- rendering (1)
- reset (1)
- resize (1)
- rest (1)
- rjs (1)
- ror (1)
- routes (3)
- routes.rb (2)
- ruby (49)
- ruby on bells (2)
- ruby on rails (28)
- ruby-debug (1)
- s3 (2)
- salary (1)
- scaling (2)
- schema (2)
- screencasts (1)
- script (4)
- scripts (1)
- search engine optimization (1)
- security (3)
- seeking alpha (1)
- select (1)
- sendmail (1)
- seo (2)
- sequencer (1)
- sessions (1)
- share (2)
- shell (1)
- site (3)
- site map (1)
- sites (1)
- skype (1)
- social (2)
- source (1)
- source control (4)
- sprites (1)
- sql (1)
- stand alone (1)
- standards (1)
- startup (6)
- storage (2)
- subversion (4)
- svn (1)
- team (1)
- technology (1)
- testing (1)
- textmate (1)
- thread (1)
- time (1)
- tips (45)
- tools (5)
- tracking (1)
- tricks (36)
- tutorials (5)
- ui (4)
- uml (1)
- update (1)
- upgrading (2)
- url (1)
- usability (2)
- user interface (7)
- validations (1)
- vector (1)
- vote (1)
- web (9)
- web services (2)
- web2.0 (4)
- webistrano (1)
- wire (1)
- wwr (1)
- xhtml (1)
- yahoo (1)
- yui (1)
- רובי (8)
- רובי און ריילס (7)