#infix — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #infix, aggregated by home.social.
-
Just in time for the weekend SinoVoip delivered both casing and an LTE module so I can pick up the modem branch of Infix OS again! 🎉
I know, I’m such a geek, but I really do believe in this little project to eventually replace #OpenWRT
-
Work in progress ... with the BPi-R4 support merged to Infix OS, it's high time for new cool features! 😎
-
Work in progress ... with the BPi-R4 support merged to Infix OS, it's high time for new cool features! 😎
-
Work in progress ... with the BPi-R4 support merged to Infix OS, it's high time for new cool features! 😎
-
Work in progress ... with the BPi-R4 support merged to Infix OS, it's high time for new cool features! 😎
-
Might have the best gig ever? I now get paid to read IEEE standards AND implementing them 🤩
-
Next stop for Infix OS before we maybe go visit a conference is to add 4G/LTE support (I know, but that’s all we can afford without corporate backing). Today we got access to the source code one of our customers use, so that should speed things up considerably 😎
I’m also working on the first WebUI but it’s slow since I’m no expert. Maybe it’s like they say, slow and steady wins the race?
-
Uh, spent the entire day debugging a random issue that only ever happens on our physical test rigs. None of the virtual (Qemu w/ qeneth) ones show it. Wasted the entire day on various theories so tomorrow I’m building my own physical test rig with some SBCs I’ve got at home.
-
Hope it'll be a fun weekend project! 😃 I also have another Banana Pi router board to add support for in #infix but that's background work and shouldn't be that hard since all of the device tree and driver work has been done already upstream.
-
Oh, and we merged Banana Pi BPi-R64 support today! 🎉 It's a bit older but still very capable, not to mention affordable little router.
-
On a mission to improve our blog, today I added some more bells a whistles to get post preview on social sites. Let's try it out here!
-
So we've since reverted now that we've learned about the new LTS cycles. A bit late, but at least before we did our release 😅
-
-
CW: Boring post about yet another network operating system, Infix OS.
Hope to soon share a blog post on how we've adopted and are now in progress to promote the #Banana_pi BPI-R3 to tier 1 status in #infix it's quite an affordable #SOHO switch/router and home gateway.
Infix?
Infix is a 100% YANG based OS for embedded (networked) devices that you can control remotely using #RESTCONF and #NETCONF
-
-
-
Amazing, my addition of DHCPv6 client support made it to Infix OS! Funnily enough, one of the regression tests I added for this was consistently failing on two of our HW test rigs. Turns out it was ... DNS. The clients tried to ping an fqdn where dnsmasq only returned an AAAA record. Things went smoother when I added a dummy A record 😄 (dummy = invalid IPv4 address).
-
-
-
So we made another release, nothing fancy, like the big operating systems out there. We just did another LTS bump of all critical components, fixed all the high-severity bugs, AND added support for yet another platform, the Banana Pi-R3 this time.
So, nothing spectacular, just plain boring stability that you'd expect from a critical load-bearing component in your stack.
-
Some things I'm especially proud of in plusminus (my Python package for parsing and evaluating infix notation arithmetic):
- |absolute value| expressions
- ° symbol as a unary postfix operator, to convert degrees to radians: sin(π/2) vs. sin(90°)
- exponents ² and ³
- √ and ³√ operators (both unary and binary, so you can write 2√2)
- mathematical constants e, π, φ, and τ
- set operators ∈, ∉, ∩, and ∪
- safe eval of untrusted inputs
Try it at https://ptmcg.pythonanywhere.com/plusminus
#python #parsing #infix -
Spent my last day of vacation updating the R2S to support secure boot and read-only rootfs to make it a pure citizen of #infix really great feeling when it started the locked down U-Boot verified the signature of the primary partition and booted up perfectly 😎✌️
-
Almost done porting #Infix to our first #riscv64 target, a #VisionFive2 so cool 😎
-
Great feeling to have lawn mowed, gravel walk cleaned, parts of jungle area in the back reclaimed. All while contemplating the .cfg file upgrade mechanism in #infix
-
Aaaaand done! Just like mum used to make em, crisp and clear right out of the oven at GitHub
Another amazing release by the team. This time the focus was on adding OSPFv2 + BFD and Docker containers. Quite a neat feature for a switch or router.
-
At least the Docker container support for #Infix was merged today. Super proud of our little operating system growing up 😍
-
CW: Створення операторів і стандартні оператори :haskell:.
У
Haskellможна оголошувати свої оператори. Вони можуть складатись з одного або кількох символів. Дозволяються наступні символи~!?.@#$%^&*-<=>+\|/. Також можна використовувати символ:, але він повинен розташовуватись у середині або кінці, не на початку.Оголошуються оператори в синтаксисі схожому на виклик
x *+* y = x^2 + y^2або можна використати префіксну форму
(*+*) x y = x^2 + y^2Примітка: Функції можна оголошувати в інфіксній формі.
ЗВЕРНІТЬ УВАГУ!: Усі оператори є бінарні окрім унарного мінуса який обовʼязково обгортають в круглі дужки.
Усі оператори мають пріоритети для правильної роботи, саме за їхньої допомоги вираз
2 + 2 * 2вичислюється правильно й результат дорівнюватиме6, а не8. Є десять рівнів пріоритету від нуля до девʼяти.Але що робити з кількома операторами якщо у них один пріоритет, це може бути кілька викликів одного оператора. Тут потрібно використати асоціативність. Є два види асоціативності ліва і права. Ліва асоціативність це коли оператори застосовуються по черзі зліва на право, а права навпаки.
(2 + 1) - 5 -- ліва 2 + (1 - 5) -- праваОголошується асоціативність оператора за допомоги ключових слів:
infixl- ліваinfixr- праваinfix- відсутня
Якщо асоціативність відсутня, то такий оператор не можна викликати кілька раз або з іншими операторами того ж пріоритету в одному виразі.
Вказується асоціація і пріоритет у такому синтаксисі
infix[rl] <prio> <operator>. Вказується це, або до, або після оголошення самого оператора, але в інтерпретаторі це мусе бути одним рядком, тому їх потрібно розділити крапкою з комою.infixl 7 +** a +** b = a^2 + b^2Якщо цього не вказати, то оператор матиме ліву асоціативність і девʼятий, найвищий, пріоритет.
Дізнатись цю інформацію про оператор можна за допомоги команди інтерпретатора
info.ghci> infixl 7 +**; (+**) a b = a^2 + b^2 ghci> 5 +** 4 41 ghci> :i (+**) (+**) :: Num a => a -> a -> a -- Defined at <interactive>:1:15 infixl 7 +**Якщо явно не вказати
infix, то й у виводі цієї команди не буде такої інформації.У
Haskellнемає вбудованих операторів. Всі стандартні оператори оголошені в стандартній бібліотеці. Є такі стандартні оператори.infixr 8 ^, `` infixl 7 *, /, `div`, `mod` infixl 6 +, - infix 4 ==, /=, <, <=, >=, >Це не всі, але інші ми розглянемо пізніше. Оператор
``це оператор виклику функції в інфіксному форматі. Виклик функції у префіксному вигляді має праву асоціативність і девʼятий пріоритет./=це оператор не рівності, в інших мовах зазвичай він виглядає!=. Оператори порівняння не мають асоціативності, тому їх не можна обʼєднувати в ланцюжок.#програмування #haskell #hs #оператори #створення #оголошення #асоціативність #пріоритети #стандартні #стандартна #бібліотека #інтерпретатор #ghci #infix #infixl #infixr #виклик #функції #функцій #префіксна #інфіксна #форми
-
CW: Створення операторів і стандартні оператори :haskell:.
У
Haskellможна оголошувати свої оператори. Вони можуть складатись з одного або кількох символів. Дозволяються наступні символи~!?.@#$%^&*-<=>+\|/. Також можна використовувати символ:, але він повинен розташовуватись у середині або кінці, не на початку.Оголошуються оператори в синтаксисі схожому на виклик
x *+* y = x^2 + y^2або можна використати префіксну форму
(*+*) x y = x^2 + y^2Примітка: Функції можна оголошувати в інфіксній формі.
ЗВЕРНІТЬ УВАГУ!: Усі оператори є бінарні окрім унарного мінуса який обовʼязково обгортають в круглі дужки.
Усі оператори мають пріоритети для правильної роботи, саме за їхньої допомоги вираз
2 + 2 * 2вичислюється правильно й результат дорівнюватиме6, а не8. Є десять рівнів пріоритету від нуля до девʼяти.Але що робити з кількома операторами якщо у них один пріоритет, це може бути кілька викликів одного оператора. Тут потрібно використати асоціативність. Є два види асоціативності ліва і права. Ліва асоціативність це коли оператори застосовуються по черзі зліва на право, а права навпаки.
(2 + 1) - 5 -- ліва 2 + (1 - 5) -- праваОголошується асоціативність оператора за допомоги ключових слів:
infixl- ліваinfixr- праваinfix- відсутня
Якщо асоціативність відсутня, то такий оператор не можна викликати кілька раз або з іншими операторами того ж пріоритету в одному виразі.
Вказується асоціація і пріоритет у такому синтаксисі
infix[rl] <prio> <operator>. Вказується це, або до, або після оголошення самого оператора, але в інтерпретаторі це мусе бути одним рядком, тому їх потрібно розділити крапкою з комою.infixl 7 +** a +** b = a^2 + b^2Якщо цього не вказати, то оператор матиме ліву асоціативність і девʼятий, найвищий, пріоритет.
Дізнатись цю інформацію про оператор можна за допомоги команди інтерпретатора
info.ghci> infixl 7 +**; (+**) a b = a^2 + b^2 ghci> 5 +** 4 41 ghci> :i (+**) (+**) :: Num a => a -> a -> a -- Defined at <interactive>:1:15 infixl 7 +**Якщо явно не вказати
infix, то й у виводі цієї команди не буде такої інформації.У
Haskellнемає вбудованих операторів. Всі стандартні оператори оголошені в стандартній бібліотеці. Є такі стандартні оператори.infixr 8 ^, `` infixl 7 *, /, `div`, `mod` infixl 6 +, - infix 4 ==, /=, <, <=, >=, >Це не всі, але інші ми розглянемо пізніше. Оператор
``це оператор виклику функції в інфіксному форматі. Виклик функції у префіксному вигляді має праву асоціативність і девʼятий пріоритет./=це оператор не рівності, в інших мовах зазвичай він виглядає!=. Оператори порівняння не мають асоціативності, тому їх не можна обʼєднувати в ланцюжок.#програмування #haskell #hs #оператори #створення #оголошення #асоціативність #пріоритети #стандартні #стандартна #бібліотека #інтерпретатор #ghci #infix #infixl #infixr #виклик #функції #функцій #префіксна #інфіксна #форми
-
Trying to put together some material for a series of workshops on #infix there’s so much to cover but it’ll be mostly about #buildroot since that’s what we’re building on.
There’s something to be said about building on a solid foundation. But when you know, you know.
-
We also opened up the public project plan and roadmap for #infix today. We’ll be moving more private stuff here, and some new customers will be having direct access to the board.
-
Container support v1 in #infix is almost done. Only one little thing to address in the YANG model and a couple more regression tests.
First demo for end customer Thursday 😎
-
I mean, it’s near impossible to learn and understand all the nuances of YANG. Spent the better part of the afternoon trying to figure out a basic replacement deviation.
But hey, the alternative would be even worse. I’d much rather spend my time modelling my system than debugging if statements and custom regexps in my C code.