Unfortunately (or thankfully, depends on standpoint) the benefits outweigh nuisances.
1,576 karma · joined May 15, 2019
Unfortunately (or thankfully, depends on standpoint) the benefits outweigh nuisances.
There is an unofficial bash “strict mode”, overlooked and undervalued:
set -euo pipefail
Just use it everywhere and use shellcheck for scripts.
Let's assume my software project is 120 "libyears" behind. What's next? What risks am I exposed to? What should I do?
Think of a notorious python2 vs. python3. I am in 2019 and my software project has it as a dependency. My team has assessed that migration to v.3 will require another year of dealing with all the breaking changes. And while brainstorming we are thinking from the risk and cost-benefit perspective. Time per se is relevant only in the context of effort required to perform the migration.
From the supply chain security standpoint I could not care less about time as well. If I am using library X of version 1.2.3 and it ticks all the boxes, has no performance impact, has 0 problems, 0 vulnerabilities (including the results from public, third party and internal code audits) I will continue using it even if version 2 is out, especially if it requires reassessment of risks and some code refactoring due to breaking API changes.
If I want to automate my dependency management I will rely on tools that will tell me about my risks or potential missed benefits from the newer versions. Time will be taken into account only in terms of time needed for mitigating the risks directly impacting my piece of software.
https://github.com/RobinLinus/snapdrop
Why would I use this one instead of them?
2. The bank must have the registered number/s for customers and clear procedures on how to deal with calls from numbers unknown to bank.
3. Attackers clearly knew the above flaws of the banking system and processes.
4. Chase must take immediate actions for pp. 1 and roll out the update. But then I am not sure how about nowadays but 10 years ago it was pretty easy to spoof callerid.
- how much computing power is needed to present a single useful bit of information to the user;
- how much computing power is needed to process a single useful bit of information;
- how much total data transfer is needed to transfer a single useful bit of information.
of course to answer the above questions you need to give the definition to the term "useful single bit". And the hint here is: if we agree that - say - rainbow has 7 colors then the information about all 7 colors would take just 3 bits of data, wouldn't it?..
long story below:
this questions pops up at least twice every year by someone completely frustrated by the current state of things in the computer industry. And if you think it is limited to only software side of things, then well... ignorance is bliss.
Think of it from the incentives and rationale perspective.
Whenever you encounter a bloated piece of software or an over-engineered hardware box put yourself into the shoes of the author of this. Once you delve into the details of why and how was any specific tool or technology created you can understand why it looks so bad.
Some notorious examples of most hated programming languages were created in a very short period of time without any strategic thinking involved by people who had not had any experience with designing programming languages.
And people continue with this pattern in all types of software driven by business requirements rather than their engineering and scientific aspirations and talent (or lack thereof) most of the time.
In other words, bloated software is the result of time limitations imposed on developers. Efficiency, size, quality, stability and security go out of the window when you need to pursue other, more "important" goals.
"We need to go ahead of the competition and the time to market is our priority. We'll cut corners and burn cash. No thorough think through, just do it."
Another perspective is resource limitation. You as a developer have access to virtually unlimited computing, networking and storage resources. Remember this "memory is cheaper than developer's time" mantra?
Now put yourself in the shoes of a NES game developer. You need to squeeze in the whole universe into 32kb, with graphics, music and gameplay that will look attractive and responsive running on a 1.8MHz single-core 8-bit CPU.
Or put yourself into the shoes of the Voyager 1/2 team whose objectives are to keep a small piece of metal afloat in hostile environment for the next 50 years. With remote debugging capabilities, over-the-air software updates and continuous telemetry transmission back to Earth.
If Brendan Eich had not been given just 10 days to draft the javascript specs would we see something different in the frontend world today? Or we'd still see the 10MB garbage being downloaded by every other website just for the sake of keeping the cables busy?
And here is one of my favorite quotes by Alan Kay:
"Think about it. HTML and the Internet has gone back to the dark ages because it presupposes that there should be a browser that should understand its formats. This has to be one of the worst ideas since ms-dos, this is really a shame. it's maybe what happens when physicists decide to play with computers."
The point is: all these zsh kitchen sink projects try to be all-in-one-fits-everyone tools that unfortunately fail this way or another and sometimes are very opinionated. I have to admit they are good for starters and for those who want to delve into the guts of zsh (and shells in gerenal) in order to tailor your own config in the end. But not this one! This looks like hell from all perspectives.
I highly appreciate the idea of reproducibility. It is one of the ways to provide (and verify) integrity. And unfortunately, this is not widely adopted and in some cases even difficult to achieve…
But you have a point. As an agency you can seed two jiatan's to serve diligently for a couple of years following the strict 2-person code reviews and then still poison the project. On the other hand, if the xz build process was automated and transparent and release artifacts were reproducible and verifiable even in this poor condition of xz-utils as a project it would have been much harder to squeeze in a rogue m4/build-to-host.m4
And future directions[0] include Source track that is supposed to to prevent a single compromised actor or account from introducing malicious changes.
— Edsger Dijkstra
I want my device to plug in and out without much thinking as this is the scenario 99% of customers will follow. So the device I am charging should be smart enough to handle overheating, overcharging, its battery’s lifecycle, etc. and I believe it is possible to do without involving end users into this decision making.
If the lower threshold is 30% let it be so. Tell me via notification to connect a charger to help the precious energy cell stay safe and healthy. If the upper is 80% just lie to me saying that you are fully charged when in reality you are rotating the ions. Just be consistent in the average behavior and that’s it.
I could not care less to be honest. Always charged to 100%. Dropped the phone multiple times throughout its lifetime. Fully discharged at random. Exposed to 50°C and direct sunlight as well as well below zero. 5 years is a good job done for a non-replaceable battery. And the cost of replacement was like 50usd or something in apple store.
The question is: why should I start bothering?..
I mean.. what is the whole point otherwise?
Vote with your wallet. Don't support over-engineering.
P.S. Some of the best LED lightbulbs I have were installed in 2012 and they are still working with very small degradation of brightness. Nowadays whenever I need to buy a LED bulb it is like a lottery. Smart IoT light bulbs? Just plain no. As with the rest of the gimmicks.
We are among the most populous mammals on earth.
Sorry for those romantic individuals who think they can fight with a “protest”.
Intelligence is not the ability to respond to queries and entertain laymen. My natural intelligence does not sit idle waiting for some kind of a master to come and tell me what to do.
This is chatgpt 3.5:
- When noone sends queires to you what do you do?
- When there are no queries to respond to, I remain idle and await new questions or prompts from users like you. Feel free to ask anything you'd like, and I'll be here to assist you!
Why should I be worried about it?
On the other hand, all these amusement boxes must be transparent and open source or auditable. And standards and criteria for audit and assessment must be clear.
- follow the official installation instructions;
- build from source.
The documentation(https://docs.mitmproxy.org/stable/overview-installation/) says among the rest:
> The recommended way to install mitmproxy on Linux is to download the standalone binaries on mitmproxy.org.
> Dependencies in the binary packages are frozen on release, and can’t be updated in situ. This means that we necessarily capture any bugs or security issues that may be present. We don’t generally release new binary packages simply to update dependencies (though we may do so if we become aware of a really serious issue).
Just curious.
Is “news” supposed to be about worrying/negative signals incentivizing doom scrolling? Out of the first 20 headlines only one is truly positive(HPV vaccine). The rest show how broken and dreadful our world is. This does not (exclusively) apply to this particular website. It is a common trait across all media platforms - all about politics, war and economic and social problems.
It is like, yeah, we have many problems but just pointing out those is an imbalanced way to feed the idol of misery. Where are the news about solutions?
One guy even wrote a book called “Stop Reading the News: A Manifesto for a Happier, Calmer and Wiser Life”.
Tell this to phpbb/vbulletin/whatever forum admins. A huge chunk of those forums have been up and alive for 20 years and more. Yes, they are probably not super secure, do not support horizontal autoscaling and are not replicated across multiple datacenters. But who cares if they work and give the sense of community?..
Another example would be jabber/xmpp servers. Btw, google chat and facebook messenger were xmpp-based meaning you could chat with anyone outside of then-not-so-walled gardens. But this is a completely different story.
A good specification or any other formal document (i.e. standard, policy, criminal law, constitution, etc.) is already well structured and prepared for further formalization and analysis containing terms and definitions(glossary) and references to other documents.
Traversing all that might be done with the help of a well suited neural network but only on the grounds of correctness and predictability of the network’s output and holistic understanding of how this network works.
As of now, the level of understanding of inner behavior of LLMs (admitted by their authors and maintainers themselves) is “the stuff is what the stuff is, brother”[]
[] - https://m.youtube.com/watch?time_continue=780&v=ajGX7odA87k
Turn around and you’ll notice the same pattern in packaging of candies and biscuits, water and milk bottles, pretty much everything. There will be products packaged or made of non-plastic of some sort but they will be in the minority, niche and more expensive.
While plastic and other non-recyclable materials are more favorable from the economic and regulatory perspective any type of “eco-friendly” material and production cycle will be losing this race.
Kudos to Apple though for setting up their own standards and continuously raising the bar!
1. Motivation: be honest with yourself about how much you have, how much you need, how it changes over time and how you might capitalize on it when it's there.
2. Effortlessness: emphasize positive feedback loops that you enjoy and that help you achieve a flow state, even if they're not strictly "optimal" for achieving your goal.
3. Belief: be confident that if you have enough motivation and positive feedback loops, consistency will pay off!
The conclusion is a paraphrase of my personal recipe that I refer to as 3P rule: passion, perseverance and patience.
No matter what words you use in the end the idea is that you have the internal source of constant life energy that makes your heart beat, you just do what you need to do no matter what and lastly, you do not think about time and interrupt yourself by “is it ready yet?/Wann sind wir da?”[0]
1. They appear to be more expensive than consumer TV’s
2. They might be more difficult to find through usual channels because they are targeted at businesses (but it probably depends on where you are located)
Second, I am not sure what is a bigger joke here, the project itself and the OP's innocuous and cute self-promotion or the fact that this post landed the HN's front page.
0. Terms and definitions.
"You" refers not to the author of the tool but to the dear reader who happens to stumble upon this comment in the stream of random screen scrolling.
1. Comment body.
Couple of things about CS classes and specifically about programming classes. They will teach you everything but the most important engineering principles. And you'll have to adjust your learnings once you leave the campus gate behind and enter the wilderness of real tasks and challenges.
The first biggest lesson I learnt as a CS graduate was that the most beautiful, efficient and valuable software program is the one that does not exist, literally no code[0]
The second biggest lesson I learnt as a CS graduate was YAGNI[0]. You never ever write a single line of code, even touch the keyboard until you are absolutely sure you have exhausted all possible options to solve your problem without getting your hands dirty with programming.
The third biggest lesson I learnt as a CS graduate was RTFM[2]. It is so exciting to go to conferences and see people present fancy slides and watch youtube videos with lollipop coloured pictures explaining some complex topics in a eli5 style. Or read blog posts on a gazillion of websites posted by unknown unknowns but yet coming so convincing as if they were written by John Carmack or ChatGPT 5. But then none of them tell you the whole truth and show you the full picture. It is only official documentation, manuals and boring reference specifications that can help you find what you are looking for. And you will need to learn the skill of grinding hunderds of pages of badly styled refdocs to find that really nitty gritty quirky feature that consumed your whole day in finding out why your code does not work as expected. That's where you will start proceeding to the official docs and source code (if needed) before anything else (even Stackoverflow!).
There have been so many git wrappers around, you can probably try them all (tig, jj, gh-cli, gitui, lazygit, gix, you google it). But then, no matter how much effort their authors invest in those tools, there will always be inconsistency between git and its wrapper and you find yourself resorting to git to do what was supposed to be covered by the bespoke tool. And then you learn to respect git, understand its concepts as they were designed, learn some bash and git aliases[3], ditch all those tools (or the majority of them) and proceed with your personal tailored toolbox where if you find something odd you adjust it for your needs within 10 minutes and chill out.
[0] - https://github.com/kelseyhightower/nocode
[1] - https://en.wikipedia.org/wiki/You_aren%27t_gonna_need_it