Friday, July 19, 2013

Kontextual: Full Stack Ruby on Rails Engineer

LOCATION: Ann Arbor, MI or Anywhere

URL: ABOUT KONTEXTUALWe're helping organizations build transparent, metric-driven cultures. Our realtime platform combines elements of Business Intelligence, social collaboration and project management to help people evolve their organization.

Kontextual is a funded startup with a runway and a clear path to revenue. We're looking for someone who is comfortable in a high growth startup environment (Fast-paced, High Growth). You would be our second Rails developer and working directly with the co-founder on our existing stack and developing future technologies.

Sunday, July 7, 2013

Ex-Tiffany & Co. Executive In MAJOR Trouble

Former Executive in NEW YORK with Tiffany and co. stole a small blue box sizes from midtown Manhattan jeweler’s home and resold for more than $1,3 million, federal authorities said Tuesday.
Ingrid Lederhaas-Okun was arrested Tuesday at his home in Darien, Conn. She was to appear later in the day in Federal Court in Manhattan to face charges of fraud and interstate transportation of stolen property.
As vice president of product development, Lederhaas-Okun had authority to “check out” jewelry from Tiffany to provide to potential manufacturers to determine production costs. The authorities argue that after he left Tiffany in February, the company has discovered that she had checked 164 items that have never been returned.
According to a criminal complaint, the missing jewelry including several diamonds 18 carat gold bracelets, diamond circle drop earrings in gold rings, Platinum or 18 carats of diamonds in Platinum, rings with precious stones in 18-carat gold and Platinum and diamond pendants.
When confronted about the missing jewels, Lederhaas-Okun said she had left some of behind Tiffany and some States have lost or corrupted, the complaint said. But an investigation found that Lederhaas-Okun resold the goods to a unidentified international dealer for more than $1,3 million, he said.
Bank records showed that from January 2011, the retailer wrote 75 controls to her or her husband for amounts of up to $ 47,400, the complaint said. Investigators also recovered the purchase forms signed by Lederhaas-Okun who said that the items were his personal property.
The authorities allege Lederhaas-Okun deliberately checked items valued under $ 10,000 apiece to avoid detection.The company takes a daily inventory of all items checked-out worth more than $ 25,000.

If convicted, Lederhaas-Okun faces up to 20 years in prison. The name of his lawyer was not immediately available.
Representatives of Tiffany, has refused to comment on Tuesday. - Full Post

WiKID Strong Authentication System 3.5.0-b1470 WiKID Strong Authentication Server

The WiKID Strong Authentication System is a highly scalable, secure two-factor authentication system. It is simple to implement and maintain, allows users to be validated automatically, requires no hardware tokens, has a simple API for application support (via Ruby, PHP, Java, COM, Python, etc.), supports multiple domains, and supports replication for fault tolerance and scalability. It also supports mutual /host and transaction authentication, wireless tokens only domains, locked tokens (to your PC), anti-keystroke logger keypad PIN entry, etc.
Release Notes: Updates to address LDAP and sudo issues, better logic for finding the JDK, improved reporting for launch errors, support for Pg v9, and bugfixes.
Release Tags: two-factor authentication, Server
Tags: Security, Cryptography, Networking, two-factor authentication
Licenses: GPL, Other - Full Post

deltasql 1.6.2

deltasql is a tool to synchronize databases with
source code, which helps to keep database
evolution under control. While developing
mid-sized or big applications, developers make
changes to the data model that go along with
changes to the source code. From time to time,
branches of source code are done to stabilize the
code that will go to production. A sort of data
model branch is also needed. deltasql provides a
simple way to collect all scripts that change the
data model and means to handle data model
branches. The deltasql server runs on Apache and
is backed by MySQL.Release Notes: This release adds logic to select only the branches valid for a given project.

This is used when submitting or editing scripts.

When synchronizing,
only valid tags/branches are shown in the synchronization form.

The three listboxes of the synchronization form adapt dynamically,
as is done with the Freepascal deltaclient.

The feature is achieved with AJAX technology.

These two features help reduce the number of human errors when using deltasql in a
complicated environment with many branches and tags.

The Python client is extended to support Oracle's mysql.connector.

Release Tags: new features
Tags: Database, Database Engines/Servers, Software Development, Version Control
Licenses: GPL - Full Post

Eero 2013-07-03

Eero is a binary-compatible variant of Objective-C 2.0, implemented with a patched version of the Clang/LLVM compiler. It features a streamlined syntax with improved readability and reduced code clutter, as well as new features such as Python-like indentation and a limited form of operator overloading. It is inspired by languages such as Smalltalk and Ruby.Release Notes: This release adds universal dot notation, simpler properties notation, and simpler blocks.
Release Tags: Beta
Tags: Software Development, Compilers, programming languages, programming language
Licenses: University of Illinois/NCSA Open Source License - Full Post

Oracle Java Platform, Standard Edition 7u25

The Oracle (formerly Sun) Java Platform, Standard Edition (Java SE or JSE) allows you to develop and deploy Java applications on desktops and servers as well embedded and real-time environments. The Java Development Kit (JDK) contains the essential compiler, tools, runtime libraries, and APIs for developers writing, deploying, and running applets and applications in the Java programming language. The Java Runtime Environment (JRE) contains the runtime libraries and tools for running applets and applications.Release Notes: Many serious security vulnerabilities, many of them affecting the browser plug-in, were fixed. Further fixes and enhancements were made.
Release Tags: Major security fixes, Java 7, Minor bugfixes
Tags: Software Development, Libraries, Java Libraries
Licenses: SUN Binary Code, SUN Community Source - Full Post

Eric 4.5.13

Eric is a full featured Python and Ruby editor and IDE, written in Python. It is based on the cross platform Qt GUI toolkit, integrating the highly flexible Scintilla editor control. It is designed to be usable as an everyday quick and dirty editor as well as being usable as a professional project management tool, integrating many advanced features that Python offers the professional coder. Eric includes a plug-in system, which allows easy extension of the IDE functionality with plug-ins downloadable from the net. Current stable versions are Eric4 based on Qt4 and Python 2 and Eric5 based on Python 3 and Qt4.Release Notes: This release adds bugfixes.
Release Tags: Minor bugfixes, Bugfixes, Stable, 4.x
Tags: Software Development, Debuggers, User Interfaces, Text Editors, Integrated Development Environments (IDE), Python, Ruby
Licenses: GPL, GPLv3 - Full Post

Saturday, July 6, 2013

WhatsApp Is Killing the SMS Messenger

