background preloader

Software Development

Facebook Twitter

Quora. The Twelve-Factor App. Choose Boring Technology (Expanded, Slide-Based Edition) Building Resilient Services with Go – Tech Talk. In this Tech Talk from GopherCon 2015, Blake Caldwell, a former Software Engineer here at Fog Creek who worked on the Kiln team, explains how he used Go to re-write and speed up KilnProxy, our SSH Reverse Proxy.

Building Resilient Services with Go – Tech Talk

ObjectiveC2Swift will help you translate your tired Objective C code to Swift. Objective C’s time in the limelight is coming to an end.

ObjectiveC2Swift will help you translate your tired Objective C code to Swift

As Apple slowly phases its legacy iOS and OS X coding language out in favor of Swift, developers are transitioning as well. The Twelve-Factor App. Interactive In-Memory SQL with Apache Ignite using Apache Zeppelin. Recently I have been working on Apache Ignite interpreter for Apache Zeppelin.

Interactive In-Memory SQL with Apache Ignite using Apache Zeppelin

In this post I want to demonstrate how you can use Zeppelin to run SQL queries over Ignite distributed in-memory clusters. Apache Zeppelin is a web-based notebook which provides interactive data analysis and visualization capabilities. For instance, you can create a note that fetches data from various sources and represents them as set of tables, bar or pie charts, etc. /\ndy: The Failure of Agile. I am proud to be one of the 17 founders/authors of the The Agile Manifesto back in 2001.

/\ndy: The Failure of Agile

I think it provided a jolt of energy, hope of a better way of doing things, of creating software and making the world work better. AWS Free Tier. AWS Marketplace offers more than 700 free and paid software products that run on the AWS Free Tier.

AWS Free Tier

If you qualify for the AWS Free Tier, you can use these products on an Amazon EC2 t2.micro instance for up to 750 hours per month and pay no additional charges for the Amazon EC2 instance (during the 12 months). Software charges may still apply for paid software. * These free tier offers are only available to new AWS customers, and are available for 12 months following your AWS sign-up date. When your 12 month free usage term expires or if your application use exceeds the tiers, you simply pay standard, pay-as-you-go service rates (see each service page for full pricing details).

Restrictions apply; see offer terms for more details. Expert Cheat Sheets & Tutorial Guides for Developers. Semantic Versioning 2.0.0. 12 Days of Open Source. In the spirit of the holidays, we present "12 Days of Open Source": a 2014 review of stats and fun facts from Facebook's engineering teams.

12 Days of Open Source

Check back each work day for a new question and answer from now until the 23rd. Happy Holidays! Day 12. The 11 deadly sins of product development. Download a free copy of “Building a Hardware Business,” a curated collection of chapters from our IoT library.

The 11 deadly sins of product development

Editor’s note: this post is an excerpt from “Prototype to Product: A Practical Guide for Getting to Market,” by Alan Cohen, which is included in the curated collection. Thomas Edison famously said that genius is “1% inspiration, 99% perspiration,” and his observation holds true for product development. Developing “genius-level” products certainly requires inspiration, but the bulk of the effort is more like perspiration: work that benefits from insight and cleverness, but is also largely about not screwing up. Most product development efforts fail. Open-sourcing Facebook Infer: Identify bugs before you ship. Today, we're open-sourcing Facebook Infer, a static program analyzer that Facebook uses to identify bugs before mobile code is shipped.

Open-sourcing Facebook Infer: Identify bugs before you ship

Static analyzers are automated tools that spot bugs in source code by scanning programs without running them. They complement traditional dynamic testing: Where testing allows individual runs through a piece of software to be checked for correctness, static analysis allows multiple and sometimes even all flows to be checked at once. Facebook Infer uses mathematical logic to do symbolic reasoning about program execution, approximating some of the reasoning a human might do when looking at a program. We use Facebook Infer internally to analyze the main Facebook apps for Android and iOS (used by more than a billion people), Facebook Messenger, and Instagram, among others. At present, the analyzer reports problems caused by null pointer access and resource and memory leaks, which cause a large percentage of app crashes. Motivation The future. PUT vs. POST. Actually its nothing to do with REST for PUT and POST.

PUT vs. POST

Sony Pictures Imageworks - Open Source - Scala Migrations. Scala Migrations is a library to manage upgrades and rollbacks to database schemas.

Sony Pictures Imageworks - Open Source - Scala Migrations

Migrations allow a source control system to manage together the database schema and the code using the schema. It is designed to allow multiple developers working on a project with a database backend to design schema modifications independently, apply the migrations to their local database for debugging and when complete, check them into a source control system to manage as one manages normal source code. Other developers then check out the new migrations and apply them to their local database.

Finally, the migrations are used to migrate the production databases to the latest schema version. The package is based off Ruby on Rails Migrations and in fact shares the exact same schema_migrations table to manage the list of installed migrations. Alltop - Top Software Development News. What I look for in frameworks. Spring Initializr. Getting Started · Building an Application with Spring Boot. If you are building a web site for your business, you probably need to add some management services.

Spring Boot provides several out of the box with its actuator module, such as health, audits, beans, and more. Add this to your build file’s list of dependencies: compile("org.springframework.boot:spring-boot-starter-actuator") If you are using Maven, add this to your list of dependencies: <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency> . If you are using Maven, execute: Getting Started · Building a RESTful Web Service.

In Spring’s approach to building RESTful web services, HTTP requests are handled by a controller. These components are easily identified by the @RestController annotation, and the GreetingController below handles GET requests for /greeting by returning a new instance of the Greeting class: src/main/java/hello/GreetingController.java. Pyp - Python Power at the Prompt. Ls | pyp "p.replace('maybe','yes') | pp.sort() | pp[1:3] |p , p , p.strip('abc') | whitespace | p[3], 'no' | p.upper() " Pyp is a linux command line text manipulation tool similar to awk or sed, but which uses standard python string and list methods as well as custom functions evolved to generate fast results in an intense production environment. Pyed Pyper was developed at Sony Pictures Imageworks to facilitate the construction of complex image manipulation "one-liner" commands during visual effects work on Alice in Wonderland, Green Lantern, and the The Amazing Spiderman.

Because pyp employs it's own internal piping syntax ("|") similar to unix pipes, complex operations can be proceduralized by feeding the output of one python command to the input of the next. This greatly simplifies the generation and troubleshooting of multistep operations without the use of temporary variables or nested parentheses.