~/devreads

8 May 2015

Jan Lelis 1 min read

One of the never-ending style battles in Ruby land is module_function vs extend self. Both enable you to define module methods, which can be called not only from instance level, but also from class level. This enables you to make modules that can optionally be include'd into your current scope, which makes sense if the module contains non-state changing methods…

7 May 2015

Vianney Lecroart 4 min read

illustration by Adrien Griveau I have been working on Meteor projects for more than 2 years now. I already shared the reasons of this choice in a previous post . Today I want to address the question of file structure . Unlike frameworks such as Ruby on Rails, which has clear instructions on how files should be organized, Meteor lets…

meteorjsmeteor

lukaseder 1 min read

PostgreSQL has a lot of secret data types. In recent times, PostgreSQL’s JSON and JSONB support was hyped as being the NoSQL on SQL secret (e.g. as advertised by ToroDB) that allows you to get the best out of both worlds. But there are many other useful data types, among which the range type. How … Continue reading PostgreSQL’s Best-Kept…

javasqlbindingcustom data typesdata type binding

Jan Lelis 1 min read

There is a command-line switch to enable command-line switches: -s Enables some switch parsing for switches after script name but before any file name arguments (or before a --). Any switches found there are removed from ARGV and set the corresponding variable in the script. In this context "corresponding variable" means global variable. Let's see this in action (the -e…

6 May 2015

Jan Lelis 4 min read

There is a one-liner on the internet that will start a local web server, for serving all the static files in your current directory: $ python -m SimpleHTTPServer 8080 Or with Python 3: $ python3 -m http.server Rubyists generally do not want to rely on Python, so there is a Ruby equivalent: $ ruby -run -e httpd . -p 8080…

5 May 2015

jonskeet 7 min read

There are many, many questions on Stack Overflow about both parsing and formatting date/time values. (I use the term “date/time” to mean pretty much “any type of chronlogical information” – dates, times of day, instants in time etc.) Given how often the same kinds of mistakes are made, I thought it would be handy to … Continue reading Common mistakes…

generalnoda timestack overflow

lukaseder 1 min read

In the recent past, we’ve explained the syntactic implications of the SQL GROUP BY clause. If you haven’t already, you should read our article “Do You Really Understand SQL’s GROUP BY and HAVING clauses?“. In essence, adding a GROUP BY clause to your query transforms your query on very implicit levels. The following reminder summarises … Continue reading How SQL…

sqlaggregationcypher query languagegroup bygrouping

Jan Lelis 4 min read

The script lines feature is probably the most famous example for idiosyncratic naming in Ruby! Ruby can save all source files you load or require as strings. This is useful for debugging utilities, for example, standard library's debug and tracer both use these capabilities. This is possible with the script lines object: It is a Ruby hash that stores all…

4 May 2015

1 min read

A while back Peter Norvig posted a wonderful pair of articles about regex golf. The idea behind regex golf is to come up with the shortest possible regular expression that matches one given list of strings, but not the other. “Regex Golf,” by Randall Munroe. In the first article, Norvig runs a basic algorithm to recreate and improve the results…

5 min read

Why are people so concerned with hardware power consumption nowadays? Some common answers to this question are that power is critically important for phones, tablets, and laptops and that we can put more silicon on a modern chip than we can effectively use. In 2001 Patrick Gelsinger observed that if scaling continued at then-current rates, chips would have the power…

Jan Lelis 9 min read

a A b B c C d D e E F g G h H l L m m0 M n N p P q Q s S u U v V w x X Z @ ! * < > _ Ruby comes equipped with a powerful option for low level string manipulation: String#unpack and its counter part Array#pack.…

3 May 2015

7 min read

The size of binaries in the Nim programming language seems to be a popular topic recently. Nim’s slogan is expressive, efficient, elegant, so let’s examine the efficient part in this post by exploring a few ways to reduce the size of a simple Nim Hello World binary on Linux. Along the way we will: Build a regular program into a…

Jan Lelis 3 min read

Ruby has some ways to turn on debug mode, which library authors can use to print out extra information for interested users. But unfortunately, there are multiple debug modes in Ruby. When to use which one? Consider you have this code: def production_method puts "I am doing the right thing part 1" # @a is really intereting here puts "I…

1 min read

Pixel art is so much fun! This blog post walks through how to read a matrix-like list with Sass and generate Mario pixel art from box shadows.