Carriers have been sticking it to their customers for years with SMS fees that bear no relation to the actual cost of providing the service, and they’ve been getting away with it because text messaging is incredibly convenient. If there’s one thing that sparks innovation, though, it’s being ripped off — and free OTT messaging services like WhatsApp were born out of that frustration.
Short Message Service
SMS is a method of sending 160-character text messages via phones. It was developed as a way to send messages over the stripped-down telephone traffic signaling paths when there was no calling going on, rather than take up chunks of bandwidth space like voice does.
Its beauty is that it’s incredibly cheap because it uses hardly any resources, and the resources it does use aren’t required for anything else at the time the message is sent.
SMS is cheap, but you wouldn’t know it based on the per-message fees telcos have been charging for it — particularly when roaming.
How to Shoot Yourself in the Foot
The tide has changed, however, and today apps like WhatsApp are providing text messaging over 3G or WiFi.
Telcos may well tell you they don’t care about the potential SMS revenue loss, because the consumer simply buys an expensive data plan instead of a texting package
source:
- Full Post

Red Hat packages newer versions of Ruby, Python

Red Hat has put out a beta release of Software Collections 1.0, in a bid to let developers use newer versions of languages such as Ruby and with support.
For certain applications, a more recent version of a language than what’s included in the base Enterprise Linux (RHEL) system is needed, according to Red Hat. Software Collections 1.0 is the first in a series of releases designed to allow developers to take advantage of new capabilities in their web apps faster with the safety net of support from Red Hat, it said.
The beta includes access to the latest stable versions of Ruby 1.9.3 with Rails 3.2.8; Python 2.7 and 3.3; PHP 5.4; and Perl 5.16.3. Developers can also get their hands on a technology preview of node.js version 0.10. It is available now for use with RHEL 6 to customers with the right RHEL, Workstation or developer-related subscriptions. With the exception of Node.js, all components are supported. They are functionally complete and intended for production use.
The included versions of Ruby and the related web application development framework Rails, have substantial performance improvements for faster load times. Python 3.3 offers significant improvements in language consistency and Perl version 5.16.3 has enhanced security, according to Red Hat.
Additionally, Software Collections 1.0 also includes access to MariaDB version 5.5, MySQL version 5.5 and PostgreSQL version 9.2. Software Collections doesn’t replace the default system tools provided with Red Hat Enterprise Linux 6. Instead, a parallel set of tools are installed and can be optionally enabled by the user, Red Hat said.
A major version of Software Collections will be released approximately every 18 months, and each version of a selected component remains backward compatible, according to Red Hat. The life cycle for version 1.0 will be three years.
source:
- Full Post

Pillars of Python: Zope 2 Web framework

Zope 2 is a member of a growing family of Python-based Web development frameworks that began with the original Zope — Z Object Publishing Environment — in 1995, an object-based application server originally called Principia. The Zope family tree has grown to include Zope 2, Zope 3, variants such as Grok and BFG, and several well-known Zope-based Web applications such as Plone, Launchpad, and Silva.
One of the longest-established Web server frameworks in any language, the original Zope is arguably the application that put Python on the map. Zope 2′s proud ancestry sits at the heart of numerous successful Web applications, and some of its technology can be found in other Python-based Web frameworks. For example, the BFG Web framework has become the Pyramid Web framework, now part of the Pylons project. (See the Pylons site for more details.)
Zope 2 is compatible with the 2.x version of Python; which precise version depends on the version of Zope 2. The current released version of Zope 2 — version 2.13, the one I tested — is compatible with Python 2.6 or 2.7. Zope 2 will run in just about any Web server that supports the proper version, though the Zope 2 framework’s integrated Web server, ZServer, is recommended by the Zope 2 engineers.
source:
- Full Post

Filming At CMA Headquarters

This week I was in Toronto to film some video footage for the upcoming Tri-District conference of the Christian & Missionary Alliance in Canada.  If you haven’t yet heard (this is big news), three districts representing all of Eastern Canada from Ontario to the Maritimes are getting together in Kingston, Ontario.  It’s a big deal and the first time it’s ever happened.
This is the third District Conference I’ve helped organize and I think for me this one will be the most interesting.  One of the challenges with organizing a gather like this is the reality of having to marry business sessions (where we vote on things related to the governance of our district) and the speaking sessions.  It’s not a typical conference like Catalyst or Drive which for me, is kind of hard to process.  I like well-produced events and one of the things I’ve continued to push within my own district (ECD) is that we take advantage of the times we are together to improve the quality of the experience as much as we can.
There’s a limit of course and a balance but I’m excited that this year, we get to have a little more fun and do some things we haven’t been able to do before.  Part of the reason why I push I think is that I think smaller churches and older churches dismiss production as something could never do or would never do in their settings.  My hope is that if they see it done responsibly in a ‘family’ setting, they’ll be more interested in learning about it, trying it out in their context and as a result, increasing their team’s capacity for different kinds of Sunday morning experiences.
All that of course, will hopefully lead to better engagement with people who are showing up in their churches on Sundays and encourage other people to get involved or new people to be invited.  Well, that’s the dream anyway.
So, all that to say I had a great time filming and I’m looking forward to seeing things go public at Tri-District Conference.  AND, if you haven’t yet registered, make sure you do, this is going to be fun. - Full Post

Vancouver, Here We Come

Well, after a 9 year absence, I am making my return to the wonderful world of British Columbia.  Taking Ewen and Lindsey where they will get to meet the ‘other’ side of the family, namely aunts, uncles, cousins and Grandma.  Mom’s family moved out west in the 70s and surprisingly have never felt the need to return east to Ottawa.  I wonder why….
We’re looking forward to doing some fun things.  Lindsey wants us to do things that neither of us have done in the Lower Mainland so if anyone knows of some off the beaten path things that Lindsey and I might enjoy, please let us know! - Full Post

Tri-District Conference Is Done

