Tumgik
#opensource
engineering · 10 months
Text
StreamBuilder: our open-source framework for powering your dashboard.
Today, we’re abnormally jazzed to announce that we’re open-sourcing the custom framework we built to power your dashboard on Tumblr. We call it StreamBuilder, and we’ve been using it for many years.
First things first. What is open-sourcing? Open sourcing is a decentralized software development model that encourages open collaboration. In more accessible language, it is any program whose source code is made available for use or modification as users or other developers see fit.
What, then, is StreamBuilder? Well, every time you hit your Following feed, or For You, or search results, a blog’s posts, a list of tagged posts, or even check out blog recommendations, you’re using this framework under the hood. If you want to dive into the code, check it out here on GitHub!
StreamBuilder has a lot going on. The primary architecture centers around “streams” of content: whether posts from a blog, a list of blogs you’re following, posts using a specific tag, or posts relating to a search. These are separate kinds of streams, which can be mixed together, filtered based on certain criteria, ranked for relevancy or engagement likelihood, and more.
On your Tumblr dashboard today you can see how there are posts from blogs you follow, mixed with posts from tags you follow, mixed with blog recommendations. Each of those is a separate stream, with its own logic, but sharing this same framework. We inject those recommendations at certain intervals, filter posts based on who you’re blocking, and rank the posts for relevancy if you have “Best stuff first” enabled. Those are all examples of the functionality StreamBuilder affords for us.
So, what’s included in the box?
The full framework library of code that we use today, on Tumblr, to power almost every feed of content you see on the platform.
A YAML syntax for composing streams of content, and how to filter, inject, and rank them.
Abstractions for programmatically composing, filtering, ranking, injecting, and debugging streams.
Abstractions for composing streams together—such as with carousels, for streams-within-streams.
An abstraction for cursor-based pagination for complex stream templates.
Unit tests covering the public interface for the library and most of the underlying code.
What’s still to come
Documentation. We have a lot to migrate from our own internal tools and put in here!
More example stream templates and example implementations of different common streams.
If you have questions, please check out the code and file an issue there.
5K notes · View notes
nixcraft · 1 year
Text
The best free software
Tumblr media
1K notes · View notes
adafruit · 1 year
Text
this is what we do -
619 notes · View notes
nikjag · 10 months
Text
sometimes i dont like talking about projects with people because theyll be like "hey why dont you monetize that?" or "hey why dont you turn that into a business?" like no man it being free to use for anybody is like half the reason why i made that thing
not everything made has to have monetary value sometimes u can just be silly for the sake of being silly or make for the sake of making let me do opensource software in peace ok thanks
307 notes · View notes
sentientcitysurvival · 6 months
Text
Basic Linux Security
Install Unattended Upgrades and enable the "unattended-upgrades" service.
Install ClamAV and enable "clamav-freshclam" service.
Install and run Lynis to audit your OS.
Use the "last -20" command to see the last 20 users that have been on the system.
Install UFW and enable the service.
Check your repo sources (eg; /etc/apt/).
Check the /etc/passwd and /etc/shadow lists for any unusual accounts.
User the finger command to check on activity summaries.
Check /var/logs for unusual activity.
Use "ps -aux | grep TERM" or "ps -ef | grep TERM" to check for suspicious ongoing processes.
Check for failed sudo attempts with "grep "NOT in sudoers" /var/log/auth.log.
Check journalctl for system messages.
Check to make sure rsyslog is running with "sudo systemctl status rsyslog" (or "sudo service rsyslog status") and if it's not enable with "sudo systemctl enable rsyslog".
Perform an nmap scan on your machine/network.
User netstat to check for unusual network activity.
Use various security apps to test you machine and network.
Change your config files for various services (ssh, apache2, etc) to non-standard configurations.
Disabled guest accounts.
Double up on ssh security by requiring both keys and passwords.
Check your package manager for any install suspicious apps (keyloggers, cleaners, etc).
122 notes · View notes
tamapalace · 1 year
Text
OpenTama & TamaLib Open Source Tamagotchi Platform
Tumblr media
The Tamagotchi Original might already be back on shelves for quite some time already, but that hasn’t stopped some fans from transplanting the programming of the Tamagotchi Original into modern hardware. A small group of enthusiasts have been reviewing ROM dumps of the original hardware ever since they began floating around the internet a couple of years ago, even without the real thing they could run these virtual pets in an emulator.
The software platform is JC’s platform named TamaLib, an open source emulator that allows the Tamagotchi ROM to run on a variety of modern hardware platforms. OpenTama is not limited to TamaLib software, open-source general-purpose platform. OpenTama’s GitHub page its the way to go if you would like to get your hands on the software.
undefined
youtube
Although the project pictured above features the reimplementation of the original Tamagotchi, with an egg-sized PCB sporting an STM32 microcontroller driving an LCD display, powered by a 100 mAH battery that can be recharged through USC-C, love that! The hardware project is named OpenTama, which is a portable hardware platform that runs an emulated version of the original Tamagotchi P1 software. Be sure to check out the full article here!
185 notes · View notes
sakuraswordly · 23 days
Text
Tumblr media
22 notes · View notes
solarpunks · 2 years
Video
vimeo
Plant Machete by David Bowen 
This installation enables a live plant to control a machete. plant machete has a control system that reads and utilizes the electrical noises found in a live philodendron. The system uses an open source micro-controller connected to the plant to read varying resistance signals across the plant’s leaves. Using custom software, these signals are mapped in real-time to the movements of the joints of the industrial robot holding a machete. In this way, the movements of the machete are determined based on input from the plant. Essentially the plant is the brain of the robot controlling the machete determining how it swings, jabs, slices and interacts in space.
Tumblr media
404 notes · View notes
linuxscoop · 6 months
Text
MX Linux 23 Xfce Edition Customization
Tumblr media
Hey there, fellow Linux enthusiasts! Are you ready to take your MX Linux 23 Xfce Edition experience to the next level? 🚀
In this journey, we're diving deep into the world of customization, leveraging the fantastic features of MX Linux 23 Xfce, including the Xfce desktop 4.18 series. It's time to make your Linux environment uniquely yours. 🖥️
But here's the real kicker: this isn't just for MX Linux 23 Xfce users. We've got you covered, no matter if you're using Debian-based distributions, Fedora-based distributions, or Arch-based distributions. You can get our comprehensive documentation here: Download Documentation. 🔗
Tumblr media
Here's what we have in store for you:
🎥 Video Final Result: Witness the stunning transformation in our final result video: Video Final Result.
📹 Video Tutorial Step-by-step: Follow along step by step and master the art of MX Linux 23 Xfce Edition customization: Video Tutorial Step-by-step.
🛠️ Video Additional Setups: Take your customization to the next level with additional setup tips and tricks: Video Additional Setups.
💾 Download Resource Files: Grab essential resource files to enhance your MX Linux 23 Xfce experience: Download Resource Files.
🖼️ Download Default Wallpaper: Add a touch of personalization with our default wallpaper: Download Default Wallpaper.
Get ready to make your MX Linux 23 Xfce Edition desktop truly your own. Let's unleash the full potential of your Linux journey together! 🔓
35 notes · View notes
komanda · 10 months
Text
StreamBuilder: наш фреймворк с открытым исходным кодом для вашей ленты
С огромной радостью спешим вам сообщить, что открываем доступ к исходному коду пользовательского фреймворка, который мы создали для обеспечения работы вашей ленты Tumblr. Мы назвали его StreamBuilder и используем его уже много лет.
Для начала: что такое открытый исходный код? Открытый исходный код — децентрализованная модель разработки программного обеспечения, поощряющая открытое сотрудничество. Проще говоря, это любая программа, исходный код которой доступен для использования или модификации по усмотрению пользователей или других разработчиков.
Что же такое StreamBuilder? Каждый раз, когда вы попадаете на вкладки ленты "Подписки" или "Для вас", в результаты поиска, посты блога, список постов по тегам или даже смотрите рекомендуемые блоги, вы используете этот фреймворк. Если вы хотите углубиться в код, он к вашим услугам здесь, на GitHub!
В StreamBuilder реализовано очень многое. Основная архитектура выстроена вокруг "потоков" контента, будь то посты из блога, список блогов, на которые вы подписаны, посты по определённому тегу или посты, похожие на искомый запрос. Это отдельные виды потоков, которые можно смешивать между собой, фильтровать по разным критериям, ранжировать по релевантности или вероятности вовлечения и т. д.
В своей ленте Tumblr вы можете увидеть посты из блогов, на которые вы подписаны, вперемешку с рекомендуемыми блогами и постами по тегам, на которые вы подписаны. Это всё отдельные потоки с собственной логикой, но одним и тем же фреймворком. Мы вводим периодические рекомендации, фильтруем посты в зависимости от того, кого вы заблокировали, и ранжируем посты по релевантности, если у вас включена функция "Сначала лучшее". Это всё примеры функциональных возможностей, которые нам даёт StreamBuilder.
Итак, что входит в комплект?
Полная библиотека кода фреймворка, с помощью которой мы поддерживаем практически все потоки контента, который вы видите в Tumblr.
Синтаксис YAML для создания потоков контента, а также их фильтрации, внедрения и ранжирования.
Абстракции для программного составления, фильтрации, ранжирования, внедрения и отладки потоков.
Абстракции для объединения потоков — например, с помощью каруселей для "потоков внутри потоков".
Абстракция для курсорной разбивки на страницы для сложных шаблонов потока.
Модульные тесты, охватывающие публичный интерфейс библиотеки и большую часть базового кода.
Над чем мы ещё работаем
Документация. Нам нужно многое перенести из наших внутренних инструментов и добавить сюда!
Больше шаблонов потоков и примеров реализации распространённых видов потоков.
Если у вас возникли вопросы, ознакомьтесь с кодом на этой странице и задайте свой вопрос там.
42 notes · View notes
techpaathshala · 1 year
Text
Unlock the full potential of Git and take control of your code with our concise and effective ultimate cheat sheet!
Check out daily such informative post also if you find it useful do like and share it👌 👩‍💻😎
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
114 notes · View notes
nixcraft · 2 months
Text
I love ffmpeg
Tumblr media
FFmpeg is a free and open-source software project consisting of a suite of libraries and programs for handling video, audio, and other multimedia files and streams. At its core is the command-line ffmpeg tool itself, designed for processing of video and audio files
155 notes · View notes
deepenthiran · 7 months
Text
My Reasons to switch to or stay on Linux desktop instead of Windows
Before switching to Linux (When using windows 10 pro N)
Boring windows with no customisation: When I was using windows, I saw my friend using Linux (debian). I felt that 'Linux is looking cool'. Also I liked how he customise his Linux desktop. Also, I like to see some hacking stuffs and doing stuffs with command line. Comparing to that my windows 10 looked flat and boring.
Windows/its famous application is not free: When I was using windows, i was unable to switch to linux because I don't wanted to lose microsoft office. But after an accidental full 'reset my pc', I lost the access to microsoft office. I don't want to pay to get ms office. Don't like browser like Edge and other bloats.
Unnecessary stuffs of Windows: I don't like the windows auto update without my permission (I also don't want to pause every updates). I don't like the 'blue screen error'
Low performance over time in not so great spec PC and high RAM usage: My windows 10 performance was very very poor after 2 years. It only got better after 'reset my pc' but again started messing after months and adding some extra softwars over time. Also, I don't know why it is taking so much Ram (I initially used 4 GB ram and then added another 4GB ram). after it becomes 8 gb ram, the performance was better. but again got slower over time, crashes, hanging etc.,
Fear of Security vulnerability and the abstraction of windows: I always cautious about downloading unnecessary things. but still sometimes things gonna happen in the initial days. Always doubted the presence of malware in windows. After reset pc, it was working fine. but still not satisfied with windows for its security (As it always feels like fully abstracted os).
Complexity of windows in extra things: As long as using normal stuffs it is simple. But when going into control panel, changing environment variables, and several other things, etc,. I didn't have any idea of what I was doing.
The above reasons make me to try Linux. So, I started to try ubuntu 20.04.
Initial Impression of Linux and Easy to use: The Live usb feature of linux impressed me a lot. Easy installation of linux. The gnome DE was looking very good and also simple. Also the GUI settings are simple and easy to understand in ubuntu. As expected, I can do several customization and reading ubuntu's beginner command line tutorials etc., Surprisingly I didn't feel any complication at all. Infact everything felt simpler than windows. Also I felt that the utility apps or system apps of Linux is much better than windows in every aspect. Every Linux distros default pdf viewer >>> bloaty adobe acrobat pdf reader. Default text editor of linux >>> milky white notepad. etc.,
Linux is free and also its ecosystem application: Because Linux is free and open-source, it created an ecosystem for all the free and open-source apps. I automatically find all the fantastic free and powerful featured apps like Libreoffice, gimp, krita, inkscape, blender, kdenlive video editor, obs and several others (Some I already started to know when using windows at the later stage but the feel is different when using it in Linux). And there are no forceful apps like edge. I don't have to go for any pirated things when I already have a fully featured great open-source ecosystem for anything. I can also use apps vlc in linux (that is enough for all the media content for me).
Everything going fine: It just ping me that there are updates with all the package names and its details. It won't force me. I can start update only when I wish. Also the downloading and installation of updates are very quicker. This is such a relief when thinking about windows. Also there are no blue screen errors! I even started to have an idea of how it works inside (like one step deeper).
Very good performance in not so great spec and low RAM usage: The performance is very stable and good even after several months. The rendering in blender is like 20% to 25% faster compared to windows. Every app is performing good and stable in linux. felt like 8GB RAM is very sufficient for all my stuffs!
Security awareness: After I started using linux, I automatically started noticing what I am doing with my computer. started to know about why using this command to install or anything. Whenever installing anything or doing anything weird, I automatically started doing research about that. Came to know about firewall. Also came to realise that our system is not as secure as we think and we have to very careful about it.
Exploring Linux and it simplicity: The existing GUI part of linux is very simple and easy to use. But After using linux for some time, I felt comfortable with commands than GUI. It felt faster and also knowing what exactly is happening under the hood. It is less abstracted! and came to know about several things like IRC.
After using Linux for some time (an year), The things I felt:
I 100% missed games (especially cracked version of games like far cry 3, call of duty: modern warfare older version, nfs hotpursuit 2010 are no more playable in linux). I have to pay in steam to play those which i don't like. But still some free supported games are good in Linux. But I don't like much (as I am not a big gamer). The microsoft store has lot more good free games than Linux supported free games.
microsoft office: Currently I am familiar with Libre office, so no more missing MS office. But the problem is everyone uses ms office. and when I open some docs in Libreoffice which was created by ms office, then it started messing some things slightly.
Missing font: I missed the fonts of windows 10. Eventhough we can install preprietary microsoft fonts in Linux. it still misses some important fonts. Also the ubuntu's default font felt not so good after months. When I look into windows font, it looks great. (Initially I was liking ubuntu desktop font than the windows due to new changes, but when the time goes the windows desktop font is better)
browsers like firefox and chrome is taking some time for the first time launch after the reboot.
So, I switched back to windows by reinstalling (using dual boot with linux):
Some positives: After swictching to windows the only thing felt good is seeing it in my PC again after a long time with fresh installation. It looked polished. The icons looks premium. Edge, google chrome launches very fast in the first time launch at the cost of eating so much RAM. The default fonts of windows looks so premium compared to ubuntu 20.04
Negatives again and no need for windows: All the negatives I listed Initially comes back again with very much awareness since i got familiar with linux. Now I can clearly see the difference of how mess it is! especially interms of RAM usage, simplicity! Felt that there is no reason to continue windows when everything worked perfectly and fluently in Linux. The positives of Linux is very much than the positives of windows.
Not so good development in Windows: The working with gcc, git and other software development things are very much easier to setup in Linux than the windows. Felt like app installation is much easier, faster and simpler in Linux than the windows.
Started to completely switch to linux but also need to overcome negatives of ubuntu 20.04. Which leads to Distro hopping.
I switched to Linux mint: Almost all the negatives of ubuntu is gone. The utilities, default system apps, simplicity, Faster and efficiency of everything is even so great in Linux mint than ubuntu 20.04. The fonts are very good like windows. But the only problem is after some months, the cinnamon DE looks bored and little bit old fashioned. Every other thing is great.
I switched back to ubuntu but ubuntu 22.04. This version is very good than ubuntu 20.04 and I was satisfied with new gnome DE. but still I want change because of somethings. I want to try debian (as that was the one I saw my cool friend was using back then in college).
I switched to debian: Everything went smooth. now my distro is not handled by any company like canonical. I learned a lot while using debian. I was so proud of debian and myself. But after 2 months, I felt that I don't like gnome 3 (why not gnome 4 like ubuntu 22.04). It felt outdated. Also as usual it uses only very stable applications in the repository which is also outdated. Now the disadvantages of ubuntu 20.04 and linux mint is happening in debian.
I tried to swich to several lite distro for like 2 to 3 days: But don't like the DE (desktop environment) because too old fashioned. I couldn't find anything that fully satisfy me. So I agian tried to switch between linux mint, ubuntu 22.04. Until I find the KDE Plasma.
The last distro I switched is Kubuntu 22.04. It felt like having a good water after a long thrist. It satisfied all my requirement and even have its own eco-system of KDE apps which is fantastic. The default font is very good, the performance of apps are very good. The default DE font is very good. The system apps and utilities are very good. The customisation is fantastic at its peak. The features are fantastic! The default apps like text editor, pdf readers, File manager, settings, music player (Elisa) etc,. are the best of all. The options I have here are excellent. It is almost an year with kubuntu. No distro hopping anymore for me. Fully satisfied with Kubuntu (mainly because of KDE plasma DE). I am not a 100% command line user.
This gives an end card to windows. I don't even have it in my PC. I have windows 11 in my company working PC and that is for work only and I don't like windown 11 there. Only games is the positivity in windows.
23 notes · View notes
adafruit · 10 months
Text
Tumblr media
PCB of the day! RA8875 Driver Board for 40-pin TFT Touch Displays - 800x480 Max 🖥️🔌🔬
138 notes · View notes
equipebrasil · 10 months
Text
StreamBuilder: nossa estrutura de código aberto para alimentar seu painel
Estamos super entusiasmados em anunciar que estamos abrindo o código da estrutura personalizada que criamos para alimentar seu painel no Tumblr. Nós a chamamos de StreamBuilder, e a usamos há muitos anos.
Mas você deve estar se perguntando o que queremos dizer com "abrindo o código", certo? Código aberto é um modelo de desenvolvimento de software descentralizado que incentiva a colaboração pública. Em uma linguagem mais acessível, é qualquer programa cujo código-fonte é disponibilizado para uso ou modificação conforme os usuários ou outros desenvolvedores acharem adequado.
Tá, mas então o que é o StreamBuilder? Bem, toda vez que você acessa as abas "Seguindo" e "Para você", ou os resultados de uma pesquisa, os posts de um blog, uma lista de posts com uma mesma tag, ou até mesmo verifica as recomendações de blogs, você está usando essa estrutura. Se você quiser se aprofundar no código, espia nosso GitHub!
O StreamBuilder tem muito a oferecer. A arquitetura principal gira em torno de "fluxos" de conteúdo: sejam os posts de um blog, a lista de blogs que você segue, posts que usam uma tag específica ou posts encontrados em uma pesquisa. Esses são tipos separados de fluxos, que podem ser misturados, filtrados com base em determinados critérios, classificados por relevância ou probabilidade de envolvimento e muito mais.
Desde a semana passada, você já pode conferir no painel do Tumblr posts de blogs que você segue misturados com posts que contêm tags que você segue misturadas com recomendações de blogs. Cada uma dessas coisas é um fluxo separado, com sua própria lógica, mas que compartilha a mesma estrutura. Nós inserimos essas recomendações em determinados intervalos, filtramos os posts com base em quem você está bloqueando e classificamos os posts quanto à relevância, caso você tenha ativado a opção "As melhores coisas primeiro". Esses são exemplos da funcionalidade que o StreamBuilder oferece.
O que está incluído no pacote
A biblioteca completa da estrutura de código que usamos no Tumblr para alimentar quase todos os feeds de conteúdo que você vê na plataforma.
Uma sintaxe YAML para compor fluxos de conteúdo e como filtrar, inserir e classificá-los.
Abstrações para compor, filtrar, classificar, inserir e depurar fluxos de forma programática.
Abstrações para composição de fluxos em conjunto, como carrosséis, para fluxos dentro de fluxos.
Uma abstração para paginação baseada em cursor para modelos de fluxo complexos.
Testes unitários que abrangem a interface pública da biblioteca e a maior parte do código subjacente.
O que ainda está por vir
Documentação. Temos muito ainda a migrar de nossas próprias ferramentas internas e colocar aqui!
Mais exemplos de modelos de fluxo e exemplos de implementações de diferentes fluxos comuns.
Se tiver dúvidas, dê uma olhada no código e registre lá mesmo problemas ou dúvidas.
24 notes · View notes
mitarbeiter · 10 months
Text
StreamBuilder: unser Open-Source-Framework für dein Dashboard
Wir freuen uns sehr, dass wir das speziell entwickelte Framework für dein Dashboard auf Tumblr als Open Source anbieten können. Es heißt StreamBuilder, und wir nutzen es schon seit vielen Jahren.
Das Wichtigste zuerst: Was bedeutet Open Source? Open Sourcing ist ein dezentrales Softwareentwicklungsmodell, das die offene Zusammenarbeit fördert. Einfacher ausgedrückt, handelt es sich um ein Programm, dessen Quellcode den User:innen oder Entwickler:innen zur Verfügung gestellt wird, damit sie ihn verwenden oder verändern können.
Und was ist StreamBuilder? Jedes Mal, wenn du deinen Feed mit abonnierten Blogs, den Bereich "Für dich", die Suchergebnisse, die Einträge in einem Blog, eine Liste mit getaggten Einträgen oder sogar Blogempfehlungen aufrufst, wird dieses Framework verwendet. Den Code findest du hier auf GitHub!
StreamBuilder hat eine Menge zu bieten. Im Mittelpunkt der Architektur stehen "Streams" von Inhalten: Einträge aus einem Blog, eine Liste von Blogs, denen du folgst, Einträge mit einem bestimmten Tag oder Einträge zu einer Suche. Dabei handelt es sich um verschiedene Arten von Streams, die miteinander gemischt, nach bestimmten Kriterien gefiltert, nach Relevanz oder Engagement-Wahrscheinlichkeit geordnet werden können und vieles mehr.
Auf deinem Tumblr-Dashboard kannst du seit letzter Woche sehen, wie Einträge von Blogs, denen du folgst, mit Einträgen von Tags, denen du folgst, und mit Blog-Empfehlungen kombiniert werden. Jedes dieser Elemente ist ein separater Stream mit einer eigenen Logik, die aber dasselbe Framework nutzt. Wir schalten diese Empfehlungen in bestimmten Intervallen, filtern Einträge auf der Grundlage der von dir gesperrten Personen und ordnen die Einträge nach Relevanz, wenn du die Option "Das Beste zuerst" aktiviert hast. Dies sind alles Beispiele für die Funktionen, die StreamBuilder uns bietet.
Was ist alles enthalten?
Die komplette Framework-Code-Bibliothek, die wir auf Tumblr verwenden, um fast alle Inhalte, die du auf der Plattform siehst, bereitzustellen.
Eine YAML-Syntax für die Zusammenstellung von Content-Streams und die Möglichkeit, diese zu filtern, einzubinden und zu klassifizieren.
Abstraktionen für das Zusammenstellen, Filtern, Klassifizieren, Einbinden und Debuggen von Streams.
Abstraktionen für die Zusammenstellung von Streams, z. B. mit Karussells, für Streams innerhalb von Streams.
Eine Abstraktion für cursorbasierte Paginierung für komplexe Stream-Templates.
Unit-Tests, die die öffentliche Schnittstelle für die Bibliothek und den größten Teil des zugrunde liegenden Codes abdecken.
Das kommt noch
Dokumentation. Wir müssen eine Menge von unseren eigenen internen Tools migrieren und hier einpflegen!
Weitere Beispiel-Stream-Vorlagen und Beispiel-Implementierungen für verschiedene allgemeine Streams.
Falls du Fragen hast, sieh dir den Code an und schicke uns dort eine Nachricht.
25 notes · View notes