• Skip to main content
  • Skip to footer

2iC Global

  • Transformation Engine
  • Team Training
    • AI Training for Recruiters
    • LinkedIn and Personal Branding
    • Recruitment Team training
  • Rec2Rec
  • About
    • About Us
    • Work With Us
    • Testimonials
  • Blog
  • Contact
You are here: Home / Archives for Computing

Computing

Why small businesses are turning to Cloud Computing

September 12, 2016 by Julie McGrath

Small businesses are fleeing to cloud computing and mobile apps, says new study

Small businesses around the world are increasingly relying on cloud computing and apps to run their operations and solve business problems. Here’s why.

The mobile revolution has reached mom-and-pop shops. According to a newIntuit study, 64% of small businesses across the US, Canada, Australia, and the UK now run their operations in the cloud—up from just 37% in 2015. And 68% of these enterprises use mobile or web-based apps in their day-to-day business, compared to just half last year.

The growth is not a surprise, said Vinay Pai, vice president of the Intuit Developer Platform. Many small business owners, he said, are using apps such as Facebook, LinkedIn, and Snapchat in their everyday lives. “That same expectation has bled over into how they’re running their business, looking to using apps for invoicing, billing, and time management,” Pai said.

The study collected responses from 2,000 small enterprise owners across the four countries, the majority of which employ one to 50 employees.

More than two in five small businesses reported their biggest challenges were controlling costs and reducing expenses. Improving cash flow, customer billing, and time management were the top factors considered among businesses looking to integrate apps.

Not surprisingly, about half of small businesses said they judge technology success on whether it will increase their revenue, the study found. “Most of these small companies are looking to grow their business, and for anything that helps with cash flow and minimizes expenses,” Pai said.

For example, in the US, federal compliance regulations require tracking employee overtime hours and ensuring they are paid. Paying for an app that tracks hourly employees can cost far less than the penalty a business would incur for not doing so, said Pai.

Apps for invoicing are also popular because they cut down on the time it takes for a business owner to get paid, Pai added. With paper invoices, it usually takes about 30 days to receive a check. With an app, businesses can get their money wired within 8 days, with half receiving payment the same day.

For small business app adopters, 68% reported using an average of 4 apps, the study found. And 66% of all small businesses surveyed said they use mobile to run their business.

Benefits and drawbacks

Many small business leaders were reluctant to move systems to the cloud, but did so because of all the available software, said Gene Marks, owner of the Marks Group PC, a small business consulting firm specializing in CRM applications.

Cloud-based apps allow the software vendor to offer easier support and updates in real time, Marks said. But, it’s important to note that monthly or yearly subscription models cost business owners more over time than the pay-once models of the past.

Marks said that his clients have reported quicker updates and increased accessibility and mobility with cloud-based apps. Using cloud-based apps can also attract millennial business and workers, who grew up using the web and mobile devices, Marks said.

The Marks Group, a 10-person firm, moved to the cloud-based Zoho CRM earlier this year, due in large part to the ability to integrate cloud-based applications. It can now use many third-party apps such as the Google suite in their system, Marks said.

App priorities for small business owners included gains in privacy, security, and cost, the Intuit study found. For Marks however, the biggest issue is the price, in terms of both longer-term costs and control. Most app services ask for a monthly fee, rather than a single payment for the system, and do not protect small business users if that fee rises over time, he said.

Tips for small business leaders

The largest barrier for small businesses considering app adoption is the sheer number available: 41% of owners said they feel there are too many to choose from, and that they are unsure which apps will be best for their business needs. Other barriers were cost (39%) and complexity (23%).

Business owners should look at reviews and search for apps that solve a particular business problem, Pai recommends. Many apps have a 2 to 4 week free trial period, so don’t be afraid to try them out, he said.

While apps can solve for certain challenges, small business employees often do not know how to fully leverage these tools, Marks said. He estimates that his typical client only uses 20% of a cloud CRM system’s full capabilities. He recommends finding a partner or outside expert who knows the app well, and offering training to employees. Some 66% of app users said they would pay for training, the study found.

Small businesses that have success with cloud app initiatives often assign someone internally to own the system, Marks said. That person becomes the go-to support system for the app, and should have training and resources on using it. “If you create an expert inside your company, it will expand the use of the application for everybody,” Marks said.

 

