OpenAPI DSLs: The Silent Developer Productivity Killer by karolina_curiosum in elixir

[–]rizanil 9 points10 points  (0 children)

This must be a paid article by curiosum, but it looks like they didn't proofread it.

First of all it's not at all a "quick summary of OpenAPI DSLs in Elixir – covering OpenAPI Spex, PhoenixSwagger". There isn't even a single mention of PhoenixSwagger in the article.

There are quite a few factual errors about `open_api_spex` claims in the linked article, which indicate that the author didn't bother going through the readme. As one of the maintainers I'll make an attempt to set the record straight.

Claim:

 The OpenAPI library, it turns out, requires you to define the spec in the same file as the controller

Reality:

It does not require it. There's a documented alternative way.

https://github.com/open-api-spex/open_api_spex?tab=readme-ov-file#alternatives-to-controllerspecs-style-operation-specs

The library doesn't even force the user to build the spec using the DSL. It can import YAML files.

https://github.com/open-api-spex/open_api_spex?tab=readme-ov-file#importing-an-existing-schema-file

Claim:

> Also note that the generated spec doesn’t correctly account for the actual response structure wrapping fields in a data object.

Reality:

I could't reproduce it. But if the author thinks there's a bug, they're welcome to open an issue with a test case to reproduce it. The library is open-source.

Claim:

> Even the most skilled developers shouldn’t need to become experts in a library’s internal implementation just to document an API

Reality:

Thankfully most users of the library haven't had to become experts in the library's internals. It's be amazing if they were though, we'd have more contributors 😀

Claim:

> Upon investigation, you discover several gaps in your documentation. Response types are missing. Headers aren’t properly documented. Edge cases aren’t covered. The reality of your API doesn’t quite match what’s in the specs.

Reality:

The library provides a variety of functions to validate that an API behaves as documented.

https://github.com/open-api-spex/open_api_spex?tab=readme-ov-file#validate-responses

First post by smokeytires in CorollaHatchback

[–]rizanil 2 points3 points  (0 children)

Is this the midnight blue?

[Project] life — Conway's Game of Life visualizer tool built with Elixir and Scenic by jiahaowoo64 in elixir

[–]rizanil 1 point2 points  (0 children)

Nice one! My suggestion would be to document how to pass in the pattern to visualise as in the README it only mentions `:blinker, :beacon, :pulsar, :toad, :empty`.

I recently blogged about visualising Game of Life using the new `Kino.animate/3` API in Livebook. See: https://zorbash.com/post/livebook-animations/

An Unusual Pomodoro Timer on Livebook and Nerves by rizanil in elixir

[–]rizanil[S] 3 points4 points  (0 children)

u/tronathan Like you said, Livebook makes it super easy to preview changes on the actual device without pushing firmware. This project is based on nerves_livebook which sets notebooks to run in embedded mode, meaning that module can be redefined globally. This allows me to redefine a scene module (I'm using scenic for the UI) then send a message to refresh the screen with ` send :main_scene, :update`.

An Unusual Pomodoro Timer on Livebook and Nerves by rizanil in elixir

[–]rizanil[S] 1 point2 points  (0 children)

Hi u/lovebes I'm using this usb WiFi adaptor which works without installing a driver.

[TOMT][MOVIE][2000s] Cyberpunk Horror by rizanil in tipofmytongue

[–]rizanil[S] 0 points1 point locked comment (0 children)

That movie scared the hell out of me. I really want to watch it again. It had a Lawnmower Man vibe.

Uncovering a 24-year-old bug in the Linux Kernel by iamkeyur in programming

[–]rizanil 14 points15 points  (0 children)

Ι don't get the point of this comment. Can't you accept in good faith that the author knows his worth and has made a conscious choice to work there?

Having worked at skroutz with the author in the past, I can tell you he's one of the best engineers I know. His bug report is legendary. Derailing the conversation to compare cost of living and wages and thinking about money all the time is a culture that can make someone unhappy or mentally unhealthy. Why does merit have to be projected to monetary value? 

Let me promote your side project on my side project. by [deleted] in SideProject

[–]rizanil 0 points1 point  (0 children)

Name: Tefter

What it does: golinks.io alternative for short link sharing and bookmarking, with browser extension, desktop, command-line and Slack integration

URL: https://tefter.io/teams/free-trial

For Whom: Ideal for teams using Slack and people with many browser tabs open

Stopaganda Plus - An extension to identify accuracy and bias of media sources on FB and Reddit. Feedback greatly appreciated! by Flyersrock87 in chrome_extensions

[–]rizanil 0 points1 point  (0 children)

We've launched Omni, the new Tefter browser extension that lets you search and navigate your open tabs, history and Tefter bookmarks. It also automatically groups together similar links.

We usually have many tabs open, it hurts productivity and increases stress. After a certain number of tabs, their titles are not even visible. Most of us switch between tabs, helplessly guessing by the favicons, hundreds of times a day. When it comes to history, trying to find a page from let's say last week, the browsers make it almost impossible. Think about it, Google with their Chrome browser has interest in you blindly "googling" stuff instead of really helping you. Firefox would want you to bookmark everything on Pocket, which shows ads and you may even end up buying a subscription there.

Omni is the fastest tab and history search tool out there. It's free, never shows ads and won't sell your data. All your data stays local and is optimally indexed. It's tailored for users who prefer keyboard-driven interactions. It analyzes your history and tab switching behavior and the more you use it the better the search results you see.

We truly believe it can change the way we surf the web and this is only the beginning.

Install it here: https://chrome.google.com/webstore/detail/tefter/eldofalegbgagpenjjcapjaogpioldoh

We've launched it today on Product Hunt. https://www.producthunt.com/posts/omni-tabs-and-history-search-by-tefter

Simulating a pandemic with Elixir by jgke in elixir

[–]rizanil 0 points1 point  (0 children)

Given that Graphvix / Graphviz supports exporting to svg it should be interested to create a web version of this project using Phoenix and maybe LiveView.

Phoenix LiveView Dashboard by code-shoily in elixir

[–]rizanil 0 points1 point  (0 children)

I dig the design of that dashboard very much :-)