Wow.  After many, many months of prep and thinking and work, Tri-District is now a memory.  Amazing how so much work can go into something and just like that it’s over.  BUT, what an awesome experience.  Being on-site at Queen’s University was incredible and I am officially jealous of students who go there.  What a beautiful campus.
I waited a week before posting on TDC because I wanted to give myself the opportunity to relax a bit and process the whole experience a bit more.  Whenever family gets together it’s always interesting.  One thing I really appreciate about the Alliance is the way that independent churches can share a common heart and mind.  We don’t agree about everything but what family does?  But together we’re able to accomplish so much more.
One of the things I noticed about this conference was the way all three districts (ECD, CCD and SLD) were able to connect.  For me it was sweet because my first taste of the Alliance was in CCD, I’m now a part of ECD and I grew up in Quebec; what SLD calls home.  I felt incredibly connected to the story of what was happening in all three districts and genuinely excited about how God is at work.
TDC was my first real interaction with our new denominational president, David Hearn.  He’s a hugger.  Wow is he a hugger.  Unapologetically a hugger.  Like old-school hugger.  Lots of hugging.  But boy when he spoke, and talked about his vision for the Alliance in Canada and what we as church leaders were called to do, man it sent shivers up my spine.
I am really excited about what is happening and will happen in the Alliance over these next few years.  I met a lot of nice people, got to see some old friends and help create some sweet moments for the conference.  I’ll post them below so you can check them out.
One thing I wasn’t expecting was how I would react emotionally to seeing my former colleagues from Cedarview there.  It’s weird because it’s been a year now since I officially stopped going to work there every day.  I’ve seen them all from time-to-time at gatherings and for some reason there’s usually a bit of awkwardness.  How can there not be I suppose.  It’s weird for me though because I still feel a sort of obligation to them when I see them.  I think part of that is the fact that I didn’t leave Cedarview and go into a new ministry, I left and did something totally different.  Perhaps part of it is me wrestling with calling.  I think most of it is best compared to a breakup with a girlfriend and then not seeing them for a long time and then all of a sudden there they are and all those old feelings and emotions get stirred up again.  You don’t necessarily want to get back together, but you miss the good times you did have.
All in all Tri-District Conference was a great time of connecting, sharing, dreaming and learning.
- Full Post

Hack-a-Thon 12 Pull Request Recap

Now that our latest Hack-a-Thon has wrapped up here, we’ve got a few pull requests and issues filled out with various projects. Here’s a recap:
zurb / foundation –
zurb / foundation –
andymccurdy / redis-py –
rubymotion / Joybox –
rubymotion / Joybox –
rubymotion / Joybox –
CurveBeryl / Joybox-Box2D –
CurveBeryl / Joybox-Examples –








- Full Post

Game Face

“Game Face” will be our weekly round-up of our internal and external open source work here at Agora Games. Internal open source refers to our public projects that you can find over at our account. External open source work refers to projects that we contribute to in off-hours and may or may not have anything to do with video games because we’re swell folks like that. Pretty simple right? Here goes…
kairos
provides time series storage using Redis or Mongo backends. As of the 0.3.0 release, we have implemented support for Gregorian data intervals (daily, weekly, monthly, yearly) and there is a new API for Timeseries.series(). Check the README for more details.
Contributor(s): Aaron Westendorf (, )
leaderboard
allows you to build leaderboards using Redis. The leaderboard (Ruby), and libraries all saw updates this week. In leaderboard 3.1.0, we added support for a members_only option when making various leaderboard requests to only return the member data and not rank or score data. This same functionality was ported to leaderboard-coffeescript 1.1.0 and leaderboard-python 2.3.0.
Contributor(s): David Czarnecki (, ) and Simon Zimmerman ().
torus
is a service implementing the Carbon protocol to store time series data using and an HTTP server to query and analyze the data. With the 0.3.0 release, we upgrade to kairos 0.3.0 to add support for Gregorian dates and date ranges to “/series”, added support for UNIX timestamps or parsedatetime-compatible strings for ‘start’ and ‘end’ parameters to “/series” and added support for ‘steps’ parameter to “/series”.
Contributor(s): Aaron Westendorf (, )












- Full Post

Game Face

“Game Face” will be our weekly round-up of our internal and external open source work here at Agora Games. Internal open source refers to our public projects that you can find over at our account. External open source work refers to projects that we contribute to in off-hours and may or may not have anything to do with video games because we’re swell folks like that. Pretty simple right? Here goes…
leaderboard
allows you to build leaderboards using Redis. The leaderboard (Ruby), and libraries all saw updates this week. In leaderboard 3.2.0, we added a method to be able to remove members from the leaderboard outside a given rank . This same functionality was ported to leaderboard-coffeescript 1.2.0 and leaderboard-python 2.4.0.
Contributor(s): David Czarnecki (, ) and Simon Zimmerman ().












- Full Post

Game Face

“Game Face” will be our weekly round-up of our internal and external open source work here at Agora Games. Internal open source refers to our public projects that you can find over at our account. External open source work refers to projects that we contribute to in off-hours and may or may not have anything to do with video games because we’re swell folks like that. Pretty simple right? Here goes…
kairos
provides time series storage using Redis or Mongo backends. This week we started a branch with a work-in-progress implementation for a collapse function on retrieval of a given series.
Contributor(s): Aaron Westendorf (, )












- Full Post

Game Face

“Game Face” will be our weekly round-up of our internal and external open source work here at Agora Games. Internal open source refers to our public projects that you can find over at our account. External open source work refers to projects that we contribute to in off-hours and may or may not have anything to do with video games because we’re swell folks like that. Pretty simple right? Here goes…
chai
provides a very easy to use api for mocking/stubbing your python objects, patterned after the library for Ruby. This past week saw 0.3.5 and subsequently 0.3.6 releases. We fixed only closing a non-matching expectation if its counts have been met as well as fixing the logic of raising UnexpectedCall when calling a stub and an unclosed, non-matching, in-order expectation does not have its counts met (got all that?).
Contributor(s): Aaron Westendorf (, )
factory_worker
is a node.js library that creates the Factory pattern for object stores. We integrated a . We’ll get a formal release out shortly.
Contributor(s): Brandon Mason ()
haigha
is our simple to use client library for interacting with AMQP brokers. In the 0.5.10 release, we fixed an unexpected indent error. Thanks to Chris Erway for .
Contributor(s): David Czarnecki (, )












- Full Post

Game Face

“Game Face” will be our weekly round-up of our internal and external open source work here at Agora Games. Internal open source refers to our public projects that you can find over at our account. External open source work refers to projects that we contribute to in off-hours and may or may not have anything to do with video games because we’re swell folks like that. Pretty simple right? Here goes…
kairos
provides time series storage using Redis or Mongo backends. We released 0.4.0 this week to add some major functionality. collapse is now a keyword argument to series() for collapsing an entire timeseries into a single row. Transforms are performed after the collapse, allowing easy calculation of aggregates across an entire timeseries. We also added support in `get()` and `series()` for joining multiple timeseries into a single result by calling with a list of timeseries names rather than a single string. And finally we fixed an inconsistency in gauge type when collapsing or condensing gauge data. Value for an interval is the last recorded non-null gauge value now.
Contributor(s): Aaron Westendorf (, )
sentry
is a realtime event logging and aggregation platform. It’s pretty awesome and it’s open source. As Rails 4 was released this week, we submitted . It was accepted and integrated, so at some point in the future, if you use Sentry, you should see that functionality.
Contributor(s): David Czarnecki (, )