Are you looking for an excellent career opportunity within the IT Industry? Follow this link and check out our latest job roles!

– Alison DeNisco

Filed Under: Latest Industry News Tagged With: app, applications, business, Cloud, Computing, CRM, Software

15 Steps on how to get into Software Development

September 8, 2016 by Julie McGrath

Considering a career in Software Development? Read these 15 Steps which could help send you on your way to an exciting new career!

More people than ever before are entering Software Development from non-traditional backgrounds. The number of coding bootcamps is increasing, and there’s a broad push from the industry to attract more diverse developers. Many companies are no longer solely focused on hiring senior developers, and have realised that it may be smarter to train and upskill the next generation of senior developers instead.

Software Development pays well, the industry is booming, and compared to many other careers, software developers get treated very well. But the thing that draws most career-changers to software development, is the search for more rewarding work.

The career transition stage can be a big, scary, but exciting place to be. It can be one of the most challenging life-changes a person could make however, the finishing result could be a more fulfilling career.

If you’re considering a career change, there’s one question that you should ask yourself, above all others: if you make the switch to software development, will you like it? Getting to a level of skill where you are hireable is a lot of work, and you may be leaving behind a promising career in the process. The stakes are high.

If you don’t know whether you’re going to like it, build things with code. Create a Tic Tac Toe game. Start a small online business and do the development yourself. Contribute to open source. Make games. Complete programming challenges. Build a personal website and do all the design and development yourself. If you enjoy any of these things, there’s a good chance you’ll enjoy working as a software developer.

Switching careers can be an epic, challenging journey – but it could just be one of the best things you’ve ever done.

There are a thousand ways to learn to program; the route you take will depend on how you learn best. You can take online courses, find a teacher or mentor, watch YouTube videos, read books, get a Computer Science degree, watch screencasts, or simply jump onto the command line and start experimenting, hitting up Stack Overflow as you go.

 

Here are 15 tips which could help you start your journey to becoming a Software Developer!

1. Have something you (passionately) want to make: Whether it’s a blog, a game, a website, a SaaS startup, an online dating website, or an app to manage your family’s finances, having a project that you’re motivated to build, will push you through the tough times when learning to program. A real-world use-case for your skills will accelerate your learning.

 

2. Attend a coding Bootcamp to get a taster and see if you feel it will work for you: A good coding bootcamp will give you a focused environment, help when you need it, and support when the journey gets tough. When you’re first learning to code, it can be really hard to know what you should focus on.

A good coding bootcamp will also assume no prior programming knowledge, and teach you the skills you need from the ground up, unlike many programming articles and videos, which will be written with professional programmers in mind.

 

3. Connect with other people learning to program: Learning to code can be difficult at times. Having a network of other people going through the same challenges can be hugely important. If you don’t know anyone making the transition, attend local meetups and talk to people there, especially if you’re focused on languages popular among junior developers (Ruby and JavaScript in particular). If you’re lucky, your local programming meetup may even host a ‘Newbies’ night now and again. Make sure to go!

 

4. Find a mentor who works in the industry: A friendship or mentorship with a working software developer can also be immensely helpful in your journey. They will know what the interview culture is in your local industry, will be able to give you advice when you get stuck, help you focus on the most important skills to learn, and give feedback on your code. If you’re lucky enough to find a software developer generous with their time in this way, make sure to give back somehow, even if it’s just buying lunch when you meet. Once again, meetups are a great way to meet potential mentors.

 

5. Focus your learning:If you’re hoping to do backend programming primarily (the engine of most apps, not the visual presentation), focus on learning one language and one web framework as well as you can. Also aim to be somewhat familiar with JavaScript, HTML and CSS, as many roles will have you working with both the frontend and backend of an application. If you’re aiming for a front-end role, focus on JavaScript, HTML and CSS. You might also focus on a popular JavaScript MVC framework like React or AngularJS.

 

6. Be prepared to invest in your career change:You can spend a lot on the transition; books, courses, classes, and screencast subscriptions can add up to hundreds of pounds a month, and many boot camps are over £6,000. Despite the hype around programmer salaries, you can expect to make between £20k and £30k as a junior developer. At first, it might seem like you’ve invested a lot in this career change without much financial reward. Over the long term though, this investment should pay off as you rise to a senior developer level with the potential to earn between £50K and £70K.

 