2 May 2015

Jan Lelis 2 min read

Ruby strings are powerful. You could say Ruby is built around manipulating strings. There are tons of ways how to work with strings and as of Ruby 2.7.1 String offers 130 instance methods. Knowing them well can save you a lot of time. What follows is a list of 10 lesser known things about strings: Some of them useful, some…

1 May 2015

Lon Ingram 3 min read

When I started on the Firebird team at Bazaarvoice, I was happy to learn that they host their code on GitHub and review and land changes via pull requests. I was less happy to learn that they merged pull requests with the big green button. I was able to convince the team to try out a new, rebase-oriented, workflow […]

uncategorized

Kim Moir

Here's April 2015's monthly analysis of the pushes to our Mozilla development trees. You can load the data as an or as a . The number of pushes decreased from those recorded in the previous month with a total of 8894. This is due to the fact that gaia-try is managed by and thus these jobs don't appear in the…

Ramon 3 min read

I created my own Serviio service script, I’m sharing it for reference and free usage here. If you don’t know Serviio and you need a Media Server in your home network, this is your best choice. check it out here. Actually, you only need to alter “/etc/default/serviio” with your username and path to Serviio installation. […]

linuxetc init.dmedia serverserviiostartup scirpt

Jan Lelis 2 min read

Compared to other languages, Ruby does not have very good tool support for development. This might not be a problem for many of us: In the end, humans create the code, and not the tools. Nevertheless, it would be great to have better tools. Or at least valid syntax highlighting! The following table shows popular options for code highlighting, but…

30 Apr 2015

6 min read

Let me get this straight. We have an emulator for 1985 hardware that was written in a pretty new language (Go), ported to a language that isn’t even 1.0 (Nim), compiled to C, then compiled to JavaScript? And the damn thing actually works? That’s kind of amazing. — Summary by haberman I spent the last weeks working on NimES, a…

Yann Lechelle 9 min read

A risk management perspective Yann Lechelle ( LinkedIn , Twitter ) is a Paris-based entrepreneur with a number of pivots under his belt. He was founder and CEO at Etheryl (acquired by private investors), co-founder at KickYourApp.com (acquired by Change), co-founder and COO/CTO at Appsfire.com (acquired by MNG), co-founder at Sonetin.com and currently COO at Snips.ai using AI to make…

startuptechefounders

lukaseder 1 min read

I admit, we’ve been lured into using this technique as well. It’s just so convenient, as it allows for avoiding a seemingly unnecessary cast. It’s the following technique here: Now you can type safely assign anything from the wrapper to any type: This is actually the API you can use when you’re using jOOR, our … Continue reading This Common…

javaantipatterncompilergenericstype safety

29 Apr 2015

1 min read

Since today Nim 0.11 has been released, I guess it’s a good time to release this as well: NimES is a NES emulator written in Nim. More info in the GitHub repository and the JS demo. Discussion on Hacker News and Reddit.

28 Apr 2015

Kim Moir

Running a large continuous integration farm forces you to deal with many dynamic inputs coupled with capacity constraints. The . People add more tests. We build and test on a new platform. If the number of machines available remains static, the computing time associated with a single push will increase. You can scale this for platforms that you build and…

Leigh Dyer 1 min read

Bandcamp was offline briefly yesterday due to what I like to call an unexpected single point of failure. Good systems design is all about addressing single points of failure, making sure you have redundancies in place, but sometimes you discover single points of failure that you didn’t realise you had. Yesterday’s problem was caused by […]

uncategorized

lukaseder 1 min read

I keep encountering situations where RDBMS users think that one second for query execution is anything near fast. Most recently, in this Stack Overflow question: Hibernate SQL In clause making CPU usage to 100% The poster’s original question was why a similar query executes in one second when executed in SQL Server Management Studio whereas … Continue reading Do Not…

sqlcovering indexindexindexingperformance

27 Apr 2015

lukaseder 1 min read

LOBs are a PITA in all databases, as well as in JDBC. Handling them correctly takes a couple of lines of code, and you can be sure that you’ll get it wrong eventually. Because you have to think of a couple of things: Foremost, LOBs are heavy resources that need special lifecycle management. Once you’ve … Continue reading Let’s Review…

javasqlblobclobjdbc

Dominic Steinitz 3 min read

