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…
27 Apr 2015
An area of constant debate in the software industry revolves around automation of tests and who takes part in their design, creation and maintenance. There are many blogs on the subject about who within the team should do this, and different scenarios have varying degrees of success for the team, product and company. Overall, I believe there are core guidelines…
26 Apr 2015
I just pinged a few million random IP addresses from my apartment in NYC. Here’s the result: Some notes: What’s going on with Sweden? Too much torrenting? Ireland is likewise super slow, but not Northern Ireland Eastern Ukraine is also super slow, maybe not surprising given current events. Toronto seems screwed too, as well as part of NH and western…
25 Apr 2015
Are the forces behind digital business, just one more wave of technology fueled change or is today’s business environment fundamentally different? If different, what are the critical capabilities required to survive and thrive?
24 Apr 2015
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 […]
Unattended installation of Windows Server 2012 R2 in VirtualBox and getting an 0x80042565 error
SchakkoToday 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…
How to collect and plot real-time financial data based on performance using NVD3, PubNub, and AngularJS.
How to collect and plot real-time financial data based on performance using NVD3, PubNub, and AngularJS.
23 Apr 2015
We’re pleased to announce PostgreSQL 9.4 in general availability for Heroku Postgres. After announcing the beta earlier this year, we’ve had many developers provision databases against this new version. Throughout the beta period, developers raved about the new data type along with the performance enhancements to materialized views. This uptake by early adopters demonstrates an […] The post PostgreSQL 9.4…
Living and working across the world brings many pleasures. “Travel opens your mind”, they say. What makes you want to close it again and throw away the key is having to design for all the world's local and cultural particularities in one system. It's not good enough to simply ignore these differences and expect people to meet your cultural standards.
22 Apr 2015
How to use the Tessel Climate module, AngularJS, the NVD3 library, and PubNub to graph real-time Tessel temperature and humidity data over a WiFi network.
How to use the Tessel Climate module, AngularJS, the NVD3 library, and PubNub to graph real-time Tessel temperature and humidity data over a WiFi network.
There’s a bunch of companies working on machine learning as a service. Some old companies like Google, but now also Amazon and Microsoft. Then there’s a ton of startups: PredictionIO ($2.7M funding), BigML ($1.6M funding), Clarifai, etc, etc. Here’s a nice map from Bloomberg showing some of the landscape. As much as I love ML, I’m not super bullish on…
The moneyed world is an increasingly digital space. We spend a lot of time interacting with different digital screens—smartphone, laptop, tablet and watch. Then we have the more traditional view-only screens—digital or physical billboards, digital television and movie theatre screens.
21 Apr 2015
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…
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…
How to collect and publish temperature and humidity data in real time using the Tessel Climate module.
How to collect and publish temperature and humidity data in real time using the Tessel Climate module.
Thoughtworks India, its employees and leadership, believe that maintaining a free and open Internet is essential for the continued growth of India’s Internet ecosystem. Net Neutrality is an anti-discrimination policy and we believe that any divergence from the same could severely hamper the growth of the country’s eCommerce sector and negatively impact virtually every form of online activity.
20 Apr 2015
How to build an earthquake warning and monitoring system with Ruby, littleBits, and PubNub to send alerts and notifications in real time.
How to build an earthquake warning and monitoring system with Ruby, littleBits, and PubNub to send alerts and notifications in real time.
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 […]
This is the last article in a four-part series, where the authors share their experiences and insights on ushering technology-fueled innovation in incumbent financial services organizations. Here are the first, second, and third articles in this series.
Writing a well-crafted business case may be key to securing funding but it has little impact on whether your initiative succeeds or fails. A clear product vision, strategy for testing it and knowing which initiatives to start, stop, or continue will serve you better every time — especially if your goal is to create a high performance organization.
19 Apr 2015
“Should testers be technical?” This is a frequent question especially in the last decade, as the Agile approach has been adopted by more and more organizations, and people agree that tester have to do more than before. But should they be technical?
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
This tutorial shows step-by-step how to bootstrap a Lumen project, configure MySQL, create migrations and models, seed the database, define routes and templates to build a fully working motivational quote web app in less than 30 minutes.
17 Apr 2015
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 […]
This blog post looks at different Arduino boards to help you pick the right board for whatever your Internet of Things use case is.
This blog post looks at different Arduino boards to help you pick the right board for whatever your Internet of Things use case is.
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…
16 Apr 2015
Here is my list of heuristics and rules of thumb for software development that I have found useful over the years: Development 1. Start small, then extend. Whether creating a new system, or adding a feature to an existing system, I … Continue reading →
(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…
These days, apps are more composed than built. Long past are the days of spinning up your own Elasticsearch cluster to add search to your application. Instead we borrow from previous projects, and adapt a template as a good foundation. It’s a great improvement – but the process of keeping up to date with the […] The post Announcing Heroku…
An overview of RubyBits, a blog series on teaching about hardware programming for modular IOTprojects using the Ruby language and littleBits
An overview of RubyBits, a blog series on teaching about hardware programming for modular IOTprojects using the Ruby language and littleBits
A tutorial for how to build an Android iBeacon (beacon) emitter, the app that publishes signals to Android iBeacon detectors to trigger action.
A tutorial for how to build an Android iBeacon (beacon) emitter, the app that publishes signals to Android iBeacon detectors to trigger action.
15 Apr 2015
A tutorial of how to build an Android beacon (aka iBeacon) detector, the app that listens for signals from the emitter and triggers an action.
A tutorial of how to build an Android beacon (aka iBeacon) detector, the app that listens for signals from the emitter and triggers an action.
Today, constant innovation defines our marketplace. Businesses must respond to customer expectations for better digital experiences. How do leading organisations launch successful new products and respond rapidly to external change? How do they move beyond the desire to innovate to actively be innovative every day?
I don’t want a job without psychic income. Chances are if you’re creative, energized by change, and excited by the unexplored, neither do you. If there’s one thing I learned in five years of PhD research of artists and their values, it’s this. Money is nice. Psychic Income is better. There’s a lot to be done to bring this new…
The key objectives of Organizations is to provide / derive value from the products / services they offer. To achieve this, they need to be able to deliver their offerings in the quickest time possible, and of good quality! In such a fast moving environment, CI (Continuous Integration) and CD (Continuous Delivery) are now a necessity and not a luxury!…
14 Apr 2015
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:…
13 Apr 2015
A collection of tutorials and code walkthroughs on connecting embedded boards to the Internet, and a number of IoT projects as well.
A collection of tutorials and code walkthroughs on connecting embedded boards to the Internet, and a number of IoT projects as well.
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…
Enterprises of all sizes have confused novelty for innovation. Innovation institutes change: changing the offering, changing expectations, even (for the lucky few) changing the game. Novelty’s only benefit is its newness; like the smell of a new car, it rarely survives extended contact with its first customers. The pressures of the changing market have compounded that confusion with the desire…
10 Apr 2015
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 […]
The Internet of Things drives the new city, and smart cities are estimated to use 1.1 billion connected devices in 2015.
The Internet of Things drives the new city, and smart cities are estimated to use 1.1 billion connected devices in 2015.
9 Apr 2015
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 […]
How to trigger a littleBits LED light in real time whenever a tweet is sent through the Twitter firehose with Node.js using Johnny-Five.
How to trigger a littleBits LED light in real time whenever a tweet is sent through the Twitter firehose with Node.js using Johnny-Five.
How to build a Tessel iBeacon emitter to publish data to a Tessel Beacon emitter. Part 3 of our series on building Tessel iBeacon technology with PubNub.
How to build a Tessel iBeacon emitter to publish data to a Tessel Beacon emitter. Part 3 of our series on building Tessel iBeacon technology with PubNub.
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 […]
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…
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 discovered that one of our bare metal Continuous Integration build agents didn’t survive the move. Since other developers were already unhappy with the fact, that the […]
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 […]
As noted by multiple tweets, my previous post describes a phenomenon denoted Berkson’s paradox. Here’s another example: Why Are Handsome Men Such Jerks?
8 Apr 2015
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…
New Technologies, New Methods: Closing the Feedback Loop in the Internet of Things. The Internet of Things is accelerating rapidly, and bringing with it a wealth of opportunity. Though many focus on the data and technology needs of the Internet of Things - the sensors, data, and the storage, security, and analysis of that data - we’re already forgetting to…
7 Apr 2015
How to build a Tessel iBeacon detector to receive data from a Tessel Beacon emitter. Part 2 of our series on building Tessel iBeacon technology with PubNub.
How to build a Tessel iBeacon detector to receive data from a Tessel Beacon emitter. Part 2 of our series on building Tessel iBeacon technology with PubNub.
How to build a smart, two-way Tessel beacon, including a full tutorial, code, and demo. This is the equivalent of an iBeacon made with Tessel.
How to build a smart, two-way Tessel beacon, including a full tutorial, code, and demo. This is the equivalent of an iBeacon made with Tessel.
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…
Norvig's claim that programming competitions correlate negatively with being good on the job
Erik BernhardssonI saw a bunch of tweets over the weekend about Peter Norvig claiming there’s a negative correlation between being good at programming competitions and being good at the job. There were some decent Hacker News comments on it. Norvig’s statement is obviously not true if we’re drawing samples from the general population – most people can’t code. It doesn’t necessarily…
6 Apr 2015
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…
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…
This is the third article in a four part series, where the authors share their experiences and insights on ushering technology fueled innovation in incumbent financial services organizations. Here are the first, second and fourth articles in this series.
3 Apr 2015
This full tutorial walks you through implementing the PubNub Publish/Subscribe JavaScript API
This full tutorial walks you through implementing the PubNub Publish/Subscribe JavaScript API
2 Apr 2015
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…
How to build a multi-user, collaborative to-do app with Java for Android mobile users. Full tutorial and downloadable, open source code.
How to build a multi-user, collaborative to-do app with Java for Android mobile users. Full tutorial and downloadable, open source code.
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…
1 Apr 2015
How to build an end-user application for receiving location coordinates in real time being streamed from a broadcaster application.
How to build an end-user application for receiving location coordinates in real time being streamed from a broadcaster application.
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…
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 […]
UX designers, we need to change the way we work. We need to stop wasting so much time. We have a well-deserved reputation for retreating to creative studios for lengthy design phases - only choosing to resurface once we have perfected solutions that are pretty, but not necessarily practical. We need to end the pursuit of design perfection and focus…
31 Mar 2015
How to build an app with JavaScript that uses an animated map to select & stream location coordinates to multiple end-user applications in real time.
How to build an app with JavaScript that uses an animated map to select & stream location coordinates to multiple end-user applications in real time.
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…
To create a custom map was never so simple. MapTiler converts your map into the high resolution format compatible with Garmin handheld GPS devices.
Boyhood, the movie everyone was talking about at the end of last year, and which took Best Picture at the Golden Globes, helped me understand some key Lean concepts as well as the importance of taking a more holistic view on software delivery. Here’s how.
30 Mar 2015
Have you thought about attaining continuous delivery in your project? And how about continuous delivery with a sometimes broken build? It may sound dangerous, but well, it's actually not the end of the world and it's more common in day-to-day projects than you think. We agree that continuous delivery should be made with all-green build pipelines, and that is what…
This article was originially published in the e-Health magazine in its March issue. It featured a story on the implementation of a Hospital Management and Information System by Thoughtworks at Jan Swasthya Sahyog Hospital in Chattisgarh, India.
29 Mar 2015
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,…
I love stupid dreams. I’m in love with the dreams that begin with “I know this is stupid but, what I’d really like to do is …”. I love dreams of unexpected possibility. You should too, because soon they will be the only dreams that can save us in an economy turned upside down. I Know This Is Stupid But…
28 Mar 2015
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 […]
So, this week I attended QCon-SP.
26 Mar 2015
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 […]