7. Don’t worry if your journey isn’t linear:Learning to program is tough; it takes time. If you’re juggling a pre-existing career and other commitments, it may be difficult to focus on it for more than a few hours a week. You may have doubts, you may get distracted, and you may stop progressing for days, weeks, or months. Trust that if software development is truly what you want to do you’ll find your way eventually, even if you end up taking the scenic route.

 

8. Create an account on GitHub, build your profile, be selective about what you show: GitHub is an online hosting service for git repositories, best described as version-controlled programming projects. When a repository is public on GitHub, anyone can read through your code. Many hiring managers will check the GitHub profile of applicants, to get an idea of how they write code when nobody is watching. When evaluating junior applicants, the hiring managers may not be looking for amazing code, but instead looking for enthusiasm, work done on multiple projects, willingness to try out new things, and a sense of play. Your GitHub profile is a great way to show this, but keep in mind that hiring managers may only have a few spare minutes to review your profile. For this reason, it’s a good idea to make only substantial or interesting projects public. For projects which you were just using to learn, it might be worth making them private to give your best stuff the limelight.

 

9. It’s hard sometimes:Self-doubt is a common trap for junior developers, especially those from groups who are underrepresented in the software industry. If something feels hard, it’s not necessarily because you’re not cut out for this. It might be because you have more to learn, or perhaps, because the thing you’re working on is actually hard. You may also be concerned when something you find challenging seems easy to someone else, especially when that someone else has a similar level of experience. But stick with that person long enough and you’ll likely encounter something they struggle with, that you find really easy. We’re all different, we bring different pre-existing skills to the table, and we all practice differently. Programming is like any skill: you can become good at it if you persist long enough and care about getting better. Avi Flombaum, co-founder of the Flatiron School, says “I absolutely believe that anybody can learn how to program in the same way that we know anyone can learn how to read and write.”

 

10. Be aware of your blind spots:By all accounts, career-changers have been making waves in the development community. They’re self-starters who’ve sacrificed an existing career, and sometimes a higher salary, in order to become software developers. However, we do have blind spots. The inner-workings of computers and the internet are mind-bendingly complex, especially to anyone from a non-technical background. Mastering one programming language, one web framework, JavaScript, HTML and CSS might take up all your available time. However, when you’re starting out as a junior developer, you probably won’t realize that these things are just a small slice of the technologies you work with every day.

Think about the answers to some of the following questions:
How does your code get run?
How does your language’s interpreter or compiler know when it encounters a syntax error?
How does typing a URL into your browser toolbar result in a web page being rendered on your screen?
How does a web server work?
How do you stay logged into websites even after you close and reopen your browser?
How does your app run on a web server?
Your project is hosted on Heroku or AWS, but what do they use under the hood?
When people say an object is ‘in memory’, what does that mean?
How do you SSH onto a server?
How do you set up and use a build pipeline?
How does your operating system run on your computer?

Of course, this list could be much longer. There’s so much to learn that it can feel overwhelming. The good news is that you don’t need to know the answers to all these questions in order to be hired as a junior software developer, but you should try to learn them as you go further in your career. You can’t get really good at software development unless you have a working understanding of the tools that you work with every day. Increasing your understanding will empower you to make better choices, become better at debugging, and make better design decisions.

 

11. When you’re struggling, take time to appreciate the unique skills you have that computer science graduates may not have yet:If you’ve attended or scheduled a work meeting, been given tricky feedback at work, been through a performance review, or led a team, you already have valuable skills that recent computer science graduates may not have. You may be more at ease talking with stakeholders, better at meetings, planning and organization, simply through having more experience. Most importantly, you may have better perspective. After all, if you’ve previously worked as a nurse in an operating theatre, a bug in production might not seem so overwhelming. After all, nobody is going to get (physically) hurt!

 

12. Get experience with pairing:Pairing is the practice of having two developers share one computer and work on the code together. One developer will write code, while the other watches and does some of the following things: makes suggestions, asks questions, catches errors, and thinks more broadly about how the code being written, fits into the larger program. Since both roles are fatiguing, they will usually swap anywhere from 15 minutes to every few hours.

