Category Archive for: applications

rfp-robotRFP ROBOT: Website Request for Proposal Generator

The time has come for a new website (or website redesign), which means you need to write a website request for proposal or web RFP. A Google search produces a few examples, but they vary wildly and don’t seem to speak really to your goals for developing or redesigning a new website. You need to write a website RFP that will clearly articulate your needs and generate responses from the best website designers and developers out there. But how?

Have no fear, RFP Robot is here. He will walk you through a step-by-step process to help you work through the details of your project and create a PDF formatted website design RFP that will provide the information vendors need to write an accurate bid. RFP Robot will tell you what info you should include, point out pitfalls, and give examples.


A Travis CI/Github Security Vulnerability

For the past 6 years, private Github repositories using Travis CI have been vulnerable to a privilege escalation attack. Under certain configurations, an attacker with read-only access to the Github repo could change the code just by submitting a pull request. This was reported to the Travis CI security team and has been fixed. Introduction About two months ago Dane Powell, a co-worker in Professional Services, messaged me asking to help him verify that Travis CI was allowing him access to a private SSH key. I took a look at the build and confirmed there was a public and private key pair accessible when a build was running on the Travis CI container. Looking into other repos and builds, it became apparent that SSH keys only existed on private Github repos. This made sense because Travis CI can simply clone a public repo over HTTP with no authorization required. With…

Read More →

Robust React User Interfaces with Finite State Machines

User interfaces can be expressed by two things: The state of the UI Actions that can change that state From credit card payment devices and gas pump screens to the software that your company creates, user interfaces react to the actions of the user and other sources and change their state accordingly. This concept isn’t just limited to technology, it’s a fundamental part of how everything works: For every action, there is an equal and opposite reaction. – Isaac Newton This is a concept we can apply to developing better user interfaces, but before we go there, I want you to try something. Consider a photo gallery interface with this user interaction flow: Show a search input and a search button that allows the user to search for photos When the search button is clicked, fetch photos with the search term from Flickr Display the search results in a grid…

Read More →

Applications Developer – California Institute of Technology – Pasadena, CA

Drupal), visualization tools, GIS. The Applications Developer is a member of a 4-person developers group within the Digital Library Development (DLD) team, the…From California Institute of Technology – Thu, 09 Nov 2017 23:53:39 GMT – View all Pasadena, CA jobs Source: http://rss.indeed.com/rss?q=Drupal+Developer

CSS Code Smells

Every week(ish) we publish the newsletter which contains the best links, tips, and tricks about web design and development. At the end, we typically write about something we’ve learned in the week. That might not be directly related to CSS or front-end development at all, but they’re a lot of fun to share. Here’s an example of one those segments from the newsletter where I ramble on about code quality and dive into what I think should be considered a code smell when it comes to the CSS language. A lot of developers complain about CSS. The cascade! The weird property names! Vertical alignment! There are many strange things about the language, especially if you’re more familiar with a programming language like JavaScript or Ruby. However, I think the real problem with the CSS language is that it’s simple but not easy. What I mean by that is that it…

Read More →

ARIA is Spackle, Not Rebar

Much like their physical counterparts, the materials we use to build websites have purpose. To use them without understanding their strengths and limitations is irresponsible. Nobody wants to live in an poorly-built house. So why are poorly-built websites acceptable? In this post, I’m going to address WAI-ARIA, and how misusing it can do more harm than good. Materials as technology In construction, spackle is used to fix minor defects on interiors. It is a thick paste that dries into a solid surface that can be sanded smooth and painted over. Most renters become acquainted with it when attempting to get their damage deposit back. Rebar is a lattice of steel rods used to reinforce concrete. Every modern building uses it—chances are good you’ll see it walking past any decent-sized construction site. Technology as materials HTML is the rebar-reinforced concrete of the web. To stretch the metaphor, CSS is the interior…

Read More →

Software Engineer – Web Applications position is open

Portland, OR, United States Source: https://jobs.drupal.org/all-jobs/feed

You Just Changed My Workflow

