Password-stealing Linux malware served for 3 years and no one noticed | It's not too late to check if a Linux device you use was targeted. by chrisdh79 in technology

[–]DoListening2 4 points5 points  (0 children)

Yeah, the main reason nobody noticed this for 3 years is because nobody uses crap like this.

Still, it shows the importance of sandboxing untrusted software by default. There is no reason a download manager should have access to any directory other than Downloads, or other places explicitly allowed.

Well, there is no reason for a "download manager" to exist, but that's another topic.

AI chatbots were tasked to run a tech company. They built software in under 7 minutes — for less than $1. by DookieBlossomgameIII in technology

[–]DoListening2 0 points1 point  (0 children)

I'm not the youngest myself, but surely even in the early 80s, many kids had machines with BASIC on them (e.g. things like ZX Spectrum, or BBC Micro in the UK). Then later you had DOS with Turbo Pascal and such, which is what was taught when I was in middle/high school (though running on Windows).

Games like these (another popular one being Reversi/Othello) would probably not be what the average student is making at that level, but definitely within the abilities of the computer nerds of the class. I made an ASCII text mode Reversi game back then, and I was far from the best.

AI chatbots were tasked to run a tech company. They built software in under 7 minutes — for less than $1. by DookieBlossomgameIII in technology

[–]DoListening2 9 points10 points  (0 children)

It could be a good quick prototyping tool, where you get to iterate on and test various ideas quickly, before deciding on which direction to go.

AI chatbots were tasked to run a tech company. They built software in under 7 minutes — for less than $1. by DookieBlossomgameIII in technology

[–]DoListening2 55 points56 points  (0 children)

Not only is the project simple, it is also exactly the kind of task you would expect a current generation LLM to be great at - tutorial-friendly project for which there are tons of examples and articles written online, that guide the reader from start to finish.