Pairing is a common practice in the industry and even more common in the coding interview process. You don’t need to be an expert, but pairing for the first time can be a little intimidating, especially when pairing with a senior developer. Despite this, pairing can actually be really fun, and is a fantastic way to learn. If you can, get some practice with pairing before you begin doing coding interviews. If you have a mentor, pair with them. Otherwise, you can find opportunities to pair at hackathons and hack nights in your local area.

 

13. Set up a mock programming interview:Programming interviews are likely to be quite different to the interviews you took to get a job in your current career. They often involve coding challenges, writing pseudocode on a whiteboard, pair programming, and feedback on your code. Learn as much as possible about coding interviews by researching them online. Then practice them with a friend. Find a whiteboard and solve simple problems by writing your code on it. Get your friend to ask you common programming interview questions. It doesn’t matter if your friend is non-technical. The experience will really help when it is time for your real coding interview, as they can be a little intimidating at first!

 

14. Before test-driven development, practice error-driven development:Errors will be your constant companion when learning to code. You’ll be breaking stuff all the time, and will be face a lot of error messages. As once non-technical people, error messages can be scary. Before learning to code, they may have meant that you wrecked your computer while installing a game, or bricked a phone while trying to unlock it. An important mindset when programming, however, is to see error messages as helpful.

When many developers encounter an error message, they react a little like they’ve been slapped on the hand, quickly navigating away from the browser or shell window and peering at the code they  just wrote, trying to figure out what might have made the computer so angry. In most cases, the computer is already telling us, via the error message it just printed, but we need to slow down and read it before we can reap the benefits.

Jeff Cohen, an instructor at my coding bootcamp, encouraged us to practise error-driven development. This method goes beyond slowing down to read error messages, and instead, lets a succession of errors guide you forward in your development. Call a method that doesn’t exist, see a ‘no method’ error, and then write the code to bring that method into existence. Reference a view that doesn’t exist, see a ‘no view’ error, and then create the view. Errors are not to be feared, in fact, they can guide you and help you build your skill as a software developer. Just try to avoid errors in the final product!

 

15. Learn about and practice test-driven development (at least a little bit): Once you’re comfortable with error-driven development, test-driven development is the next step in your learning. Test-driven development is a sought after skill in the industry, and familiarity with it is a requirement to get hired at some software companies. It’s the practice of writing code to ‘test’ how your program behaves, and to drive out a better design for your program. If you’ve ever added some functionality to a program, only to have it break something else that was previously working, this is one of the things that test-driven development (often abbreviated as TDD) can help with!

Few programming resources for beginners focus on TDD, mainly because it can be a difficult concept to teach. When you aren’t sure how to write good tests, it can feel more difficult than writing code. You may encounter a situation where you know exactly how to write the code that will solve a problem, but designing a test around it takes an hour because you’re not sure of the appropriate way to exercise the code with a test. Learning TDD will slow you down at first, but you’ll be repaid with confidence – confidence that your programs work, and confidence that if you break something, you’ll know immediately. Tests are an incredibly useful safety net for junior developers.

You don’t need to be an expert at testing, but some familiarity with TDD will put you ahead of many other junior applicants, especially those coming from traditional Computer Science backgrounds where test-driven development is still not always taught. Bonus points if you can eventually articulate the difference between a mock and a stub.

We hope you have found these tips useful and will have hopefully broadened your knowledge on ways of becoming a software developer. Apply yourself! You don’t need to be a genius to get into software development. Just make sure you remain consistent with your practice and studies. Remember that you will hit barriers and most importantly remember to push through them and never give up. As previously mentioned, becoming a software developer is a challenging career path, but the resulting future prospects can be outstanding. You could find choosing to become a software developer might end up being one of the best decisions of your life. Good Luck!

If you considering a career in Software Development and would like to know more, be sure to get in contact with us here!

If you already have experience in Software Development and you are seeking new opportunities, make sure you check out our latest job role by clicking here!

-Natasha Postolovski

Filed Under: Career Advice, Latest Industry News Tagged With: 15, Careers, computers, Computing, design, developers, development, information, IT, jobs, programming, Software, steps, technology, Tips

Microsoft Ahead in Cloud Computing for the Enterprise

June 29, 2016 by Julie McGrath

Microsoft leads the way in Cloud Computing for the Enterprise

Almost three quarters (74%) of global organizations across a range of industries are planning to move even more of their systems to the public cloud, according to new studies. Public cloud refers to cloud computing that allows companies to build, operate, and store software and data in off-site, third-party data centers.