- Full Post

HUGE Design Event

OLC attended Huge Brooklyn’s Huge Design event: Evolving Design Communities featuring Dan Cederholm and Rich Thronett, co-founders of Dribbble; Ignacio Oreamuno, Executive Director of the Art Directors Club; and Matias Corea, co-founder and Chief of Design at Behance. The four panelists discussed the evolution of design and its community, as well as maintaining and nurturing it for growth. The moderator asked the panelists why they wanted to develop a design community—what made them do it. “For me, it was a selfish reason,” Dan Cederholm started. “A lot of the communication between designers four to five years ago was slow and that got a little frustrating for me. I wanted to know what other designers were doing right now.So, for Dribbble, we invited our friends because I wanted to see what these guys were working on. It’s grown into a large company, which I’m surprised about,” he said.“For us, it was about bringing together people for various reasons—business, technology, design... - Full Post

Huge UX: The Internet of Things

  On Wednesday, May 22, 2013, OLC attended Huge UX’s event, The Internet of Things featuring Peter Semmelhack from Bug Labs, Matt Cottam from Tellart and Chad Jones from Xively. The event dealt with the introduction of sensory technologies in our lives and the future.The panelists first introduced themselves to the audience before the moderator launched into the series of questions prepared for the panelists.   “Bug Labs was founded in 2006 We’re open-source hardware and I just wrote a book—a compendium, if you will, about what we learned as we progressed our business,” Peter Semmelhack said.   “I’m an industrial designer by trade. In 1999, I realized that what we designed had digital cuts, so my friends and I started thinking about craft. We started a company that is comprised of industrial designers, electrical engineers and graphic designers,” Matt Cottam said.   “Xively is an expansion of Cosm. We’re about processing the creation of the Internet of things,” Chad Jones said. The moderator asked how the panelists saw the internet evolving. “I don’t really know—a variety of things are useful—sensory computing, cloud—honestly, it’s going to be a very smooth ride in design. We treat it all the same way. Our goal is to have a hands-on experience with electrical hardware like wood,” Cottam said. “We worked with companies that always asked ‘What in it for me?’ So we know what companies want. What started to happen is if you’re a maker of things, it became harder and harder for you. The internet is a great way to harness the services and people within this space. DIY will happen, but right now there isn’t a business model,” Semmelhack said. “I looked for an alternative internet, but it’s the same thing. A couple of things I was excited about is transforming products into experience. It makes products more personal and relevant to our experiences. The internet is a tool to drive to the product, but it’s the experience that’s the fundamental factor. It’s like we’re all in it together. That brings brand loyalty. We’re creating a whole new technology to bring a whole new innovation,” Jones said.  “What do you think about finding a viable business model?” the moderator asked. “I think the problem is controlling the internet to the internet of things. For the most part, the world was dominated by Microsoft, but on the internet of things, it’s enormously fragmented. You can scale almost immediately, but the problem is that it’s very fragmented. You can’t get to the market as easily as you should. Products thave to come out with precedents that people can play with,” Semmelhack said. “One thing you see on the web is futuristic videos from people about the promise of the future of the internet. I think there is a surplus of technologies that designers can use. I’m sick of hearing people say what the next step is. I don’t have the answers, but what I’m trying to say is that it’s dangerous. It’s time for businesses to step up,” Cottam said. “One of the best and worst things on the internet of things is dreaming really big. There are real problems we can solve today,” Jones said. The problem, at least to Jones, was the absence of frictionless integration to solve the current disabling step-by-step process. “People talk about making lives easier, but the expectations increase too. What implications do these have on our lives?” the moderator asked. “It’s unclear if return on investment is consistent—there are people in the same business that are not making some money as software developers. We speak different languages and have different cultures—we’ve at least found that out in our experience,” Cottam said. “Who will own the internet of things?” the moderator asked. “I don’t think anyone will own it. In the end, it’s trying to impose an economic on the internet of things. The internet is free,” Semmelhack said. “First of all, data is yours. Data isn’t a currency. It doesn’t sit well with me. The keyword here is, ‘own’. A lot of people want to own data,” Jones said.  “How much do you think people owning, knowing and controlling data will impact where things?” the moderator asked. “There is a way to figure out location and selling that location data to a third party, there can be recommendations on your phone that are location specific. The question is, where does it end?” Cottam said. “The cliff we’re going off now, the data we’re giving away now, we’re going to look back and hit ourselves on the head. Think about predicted analytics. It’s going to be able to predict your life. What can we do more? On one side, it’s an amazing road we’re moving towards, but on the other, it’s a privacy concern,” Jones concluded. - Full Post

Q. In a typical NYC lease, what will the total monthly cost be?

A. The simple formula will be to take the base rent amount and add 20% to calculate total or “all in” costs.Here’s why: a typical loft lease in Midtown South will be exclusive of utilities such as electricity ($3.00/sf), water/sprinkler charges ($0.20), operating ($0.85) and real estate tax increases ($0.50) and cleaning ($2.00) and trash removal ($0.30).  The average aggregate cost of those items over a three year period is $6.85, or approximately one-fifth of a $35.00/sf rental rate. [Note: Tenant's telephone and internet costs are not considered part of these "all-in" leasing costs.] - Full Post

P & R Dental Strategies: Senior Database Developer


Location: Nashua, NH
URL:


P&R Dental Strategies, Inc. is committed to providing our direct and indirect customers (payers, providers, and patients) informatics and claims review products with the highest standard of professional competence, business ethics, and courtesy. At P&R, we understand the ever changing, growing, and evolving nature of the dental insurance, and healthcare industries and we are committed to growing and evolving with the needs of the industry.Our mission is to provide maximum cost containment and hold the line on fraud and abuse that is undermining healthcare efforts in our country, using state-of-the-art technology, impeccable service and support, and transparent ethical business practices to guarantee that our customers receive the most efficient and compliant products and services available in the dental benefits industry.Finally, P&R is committed to utilizing all products, services, resources, and capabilities to achieve the universal goal of improving the national oral health and hygiene.We are looking for a strong candidate to fill the role for Senior Database Developer. A strong candidate will have a history of being a self-starter and an ability to delight our customers and business users alike.What we are looking for:• At least 5+ years of experience in one of the following: 1) Querying large volume of data (>10M records), or 2) ETL on an enterprise scale• Demonstrate experience on topics like performance tuning and data analysis approaches• Demonstrate experience in working with Microsoft SSAS and SSIS• Collaborate with database administrators and system administrators regarding data warehouse development, migration of data through ETL processes, update data marts and cubes, procedure development, troubleshooting• Extensive knowledge to work with data extractions and delivery• Good knowledge base with statistical method integrationBonus knowledge:• Understanding of dental claim business• Knowledge in web services and middle tier integration experience• Knowledge of SQL server administration skills