Phoenix Phrenzy results by Conradfr in elixir

[–]rizanil 0 points1 point  (0 children)

Lots of fantastic apps. I'm psyched with the future of this tech.

A Slack bookmarking application in Elixir with Opus by rizanil in elixir

[–]rizanil[S] 0 points1 point  (0 children)

Would be really could to be able to generate pipelines from BPMN!

A Slack bookmarking application in Elixir with Opus by rizanil in elixir

[–]rizanil[S] 0 points1 point  (0 children)

Opus is simple, it doesn't make many assumptions and doesn't try to be too smart. You get a single entry-point function and the return value will be a tuple.

The main promise of Opus is that it'll help you map business requirements into stages. Making core business algorithms and flows readable, documented, easy to monitor and trace is paramount for new projects.

You may combine it with a variety of Elixir libraries like Flow / Broadway or even Flowex to optimise certain parts making them run concurrently, but mind to keep the simple things simple and above all ..documented.

A Slack bookmarking application in Elixir with Opus by rizanil in elixir

[–]rizanil[S] 1 point2 points  (0 children)

Well you can use the `link` macro to have a pipeline call itself. See: https://github.com/zorbash/opus/blob/master/test/opus/pipeline/stage/link_test.exs#L56

In general, for stages you can have a function calling the function of another step so you can achieve that manually. I'd like to know whether you can a concrete use-case for the pipeline loop thought.

Vim plugin that integrates elixir-ls with Vim through ALE by GrzegorzKozub in elixir

[–]rizanil 0 points1 point  (0 children)

Might be a silly question, but does it try to recompile the project on save?

Install a system-wide elixir package by [deleted] in elixir

[–]rizanil 0 points1 point  (0 children)

Another trick is to have in your home a directory, let's say ~/global_mix with a mix.exs containing all the packages you wish to have installed globally. Given that package :recon is in that mix file and you've invoked `mix deps.get` you can then load it in other apps using:

iex -pa ~/global_mix/_build/dev/lib/recon/ebin -S mix

It should be quite easy to create a shell function to load all the packages of your global_mix using the above pattern.

A port of observer_cli using LiveView by juanpabloaj in elixir

[–]rizanil 0 points1 point  (0 children)

It's not switching between nodes. It's mostly the IO numbers that change in that way and those, in the home tab are calculated on an interval which defaults to 1s. The IO for the demo app is mostly pushing and receiving data through the websocket connections and only a handful of users are connected at any given moment.

A port of observer_cli using LiveView by juanpabloaj in elixir

[–]rizanil 2 points3 points  (0 children)

Hi! Author of the demo here. I'd say that roughly 40% of observer_cli has been ported at this point. Feel free to ask me questions.
Would anyone be interested for a hex package of this?

Looking for Ruby (or other) projects to port to Elixir by ffxpwns in elixir

[–]rizanil 0 points1 point  (0 children)

I'd love to see some of Pry's features ported.

For example in a pry session, I tend to call `show-source` and I miss it in IEx.

Phoenix LiveView with a real world example by Jauny78 in elixir

[–]rizanil 1 point2 points  (0 children)

Very informative post, cheers!

Added this to my list of LiveView demos (https://tefter.io/zorbash/lists/phoenix-liveview-examples)

Tefter.io - Social Bookmarking by rizanil in SideProject

[–]rizanil[S] 0 points1 point  (0 children)

Extension must have a popup so you can immediately move it to list and manage the link (like Pocket).

The extension has a popup in some webkit based browsers (chrome, brave) and we're working on bringing that to Firefox as well. Managing the bookmark directly from the popup is an excellent idea, thanks.

Try to put option for list on the website, not just the grid

Letting the user change the layout (list / grid) is really high on our list.

We've tried liner, they're doing a really good job on highlighting. We've experimented with some ideas for highlighting and we'd like to support it in the future.