I sometimes ask an llm to plan out an algorithm or concept in Haskell. Then I ask it to implement it in rust. I think I get a better implementation that way - though I might just be fooling myself. They seem to find simpler abstractions if you start there.
I used to use GetRight to download big files over FTP or HTTP, over dialup. You could set it up to automatically re-dial your ISP if you got disconnected halfway through a download. And you could download a file in multiple "threads" - for example, get 2 concurrent HTTP sessions downloading the same file, one thread starting from the start and a second thread starting halfway through the file.
GetRight is how I downloaded Linux ISOs on dial-up. IIRC it had a schedular so the computer could automatically dial after everyone was in bed and gracefully disconnect before "daytime" tariffs kicked in. It could resume the next evening again!
Oh my goodness, I remember having installed Flashget on my parent's PC about 20 years ago! And yeah of course I remember FileZilla, and DC++ and so on. :P
Not in my house. What is even the point of connecting a coffee machine or a washing machine to the internet? I think my washing machine advertised that I could download new washing cycle programs in the app. Who on earth cares?
> I could see its use - you could remotely activate them
What is the point of activating a washing machine remotely if you aren't there to put your laundry inside? What is the point of activating your coffee machine remotely if you are not here to drink it? Even when you have to fill water in the machine and grind coffee beans, and wait for the machine to preheat the water.it takes less than 3 minutes to prepare an espresso.
Of course you can set up firewalls and VLANs to have the best of both worlds. You can remotely interact with an IoT device like this to set them off or check the status, but the device itself can't see anything else on the local network.
I have all of my IoT devices on separate Wifi network(s) and VLANs and almost all of them are isolated so they can't talk to each other, plus I occasionally look at how much data they are sending/receiving from the Internet (some is expected obviously, and it differs by device).
Doing this requires a considerable amount of admin work and IT knowledge though. It also requires something a step above most consumer grade or supplier provided networking equipment.
I've never spotted anything egregious like the coffee maker in the OP but if I did I'd be making sure other people knew about it and the device itself is either firewalled off properly or replaced by a brand that isn't a security risk.
> Doing this requires a considerable amount of admin work...
As someone who has done this, it's a one-time cost (as long as you're not the sort who simply can't stop tinkering with it and ends up totally rebuilding it like once a quarter (don't ask me how I know)) and -if you have even just a shaky understanding of how to do it- it's not _that_ large of a cost.
> ...and IT knowledge though.
I definitely agree that doing this requires quite a bit of IT knowledge... but it's all stuff that's pretty easily learnable for anyone who's interested in technical stuff and/or technically-inclined.
For folks who are looking to do this on their home LAN, I have some hardware manufacturer recommendations:
All of this VLAN work will be entirely pointless if your switches can't be programmed to enforce the separation, so one will need "managed" switches of some kind. I'd recommend anyone who wants to try to do this to have a look at Mikrotik switches... they are inexpensive and definitely more than good enough for a fancy home LAN.
Mikrotik also sells routers and WiFi APs. I can't comment on the quality, as I have slapped together my own router PC and use OpenWRT Ones for my APs... but I've found their switches to be more than good enough for my fancy home LAN. Perhaps their routers and AP are equally good?
Mikrotik publishes pretty comprehensive documentation here [0]. If you want to dick around with the Mikrotik management CLI for RouterOS -which is their name for their fancy management software- you can install the x86 version of RouterOS in a VM by booting a VM from one of the x86 install images at [1]. They also have a much simpler management software that you can run on all of their switches called "SwOS" -documented here [2]- but that doesn't have any x86 installation media so you can't play with it on your PC.
Really? I find LLMs quite bad at deleting code. If you ask them to add a feature, then later take it out again, the codebase still grows. It always grows. Every time I've tried it, llms have failed to simplify code via refactoring. Even fable is incredibly bad at this for some reason.
LLMs are excellent at making prototypes though. And prototypes can be an excellent way to stop yourself from implementing the wrong features in the first place.
Yeah but let's be honest; GC languages (Go, Java, C#) usually are slower than systems languages. Systems languages just give you more, low level control over the computer from within your program. You can use that control to improve performance. Eg, you can control data locality, memory access patterns, the emitted assembler, and way more stuff.
Of course you're right - if you misuse arc, you can make your program slow. So don't misuse arc then. Rust gives you lots of options for structuring memory. If you choose badly, that's on you.
A waste of what resources? Other people's time? That isn't up to you to decide. I think your comment is a waste of resources. But how you spend your time isn't up to me. And how wasm people spend their time isn't up to you.
> The current trend is porting source code to languages that generate native code.
Cool story, but without wasm, how are you gonna run that native code in a browser?
Nothing is foolproof. But I have far more trust that the police in the Netherlands will make reasonable choices with private data than a US for-profit surveillance company. In a functioning democracy, the police are kept honest via voters. Flock is only beholden to their investors, and their bottom line.
Sure, but I don't think we can make the Netherlands police in charge of our largest surveillance network.
Flock is despicable but after all the documented abuses of the system (assuming you don't accept that the entire system is an abuse) were enacted by cops (read: public officials).
I don't think a law making only ICE/FBI/etc able to access the data will do much to slow the rapid expansion of the surveillance state
Believe me, I’m as opposed to this all as you, but playing steelman for a possible solution if it really is helpful to law enforcement and civil society to have these cameras…
What if you made the data only recorded for flagged license plates, for example? Where all information is discarded at the camera-level (not even sent to remote servers) unless it matches a specific target given by police with an expiration date, with an audit trail for every entry, and manual blind-solution human review to confirm any matches before an event is even recorded
Nah. Malloc’s return type is a pointer. The memory pointed to by a malloc call is untyped. But the return type isn’t void. It’s void*, aka a pointer to unknown.
I’m mostly happy with implicit casts from void* to int* or something. But in this code example, we see an implicit cast from void* to int, casting the pointer itself into a number that might not even fit the pointer. This is rarely what you want. I’d much rather explicit casts in this case.
My understanding is that C has a different understanding of the word warning than other languages. Such as in "stern warning" or "warning: the building will collapse if you take that brick out".
This is a philosophical problem. C has false positives to the question: "Is that a program", and some people find that to be idiotic (I don't, this is why I like C). But this becomes really logical, when you have in mind, that the point is that you do not want to have false negatives.
reply