Introduction Suppose you want to sample from the truncated normal distribution. One way to do this is to use rejection sampling. But if you do this naïvely then you will run into performance problems. The excellent Devroye (1986) who references Marsaglia (1964) gives an efficient rejection sampling scheme using the Rayleigh distribution. The random-fu package … Continue reading Rejection Sampling

haskellprobabilitystatistics

25 Apr 2015

24 Apr 2015

Gary Spillman 7 min read

One of the many challenges of software testing has always been cross-browser testing. Despite the web’s overall move to more standards compliant browser platforms, we still struggle with the fact that sometimes certain CSS values or certain JavaScript operations don’t translate well in some browsers (cough, cough IE 8). In this post, I’m going to […]

open sourceuncategorizedquality assurancetest automation

Schakko 1 min read

Today I struggled with a working configuration for an autounattend.xml for 9600.17050.WINBLUE_REFRESH.140317-1640_X64FRE_SERVER_EVAL_DE-DE-IR3_SSS_X64FREE_DE-DE_DV9.ISO (Windows Server 2012 R2, Standard, Standard Core, Datacenter and Datacenter Core). The unattended installation inside VirtualBox always failed with an error 0x80042565 or did not use the partition scheme I had previously provided. I suppose that the problem occured in […] The post Unattended installation of Windows Server…

windows

oferzelig 4 min read

Running a Bamboo CI Server Remote Agent on a Windows Server (Cloud) This post is dedicated to all the lost souls out there of people who try to get a Bamboo Remote Agent Windows server to work. We scratched our The post Running a Bamboo CI Server Remote Agent on a Windows Server (Cloud) appeared first on FullStack - Ofer…

uncategorized

23 Apr 2015

Olivier Hervieu 8 min read

illustration by adrien griveau Roy Fielding’s dissertation thesis on “Architectural Styles and the Design of Network-based Software Architectures” albeit published in 2000, is still a goldmine in 2015. For those who are not familiar with Fielding’s work, he is one of the authors of the Apache web server, he has worked on the first specification of HTTP, and he is…

techapicomputer-science

22 Apr 2015

21 Apr 2015

jonskeet 4 min read

As I’ve mentioned before, I’m part of the technical group looking at updating the ECMA-334 C# standard to reflect the C# 5 Microsoft specification. I recently made a suggestion that I thought would be uncontroversial, but which caused some discussion – and prompted this “request for comment” post, effectively. What does the standard say about … Continue reading Precedence: ordering…

c#

lukaseder 1 min read

You wouldn’t believe it until you try it yourself. I’ve been using the Eclipse Mars developer milestones lately, and I’ve been having some issues with slow compilation. I always thought it was because of the m2e integration, which has never been famous for working perfectly. But then, it dawned upon me when I added a … Continue reading Is Your…

javajpaeclipseperformanceslow

Nick Thomas 1 min read

ftp.mozilla.org has been around for a long time in the world of Mozilla, dating back to original source release in 1998. Originally it was a single server, but it’s grown into a cluster storing more than 60TB of data, and serving more than a gigabit/s in traffic. Many projects store their files there, and there must be a wide range…

20 Apr 2015

kevin 6 min read

Our test environment takes 6-9 seconds to load before any tests get run. I tire of this during the ~30 times I run the test suite a day,1 so I wanted to make it faster. For better or worse, the API runs on Sails.js. Before running model/controller tests, a bootstrap file in our tests calls […]

codeusability

19 Apr 2015

1 min read

If you use a computer, you could use your terminal to make huge improvements to your work flow. This article talks about getting started and writing aliases to customize your experience.

18 Apr 2015

17 Apr 2015

Timothy Maxwell 3 min read

One of the chief promises of the cloud is fast scalability, but what good is snappy scalability without load prediction to match? How many teams out there are still manually switching group sizes when load spikes? If you would like to make your Amazon EC2 scaling more predictive, less reactive and hopefully less expensive it is […]

uncategorized

Colin Schimmelfing 3 min read

A few months ago Clever had the opportunity to give a talk to the GoSF Meetup group (the “largest Go meetup group in the world”!). Mohit and Alex discussed their experience creating Sphinx (our rate limiting service) and the usefulness of Go’s interfaces in doing so. Here are the slides: There are a few reasons […] The post Using Go’s…

golang

16 Apr 2015