The study, which included survey responses from mostly decision makers, found that a plurality of businesses are looking at employing Microsoft Azure rather than going with public cloud market leader, AWS.

  • 34% of respondents indicated that they would employ Microsoft Azure for their cloud solutions.
  • 24% of respondents noted their intention to use VMware.
  • 22% of respondents said their company would pursue AWS for their cloud operations.

Microsoft Azure’s popularity is likely due to Microsoft’s brand recognition as an enterprise software company, as well as its more robust hybrid cloud offerings.

  • Microsoft is one of the only cloud vendors that offers true, end-to-end, hybrid cloud options, managing both public and private cloud aspects, notes Tech Republic. And while both Google and AWS offer hybrid cloud solutions, they often outsource their private cloud segment to third parties.
  • Microsoft is well known among businesses as a software provider due to the substantial adoption of its suite of productivity offerings, such as Office 365. As the use of cloud becomes normalized, this exposure within the enterprise is likely to help it close the gap with AWS within the broader market.

Still, for many larger legacy companies, the public cloud is still relatively new territory. Concern over data security, largely wrought from a lack of information, means that many organizations are employing hybrid cloud strategies, rather than moving all of their data across to the public cloud. 93% of respondents said that if security were better they would invest even more in cloud solutions.

-BI Intelligence

If you are interested in Cloud Computing and Enterprise then make sure you check out our latest related jobs here!

Filed Under: Latest Industry News Tagged With: business, Cloud, Computing, development, enterprise, IT, microsoft, Software, technology

Microsoft to buy LinkedIn for $26bn

June 22, 2016 by Julie McGrath

Microsoft is buying the professional networking website LinkedIn for just over $26bn (£18bn) in cash.

The software giant will pay $196 a share – a premium of almost 50% to Friday’s closing share price.

The deal will help Microsoft boost sales of its business and email software.

Microsoft said that LinkedIn would retain its “distinct brand, culture and independence”.

Ben Wood, head of research at CCS Insight, said the deal would give Microsoft access to the world’s biggest professional social network with more than 430 million members worldwide.

“That’s a valuable asset that can be deeply integrated with a number of Microsoft assets such as Office 365, Exchange and Outlook. That said, Microsoft has stated that the company will continue to operate as an independent business, so we’ll have to see how deeply the integration occurs,” Mr Wood said.

Analysis: Rory Cellan-Jones, technology correspondent

Ever had one of those annoying LinkedIn emails inviting you to “endorse” a contact for some skill or another? Perhaps LinkedIn chief executive Jeff Weiner and its founder Reid Hoffman deserve to be endorsed for salesmanship after today’s deal.

After a tricky period in which the shares have fallen amid widening losses, they have persuaded Microsoft to make its biggest deal. The software giant is paying a 50% premium on Friday’s closing share price to buy LinkedIn, a price which amounts to $250 (£170) for every active user. To put that into context, that’s about the market value of Sky, or eight times as much as Daily Mail owner DMGT – and they are both profitable.

But this deal is about more than money: it is meant as a powerful signal of where Satya Nadella is now taking Microsoft. He sees its future as a cloud computing business providing all sorts of professional services to clients – including a social network to connect them to each other.

“We are trying to ride the wave of the new technologies,” Mr Nadella told me from Seattle. “It’s about AI, it’s about mobile, it’s about cloud and we’re trying to bring those things together.”

However, the deal to buy Nokia’s mobile phones division had a similar logic – and the entire value of that purchase was written off just a year later. So Microsoft’s investors may look at that $26bn price tag nervously, while anyone with a few LinkedIn shares may be using the network to send a message of congratulations to their board.

Microsoft chief executive Satya Nadella said he had long admired LinkedIn: “I have been thinking about this for a long time.”

The deal was “key to our bold ambition to reinvent productivity and business processes”, he added.

The company planned a different approach to integrating LinkedIn to preserve its culture and brand, Mr Nadella said: “That’s what’s going to be very very different about this.”

Microsoft had a long record of successfully integrating acquisitions, he explained, citing Minecraft – the video game whose maker it bought in 2014 for $2.5bn – as well as its very first purchase: the presentation software PowerPoint for $14m in 1987.

LinkedIn shares soared 47%, or $61.50, to $192.60 in New York following the announcement of the deal.