Good products challenge people to rethink their existing workflows and consider changing them so that they might adopt the new tool. This requires time and patience, trial and error, and can even create a lot of anxiety. The difference between a good product and a great one is that a great one simply changes the user’s workflow magically. And, it really does feel like magic when it works well. Instead of anxiety it can create excitement. Instead of the user feeling as if their investing time that they can’t afford to invest they, instead, feel that their time is well-spent. This is the aim of any good product designer and developer. Our goal is to fundamentally transform your existing workflow(s) for the better. And, if we do our job well, then, we can be handsomely rewarded for it. CryptoYum Development — Nov, 2017 I’m working on two current mobile (iOS) applications right now…

Read More →

Sr. Technical Lead – AEM – R2integrated, LLC – Seattle, WA

Experience in other Content Management Platforms (DNN, Sitecore, Drupal). Architect and Develop web based applications (Adobe Experience Manager) as a member of…From R2integrated, LLC – Sat, 04 Nov 2017 17:26:14 GMT – View all Seattle, WA jobs Source: http://rss.indeed.com/rss?q=Drupal+Developer

Getting Around a Revoked Certificate in OSX

Let me start this off by saying this is not an ideal trick and one I hope no one else needs to use because it’s a bad idea to work around a browser feature that’s aimed to protect your security. That said, I am in the process of testing a product and ran into a weird situation where our team had to revoke the SSL certificate we had assigned to our server. We’re going to replace it but I have testing to do in the meantime and need access to our staging server, so waiting is kind of a blocker because, well, this message gets me nowhere. Safari’s warning for a site with a revoked certificate. This message is different from the warnings browsers provide for sites without SSL. Those give you a built-in workaround by simply dismissing the warning. The difference is that a revoked certificate implies that the…

Read More →

Most influential OOPSLA 2007 paper award

I was in for a nice surprise this week. Andy Georges, Lieven Eeckhout and I received an ACM SIGPLAN award for the most influential OOPSLA 2007 paper. Our paper was called “Statistically rigorous Java performance evaluation” and was published 10 years ago at the OOPSLA conference. It helped set a standard for benchmarking the performance of Java applications. A quick look on the ACM website shows that our paper has been cited 156 times. The award was totally unexpected, but much appreciated. As much as I love my current job, thinking back to some of my PhD research makes me miss my academic work. Congratulations Andy and Lieven! Source: Dries Buytaert www.buytaert.net

Can a Blockchain Help Charities?

Imagine a world where your charitable donations always made a difference. A world where a charity could be run with minimal overhead. This charity would allow you to see what path your donation took, from the moment it was given, to the moment it was spent by the boots on the ground making a difference. A better charity is possible with blockchain technology, and ethereum. Using these technologies we can build a decentralized autonomous charity that can accept donations in any currency, hold onto its funds in a non-volatile form and deploy them globally while maintaining complete transparency of individual donations. There’s a set of problems a better charity needs to address, we’ll look at three of them. If I donated a Bitcoin about a month ago it would have been worth less than half of what is worth now, and if I donated it yesterday it would be worth…

Read More →

Drupal looking to adopt React

Last week at DrupalCon Vienna, I proposed adding a modern JavaScript framework to Drupal core. After the keynote, I met with core committers, framework managers, JavaScript subsystem maintainers, and JavaScript experts in the Drupal community to discuss next steps. In this blog post, I look back on how things have evolved, since the last time we explored adding a new JavaScript framework to Drupal core two years ago, and what we believe are the next steps after DrupalCon Vienna. As a group, we agreed that we had learned a lot from watching the JavaScript community grow and change since our initial exploration. We agreed that today, React would be the most promising option given its expansive adoption by developers, its unopinionated and component-based nature, and its well-suitedness to building new Drupal interfaces in an incremental way. Today, I’m formally proposing that the Drupal community adopt React, after discussion and experimentation…

Read More →

Senior Web Applications Developer – University of Maryland – College Park, MD

5+ years experience using Drupal including module customization, integration, and development. Smith School of Business is seeking an experienced Web Developer…From University of Maryland – Wed, 27 Sep 2017 20:37:41 GMT – View all College Park, MD jobs Source: http://rss.indeed.com/rss?q=Drupal+Developer

Creating a Static API from a Repository

When I first started building websites, the proposition was quite basic: take content, which may or may not be stored in some form of database, and deliver it to people’s browsers as HTML pages. Over the years, countless products used that simple model to offer all-in-one solutions for content management and delivery on the web. Fast-forward a decade or so and developers are presented with a very different reality. With such a vast landscape of devices consuming digital content, it’s now imperative to consider how content can be delivered not only to web browsers, but also to native mobile applications, IoT devices, and other mediums yet to come. Even within the realms of the web browser, things have also changed: client-side applications are becoming more and more ubiquitous, with challenges to content delivery that didn’t exist in traditional server-rendered pages. The answer to these challenges almost invariably involves creating an…

