Ruby on Rails Developer
TechSmart is looking for an outstanding, experienced Ruby on Rails Developer for a role in software development for TechSmart clients. Highly organized software developers with real people skills seeking to take the next step in their careers are encouraged to apply. We’re looking for that special mix of developer, consultant, and project manager and won’t settle for anything less. We know they exist because those people are us. If you’re special, you have the opportunity to have an impact here.
Essential Duties & Responsibilities:
* Work with clients to spec and build quality Ruby on Rails web applications
* Produce UML modeling documents to establish use-cases and guide team development
* Code complete Rails applications and maintain the code base with version control
* Be able to deliver quality software in a team environment against real-world deadlines
Knowledge, Skills & Abilities Required:
* Strong OO development skills – solid experience with Ruby and the Rails platform
* Strong db experience – solid relational database theory, data modeling, SQL
* Passionate about (so-called) web2.0 application development – familiarity with additional development languages and frameworks a plus (e.g. Flex, JSON, Scriptaculous, JQuery, etc.)
* Solid experience with web services, XML processing & translation
* Be able to produce clean, CSS-based HTML
* Experience with Amazon Web Services a huge plus
* Should have a strong entrepreneurial interest and enjoy working in dynamic, challenging startup environment
Minimum Experience & Education Required:
5+ years web development experience
2+ years Ruby on Rails development experience
Bachelor’s degree (or related experience) preferred
Candidates with previous consulting experience will be strongly preferred
Previous work experience with a startup desired, but not required
To apply for this position, please send your resume to resumes@techsmartgroup.com.
1 year agohttp://www.earthclassmail.com/ …. *cool seriously*
1 year agohttp://research.sun.com/spotlight/2008/2008-04-09_caroline.html
A Platform… as a Service
Introducing Project Caroline: A Platform for the Development and Delivery of Dynamically Scalable, Internet-based Services
April 9, 2008 - Certain things are just inherently complex. Chaos theory. Global economics. Cellular automata. But if you think those are unfathomable, try figuring out the most efficient way to develop and deploy an interactive, multi-user, Internet-based service. So many variables, so many questions, so few easy answers.
Whether you’re a developer at a Web 2.0 startup, an ISV creating a new software-as-a-service (SaaS) offering, or a CIO at a Fortune 500 enterprise, you need to address a daunting assortment of issues:
What’s the best development platform for your Internet-based service? Which systems, networks and storage will you deploy it on and how will you procure them? How can you cost-efficiently test various infrastructure combinations?
Where will you get the infrastructure to do the constant functional, performance, and security testing that’s required for the ultra-fast development/deployment cycles of Internet-based services?
How will you edit, test, and debug in the same or similar environment as the production applications—without disturbing the production environment?
If your new Internet service is successful, how will you scale up deployment quickly and cost-efficiently?
If your new service is a bust, how will you avoid over-provisioning or over-spending on leased infrastructure?
How will you get access to the variety of technical skills necessary to meet your deployment schedule?
The list of questions goes on and on. But at least one thing is clear: a simpler, better way to develop and deploy Internet-based services is needed. Right now.
Project Caroline is an advanced research initiative focused on building a hosting platform that can be offered as a service to SaaS providers. This platform will make it far more efficient to develop multi-user Internet services rapidly, update them frequently, and reallocate resources flexibly and cost-efficiently to meet fast-changing runtime demands.
The initial intent is to make the platform available as a utility, where a pool of virtualized resources – systems, networks and storage - can be shared among many users each with one or more services. These services dynamically flex their usage of the platform’s distributed resources, matching actual usage to observed load. Users would be isolated from each other and mechanisms would be provided for the secure isolation of services.
Bringing Brutal Efficiency to SaaS
The utility model is nothing new—not to the computer industry, which has witnessed the rise, fall, and rebirth of the application service provider (ASP) model—and not to Sun, the company that introduced the grid-based, pay-as-you-go compute utility. What’s new is an increasingly urgent demand for efficiency and economy of scale in the development and deployment of SaaS offerings. And what’s driving that demand is a phenomenon that Sun refers to as “red shift.”
In a nutshell, companies with red-shift applications have inordinately high demand for computing resources—more than traditional datacenters can readily, reliably deliver at scale. And here’s the key problem these companies face: your business can’t grow at an exponential rate if you can’t cost-efficiently scale your infrastructure.
The solution to that quandary is the utility model. Why build your own power generator when you could simply plug into the public power grid? By the same token, why acquire all of the infrastructure needed to develop and deploy new Internet-based services—and pay for the staff, facilities, training, and expertise required to manage those resources?
The objective of Project Caroline is to empower developers to tap in and take advantage of vast infrastructure resources owned and managed by qualified providers, be it Sun or a third-party hosting partner. For companies, there would be no hardware acquisition costs, no software licenses or upgrades to manage, no new employees or consultants to hire, no facilities to lease, no capital costs of any kind—just a metered usage or subscription fee that would be clearly defined, completely transparent, financially compelling… and brutally efficient.
Project Caroline: Core Capabilities of the Platform
The hosting platform created by Project Caroline moves the virtualization layer to a higher level of abstraction, so developers no longer have to worry about all of the underlying plumbing. They just specify which resources they need under what conditions, and those resources can be allocated automatically. No human intervention is required.
“Developers get more control over the macro infrastructure, and they no longer need to control the micro infrastructure,” said Distinguished Engineer Bob Scheifler, the technical leader of the Project Caroline team. “That allows them to focus on improving the quality of the service itself rather than dealing with the myriad technical issues related to service delivery.”
The higher level abstraction also more efficiently delivers what developers of horizontally scalable applications need most: high isolation with low development and runtime overhead. “Developers of horizontally scalable applications need to partition their systems, and with current solutions, creating a new partition can be painful at development time and expensive at runtime,” said Scheifler. “The higher level of abstraction we’re providing via Project Caroline makes it easier to define the partitions and less expensive to deploy.”
In addition, said Scheifler, the existence of a platform allows new abstractions to be built on top that make developing horizontally scalable applications easier; for example an application component, such as a Web tier, that may involve a number of servers, file systems, networks, etc., can packaged and managed as a unit rather than discrete elements.
So what exactly will the hosting platform created by Project Caroline enable SaaS providers to do? Just a few examples:
Access a wide range of open source tools and resources through high-level abstractions (language-level Virtual Machines, networks, and network-accessible file systems and databases) to increase developer productivity while insulating code from infrastructure changes
Launch the service across performance-tuned, load-balanced infrastructure
Programmatically allocate, monitor, and control virtualized compute, storage, and networking resources
Automate service updates and platform usage dynamically—without human intervention
Draw on single-system view of a horizontally scaled pool of resources in order to meet the allocation requests of multiple applications
great design blog! from Pastie author.
Awesome header screenshots, and ‘sheet of paper’ design examples
1 year agoHI LEE
1 year agohttp://discuss.joyent.com/viewtopic.php?id=10567
Some time ago I posted a cry of help over at the “How Do I…?” forum asking about “Developing a web app and using subversion”.
I’ve finally had some time to take a better look at this SVN business and seem to have found most of the answers I was looking for. Being familiar to the concept but completely new to versioning in practical terms, I’ve been trying to catch up by doing quiet a lot of reading.
O’Reilly Media’s “Version Control with Subversion” is a must and so are TortoiseSVN’s help files (most of which are basically shortened versions of this book). There are also various posts spread throughout the forum that are of great help.
Being a one-man team web-developer I’m only using Subversion for versioning, backups and remote storing of project files.
I was quite comfortable with the checkout, make changes, commit changes process but had no idea how I could get the code from the SVN repository to a live version of the site. I’ve now found a simple svn export will take care of this but it still wasn’t making much sense to me. This is because, in my mind, I wanted to code locally, commit changes to SVN repo and then immediately preview and test the application remotely. I was, in fact, wrong.
I’ve changed my workflow and now everything makes a whole lot more sense. So, now, this is how I do things:
1. Create online SVN repository at TxD
2. Checkout on my dev machine
3. Code locally
4. Test locally
5. if (test==success) ? go to 6 : go to 3
6. Commit to SVN repo
7. SSH to TxD server and svn export to working directory (somewhere in /web/public/…)
There you go. I think I’ve nailed it. I feel enlightened and wanted to share it with everyone else. I hope it helps.
1 year agothat was visijax..
1 year ago