A Medium publication run by Gitconnected with articles by many authors on programming, cloud, careers, and software trends.
HN links individual posts on Lambda, ETags, GPT-4 and Rust microservices. One commenter says they chose it as a publishing platform for embedded code gists.
This is a great article & accurate in so many ways. We are lucky to have such great writing & distillation of the times as this; a fine treasure. This pairs very well & adds a lot of context to "What I want from the Internet"[1], which was submitted yesterday & which I am also very aglow over.
Both the rise of platforms & the smartphone are tightly interwoven around a new connected axis of computing emerging & being useful. McThrow somewhat generously includes the web in his "personal computing" vision but alas, even as a huge web fan, it's pretty clear that the brief "intertwingularizing" moment (which was extremely pro user) was giving way to Service as a Software Substitute (SaaSS), to a de-personalized experience. The relevance of desktop faded, and relevance faded because users were well served by new connected services. Software effervescing, sublimating up into the cloud made it easier to share, made it easier to access to demand, freed us from worrying about backups.
I think this is one of the critical junctures that Linux and the rest of the Desktops has failed to internalize, as a new need: the need to be connected. The need to be more than just isolated personal, the need to be available, the need to be connectable. I don't know quite what this future looks like or what it implies, but the "Linux on the desktop" spoke of competition with an outmoded, fading mode of computing. What was really needed was a further push onward, was a backbone for inter-app systems…
Ultimately, the value prop of a tool like Graphiti or GraphQL is independent of the exact details of the wire format.
Graphiti uses JSON:API[1] under the hood as its protocol, which is a language-independent protocol with a wide variety of clients[2], and is now built-in to Drupal[3].
I designed JSON:API in ~ 2013 with a narrow purpose: to describe a protocol for incrementally communicating with server-side graphs over HTTP.
By incremental, I mean the possibility of fetching exactly the data you need at first, but then slowly filling in more data over time as a user interacts with an application.
URLs are a great "internet pointer", so when I was looking for a way to link fetched data with other not-yet-fetched data, URLs were the natural answer. On the other hand, a lot of REST APIs at the time didn't have a good way to eagerly send a whole bunch of graphy data down at once.
JSON:API's concept of linkage supports both models: a type/id pair for data the client already knows about and a URL for data it doesn't. You can even combine the two, to enable incremental refreshing of a piece of data that you fetched as part of the first request (simply by hitting the URL).
JSON:API was designed to work well with many kinds of client-side approaches, including ORMs. This meant using a composite key of type/id to identify records and not just a single ID. Over time, this has become a best practice for other tools in the space[4][5]
OData exists in a similar space as JSON:API,…
Alex Ellis here - the author of Inlets and OpenFaaS.
If you want to work on Open Source as a full-time career, the best option is to find a company that is working on or invested in an OSS project and join that team.
Examples: VMware contribute heavily to Kubernetes. As do Azure, and a myriad of other companies from large to small. I tried this option, it has pros and cons, if you go for this one, let's hope you like politics and corporate jargon.
The question is - what does "full time open source" mean to you? To me, it means work on independent projects. Unfortunately that alone is not financially sustainable in the long term. You may be able to drain down your savings for a few months, but then you're going to be left feeling a little down and out.
Options for independent OSS work are a little rough, read this from 2019 if you're a project lead and think that somehow the community or users will pay your way just because they use the software in critical systems, spoiler - they won't - the reason they are using your software is because it's free: https://blog.alexellis.io/the-5-pressures-of-leadership/
If you have your own projects that you want to work on, you'll need to find a revenue stream.
This is what I wrote up for those considering going independent: "What you need to know before you go freelance" - https://levelup.gitconnected.com/what-you-need-to-know-before-you-go-freelance-259bd9d4b2d1
Options which clearly do not work: sponsorship, donations, asking…
As someone who doesn't follow his blog, my summary is: "lots of people have 'weird' interests. I think Smalltalk is the best programming language. It's so good it can help save the world."
Sure, there might be explanations elsewhere, just like there are evangelists for Lisp ... or Perl 6. And with similar arguments.
Take http://flownet.com/gat/jpl-lisp.html from 2002 as an example:
> I did try to introduce Lisp to Google. Having had some experience selling Lisp at JPL I got all my ducks in a row, had a cool demo going, showed it to all the other members of the ads team, and had them all convinced that this was a good idea. The only thing left was to get approval from the VP of engineering. The conversation went something like this:
Me: I'd like to talk to you about something...
Him: Let me guess - you want to use Smalltalk.
Me: Er, no...
Him: Lisp?
Me: Right.
Him: No way.
That was 17 years ago! Any essay which doesn't take into account the "Lisp-weenie" stereotype (see http://wiki.c2.com/?SmugLispWeenie ) is preaching to the choir.
I ended up putting this essay into the pile of other advocacy-for-language-X pieces I've read, with no interest in reading other blog postings.
But I did anyway. https://medium.com/@richardeng/how-does-python-make-thinking-in-code-easier-35a4dbb94711 ("Pythonistas will also tell you that Python’s syntax reads like English"). 1) It's a strawman argument, as I'm a Pythonista and I don't say that, and 2) AppleScript is…
Thanks for the kind words! QuestDB co-founder here - one example in fintech where you are polling multiple end points simultaneously for market data acquisition. You can think of multiple financial exchanges sending the data, but the latency varies for each venue. This is a great article written by one of our contributors about ingesting data from multiple crypto exchanges at the same time [1]. Many firms in financial services and fintech use QuestDB [2]
Another would be a manufacturing firm with thousands of sensors sending data to the database continuously, latency and delivery mechanism mean that timestamps often arrive out of order. There is a case study we did with CNC machines manufacturer DATRON [3].
Tracking moving vehicles (say cars, ships, drones, planes) on a map where the two primary axis are time and space - if you want to see the position of those vehicles in the past, you want to have the timestamps ordered.
Finally you can think of typical devops/monitoring/alerting use cases. Verizon uses QuestDB to monitor metrics for autoscaling decision to their Vespa engine that provides search, recommendation, and personalization to their users [4]. Here you want the series to be ordered by time.
[1] https://levelup.gitconnected.com/tracking-multiple-cryptocurrency-exchanges-using-a-timeseries-database-6b13cc7e8490
[2] https://www.tradersinsight.news/ibkr-quant-news/optimizing-time-series-databases-for-machine-learning/
[3]…
I have developed a simple simulator [0] to estimate the theoretical power received by the target for a given hardware configuration:
- the global position on the planet
- the date and time
- the size and position of some background elements
- the number, size and position of the panels in the grid
The solar power estimation uses :
- the Python code provided in this article [1] to estimate position of the sun (thank you John Clark Craig)
- the simplified formula [2] to estimate the direct insolation from the sun position
- a custom light projection implemented using Panda3D game engine [3]
[0] https://github.com/remipch/solar_concentrator/blob/master/software/simulator/README.md
[1] https://levelup.gitconnected.com/python-sun-position-for-solar-energy-and-research-7a4ead801777
[2] https://en.wikipedia.org/wiki/Direct_insolation#Simplified_formula
[3] https://www.panda3d.org/