|
You’ve probably heard that story about NPM community and LeftPad package, that broke thousands JavaScript projects worldwide. There was a nice follow-up article titled “Have We Forget How To Program” and one guy even created left-pad.io - Left-Pad As A Service web service. People got a lot of fun discussing this story. I personally find this story amazing, because there is no single point of failure, but rather a set of things and c..
|
|
If you've been following along my latest exploits (though I doubt anyone is), you may know that I'm the co-organiser of Talk.CSS, the first CSS-centric meet-up…
|
|
In this post, I’ll tell you about the recently released “automatic grouping” or “AutoGroup” feature in mgmt , a next generation configuration management prototype. If you aren’t already familiar with mgmt, I’d recommend you start by reading the introductory post , and the second post . There’s also an introductory video . Resources in a graph Most configuration management systems use something called a directed acyclic graph, o..
|
|
In this post, I’ll tell you about the recently released “automatic grouping” or “AutoGroup” feature in mgmt , a next generation configuration management prototype. If you aren’t already familiar with mgmt, I’d recommend you start by reading the introductory post , and the second post . There’s also an introductory video . Resources in a graph Most configuration management systems use something called a directed acyclic graph, o..
|
|
SXSW was once the domain of music and film. Someone’s gotta buy all those super-skinny-jeans and coin terms like mumblecore. Enter retail. Retail has a growing presence at SXSW. Last year SXstyle joined the lineup - a nod to the collision of fashion, retail and technology. This year the festival brimmed with vibrant retailers and industry innovators from Neiman Marcus to Refinery29, all vying to showcase what’s coming in retail 2016 and bey..
|
|
This is #2 in a very long series of posts on Stack Overflow’s architecture. Previous post (#1): Stack Overflow: The Architecture - 2016 Edition Next post (#3): Stack Overflow: How We Do Deployment - 2016 Edition Who loves hardware? Well, I do and this is my blog so I win. If you don’t love hardware then I’d go ahead and close the browser. Still here? Awesome. Or your browser is crazy slow, in which case you should think ab....
|
|
If you only have a few UI elements, a small data class and your controllers have only a few actions to perform - you may consider using no architecture at all. Just make a global “controller” object and/or a global data object. By “global” I mean you may use dependency injection, or propagate the instance from the root activity to its child views, or make it a singleton. Simply bind data to your views and call controller methods from your e..
|
|
When people first hear about Anvil they don’t trust it because at first glance Anvil seems to be just a replacement for XML layouts. It’s not. It’s a library to build predictable reactive views. There are many known disadvantages of XMLs (poor code reuse, no type-safety, no variables, very limited styling support etc etc). Yet the developers are so much used to XMLs that they started liking them! Let’s see how one can use Anvil in all its p..
|
|
This is #2 in a very long series of posts on Stack Overflow’s architecture. Previous post (#1): Stack Overflow: The Architecture - 2016 Edition Next post (#3): Stack Overflow: How We Do Deployment - 2016 Edition Who loves hardware? Well, I do and this is my blog so I win. If you don’t love hardware then I’d go ahead and close the browser. Still here? Awesome. Or your browser is crazy slow, in which case you should think ab....
|
|
If you only have a few UI elements, a small data class and your controllers have only a few actions to perform - you may consider using no architecture at all. Just make a global “controller” object and/or a global data object. By “global” I mean you may use dependency injection, or propagate the instance from the root activity to its child views, or make it a singleton. Simply bind data to your views and call controller methods from your e..
|
|
When people first hear about Anvil they don’t trust it because at first glance Anvil seems to be just a replacement for XML layouts. It’s not. It’s a library to build predictable reactive views. There are many known disadvantages of XMLs (poor code reuse, no type-safety, no variables, very limited styling support etc etc). Yet the developers are so much used to XMLs that they started liking them! Let’s see how one can use Anvil in all its p..
|
Over Easter 2016 (March 25th – 27th) I played in the Wellington Open Chess Tournament. I play in the tournament about half of the time. This year it was again being played at the CQ Hotel in Cuba street so I was able to stay at the venue and also visit my favorite Wellington cafes. … Continue reading Wellington Open 2016
|
|
Writing custom modules for Ansible Introduction What is Ansible and what is a module? If you are a big fan of automation , if you are focused on spreading and building software in line with DevOps culture, tools related with automation / configuration management like Chef or Ansible are probably well known to you. From the other hand that what differentiates those tools is a topic for a next blog post. Without diving into those diff....
|
|
Variations on a theme Back in 2014 I wrote a post called How to Conquer Tensorphobia that should end up on Math $ \cap$ Programming’s “greatest hits” album. One aspect of tensors I neglected to discuss was the connection between the modern views of tensors and the practical views of linear algebra. I feel I need to write this because every year or two I forget why it makes sense.
|
|
Variations on a theme Back in 2014 I wrote a post called How to Conquer Tensorphobia that should end up on Math $ \cap$ Programming’s “greatest hits” album. One aspect of tensors I neglected to discuss was the connection between the modern views of tensors and the practical views of linear algebra. I feel I need to write this because every year or two I forget why it makes sense.
|
|
Variations on a theme Back in 2014 I wrote a post called How to Conquer Tensorphobia that should end up on Math $ \cap$ Programming’s “greatest hits” album. One aspect of tensors I neglected to discuss was the connection between the modern views of tensors and the practical views of linear algebra. I feel I need to write this because every year or two I forget why it makes sense.
|
|
This Gluent New World webinar is based on my RAM is the new disk and how to measure its performance article series: RAM is the new disk – Introduction RAM is the new disk – tools for measuring CPU efficiency and RAM access RAM is the new disk – Columnar vs Row-oriented data access test results I’m using the Oracle Database In-Memory option as an example here, but the same rules apply to other row & column stores as well.
|
|
This Gluent New World webinar is based on my RAM is the new disk and how to measure its performance article series: RAM is the new disk – Introduction RAM is the new disk – tools for measuring CPU efficiency and RAM access RAM is the new disk – Columnar vs Row-oriented data access test results I’m using the Oracle Database In-Memory option as an example here, but the same rules apply to other row & column stores as well.
|
|
Install libclang on Mac brew install llvm --with-clang Install RTags git clone --recursive https://github.com/Andersbakken/rtags.git cd rtags cmake -DCMAKE_PREFIX_PATH=/Users/your-user-name/homebrew/opt/llvm -DCMAKE_EXPORT_COMPILE_COMMANDS=1 . make Start RTags daemon path/to/rtags/bin/rdm 2> /tmp/rdm.log Compilation database Install xctool brew install xctool Generate a compilation database cd path/to/your/objc-project xctool -sdk iphon..
|
|
A common question I hear about Anvil is how to style views. Let’s recall how it’s been traditionally done in Android. Here’s an example from the Android Developers website:
|
|
Android is probably the second most popular development platform after the web. Web development practices tend to change every month if not every week. As soon as a tool or a library becomes mature and stable - they call it deprecated and seek for a new replacement. Now let’s see how Android development tools and paradigms have evolved over the past few years and how it compares to the web.
|
|
A common question I hear about Anvil is how to style views. Let’s recall how it’s been traditionally done in Android. Here’s an example from the Android Developers website:
|
|
Android is probably the second most popular development platform after the web. Web development practices tend to change every month if not every week. As soon as a tool or a library becomes mature and stable - they call it deprecated and seek for a new replacement. Now let’s see how Android development tools and paradigms have evolved over the past few years and how it compares to the web.
|
|
Systems Analyst That was my title at my previous job, one that I would join almost exactly a year ago. It was, I must admit, an exciting time for me as I had recently returned from studying in the UK to my native Quito and would be working in the IT field for the first time. I was hired by a small firm after interviewing with its general director and financial director, all in one sitting, and after completing a timed one-hour programming e..
|
|
Chen just released a new cn1lib for circular progress indicators of various types. This is an often requested feature and there were many ways to implement this in the past but it is now far easier to do this with shape clipping. You can use the circular progress API using code such as: Form hi = new Form("Circle Progress"); hi.setLayout(new BoxLayout(BoxLayout.Y_AXIS)); final CircleProgress p = new CircleProgress(); p.setProgress(..
|
|
Last week, CERT alerted users to the risk of publishing or consuming a malicious npm package. This important risk is not unique to npm, but it is more likely to happen in this ecosystem. This post explains the risk and how you can protect yourself.
|
|
Yeah yeah, I know, the first day of Spring was one two three four days ago, these posts don’t write themselves (though with enough imagination, time, and Markov chains , they kinda could). This probably isn’t apparent for those of you in New England at the moment, but today is the first day of Spring. Well…it is in the United States at least, I don’t actually know how other countries/hemispheres do seasons. Climatic differe..
|
|
Yeah yeah, I know, the first day of Spring was one two three four days ago, these posts don’t write themselves (though with enough imagination, time, and Markov chains , they kinda could). This probably isn’t apparent for those of you in New England at the moment, but today is the first day of Spring. Well…it is in the United States at least, I don’t actually know how other countries/hemispheres do seasons. Climatic differe..
|
|
Imagine you just woke up, took a shower and you immediately go to your coffee machine to make that strong, large, morning, double-shot, extra-spice-and-everything-nice cup of coffee.
|
|
Imagine you just woke up, took a shower and you immediately go to your coffee machine to make that strong, large, morning, double-shot, extra-spice-and-everything-nice cup of coffee.
|
|
Common pitfalls and surprising behaviors when creating Swift extensions on Objective-C classes, with solutions for proper method naming.
|
|
How can we organize the collaboration of more than a hundred developers on a wide range of topics? How could they decide about good practices in the company? Those are some questions that drove trivago to give it a try on a different structure: the guilds.
|
|
How can we organize the collaboration of more than a hundred developers on a wide range of topics? How could they decide about good practices in the company? Those are some questions that drove trivago to give it a try on a different structure: the guilds.
|
|
It is possible to write solid javascript code almost entirely without using try/catch. The only common standard library function that requires it is JSON.parse. Almost everything else will expose environmental/input errors with some other mechanism (usually a special value or surprising behavior). parseInt('turkey sandwich', 10) returns NaN parseFloat("I'm on a boat") returns NaN new Date("St Swiven's Day") returns Invalid Date Math.max('....
|