To apply: If you think you have what it takes to work in a fast moving business, get in touch with us. We want to talk to you!


Please send your resume and SQL code sample to - Full Post

ThreatSim: Rails Developer


Location: United States
URL:


**No recruiters****No placement agencies****We're looking for individual candidates only**Hi. We're a profitable boot-strapped startup looking to expand our development team. We're looking for folks with the following skills:Ruby on Rails 3.0+Secure CodingRelational and non-relational databasesJavascript frameworks (e.g. jQuery, pure JS)Client-side and server side MVCComfortable with git for version controlContinuous integration MS Office (hah right, could you imagine?)You should be comfortable working remotely and producing great results every day. We’re huge fans of HipChat, Skype, join.me, animated gifs (pronounced G-IF, obviously), and other technologies that maximize your productivity while keeping you in your pajamas (*please wear pants during video calls). If you are in the Washington DC area, great. If not don’t worry, we’re open and flexible.Although this position is remote, you're going to need to fly here to DC for Go Karts, beer, and other team building. 


To apply: If you are interested in helping evolve information security, tell us about yourself at - Full Post

Yelp: Software Engineer


Location: San Francisco, CA
URL:


Yelp's Search & Data Mining,
Ads, and Spam Prevention teams run services that respond to hundreds of
requests every second. Each and every query must be lightning fast,
24/7/365. This means our infrastructure needs to be both speedy and reliable.
It also needs to make efficient use of resources and be easy to use for
relevance/machine learning developers to modify and improve.

Your core responsibility will be helping to define and build that
long-term vision of a fast, reliable, efficient, and ductile search infrastructure.
So get your infra mojo on and join us!

Things we likePrior experience with production large-scale
distributed systems.Demonstrated ability to work with a large amount of
independence and responsibility.Ability to work closely with information retrieval/machine
learning experts on big-data problems. Some interest and familiarity with
IR/ML is a plus, but it will not be your primary focus.Prior experience with Lucene, ElasticSearch,
Hadoop/mrjob, or large data stores (MySQL or NoSQL - we just want the
right solution for the situation).A hunger for tracking down root causes -- no matter how
deep it takes you -- and fixing them in systematic ways.We use Java & Python. You don’t need to be an
expert, but experience is a plus and we will expect you to learn them on
the job.Minimum BA/BS degree in Computer Science, Math, or
related degreeA sense of humor and excellent aim with Nerf dartsApply Here: PI63327287  


To apply: Apply Here:
- Full Post

What are the possible career paths for an interface developer?

This depends a great deal on your personality and what you want to do.
As a UX developer, you get deeply involved in how users will use the application — which lends itself well to a Product Management role. Product Managers set direction for the product and sequence which features will be done when. They need to have a deep feeling for how the user gets value from the application.
Of course, Interface Developer is one of the key roles for a startup as well, if you have interests in that area. It’s very difficult to get investment in a startup without a working ‘beta’ or prototype — and building out prototypes of sites is one of the things a User Interface developer should be good at. You could find yourself in a situation where you could own a good deal of equity on a small startup if that were what you wanted to do.
Longer term, the things that will carry your career forward are your people skills and business skills — even if you choose not to go into management and stay technical. You’ll need to develop relationships and help people solve business problems.
But user interface developer is a great place to start a career. - Full Post

JQuery-UI verus SimpleForm for Rails Forms processing

Recently, I had a conversation with a colleague about using to layout form processing for a Ruby on Rails application. I cautioned them against it.
In general, I’ve found more success using the simple_form library for generating form processing. I’m a huge fan of itself and use it a lot, but I find JQuery UI to be less valuable. It seems over-engineered for what people use it for.
What I’ve found with JQuery UI sometimes is that people use it because it promises a lot of capability with not very much coding effort. But the challenge comes when there is debugging to do or when you want functionality that is not ‘out of the box’.
I had a customer very recently that brought me in to address some issues getting a complicated form to work on a project that used a lot of JQuery UI components. They had used these components and then tried to extend them because the functionality they wanted wasn’t exactly ‘out of the box’. It ended up being very complicated to debug and it took me close to a day to trace one of the defects back into the JQuery UI component itself — it was placing random extra elements in the DOM on the browser and causing some things to not work.
Debugging complicated JavaScript issues in the browser is more complicated than tracing rails exceptions on the server side.
, on the other hand, is a much simpler framework to use. Basically the views are very simple and styling and layout is determined through css. If you need any dynamic features on the form you can implement them using straight JQuery — which gives you a wealth of capability. Trying to add JQuery functions on top of JQuery UI components is much more complicated to debug.
Here’s a on ‘simple_form’ – that’s a good place to start. It’s getting to become the most widely accepted way to do form processing for rails.
All this being said, using JQuery UI for to implement components of a view that aren’t related to forms processing may be the best way to go. - Full Post

Open Source Developers Are Rock Stars!

When I was a kid, all I wanted to be was a rock star. I wanted to play guitar, get up on stage, and have everyone scream while I cranked out some hard rockin’ tune. I wanted to see lighters held up in the crowd as I finished my last set – dripping with sweat, completely tired, and no energy left. Leave it all on the stage – that’s what I wanted. My friends all felt the same – we talked about it all the time.
Well, that never happened. Instead I went to college and spent more time in the computer center than I did at parties. The only thing I cranked out was code. Later, I got a job writing software and I’ve been working with computers ever since.
While I still listen to a lot of music and have Gigs of tunes on my iPod, my dreams of being a rock star have faded. I still think about them once in a while, but more than that, I now think about open source. So do a bunch of my friends – we talk about it all the time.
I met a guy at the Softpro computer book store off Route 128 in Burlington, MA, a while ago. (I hang out there now instead of the record shop.) He writes financial applications for a mutual fund company in Boston. All he wanted to talk about was JBoss. He’d spent some time working on the JMS implementation but had gotten too busy to continue. He wanted to get back involved as soon as he could. All those people who were building the latest JBoss – he wanted to be one of them.
In his eyes I saw the same stars I used to have. I used to think that way about Robert Plant and Jimmy Page. I wanted to be one of them. When I was younger, I ran out to buy the latest Led Zeppelin album – now I run out to get the latest build of Gentoo or Hula.
Open source developers are the rock stars of the software world. The parallels actually go pretty far. You can say they don’t get the money and fame, but I think you’re wrong. The average open source developer probably makes more at his or her job than most local musicians make. I’ve met open source developers who have founded software companies and are doing pretty well financially. As far as fame goes, they may not do quite as well as real rock stars but some do pretty well; Linus Torvalds is fairly famous, but I guess not like Kurt Cobain.
They’re also usually the most talented developers. Rock stars get where they are in the music world by being great musicians; open source rock stars get where they are by writing great code.
Naming their projects is a lot like naming their bands. When you hear people talking about Subversion, Ethereal, or Excalibur (all open source projects), it’s hard to tell if they mean software projects or rock bands.
A good friend of mine called me once and went on for 30 minutes about how he was submitting a patch to the Jakarta Struts project (a JSP framework from the Apache Software Foundation). His patch would allow you to define validations for one input field based on the value of some other field (e.g., if you fill in a last name, make sure you fill out a first name…). He was totally excited about it and went into all the details of how he built it.
After he was done telling me about it, he was almost out of breath. I reached in my pocket, pulled out a lighter, and stood there holding it lit in the air.
Leave it all on the stage. - Full Post