Shares in the company, which floated in May 2011, have fallen by more than 40% this year.

The stock plunged by a quarter in February after the company issued a profit warning for the first quarter and reported an annual loss of $166m.

Ivan Feinseth, analyst at Tigress Financial Partners, said that LinkedIn was a great business “even though the company stubbed their toe back in February. It’s a premium company and it deserves a premium valuation.”

Shares in Microsoft fell 2.6% to $50.16, bringing the decline this year to almost 10%.

‘Incredible opportunity’

Jeff Weiner will remain chief executive, reporting to Mr Nadella. He and Reid Hoffman – the chairman, co-founder and controlling shareholder of LinkedIn – both backed the deal.

“Today is a re-founding moment for LinkedIn,” said Mr Hoffman. “I see incredible opportunity for our members and customers and look forward to supporting this new and combined business.”

LinkedIn has been trying to expand by offering users more messaging options, mobile apps and a revamped “newsfeed” to help boost engagement.

Last year, the site pledged to send less frequent and “more relevant” messages after numerous user complaints.

The takeover is by far the biggest acquisition made by Microsoft, which paid $8.5bn for Skype in 2011 and bought Nokia’s mobile phone business for $7.2bn in 2013.

The LinkedIn acquisition also eclipses the $19bn that Facebook paid for WhatsApp in 2014.

Despite having a cash pile of about $92bn, Microsoft said it would pay for LinkedIn mostly by issuing new debt.

It expects the deal, which must be approved by regulators in the US, EU, Canada and Brazil, to generate annual savings of $150m by 2018.

– Chris Johnston

Be sure to check out our latest job opportunities here!

Filed Under: Career Advice, Latest Industry News Tagged With: business, Cloud, Computing, linkedin, microsoft, NETWORKING, purchase, technology

A Guide to IT Infrastructure / Cloud Computing

June 4, 2016 by Julie McGrath

What is Cloud Computing?

Cloud Infrastructure refers to the hardware and software components — such as servers, storage, networking and virtualization software — that are needed to support the computing requirements of a cloud computing model. In addition, cloud infrastructures include a software abstraction layer that virtualizes resources and logically presents them to users through programmatic means.

In cloud computing, virtualized resources are hosted by a service provider or IT department and delivered to users over a network or the Internet. These resources include virtual machines and components such as servers, compute, memory, network switches, firewalls, load balancers and storage.

In a cloud computing architecture, which refers to the front end and back end of a cloud computing environment, cloud infrastructure consists of the back end components.

Cloud infrastructure is present in each of the three main cloud computing models — infrastructure as a service (IaaS), platform as a service (PaaS) and software as a service (SaaS). Together, these three models form what’s often called a cloud computing stack, with IaaS as the foundation, PaaS as the middle layer, and SaaS as the top layer.

Businesses use cloud infrastructures to run their applications. Unlike subscription-based pricing models, or payment structures that enable users to subscribe to vendor services for a set price, cloud infrastructures are typically purchased using a pay-per-use model. In a pay-per-usage model, users only pay for the services consumed — generally on an hourly, weekly or monthly basis.

Rather than purchase cloud infrastructure from a provider, businesses can also build cloud infrastructures on-premises. When cloud providers maintain the cloud infrastructure, the environment is a public cloud. When the organization using cloud maintains the cloud infrastructure, the environment is a private cloud. And when both the cloud provider and user own pieces of the cloud infrastructure, the environment is a hybrid cloud.

If you are already familiar with all this information then be sure to check out our latest job which offers the opportunity to join a business with sky high performance results and infrastructure solutions.

– Techtarget

Filed Under: Latest Industry News Tagged With: Cloud, Computing, hardware, Infrastructure, IT, NETWORKING, Software, virtualization

Footer

What we do

We Help Transform Your Recruitment Agency
from Demanding Business to Valuable Asset

Subscribe to our newsletter

    Services

    • Team Training
    • AI Training for Recruiters
    • Linkedin and Personal Branding
    • Transformation Engine
    • Rec2Rec

    Explore

    • Home
    • Work With Us
    • About Us
    • Testimonials
    • Blog
    • Privacy Policy
    • Contact Us

    Connect

    hello@2icglobal.com

    © 2025 2iC Global. All rights reserved. Sitemap

    Website Design by Yellow Marshmallow.