Matthew Green 11 min read

(photo source/cc) They say that history repeats itself, first as tragedy, then as farce. Never has this principle been more apparent than in this new piece by Washington Post reporters Ellen Nakashima and Barton Gellman: ‘As encryption spreads, U.S. grapples with clash between privacy, security‘. The subject of the piece is a renewed effort by … Continue reading How do…

backdoors

15 Apr 2015

Kim Moir

Here's March 2015's monthly analysis of the pushes to our Mozilla development trees. You can load the data as an or as a . The number of pushes increased from those recorded in the previous month with a total of 10943. HTML page json file Trends Highlights General Remarks Records 10943 pushes 353 pushes/day (average) Highest number of pushes/day: 579…

Nicolas Mondollot 5 min read

illustration: Adrien Griveau Hi there. My name is Nicolas Mondollot, I am the CTO of Drivy — an awesome peer-to-peer car rental service. We launched our german website in early 2015. Here are some things we learned along the way. When you start a website you usually start small: one website, hosted on one domain, targeting one country and one…

startuptechdevelopment

14 Apr 2015

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. We have the pleasure … Continue reading jOOQ Tuesdays:…

jooq-tuesdayshibernatejavajooq tuesdaysjpa

13 Apr 2015

lukaseder 1 min read

Syntax is one of those topics. One of those emotional topics that lead to very very very important discussions. I personally like PL/SQL. It is extremely verbose, and precise. It forces you to adhere to a very strong and rigid type system, slowing you down, which is likely to help you avoid mistakes. There is … Continue reading It’s the…

sqljavaoraclepl sqlsyntax

12 Apr 2015

6 min read

NOTE: This article has been superseded by my more recent one here How to use EC2 GPU machines + Steam In-Home Streaming + a VPN to play AAA titles on a shitty laptop You might have tried a service like the now defunct OnLive. Though personally I’ve played and beat many AAA games on the service, it unfortunately a) had…

10 Apr 2015

Timothy Maxwell 4 min read

At Bazaarvoice we use Dropwizard for a lot of our java based SOA services. Recently I upgraded our Dropwizard dependency from 0.6 to the newer 0.7 version on a few different services. Based on this experience I have some observations that might help any other developers attempting to do the same thing. Package Name Change […]

uncategorized

9 Apr 2015

Frederick Feibel 2 min read

This blog post only applies to the Conversations API and does not apply to any other Bazaarvoice product. You are able to identify the Bazaarvoice Conversations API by the following: Path includes ‘data’: http://api.bazaarvoice.com/data/reviews.json? Code related to the Bazaarvoice Hosted Display does not need modification. It can be identified by the following: References ‘bvapi.js’: http://display.ugc.bazaarvoice.com/static/ClientName/en_US/bvapi.js […]

conversations apigeneral announcements

kevin 2 min read

Reddit and Duck Duck Go recently announced that they are eliminating salary negotiations, in part to help even the playing field for men and women, since men are more likely to negotiate salaries than women. Men negotiate harder than women do and sometimes women get penalized when they do negotiate. So as part of our […]

opinion

lukaseder 1 min read

You’re not into the functional mood yet? Then the title might not resonate with you – but the article will! Trust me. Essentially, we want this: +------+------+------+ | col1 | col2 | col3 | +------+------+------+ | A | B | C | row 1 | D | E | F | row 2 | G … Continue reading How to…

javajava 8jdbcjooqresultset

Michael Ruhwedel 7 min read

Definition Kubernetes – κυβερνήτης • (kyvernítis) m governor (leader of a region or state) (nautical) captain, skipper pilot (of an aircraft) Motivation We recently moved to a new office and dis­covered that one of our bare metal Con­tin­uous Integration build agents didn’t survive the move. Since other developers were already unhappy with the fact, that the […]

backend

Matt Cutts 1 min read

My taste in financial advice runs toward the simple and the lessons I’ve learned the hard way. But I still like reading about investing/finance, and I recently read through the 2014 annual report for Berkshire Hathaway. Given that it was the 50th anniversary of Warren Buffett taking charge of Berkshire, I have to admit that […]

uncategorized

8 Apr 2015

Nathan Leiby 7 min read