What is a fair salary for a technical co-founder in a startup?

Here’s the question: “If you’re a software engineer or developer and your asked to do a project for a lean startup to incubate and you’re asked to reduce your price in exchange for equity, what ratio of discount to equity is reasonable. An example might be a 50% discount for 30% in the company.”
If you’re going to be a co-founder and receive equity on par with the other co-founders, it seems appropriate that you should receive income on par with them as well.
In other words, it depends on how much cash is available. ‘Co-founders’ that get significant ownership should receive similar ‘salaries’ initially.
So rather than think of things in terms of how much of a discount against salary you should ask for, I think it would be more appropriate to think in terms of what you bring to the table — and what the others are bringing. Then, see what cash is available for you all to share.
If you want more cash than others, then you should be prepared to get less equity. Some technical co-founders take no salary at all in return for more equity.
Co-founders that bring money to the table in addition to time would be right to ask for a greater equity stake. - Full Post

Question: Should I plan for the future? Or focus on what I need to do today? Answer: Yes.

Being able to focus on what you need to have in place for the future is a good thing. It’s good in that you can’t be successful without it.
The challenge is that thinking 3 steps ahead too often will get you into trouble as you can lose site of the things you need to execute on today.
I’ve always said the hardest thing in business (especially in a startup) is to ‘execute effectively today while also building tomorrow’. Most people have it in their nature to do one or the other.
To be really successful, you need to do both. At the same time. - Full Post

Overriding the OmniAuth callback url for twitter or facebook oath processing.

A lot of people are now using for Oath processing to connect applications to twitter, facebook, linkedin or any number of other SAAS applications. It’s easy and it works well.
I’m using it for some work I’m doing with a client of mine ( – a great little eco-startup) and ran into an issue with how it created callback url’s — the url where the user is redirected after the Oauth authentication is completed.
The issue was with the way our web listeners are proxied back to the rails application servers. Behind the scenes, the rails application servers have a host name of something that’s not really a valid domain name (say, something like ‘railsserver’).
Omniauth was grabbing this value from the request object and forwarding our users back to an Oauth callback url like ‘http://railsservers/auth/twitter/…’. Obviously, this isn’t what we wanted — the Oauth callbacks were failing.
After digging through the Omniauth code, I ran across the offending piece of code:

 def full_host
  case OmniAuth.config.full_host
   when String
    OmniAuth.config.full_host
   when Proc
    OmniAuth.config.full_host.call(env)
   else
    uri = URI.parse(request.url.gsub(/\?.*$/,''))
    uri.path = ''
    uri.query = nil
    uri.to_s
   end
  end
Basically, if this config paramerter :full_host isn’t set to either a string or a proc, omniauth pulls the uri from the request object — this is where it was messing up.
Since the Omniauth config object is a singleton, I just set that parameter in config/initializers/omniauth.rb like so:
(in config/initializers/omniauth.rb)
# Set the default hostname for omniauth to send callbacks to.
OmniAuth.config.full_host = "http://practicallygreen.com"
With this, the full_host param is a string and now the redirects are always created to come back to where we want. - Full Post

ASP.NET Web Application Development – The Open Source Way

Dot Net experts have always relished the open source advantage that Microsoft has provided by making the source code of ASP.NET MVC available under an open source license. There’s some more good news in store. A product developer for Microsoft has recently announced that the source codes for ASP.NET Web API and ASP.NET Web Pages (Razor) will be released under an open source Apache 2.0 license. Many a .NET development company will welcome this move which also includes making the code repositories of ASP.NET MVC, ASP.NET Web API, and ASP.NET Web Pages (Razor) on CodePlex.This should provide a major boost to ASP.NET web application development as an open source model will allow the ASP.NET developer community to collaborate and discuss code checkins, bug-fixes, and new feature development. The ASP.NET MVC will also include jQuery, jQuery UI, jQuery Mobile, Validation, Modernizr.js, NuGet, Knockout.js, and JSON.NET. What comes as a big help for companies looking to is that these three projects will be fully supported by Microsoft and will still be available as standalone products or as a part of Visual Studio.Advantages:You can undertake the important processes of browsing, syncing, and building the source tree for ASP.NET MVC, Web API, and Razor on the CodePlex websiteYou can access the tree on the site that consists of both, runtime sources as well as testsBuilding and testing is easily available to everyoneYou can submit your own code fixes or code contributions which will be rigorously reviewed by the ASP.NET MVC Team and if found appropriate, will be integrated into the sourceThis should cause an exponential increase in the demand from enterprises looking to hire ASP.NET developers for conceiving cutting-edge web apps that leverage the benefits of this new technological advancement. If you are on the lookout for a credible .NET development company that can translate your .NET development aspirations into reality, look no further than . With a dedicated and committed team of experts to choose from, you can hire ASP.NET developers from us who have honed their skills in every aspect of .NET development and are primed to lend their expertise to the development of state-of-the-art web applications for you. - Full Post

Friday, July 5, 2013

MetaCasts.tv

Weekly screencasts focusing on Ruby, Rails, iOS, JavaScript, CoffeeScript, and other development technologies.
- Full Post

The Enterprise System Spectator: SAP's Emerging Cloud Platform ...

Netweaver Cloud does not use a proprietary language, like Salesforce.com's APEX. Use of public development languages, such as Java and Ruby facilitates adoption by developers and also works against lock-in to a single ...
- Full Post

Groupon Acquires Ruby on Rails Software Development Firm Obtiva ...