Read More →

Announcing Node.js on Acquia Cloud

Today, Acquia announced that it expanded Acquia Cloud to support Node.js, the popular open-source JavaScript runtime. This is a big milestone for Acquia as it is the first time we have extended our cloud beyond Drupal. I wanted to take some time to explain the evolution of Acquia’s open-source stack and why this shift is important for our customers’ success. From client-side JavaScript to server-side JavaScript JavaScript was created at Netscape in 1995, when Brendan Eich wrote the first version of JavaScript in just 10 days. It took around 10 years for JavaScript to reach enterprise maturity, however. Adoption accelerated in 2004 when Google used JavaScript to build the first release of Gmail. In comparison to e-mail competitors like Yahoo! Mail and Hotmail, Gmail showed what was possible with client-side JavaScript, which enables developers to update pages dynamically and reduces full-page refreshes and round trips to the server. The benefit…

Read More →

Node.js and Headless Drupal on Acquia Cloud

The press release went out this morning with the headline, Acquia Debuts Node.js and Headless Drupal on Acquia Cloud. The subhed: “Company Expands Upon Drupal Cloud Solutions for Web and Flexible Content Applications.” The news: Acquia today unveiled a new application service for Acquia Cloud that makes it easy for digital IT teams to build and run JavaScript alongside Drupal. Acquia Cloud now supports the use of Node.js in addition to Drupal. The Dries quote: “Decoupled applications using JavaScript front ends are on the rise. They’re making it possible to create experiences with responsive, elegant, application-like behavior. To help our customers build such digital experiences with headless Drupal, we added Node.js support to Acquia Cloud.” Why it’s important: Developers will now be able to leverage tools enabling continuous delivery and integration across Node.js and Drupal from one user interface. IT professionals benefit from one secure, compliant cloud for Drupal, decoupled Drupal,…

Read More →

The Key to Building Large JavaScript Apps: The Modlet Workflow

You’re a developer working on a “large JavaScript application” and you’ve noticed some issues on your project. New team members struggle to find where everything is located. Debugging issues is difficult when you have to load the entire app to test one component. There aren’t clean API boundaries between your components, so their implementation details bleed one into the next. Updating your dependencies seems like a scary task, so your app doesn’t take advantage of the latest upgrades available to you. One of the key realizations we made at Bitovi was that “the secret to building large apps is to never build large apps.” When you break your app into smaller components, you can more easily test them and assemble them into your larger app. We follow what we call the “modlet” workflow, which promotes building each of your components as their own mini apps, with their own demos, documentation,…

Read More →

React + Dataviz

There is a natural connection between Data Visualization (dataviz) and SVG. SVG is a graphics format based on geometry and geometry is exactly what is needed to visually display data in compelling and accurate ways. SVG has got the “visualization” part, but SVG is more declarative than programmatic. To write code that digests data and turns it into SVG visualizations, that’s well suited for JavaScript. Typically, that means D3.js (“Data-Driven Documents”), which is great at pairing data and SVG. You know what else is good at dealing with data? React. The data that powers dataviz is commonly JSON, and “state” in React is JSON. Feed that JSON data to React component as state, and it will have access to all of it as it renders, and notably, will re-render when that state changes. React + D3 + SVG = Pretty good for dataviz I think that idea has been in…

Read More →

Write like you talk

You’re a better writer than you let onA handful of years ago I was volunteering for an organization here in Chicago where we helped high school kids prepare for their college applications. These kids were the first in their families, often underprivileged, to be applying to college.One Saturday I met a student who wanted help editing his application essay. We went over to the computer lab and he pulled up a draft he’s been struggling with.The essay was fine. It read grammatically well.But it was terrible. It was dry and uninteresting. Artificial intelligence could have probably auto-generated it from a history of other applications.I doubt any recruiter would remember him. How were we going to fix this?Most of us trying to write to gain an audience, inspire people, market ourselves, etc. are all doing it wrong.We stick with the education and rules we learned in high school and college: “Don’t end sentences with prepositions.”…

Read More →

Back to Top