|
Five months have past since my last post about personal projects and endeavours but it feels like I've been stagnating for much longer.
|
|
Costa Compagnie was preparing the Empire of Oil 360° movie to show at Ballhaus Ost in Berlin. Two days before the premiere:
|
|
About year ago, I wrote about the findings from an exercise in attempting to typeset Chinese vertically on the web. What came out of that was a bare-bones demo…
|
|
Serverless Aurora: What it means and why it's the future of data
-
www.serverless.com
-
8 years ago
-
eng
Learn what Serverless Aurora is, what it means for serverless developers, and why we think it's the future of data. Solving the serverless data layer.
|
|
I always have some random side project I am working on, whether it is making the world’s most over engineered desktop OS all running in containers or updating all my Makefiles to be the definition of glittering beauty. This post is going to go over I how I recently redid all my home networking and ultimately how I got to here: ssh-ed into my dev NUC from a Pixelbook 39,000 feet, authenticated from an ssh key on a yubikey, the future....
|
In this tutorial we are going to create a Ruby on Rails application that will use elasticsearch to allow users to store and search their content. The sample application will be a stupid simple blog and the data will be, what else, posts. The integration with elasticsearch will be accomplished via the elasticsearch gems for Rails and we will use Kibana to view and check our index configuration. Note: The code of this tuto....
|
In this tutorial we are going to create a Ruby on Rails application that will use elasticsearch to allow users to store and search their content. The sample application will be a stupid simple blog and the data will be, what else, posts. The integration with elasticsearch will be accomplished via the elasticsearch gems for Rails and we will use Kibana to view and check our index configuration. Note: The code of this tuto....
|
In this tutorial we are going to create a Ruby on Rails application that will use elasticsearch to allow users to store and search their content. The sample application will be a stupid simple blog and the data will be, what else, posts. The integration with elasticsearch will be accomplished via the elasticsearch gems for Rails and we will use Kibana to view and check our index configuration. Note: The code of this tuto....
|
|
Two weeks ago, Alex Crichton’s PR adding a target for WebAssembly to the Rust compiler was merged. There are many differences between this target and the Emscripten one, but the important one for me is that it doesn’t depend on external stuff like the Emscripten SDK (which IIRC used to be a pain to get working on Windows, but seems to be better now). After seeing the examples on hellorust.com, I thought it would be interesting to try to ada..
|
|
Today I refactored all my various scratch iterations of code to dig into the details of an ed25519 openssh private key file and integrated that into the main tealeaves executable file. I added some unit tests for edge cases and I've so far been pleased with how unit testing is in rust. The cargo command line is weird for testing: I often have to do something like RUST_BACKTRACE=1 cargo test --jobs=1 long_field -- --nocapture to try to debug..
|
|
Today I refactored all my various scratch iterations of code to dig into the details of an ed25519 openssh private key file and integrated that into the main tealeaves executable file. I added some unit tests for edge cases and I've so far been pleased with how unit testing is in rust. The cargo command line is weird for testing: I often have to do something like RUST_BACKTRACE=1 cargo test --jobs=1 long_field -- --nocapture to try to debug..
|
|
Today I finished understanding the openssh private key format for ed25519 keys. Yesterday's analysis had a few remaining mysteries that a fellow RCer helped me solve plus a pair of mistakes that threw off some fields. So here for the record is a "complete" byte-by-byte analysis of what's inside an openssh ed25519 private key (both with and without a passphrase). This was done with OpenSSH_7.5p1, LibreSSL 2.5.4 on macOS 10.13. I say "complet....
|
|
Today I finished understanding the openssh private key format for ed25519 keys. Yesterday's analysis had a few remaining mysteries that a fellow RCer helped me solve plus a pair of mistakes that threw off some fields. So here for the record is a "complete" byte-by-byte analysis of what's inside an openssh ed25519 private key (both with and without a passphrase). This was done with OpenSSH_7.5p1, LibreSSL 2.5.4 on macOS 10.13. I say "complet....
|
|
String in Java 9 is a data type just like integer and floating point, but it is used to represent text rather than numbers or a single character. String variable is comprised of a set of characters that can also contain spaces, numbers and special characters. For instance, the word “tennis” and the phrase “I play tennis” are an example of string variable. Even a number “5445” could be considered a string in Java, if specified correctly.
|
One of the best TPS I've ever played, I've been playing this in the last 10 years and this game neve...
|
|
So today (my 15th day of RC sabbatical) was where the rubber was supposed to hit the road. I was working on actually digging into the meaty bits of the OpenSSH private key PEM files and starting to peek into the base64 encoded data. I did some research this morning and futzed around with both bash pipelines and rust code to start to understand how these files work. First fun thing I found was looking at the raw data inside a PEM-encoded....
|
|
So today (my 15th day of RC sabbatical) was where the rubber was supposed to hit the road. I was working on actually digging into the meaty bits of the OpenSSH private key PEM files and starting to peek into the base64 encoded data. I did some research this morning and futzed around with both bash pipelines and rust code to start to understand how these files work. First fun thing I found was looking at the raw data inside a PEM-encoded....
|
|
Why we've removed Inheritance/Extend from SASS & you should do the same!
-
engineering.wingify.com
-
8 years ago
-
eng
SASS is a preprocessor that provides features like variables, nesting, mixins, inheritance and other nifty goodies and makes CSS clean and…
|
|
The Thoughtworks Technology Radar is intended to showcase our opinion on the most important tech trends we see today. This article will dive into the Trial ring, exploring the blips in this edition that weren’t in Trial before.So why look at what’s moved into Trial? For a start, we know from analytics of our interactive Radar, blips in Trial always attract interest — as a group, they’re second most popular after those in Adopt.
|
|
A lot of people have asked me to do another run of my Oracle Troubleshooting training or at least get access to previous recordings – so I decided to geek out over the holiday period, update the material with latest stuff and run one more AOT class in 2018 ! The online training will take place on 29 January – 2 February 2018 (Part 1) & 26 February – 2 March 2018 (Part 2).
|
|
A lot of people have asked me to do another run of my Oracle Troubleshooting training or at least get access to previous recordings – so I decided to geek out over the holiday period, update the material with latest stuff and run one more AOT class in 2018 ! The online training will take place on 29 January – 2 February 2018 (Part 1) & 26 February – 2 March 2018 (Part 2).
|
|
Twice a year we create the Thoughtworks Technology Radar, an opinionated look at what’s happening in the enterprise tech world. It’s a detailed look at tools, techniques, languages and platforms and we generally call out over one hundred individual ‘blips.’ Creating the Radar involves a significant chunk of our senior techies from around the globe, and as we discuss individual blips we also talk about bigger trends. This article is a consol..
|
|
A common topic of conversation is what people would do if they won the lottery. People often dream of winning it big any buying big houses, nice cars, and quitting their jobs. My brothers and I weren’t immune to this topic, however, we often would have another answer as to what to do with lottery winnings: put it in the bank and live off the interest.
|
|
Before I go into the details a quick announcement, we need to update some of our push servers. We will have a short amount of downtime on Sunday December 3rd around 8AM GMT. This update should be very fast and barely noticeable but it might impact some push message deliverability for a short period. Some of us will be on vacation around December but I’ll personally still work during the month. However, I won’t post regular blog updates un..
|
|
Today I used the rust pem crate to check whether a given file was or was not parseable as PEM encoded. PEM stands for Privacy Enhanced Mail. I learned that most ssh private keys are stored as PEM files and there are ED25519, ECDSA, RSA, and DSA types (maybe more but those are the ones I'm familiar with and read about a bit in the openssh source code). Still not clear on whether the public keys are in SSLEAY format or not. Also did some pair..
|
|
Today I used the rust pem crate to check whether a given file was or was not parseable as PEM encoded. PEM stands for Privacy Enhanced Mail. I learned that most ssh private keys are stored as PEM files and there are ED25519, ECDSA, RSA, and DSA types (maybe more but those are the ones I'm familiar with and read about a bit in the openssh source code). Still not clear on whether the public keys are in SSLEAY format or not. Also did some pair..
|
|
So as an exercise I wanted to make a rust struct with custom order and blog the process. I did this in my tealeaves project to get some data to group/sort by severity (errors then warnings then infos) and it worked nicely but it was mostly the derived implementations and I wanted to review. So let's make a basic Person struct (very similar to the example in the official rust docs, but we'll get fancier). struct Person { name: String, } fn....
|
|
So as an exercise I wanted to make a rust struct with custom order and blog the process. I did this in my tealeaves project to get some data to group/sort by severity (errors then warnings then infos) and it worked nicely but it was mostly the derived implementations and I wanted to review. So let's make a basic Person struct (very similar to the example in the official rust docs, but we'll get fancier). struct Person { name: String, } fn....
|
|
I ran across this one today. Microsoft's Visual Studio C++ compiler (MSVC) doesn't inline functions marked as inline, even when the function is only called once (has exactly one call site). A little background on inliners: The inliner is the part of the compiler that inlines function calls. For every function call site (function/procedure invocation) it needs to decide whether to inline the function there, replacing the function call ....
|
|
Each of us have our own giants to face. This is a story about one of my giants. Something I never imagined could make a grown man cry, until it did. A 3D camera. No one can face your giants for you. This is a story, not a walkthrough. Expect no useful information. For that I recommend 50 Game Camera Mistakes by thatgamecompany's John Nesky. His job title is literally "camera designer".
|
|
Lately, I’ve been taking advantage of Swift’s functional abilities where it makes sense to help me write concise and clear code that’s easy to test. I’d like to share one technique that has helped me to eliminate repetition and breakages of encapsulation in tests: function injection . In traditional dependency injection , an object that is dependended on is passed to the method that depends on it. Function injection is my name for follo....
|
|
Managers and team members often have common goals during the project lifecycle. All are interested in change, either technology, or process, or even business models. Independent of the final direction, there are some fundamental prerequisites to consider even prior the project start which sometimes requires a change in mindset and project set-up.
|
|
I spent a long time today trying to understand how the AsRef trait works. I failed. I was able to split my tealeaves project code out into a handful of files and more strongly model the filesystem checks as Enums in the type system. If you are printing filesystem permission octals, don't forget the {:o} format string. I find if I battle the compiler too long or just in general struggle to understand something, it drains me really quickl..
|