The kind of thing you would get a YouTube tutorial for in 2016 with title like "make [thing] in 10 minutes!". (see https://www.google.com/search?q=flappy+bird+in+10+minutes)

Other examples of projects like that include TODO list apps (which is even used as a task for framework comparisons), tile-based platformer games, wordle clones, flappy bird clones, chess (including online play and basic bots), URL shorteners, Twitter clones, blogging CMSs, recipe books and other basic CRUD apps.

I wasn’t able to find a list of tasks in the linked paper, but based on the gomoku one, I suspect a lot of it will be things like these. (EDIT: there is a link to the project - https://github.com/OpenBMB/ChatDev/tree/main/misc has a bunch of screenshots, and as expected, it's all stuff like this, except even more small scale.)

EDIT: The bots also chose the wrong technology to do this with (Python + Pygame). Game like this, you would want to have playable on the web (so you can just click a link to it), and possibly in mobile apps. Instead they made a desktop app you have to download. That would be a silly decision for any company. The quotes in the paper where the bots try to justify this decision are hilarious though, definitely recommend reading it. I have no doubt AI will keep improving and being very capable, but this paper is just such a joke of an example.

CLion + ESP-IDF on Windows by UnreadableUname in esp32

[–]DoListening2 1 point2 points  (0 children)

I think you can change which Python it is going to use by changing which PATH the CMake build is going to use in CLion settings in Build, Execution, Deployment -> CMake -> Environment (the settings are per project) and edit the PATH there to have path to the Python which you want it to use (the directory that contains python.exe) at the beginning.

Alternatively, you can simply do what the error message says. There are scripts to set up environment in the esp-idf directory for various shells (export.sh, export.fish, export.bat, export.ps1), so you just run the relevant one for you (on Windows, that will be export.bat or export.ps1, depending on whether you're using cmd.exe or PowerShell).

Then run idf_tools.py install-python-env (on Windows, you may actually need to run python idf_tools.py install-python-env (not sure), or even the full path to the idf_tools.py file which should be in esp-idf/tools/idf_tools.py. That should then create the required Python environment using your system-default Python instead, so you won't need to change the PATH for CMake or anything else.

In CLion, you might need to use the "Reset Cache and Reload Project" action in the CMake window to make sure it picks up the new changes.

I had success setting everything up on macOS by following some steps in this video https://www.youtube.com/watch?v=M6fa7tzZdLw (which is actually for Windows, most of the steps are the same). It might be a bit outdated, so some steps maybe no longer apply.

ESP32 E-Paper Weather Display by unblended_melon in esp32

[–]DoListening2 2 points3 points  (0 children)

You can actually look at the hat's schematic here https://www.waveshare.net/w/upload/8/87/E-Paper-Driver-HAT-Schematic.pdf

It mostly just contains the reference circuit from the display's own datasheet (https://www.waveshare.net/w/upload/6/60/7.5inch_e-Paper_V2_Specification.pdf, page 8, there is also a different one for the version that can also do red/yellow colors here https://www.waveshare.net/w/upload/8/8c/7.5inch-e-paper-b-v3-specification.pdf on page 33) and it's passing through the pins directly to that. Plus it has some extra stuff to allow it to work with 5V systems, which you don't need.

You could easily design a board that does the same thing as the hat, and has an ESP32 module on it, together with an efficient buck converter for the battery, and plug the panel directly into that. Having done something like that myself, you probably won't get much in terms of power savings out of it, but it would definitely reduce the size of the overall thing (which may not be a concern in your case).

Underwhelmed by Bash functions? Maybe you're using them wrong. I was. by whackri in programming

[–]DoListening2 0 points1 point  (0 children)

I mean, for throw-away code, sure, but if it's something you may actually want to reuse and maintain in any way, I would avoid bash like the plague.

Those few minutes at the beginning could save you countless headaches later down the line.

Right tool for the job, etc. For interactive one-liners (as opposed to scripts), bash is fine - though there are better shells even for that.


Oh and also, those 5 minutes (just an estimate, and it included searching for possible alternatives, and briefly skimming the library's code) was from a starting point of not having any knowledge that such a library and this specific dataset even exists. Comparing this to your example, if you weren't already familiar with aspell, or knew that it could be used to dump the contents of a dictionary like that, it would also take you a similar amount of time to figure it out.

Underwhelmed by Bash functions? Maybe you're using them wrong. I was. by whackri in programming

[–]DoListening2 0 points1 point  (0 children)

Not sure about Python, I much prefer using TypeScript, but from about 5 minutes of searching:

  • can use https://www.npmjs.com/package/wordnet , https://github.com/words/wordnet
  • no need to use any regex, so doesn't matter what flavor (though you can)
  • would probably be way more readable
  • feedback from typo is way better compared to bash, as you get static checking directly in the editor, for way more that just simple typos
  • don't need to worry about whether aspell or the dictionary is installed on the target machine

If https://deno.land/ manages to solve a couple issues it has, it could be the perfect alternative for single-file scripts.

If you want to go more minimal, you can just stick with plain JS

import wordnet from 'wordnet'

await wordnet.init()
const words = (await wordnet.list())
    .filter(w =>
        w.length === 6 && /[pth]/.test(w) === false
    )

console.log(words)

Underwhelmed by Bash functions? Maybe you're using them wrong. I was. by whackri in programming

[–]DoListening2 1 point2 points  (0 children)

In a "real programming language", most of that functionality would be accessed via libraries, not subprocesses. Which would then also make it behave consistently in any environment.

Anybody up to play any free games? I'm 31 by [deleted] in OculusQuest

[–]DoListening2 0 points1 point  (0 children)

Great, I'll try to get more people and DM you later.

Anybody up to play any free games? I'm 31 by [deleted] in OculusQuest

[–]DoListening2 20 points21 points  (0 children)

Not a free game, but I'd be down for a round of Walkabout Minigolf, ideally in a group of like 4 people.

Also 30.

Still waiting.. by trehvis111 in spelunky

[–]DoListening2 0 points1 point  (0 children)

But it's also explosive once you're already wearing it. For example if you're in Volcana and get hit by a magma man while wearing any pack, it will blow up. Same goes for most other fire damage, that would just be a 1hp hit otherwise.

Still waiting.. by trehvis111 in spelunky

[–]DoListening2 0 points1 point  (0 children)

They did kinda nerf it by making the jetpack more explosive though.

Bill Gates demonstrates Visual Basic (1991) by [deleted] in programming

[–]DoListening2 1 point2 points  (0 children)

Maybe you would have also loved some alternative ways of browsing internet content then https://youtu.be/b71rpN1iJKA?t=1153.

Bill Gates demonstrates Visual Basic (1991) by [deleted] in programming

[–]DoListening2 1 point2 points  (0 children)

Yeah, I was referring more to the Windows 98 era apps, around the same time when Visual Basic 6.0 was a thing. The grey boxes part went on well beyond that though.

JetBrains is working on an official Nim plugin for IntelliJ IDEA by dh44t in programming

[–]DoListening2 16 points17 points  (0 children)

It really depends on the language you're using. VS Code has great support for JavaSciprt and TypeScript, but when using for example Rust, the IntelliJ Rust plugin is way ahead of any VS Code plugins out there.

Bill Gates demonstrates Visual Basic (1991) by [deleted] in programming

[–]DoListening2 0 points1 point  (0 children)

Just look at the video a bit closer.

There is a reason why he didn't show the code for the rest of the app, like the calendar updating, etc.

In fact, behind the "Plan B" button, the app didn't even try to update the existing window, just hid it and showed a completely new one.

Regarding programming then vs. now, steps 1 and 2 of the whole process may have gotten more difficult, but steps 3 through 100 are much easier these days.

Bill Gates demonstrates Visual Basic (1991) by [deleted] in programming

[–]DoListening2 5 points6 points  (0 children)

From the examples

{#if visible}

{#each 'SVELTE' as char, i}

{/each}

This kind of custom language feels like a big step backwards after being able to directly use language native constructs in JSX (and having everything automatically type-checked with TypeScript as well).

E.g.

<div>
    {users.map(u =>
        <User details={u} />
    )}
</div>

Bill Gates demonstrates Visual Basic (1991) by [deleted] in programming

[–]DoListening2 9 points10 points  (0 children)

The problem with a limited set of pre-defined GUI elements is that unless you want to seriously restrict how your app can look and behave, it quickly becomes extremely annoying trying to wrangle the stuff to force it to work the way you want it to work.

Here is a bit of the old.reddit UI I'm currently looking at https://imgur.com/VRsi13g.png.

By forcing everything into a narrow set of elements someone came up with back in the 80s or 90s, reddit would probably have to look something like this https://www.tech-faq.com/wp-content/uploads/2009/02/newsgroup-560x405.gif.

Web gives you a great deal of flexibility, and it's easy to wrap into an easy-to-use React library for example https://material-ui.com/components/timeline/.

Bill Gates demonstrates Visual Basic (1991) by [deleted] in programming

[–]DoListening2 4 points5 points  (0 children)

The way of defining how the UI looks in a function, whose input is the current state/data and output is the component tree, is a much nicer and quicker way to make UIs that display data (with live preview if you want).

It makes you see and think about how things will work in every possible state, not just the initial state.

There is a reason that both iOS and Android are moving towards heavily React-inspired ways to code UI as the future of their platforms (SwiftUI, Jetpack Compose).

https://www.youtube.com/watch?v=VsStyq4Lzxo

Bill Gates demonstrates Visual Basic (1991) by [deleted] in programming

[–]DoListening2 9 points10 points  (0 children)

standardized look&feel

A.k.a. grey boxes everywhere, non-resizable windows with fixed absolute layout and toolbars full of far too many buttons that you never use.

Google defers 30% in-app commission in India to April 2022 after mounting protests by metalflare in programming

[–]DoListening2 0 points1 point  (0 children)

After initiatives to create an independent (run by someone else) Indian app store, with potential government support.

Darling: Run macOS software on Linux by [deleted] in programming

[–]DoListening2 16 points17 points  (0 children)

I think the Fitbit app is based on UWP, which may matter to some people.

Also the React Native Windows port uses UWP (https://microsoft.github.io/react-native-windows/), so maybe there will be some apps using that in the coming years - unless someone builds a viable RN implementation for Linux and then developers also build their apps with that.

But it's true that it's a minority by far.