Sometimes it’s obvious what code has to change, but it’s painfully hard to prove you’ve fixed it. When’s the last time a conceptually simple fix took you hours longer to than planned, because you could not get the project running locally to verify your change worked? I just want to change a little CSS on […] The post Aviator: locally…

devops

7 Apr 2015

lukaseder 1 min read

Sometimes you simply cannot avoid it: Pessimistic locking via SQL. In fact, it’s an awesome tool when you want to synchronise several applications on a shared, global lock. Some may think this is abusing the database. We think use the tools you have if they can solve the problem you have. For instance, the RDBMS … Continue reading How to…

sqlconcurrencyjoojooqoracle

6 Apr 2015

Ruslan Spivak 14 min read

Remember, in Part 1 I asked you a question: “How do you run a Django application, Flask application, and Pyramid application under your freshly minted Web server without making a single change to the server to accommodate all those different Web frameworks?” Read on to find out the answer. In the past, your choice of a Python Web framework would…

1 min read

I have a little secret: I don’t like the terminology, notation, and style of writing in statistics. I find it unnecessarily complicated. This shows up when trying to read about Markov Chain Monte Carlo methods. Take, for example, the abstract to the Markov Chain Monte Carlo article in the Encyclopedia of Biostatistics. Markov chain Monte Carlo (MCMC) is a technique…

3 Apr 2015

2 Apr 2015

Matthew Green 2 min read

A few weeks back I wrote an update on the Truecrypt audit promising that we’d have some concrete results to show you soon. Thanks to some hard work by the NCC Crypto Services group, soon is now. We’re grateful to Alex, Sean and Tom, and to Kenn White at OCAP for making this all happen. You … Continue reading Truecrypt…

truecrypt

lukaseder 1 min read

Imagine you have a list of items: (Don’t judge me. Books from this random book generator) Now you’d like to create a new list where the third item only is replaced by some new value: Of course, you could go and either modify the original list: … or create a copy of the original list … Continue reading How to…

javajava 8joostreams api

1 Apr 2015

lukaseder 1 min read

I’ve recently had a very interesting discussion with Sebastian Gruber from Ergon, a very early jOOQ customer, whom we’re in close touch with. Talking to Sebastian has lead our engineering team to the conclusion that we should completely rewrite the jOOQ API. Right now, we already have lots of generics for various purposes, e.g. Generics … Continue reading Don’t be…

javajooq-developmentbackwards compatibilitygeneric genericsgeneric types

Matt Cutts 1 min read

This was an April Fool’s joke. I’ve been working really hard with some friends on a project to handle SEO automatically. Now we’re ready to take the wraps off it over at seo.ninja. One of the ideas that helped the World Wide Web succeed was that it separated presentation and content. You could write your […]

google seo

31 Mar 2015

0xADADA 4 min read

Lets face it, Do Not Track (DNT) is dying a slow death. Content providers are either ignoring the setting, or giving lip service to DNT while taking no action behind the scenes. Worse yet, if users are able to find the browser preference, they don’t understand its purpose or value. Enabling the feature is confusing, and quite inconsistent between browser…

essaysprivacydo-not-track

29 Mar 2015

17 min read

It's really common to see claims that some meme is backed by “studies” or “science”. But when I look at the actual studies, it usually turns out that the data are opposed to the claim. Here are the last few instances of this that I've run across. Dunning-Kruger A pop-sci version of Dunning-Kruger, the most common one I see cited,…

28 Mar 2015

Dave Cheney 2 min read

Update: Two months after making this post, it’s already out of date, 2015 will feature ten Go conferences. Last month, during my concluding remarks at Gophercon India, I threw out a statistic: In 2014 there were five international Go conferences. In 2015 there will be seven. Barely a month on from this statement I must […]

go

27 Mar 2015

1 min read

Recently, I’ve spent some time recently profiling real-world mobile websites. Using the 1000/100/6 performance model1, and spelunking deep into each app, the findings have been fascinating. I’ve written up case study documents for each, incorporating all the findings: Illustrated diagnoses for the poor performance What actions the developer should take How Chrome’s tooling should improve Questions and insights for the…

26 Mar 2015

Tony Cassandra 11 min read

This post continues the discussion from Automated Product Matching, Part I: Challenges. System First, Algorithm Second With each design iteration, I gradually came to appreciate how important it was to have an overall matching system that was well designed. The quality of the matching algorithm did not matter if its output was going to be […]

product matchingsoftware architecture