Profile cover photo
Profile photo
Baptiste Pizzighini
37 followers -
Full-stack developper, software architect, business-aware hacker, but customer-centric evangelist above all.
Full-stack developper, software architect, business-aware hacker, but customer-centric evangelist above all.

37 followers
About
Posts

Post has attachment
Monads can help solve certain classes of problems in a uniform way. We’ve had a look at this from a syntactic perspective. Rather than complicating language designs and grammars with additional features, we embed these problems in a Monadic framework, resulting in more economic notation, that, in addition to the problems mentioned above, can be adapated to additional situations.
Add a comment...

Post has attachment
Google’s UX research team has come up with the Google HEART framework to measure the quality of user experience.

The framework is described as a set of user-centered metrics for web applications which can help measure progress towards key goals and product-related decisions.
Add a comment...

Post has attachment
Presenting ideas is a learned skill, we develop it over time from interactions with others, discussions and debates, watching talks at conferences and attending meet-ups.

As senior engineers, it’s important for us to help engineers around us develop this skill

[...] the senior engineer asks the junior engineer what the problem is they’re trying to solve – this approach is the Socratic method.
Add a comment...

Post has attachment
One particular decision that we almost always have to make when we’re starting with the development of an application is how to handle state in application. Choosing the best way to handle state is inevitable. The thing with JavaScript is that there is a double-digit number of potential solutions [...].

We are still in the chaotic phase of shifting paradigms in the frontend world, therefore new libraries for state management are emerging every day. In all this chaos one solution blazed out — enter Redux.
Add a comment...

Post has attachment
Windows is live on Git

[...] the Windows code base is approximately 3.5M files and, when checked in to a Git repo, results in a repo of about 300GB. Further, the Windows team is about 4,000 engineers and the engineering system produces 1,760 daily “lab builds” across 440 branches in addition to thousands of pull request validation builds [...]

The largest Git repo on the planet
The largest Git repo on the planet
blogs.msdn.microsoft.com
Add a comment...

Post has attachment
P got its start in Microsoft software development when it was used to ship the USB 3.0 drivers in Windows 8.1 and Windows Phone. These drivers handle one of the most important peripherals in the Windows ecosystem and run on hundreds of millions of devices today. P enabled the detection and debugging of hundreds of race conditions and Heisenbugs early on in the design of the drivers, and is now extensively used for driver development in Windows.

Early positive experience with P in the Windows kernel led to the development of P#, a framework that provides state machines and systematic testing via an extension to C#. In contrast to P, the approach in P# is minimal syntactic extension and maximal use of libraries to deliver modeling, specification and testing capabilities.
Add a comment...

Post has attachment
Designed by Saint Petersburg-based engineers at JetBrains, a company that builds tools for developers, Kotlin was intended to improve on the shortcomings of Java (the dominant language for Android) while being completely interoperable with it, meaning you could switch to Kotlin mid-project without having to rewrite old Java code.
Add a comment...

Post has attachment
A 10x programmer is, in the mythology of programming, a programmer that can do ten times the work of another normal programmer, where for normal programmer we can imagine one good at doing its work, but without the magical abilities of the 10x programmer.

Actually to better characterize the “normal programmer” it is better to say that it represents the one having the average programming output, among the programmers that are professionals in this discipline.

The programming community is extremely polarized about the existence or not of such a beast: who says there is no such a thing as the 10x programmer, who says it actually does not just exist, but there are even 100x programmers if you know where to look for.
Add a comment...

Post has attachment
#Javascript doesn't have types, and doesn't enforce immutability, so the following things tend to happen in almost every project I've come across:

1/ The first version is (most of the time) clean and simple. Well chosen libraries being used with the best practices.

2/ As a project grows, big refactorings begin to become more and more "dangerous". There's always the risk of having a runtime error that was not caught in dev, and will be caught in production.

3/ New changes, then, become small refactorings, mostly thin layers of code over previous code. A lot of null / undefined testing takes place, unit tests are corrected, and new ones are written.

These thin layers of code end up adding bits of complexity to the code. At first it's manageable, but, months later, the project starts getting more and more difficult to change. The worst effect on these projects is losing reliability and safety: we are not sure the application does what we want it to do, and we are not sure if any hidden bugs will make it to production.
Add a comment...

Post has attachment
Early on, #Rust had a “green threading” model, not unlike #Go’s. [...]

The problem is that green threads were at odds with Rust’s ambitions to be a true C replacement, with no imposed runtime system or FFI costs: we were unable to find an implementation strategy that didn’t impose serious global costs. [...]

So if we want to handle a large number of simultaneous connections, many of which are waiting for I/O, but we want to keep the number of OS threads to a minimum, what else can we do?
Asynchronous I/O is the answer – and in fact, it’s used to implement green threading as well. [...]

The problem is that there’s a lot of painful work tracking all of the I/O events you’re interested in, and dispatching those to the right callbacks (not to mention programming in a purely callback-driven way). [....]

That’s one of the key problems that futures solve.
Add a comment...
Wait while more posts are being loaded