Earlier today Julie Mossler, Groupon's director of communications, announced via the company's blog that Groupon had acquired Chicago-based Obtiva, a Ruby on Rails software development firm. We've been working side-by-side with our ...
- Full Post

venice

Ruby Gem for In-App Purchase Receipt Verification. Contribute to venice development by creating an account on GitHub.
- Full Post

PaaS and Java EE : An Overview of Different Cloud Solutions

VMware Cloud Foundry. Cloud Foundry supports the following application development framework: Spring, Ruby on Rails, Ruby and Sinatra, Node.js. This application is designed specifically for an application server, but it can be very ...
- Full Post

The future of Web development isn’t MVC, it’s MVM

When Ruby on Rails hit the Web development world in 2005, it changed everything practically overnight by bringing a pattern rooted in Smalltalk to the Web. I’ve been playing with the recently...
- Full Post

KidsRuby 1.0 Released

Ruby and Python are both excellent choices for a first programming language. Both languages are mature and well-designed, with strong support communities. And best of all, both languages are used by “real” programmers, so any work your kids do with the languages has potential long-term value in school and beyond. In terms of a good starting point for Ruby, it’s worth noting that the Ruby community has recently released KidsRuby, a development environment specifically geared toward kids

- Full Post

Building an Ember app with RailsAPI

DockYard is consultancy for hire based in Boston, MA. We specialize in Ruby on Rails development, web development, mobile development, software development, and mobile web development for startups and enterprise.
- Full Post

Hackers exploit Ruby on Rails vulnerability to compromise servers, create botnet

Hackers are actively exploiting a critical vulnerability in the Ruby on Rails Web application development framework in order to compromise Web servers and create a botnet.
- Full Post

Introducing Ember-EasyForm

DockYard is a Ruby on Rails, PostgreSQL, and, Ember.js, web / mobile application development software consultancy based in Boston, MA.
- Full Post

RubySource

RubySource | Fresh thinking for Ruby on Rails Development. Learn - Ruby Tutorials, Rails Migration, Ruby Gems, Test Driven Development - TDD and much more
- Full Post

Ruby on Rails Tutorial: Learn Rails by Example

Ruby on Rails Tutorial: Learn Rails by Example by Michael Hartl teaches web development with Ruby on Rails. Rails Tutorial is fully up-to-date with Rails 3.0.
- Full Post

RubySource

RubySource | Fresh thinking for Ruby on Rails Development. Learn - Ruby Tutorials, Rails Migration, Ruby Gems, Test Driven Development - TDD and much more
- Full Post

RubySource

RubySource | Fresh thinking for Ruby on Rails Development. Learn - Ruby Tutorials, Rails Migration, Ruby Gems, Test Driven Development - TDD and much more
- Full Post

@okokillgo Teach Like You Don't Know: HELM (Helping Everybody Learn More)

I’m learning again; two years ago I was learning carpentry and two years before that I was learning mechanics. Now I’m learning to code. I’m in a bootcamp program for ruby development, where I’m constantly aware of the fact that all the knowledge I need is surrounding me. The only problem is that it’s stuck in other people’s heads...."...

- Full Post

Organic Development

IntroductionI was working as a graphic designer a few years ago and a common problem that I would run into was picking color schemes for new projects. One of my colleagues said, “Just pick a nice photo and grab colors from there”. This technique works well because photos offer you a natural combination of colors. So I was thinking, “Why not transfer this same concept to my work as a coder?”. And this is where comes in to play. When I was first introduced to Organic I was amazed how simple it was and at the same time, how flexible its approach is. Finally, I had something which encourages modular programming, it’s just as useful as the MVC pattern, and it’s a great tool for architecting.The ConceptAs you may have guessed, the Organic concept is biology based. Your main application acts as a Cell, which has a Membrane and a Nucleus. But the real job of a Cell is done by the Organelles, which communicate between each other with Chemicals. Of course, the elements and the processes in Organic are not 100% identical to real life Cells, but they are pretty close. Now, I know it sounds crazy, but once you start working with it you’ll see how simple and natural this approach can be when applying it to your apps. Download OrganicOrganic is distributed as a Node module. So you should have NodeJS already installed. If you don’t, please go to and grab the latest version for your OS. Your package.json file should look like this:{
"name": "OrganicDevelopment",
"version": "0.0.0",
"description": "Organic development",
"dependencies": {
"organic": "0.0.11"
},
"author": "Your Name Here"
}
Run npm install in the same directory and the manager will download the necessary files. The core of Organic is actually pretty small. It contains only the definition of the main elements – Cell, Nucleus, Membrane, Plasma, Organelle, Chemical, and DNA. Of course it comes with a few tests, but it’s a small package overall. This helps in making it easy to learn and start developing with almost immediately.The ExampleFor this article I decided to create a simple web site using only the core of Organic. The source code can be downloaded at the top of this article, if you’d like to follow along. I think that this sample application is the best way to present this new pattern. The site contains two pages – Home and About. Here’s a screenshot of the site: The app contains two buttons linking to the two different pages. The About page has just a little bit more text than the Home page does. Simple enough, but let’s see what’s behind the curtains. Here’s a diagram displaying the basic request flow of our application: The user sends a request to our NodeJs application. The Server accepts the request and sends it to the Router. After that, the Render knows which page should be used and returns an answer to the Server. At the end, the response is then sent to the user.There is one additional element, Data Providers, which prepares the needed CSS or JavaScript for the Render (keep in mind that in our example app I didn’t use JavaScript, there is only a CSS module).Here’s what our app would look like as a Cell, in Organic: In the Cell, we have a membrane which keeps the internal elements away from the outside world. Inside of this membrane is where we’ll put our first organel, our Server, because this is where data can either enter or leave our application. The other organelles (Router, Render, and CSS) are placed in the plasma. All of these modules are communicating with each other via chemicals (request, page and css, marked in red). The Server emits a request chemical. The Router emits a page and the CSS organel sends the css. I should also mention that the plasma acts as an event bus for the chemicals. Organelles listen for a particular chemical and if found, they react on it.Here’s another request flow diagram, but this time with the chemicals that are emitted (marked in red): Now if this concept is still unclear to you, don’t worry, as we proceed through the next few sections and get into the actual code, it should begin to make more sense!DNA Everything starts with the DNA (Deoxyribonucleic acid), which you can think of as a Cells configuration. This DNA is where you will define your organelles and their settings.Let’s create a new index.js file and put in the following code:var DNA = require("organic").DNA;
var Cell = require("organic").Cell;

