Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "alpine"
-
A physicist, an engineer and a programmer were in a car driving over a steep alpine pass when the brakes failed. The car was getting faster and faster, they were struggling to get round the corners and once or twice only the feeble crash barrier saved them from crashing down the side of the mountain. They were sure they were all going to die, when suddenly they spotted an escape lane. They pulled into the escape lane, and came safely to a halt.
The physicist said "We need to model the friction in the brake pads and the resultant temperature rise, see if we can work out why they failed".
The engineer said "I think I've got a few spanners in the back. I'll take a look and see if I can work out what's wrong".
The programmer said "Why don't we get going again and see if it's reproducible?"1 -
On a website, which is still online, I added a burping sound when you click on 3 old alpine herdsmen who sit on a bench in the background image.14
-
My mirror is now an Official Ubuntu, Alpine, Debian, qubes-os, linux-libre and linux mint mirror! :D21
-
Found this on discord.
Could be copypasta but I decided to share it anyway.
"I use Linux as my operating system," I state proudly to the unkempt, bearded man. He swivels around in his desk chair with a devilish gleam in his eyes, ready to mansplain with extreme precision. "Actually", he says with a grin, "Linux is just the kernel. You use GNU+Linux!' I don't miss a beat and reply with a smirk, "I use Alpine, a distro that doesn't include the GNU coreutils, or any other GNU code. It's Linux, but it's not GNU+Linux."
The smile quickly drops from the man's face. His body begins convulsing and he foams at the mouth and drops to the floor with a sickly thud. As he writhes around he screams "I-IT WAS COMPILED WITH GCC! THAT MEANS IT'S STILL GNU!" Coolly, I reply "If windows was compiled with gcc, would that make it GNU?" I interrupt his response with "-and work is being made on the kernel to make it more compiler-agnostic. Even you were correct, you wont be for long."
With a sickly wheeze, the last of the man's life is ejected from his body. He lies on the floor, cold and limp. I've womansplained him to death.14 -
"For those that don't know: Alpine Linux is a security-oriented, lightweight Linux distribution based on musl libc and busy box. The latest version of Alpine Linux v3.3 weighs in at a whopping 5MB. Not bad for a full blown Linux OS considering 5MB is same size as the Windows Start button."
That last sentence made me laugh so badly :D4 -
Started a new blanket with stitches I’ve never tried before. Bottom is Victorian stitch, followed by a few rows of double crochet, followed by alpine stitch.5
-
Have you heard about the Embrace, Expand and Extinguish idealogy? lets think about it:
Javascript 5 (embrace) -> Typescript and Class syntax to Javascript 6 (extend) -> JS (extinguish) with WebASM.
Atom/Electron (embrace) -> Atom fork named "VSCode" (extend) -> Atom (extinguish) as it was developbed by Github company.
NodeJS (embrace) -> incompatible Node Windows fork with IE/Edge JS engine "Chakra" (extend) -> NodeJS (extinguish soon) with chaos of Typescript, Javascript 6 and Github.
"R" lang (embrace) -> incompatible SQL Server 2016 R lang extension (extend) -> R lang (extinguish soon).
Android -> CyanogenMod (embrace) -> CyanogenMod (extinguish) as M$ "sponsored" Cyanogen Inc to destroy CyanogenMod
Linux (prejudge) -> sponsors RedHat, Debian, SuSE, Alpine and Canonical/Ubuntu (embrace), forces unstable backdoored "systemd" -> Linux (extinguish soon)
Reusing the last image I did because I didnt wanted to make more OC stuff cos the few ++ gained arent worth it5 -
A physicist, an engineer and a programmer were in a car driving over a steep alpine pass when the brakes failed. The car was getting faster and faster, they were struggling to get round the corners and once or twice only the feeble crash barrier saved them from crashing down the side of the mountain. They were sure they were all going to die, when suddenly they spotted an escape lane. They pulled into the escape lane, and came safely to a halt.
The physicist said "We need to model the friction in the brake pads and the resultant temperature rise, see if we can work out why they failed".
The engineer said "I think I've got a few spanners in the back. I'll take a look and see if I can work out what's wrong".
The programmer said "Why don't we get going again and see if it's reproducible?"
#ProgrammersLogic -
How could I only name one favorite dev tool? There are a *lot* I could not live without anymore.
# httpie
I have to talk to external API a lot and curl is painful to use. HTTPie is super human friendly and helps bootstrapping or testing calls to unknown endpoints.
https://httpie.org/
# jq
grep|sed|awk for for json documents. So powerful, so handy. I have to google the specific syntax a lot, but when you have it working, it works like a charm.
https://stedolan.github.io/jq/
# ag-silversearcher
Finding strings in projects has never been easier. It's fast, it has meaningful defaults (no results from vendors and .git directories) and powerful options.
https://github.com/ggreer/...
# git
Lifesaver. Nough said.
And tweak your command line to show the current branch and git to have tab-completion.
# Jetbrains flavored IDE
No matter if the flavor is phpstorm, intellij, webstorm or pycharm, these IDE are really worth their money and have saved me so much time and keystrokes, it's totally awesome. It also has an amazing plugin ecosystem, I adore the symfony and vim-idea plugin.
# vim
Strong learning curve, it really pays off in the end and I still consider myself novice user.
# vimium
Chrome plugin to browse the web with vi keybindings.
https://github.com/philc/vimium
# bash completion
Enable it. Tab-increase your productivity.
# Docker / docker-compose
Even if you aren't pushing docker images to production, having a dockerfile re-creating the live server is such an ease to setup and bootstrapping the development process has been a joy in the process. Virtual machines are slow and take away lot of space. If you can, use alpine-based images as a starting point, reuse the offical one on dockerhub for common applications, and keep them simple.
# ...
I will post this now and then regret not naming all the tools I didn't mention. -
How bad it feels when it work in a place where Agile and DevOps are mostly abused buzzwords.
Forced doing "scrum" with:
- half of the team providing endless daily reports instead of focusing on the 3 questions
- a scrum master that is barely reachable
- a product owner that would not even make a decision
- a sponsor that pushes us to go faster regardless of current technical debt (it's important to look good to other sponsors!)
- doing all possible scrum ceremonies with no value added
- not even estimating stories
- not even having accurate description in stories. Most of the time not even a description.
- half of the team not understanding agile and DevOps at all
Feels so good (not). Am I the one in that boat?? ⁉️
What's the point of doing scrum if implemented that badly?? 😠6 -
Just got our development Laravel docker image down to under 124 MB with alpine linux. The satisfaction...11
-
It's dangerous to be curious. And have time to spare.
This morning I was in THAT state and decided to spin up kubernetes inside an... Alpine docker container.
The day has almost passed and I think I'll have enough tinkering left for the night.
yay........... I guess...7 -
Duh... Searched for a good WYSIWYG editor for TALL stack the last days. There are tons of bullshit posts on the internet.
Not all programmers are smart people.6 -
## Learning k8s
Okay, that's kind of obvious, I just have no idea why I didn't think of it..
I've made a cluster out of a rpi, a i7 PC and a dell xps lappy. Lappy is a master and the other two are worker nodes.
I've noticed that the rpi tends to hardly ever run any of my pods. It's only got 3 of them assigned and neither of them work. They all say: "Back-off restarting failed container" as a sole message in pod's description and the log only says 'standard_init_linux.go:211: exec user process caused "exec format error"' - also the only entry.
Tried running the same image locally on the XPS, via docker run -- works flawlessly (apart from being detached from the cluster of other instances).
Tried to redeploy k8s.yaml -- still raspberry keeps failing.
wtf...
And then it came to me. Wait.. You idiot.. Now ssh to that rpi and run that container manually. Et voila! "docker: no matching manifest for linux/arm/v7 in the manifest list entries."
IDK whether it's lack of sleep or what, but I have missed the obvious -- while docker IS cross-platform, it's not a VM and it does not change the instructions' set supported by the node's cpu. Effectively meaning that the dockerized app is not guaranteed to work on any platform there is!
Shit. I'll have to assemble my own image I guess. It sucks, since I'll have to use CentOS, which is oh-so-heavy compared to Alpine :( Since one of the dependencies does not run well there..
Shit.
Learning k8s is sometimes so frustrating :)2 -
Lessions I learned so far from my first big node/npm project with tons of users:
1) If you didn't build something for a while, expect 3 hours of resolving version conflicts for every two weeks since the last build.
2) Even if the tests pass, run the containers on your own machine and make sure that the app doesn't randomly crash before deploying
3) Even if the app seemed to work on your own machine, run the tests again in an environment mimicking prod at most 15 minutes before replacing the running containers.
4) Even if all else indicates that the app will work, only ever deploy if you expect to be available within the 4 hours following a deployment.
5) Don't use shrinkwrap for anything other than locking every version down completely. A partial shrinkwrap will produce bugs that are dependent on the exact hour you built the app _and_ the shrinkwrap file, and therefore no one will ever have seen them other than you.
6) Avoid gyp, and generally try not to interface too much with anything that doesn't run on node. If parts of your solution use very different toolchains, your problems will be approximately proportional to the amount of code. And you'd be surprised just how much code you're running. (otherwise it's more logarithmic because the more code the less likely a new assumption is unique)
7) Do not update webpack or its plugins or anything they might call unless you absolutely need to
8) Containers are cool but the alpine ones are pretty much useless if you have even just one gyp module.
9) There's always another cache. To save yourself a lot of pain, include the build time in every file or its name that the browser can download, and compare these to a fresh build while debugging to assert that the bug is still present in the code you're reading
+1) Although it may look like it, SQLite is far from a simple solution because the code and the bindings aren't maintained. In fact, it'll probably be more time consuming than using a proper database.3 -
Created a docker stack that can run on a swarm, tried out an actor system framework with a really nice message passing interface, used a web server framework built on that actor framework, used a really cool ORM that relies heavily on code generation, did some experimenting with Alpine Linux, and re-learned for the 100th time how to deal with CORS
-
Whatcha thinking about the
Lenovo ThinkPad X1 Carbon Gen 8
(i7-10510U, 16GB, 512GB, 1080p)?
Found one for a dirt cheap price (campus discount) and think about buying it.
I'm largely using linux, including somewhat exotic distros like Void,Gentoo, Alpine.2 -
I just released a new Laravel package. The concept behind it is to use PHP for everything, so you no longer have to write HTML, CSS, or JavaScript. No more constant file and context switching. It also allows you to create and use components in the same way you would with JavaScript libraries like React or Vue.
It's called Malzahar. A magic PHP framework. Build reactive web apps without writing HTML, CSS, or JavaScript! Powered by Tailwind, Alpine, Laravel, & Livewire.
- Github Repo - https://github.com/bastinald/...
- Demo Video - https://youtube.com/watch/...
Thanks for checking it out.6 -
I have been experimenting with Docker and reading articles on it. I was wondering what are best practices for building Docker images. Many articles have recommended that use Alpine base images because they're small and more secure.
Let us say that my application needed Postgre. What is the best approach?
1. Use the Alpine Dockerfile provided [here](https://github.com/docker-library/...) at Github. Download the file and go to where its located in my terminal and enter *"docker build"*
2. Creating a Dockerfile from scratch and using the command *"FROM postgre:10-alpine"*
3. Use the Alpine template file provided [here](https://github.com/docker-library/...)2 -
Have you ever tried using sqlite3 from npm inside a docker container?
Yeah, it doesn't build on Alpine, despite being among the most popular Linux distros thanks to Docker.1 -
Use alpine, they said. It'll be fun, they said. Spent ages trying to figure out what was wrong with my fresh Docker swarm. I tried everything, then I noticed that nginx was calling some random IPs instead of the web container's. Turns out the alpine image doesn't have a library that would properly resolve the IP of the container. I replaced it with the main nginx image and it's working perfectly 🙄
-
I finally got my new home server.
A Lenovo ThinkCentre M720q in one of the higher configurations.
Any ideas what top level OS I should put on it?
ATM, I'm thinking Proxmox, ESX or Alpine.
I like proxmox because of the neat UI for everything but I'm kinda worried about how it basically takes the most important parts of the system over.
I like Alpine since I already use it for quite a while as my goto server OS and because of AWALL, which IMHO is the best linux server firewall.
I didn't get to evaluate ESX yet.6 -
Alpine 3.10 image's shell doesn't know globstar. After reading some article and feeds written by GNU and stackoverflow, I replace ** with {*, */*, */*/*, */*/*/*, */*/*/*/*, */*/*/*/*/*} in CI scripts to meet the temporary requirement sadly :/3
-
Something I leanted today: /bin/sh isn't a 'real' program and the shell in Alpine is actually called Esh11
-
Sooooo, would need a little help here please.
Would like to switch from OpenSuse at home to some other Linux distro. (Side note: using OpenSuse at work and at home, would like to discover something new).
Already tried Ubuntu but really didn't like it. Arch Linux was okay though.
Saw some of your pictures of your nice customized desktops and would like to try something like this, but really don't know which distros can do this.
While searching a bit I found three which look/read quite interesting:
Devuan, Alpine Linux and Sabayon Linux.
What would be your thoughts on those, or which distros would you recommend?
Would be grateful for any advice. 😊2 -
Okay, I hope a few people can help me with this; what are the benefits/reasons to use MS technologies? I'm talking about .NET, ASP, Windows Server, Powershell...
I've never understood it. I love Nodejs because you don't have any packages unless you ask for them. Alpine Linux is amazing! It runs on 8MB of RAM from fresh and doesn't need much more space to install.
You want .NET core? 140MB download. You're configuring database connection strings? Feel free to type in whatever you like, it'll parse and replace with some magic variables that have come from some other random file.
I was using Powershell recently, needed to set an env variable. Bash is happy with "export name=value". You want to do that in Powershell? I just googled it and found an entire 40-minute read discussing how to set env vars. Why?! It should be one command, and I don't know who thought that "Get-ChildItem" was _obviously_ referring to env variables.
It seems to me that everywhere MS has got their hands on development-wise, it inherits the typical sales bullshit. No no, you can't call them "websockets", they have to be branded "SignalR" and add tons of overhead. You can't say "disable notifications" it has to be "focus assist". I'm really surprised something as simple as a keyboard hasn't become a "varied user input device" or something of the like.
Am I alone in thinking this?4