var dna = new DNA({
membrane: {
Server: {
source: "membrane.Server"
}
},
plasma: {
Router: {
source: "plasma.Router"
},
CSS: {
source: "plasma.CSS",
file: "./css/styles.css"
},
Render: {
source: "plasma.Render",
templates: "./tpl/"
}
}
});

var cell = new Cell(dna);
The above code is just a definition for the DNA and Cell initialization. You can see we’ve placed our Server in the membrane and the Router, CSS, and Render in the plasma, as we discussed in the last section. The source property is actually mandatory and contains the path to your individual organelles.Keep in mind that the file property in the CSS organel and the templates property in the Render organel are actually custom properties, which I set. You can add whatever customization you need in here as well.And just for your reference, the directory structure for your app should look like this:/css
/styles.css
/membrane
/Server.js
/node_modules
/plasma
/CSS.js
/Render.js
/Router.js
/tpl
A Basic Organelvar Chemical = require("organic").Chemical;
var Organel = require("organic").Organel;
var util = require("util");

module.exports = function YourOrganelName(plasma, config) {
Organel.call(this, plasma);
// your custom logic here
}

util.inherits(module.exports, Organel);
The above code shows the basic format for creating an organel. If you want to use this.emit or this.on you’ll need to make sure to inherit Organel as we did above. And actually, the plasma parameter variable has those exact same methods (emit and on), so you could use plasma directly and skip the inheritance if you wanted.Also, notice the config parameter; This is the object that you defined in your DNA, which is a good place for any of your custom configuration.The ServerThe Server is your main organel, which accepts requests and sends responses to the browser. Here’s how your Server organel should look:var port = 3000;
module.exports = function Server(plasma, config) {
Organel.call(this, plasma);

var self = this;
http.createServer(function(req, res) {
console.log("request " + req.url);
self.emit(new Chemical({
type: "request",
req: req
}), function(html) {
res.writeHead(200);
res.end(html);
});
}).listen(port, '127.0.0.1');
console.log('Server running at http://127.0.0.1:' + port + '/');

}
Two things are happening here. The first one is the definition of the NodeJS server, which of course has a handler accepting request (req) and response (res) objects. Once the request is received, the Server organel sends a chemical, with the type request, notifying the rest of the organelles. It also attaches the req object, so whoever needs more information about the incoming request can access data from the chemical directly.The emit method then takes a second argument which is a callback function. You can use this to return the flow back to the organel, which sends the chemical. I.e. once the Render finishes its job, it calls the Server’s callback. It takes the produced HTML and by using the res object sends the page to the user.The RouterFor our next organel, the Router just listens for a request chemical, which is sent by the Server. It gets the URL from the req object and decides which page should be shown. Here’s the code for the Router:module.exports = function Router(plasma, config) {
Organel.call(this, plasma);

var self = this;
this.on("request", function(chemical, sender, callback) {
var page = chemical.req.url.substr(1, chemical.req.url.length);
page = page == "" || page == "/" ? "home" : page;
self.emit(new Chemical({
type: "page",
page: page,
ready: callback
}));
});

}
Now, the router itself just emits a new chemical with a type of page. Keep in mind, there are two other organels listening for this chemical as well, but by default, it’s not transfered to all of the other elements in the plasma. Of course, there may be times when you will need such functionality. To do so, you just need to return false; in the chemical’s listener. We’ll see this in action in the next section.CSS Styles Providermodule.exports = function CSS(plasma, config) {
Organel.call(this, plasma);

var cssStyles = fs.readFileSync(config.file).toString();
var self = this;
this.on("page", function(chemical) {
self.emit(new Chemical({
type: "css",
value: cssStyles
}));
return false;
});

}
This module is just a simple one-task organel which gets the path to the .css file, reads it, and later emits a chemical containing the actual CSS styles. Also, pay attention to the return false; statement at the bottom. As I said from the last section, it’s important to do this, otherwise the Render will not receive the page chemical sent by the Router. This happens because the CSS organel is defined before the Render in the DNA.The RenderAnd lastly, here’s the code for our Render organel:module.exports = function Render(plasma, config) {
Organel.call(this, plasma);

var getTemplate = function(file, callback) {
return fs.readFileSync(config.templates + file);
}
var formatTemplate = function(html, templateVars) {
for(var name in templateVars) {
html = html.replace("{" + name + "}", templateVars[name]);
}
return html;
}
var templates = {
layout: getTemplate("layout.html").toString(),
home: getTemplate("home.html").toString(),
about: getTemplate("about.html").toString(),
notFound: getTemplate("notFound.html").toString()
}
var vars = {};
var self = this;

this.on("css", function(chemical) {
vars.css = chemical.value;
});
this.on("page", function(chemical) {
console.log("Opening " + chemical.page + " page.");
var html = templates[chemical.page] ? templates[chemical.page] : templates.notFound;
html = formatTemplate(templates.layout, {content: html});
html = formatTemplate(html, vars);
chemical.ready(html);
});

}
There are two helper methods here: getTemplate and formatTemplate which implement a simple template engine for loading an external HTML file and replacing mustache-style variables. All of the templates are stored in an object for quick access. Afterwards we have just a few lines for HTML formatting and then everything is ready to go. The Render organel also listens for the css chemical and lastly the application provides a notFound 404 page, if needed.So here’s what the final app’s directory structure looks like:/css
/styles.css
/membrane
/Server.js
/node_modules
/plasma
/CSS.js
/Render.js
/Router.js
/tpl
/about.html
/home.html
/layout.html
/notFound.html
Running the ApplicationSimply run node index.js in the console and you should see something similar to this: With your server running, you should now be able to visit http://127.0.0.1:3000 in your favorite browser. Try clicking on the links to switch between the two pages a few times and then go back to your console to view the output. You should see a nice report about the applications recent activity. Now you may also notice something else in the console:request /favicon.ico
Opening favicon.ico page.
You can see that there is one more request coming from the browser. It wants to load favicon.ico. However our little site doesn’t have such an icon, so it just opens the 404 page. You can try this for yourself by visiting: http://127.0.0.1:3000/favicon.ico.If you’d like to check out the full source code for this tutorial, you can download it using the download link at the top of this page.ConclusionIn my opinion, Organic is a great concept. It’s very flexible and encourages producing better applications. Keep in mind that the example in this article is based on my personal experience with other design patterns. So my use of terms like Router, Data Provider or Render is completely optional and you can change the names as you see fit. Feel free to experiment by creating new modules based on Organic and let me know what you think in the comments!The core of Organic is developed by and and I strongly recommend that you check them out on Github. If you are interested in using Organic, you will find things like and really helpful as well.