Not OP, but I just use ZeroTier for this since it’s dead simple to setup and free. I’m sure there’s some 100% self-hosted solutions, but it’s worked for me without issue.
Not OP, but I just use ZeroTier for this since it’s dead simple to setup and free. I’m sure there’s some 100% self-hosted solutions, but it’s worked for me without issue.
That was a pretty interesting read. However, I think it’s attributing correlation and causation a little too strongly. The overall vibe of the article was that developers who use Copilot are writing worse code across the board. I don’t necessarily think this is the case for a few reasons.
The first is that Copilot is just a tool and just like any tool it can easily be misused. It definitely makes programming accessible to people who it would not have been accessible to before. We have to keep in mind that it is allowing a lot of people who are very new to programming to make massive programs that they otherwise would not have been able to make. It’s also going to be relied on more heavily by those who are newer because it’s a more useful tool to them, but it will also allow them to learn more quickly.
The second is that they use a graph with an unlabeled y-axis to show an increase in reverts, and then never mention any indication of whether it is raw lines of code or percentage of lines of code. This is a problem because copilot allows people to write a fuck ton more code. Like it legitimately makes me write at least 40% more. Any increase in revisions are simply a function of writing more code. I actually feel like it leads to me reverting a lesser percentage of lines of code because it forces me to reread the code that the AI outputs multiple times to ensure its validity.
This ultimately comes down to the developer who’s using the AI. It shouldn’t be writing massive complex functions. It’s just an advanced, context-aware autocomplete that happens to save a ton of typing. Sure, you can let it run off and write massive parts of your code base, but that’s akin to hitting the next word suggestion on your phone keyboard a few dozen times and expecting something coherent.
I don’t see it much differently than when high level languages first became a thing. The introduction of Python allowed a lot of people who would never have written code in their life to immediately jump in and be productive. They both provide accessibility to more people than the tools before them, and I don’t think that’s a bad thing even if there are some negative side effects. Besides, in anything that really matters there should be thorough code reviews and strict standards. If janky AI generated code is getting into production that is a process issue, not a tooling issue.
I mean if you have access but are not using Copilot at work you’re just slowing yourself down. It works extremely well for boilerplate/repetitive declarations.
I’ve been working with third party APIs recently and have written some wrappers around them. Generally by the 3rd method it’s correctly autosuggesting the entire method given only a name, and I can point out mistakes in English or quickly fix them myself. It also makes working in languages I’m not familiar with way easier.
AI for assistance in programming is one of the most productive uses for it.
Not OP, but my main preference for MacOS comes from the UI/UX of an absolute rock solid OS on top of a unix-like shell. I regularly go months without rebooting my machine with 0 issues like software hanging on wake.
I know there are a lot of exclusive creative apps, but all I really use my MacBook for is code, typical browser stuff, music, slicer/web interface for my 3D printer, and to interact with my home server. I’m not an open-source/Linux purist by any means, but pretty much all the software I use is widely available on all platforms. It probably helps that I bought a MacBook after growing up with Windows/Linux, so I came into it with a set of software I was familiar with that already existed on other platforms.
Not at my computer so I can’t double check, but I believe you can replace the outer double quotes with single quotes. I’d also remove the spaces before and after the equal sign for the alias. I don’t know about fish but I know bash doesn’t like when you add spaces there.
Not the person you’re replying to, but I bought an Optiplex 5050 with an i7-7700 for $75 to use as a server because an RPi 5 is more expensive and way less powerful. It even has a CD drive.
Just because you’re not writing high performance software doesn’t mean it shouldn’t be a consideration. Sure, I’m not gonna micro-optimize memory when I’m writing an API in Python, but that doesn’t mean I’m not going to write it efficiently.
If I have to store and then do lookups on some structured data I’m gonna use a hash table to store it instead of an array. If I need to contact a DB multiple times I’m only gonna close my connection after the last query. None of this is particularly difficult, but knowing when to use certain DSA principles efficiently falls pretty firmly into the computer science realm.
If you need someone to hyper-optimize some computations then a mathematician might be a better bet, but even those problems are rarely mathematician level difficult. Generally software engineers have taken multivariate calculus/differential equations/linear algebra, so we’re decently well versed in math. Doesn’t mean we don’t hate the one time a year we have to pull out some gradients or matrices though.
Surprisingly, Remarkable tablets, despite not being open source, you can do just about anything with. They allow root SSH access and the backend is a heavily stripped down version of Linux.
I’ve been writing an application to allow customizing splash screens over SSH/SFTP and it’s actually been super easy to work with. The “jailbreak” scene is also super active, and the company has gone the opposite direction of most. They retroactively removed the need for a subscription to cloud sync on all devices, and seem to very much embrace the ridiculous things people have done with their tablets.
The device is also no nonsense and does exactly what it’s designed to do extremely well and no more. No ads, no bloat, no constant internet connection. You could never connect the thing to the internet if you really wanted. Honestly one of the few devices I’ve bought in recent memory that I feel like I wholely own.
Two big downsides are no Bluetooth, and you need a modified hardware device to unbrick the device if you fuck up (jumping type C pins to put the device into recovery). Overall really solid and would recommend.
There are levels to it. As things get more complex the problems get infinitely more strange. As you learn a particular technology the strange things you encounter are often because of a misunderstanding about that technology or the way it works.
Once you hit professional level software engineering (think distributed systems), things are strange in large part because the system you’re working on has hundreds of thousands of man hours poured into it, and is often very complex with 10 different technologies backing it to do various things.
The more strange things you encounter though the more you’re learning!
I’m a software engineer, and it never stops. Things just get stranger.
I’ve had the opposite experience at my past and current job.
I’ve always been given the choice of Windows or MacOS, with a remote Linux machine available if needed (first job I ran remote IDEs on it, second job I’ve gone full local development). Same with IDEs. As long as I was able to properly write and test code it did not matter what I used as both companies had licenses for the top IDEs (JetBrains suite, Visual Studio, etc.), and would buy one-offs if you wanted to use something else. There was always a general team convention simply due to ease of use, but I occasionally opted for a heavily modified VSCode workspace over PyCharm and the like.
IntelliJ for Java Pycharm for Python VS Code for everything else
I use the Jetbrains IDEs through Gateway to my dev desktop, and VS Code through SSH.
I work at AWS and the tight integration of the Jetbrains IDEs with our internal package manager/build system is a must. I frequently need to do some lighter scripting or text formatting at which point I just use VS Code because it’s faster. I could realistically use any of them for everything, but I’ve realized using 3 IDEs that suit my multiple use cases perfectly has been more enjoyable than using one IDE that does one thing perfect, and everything else just okay.
Pretty much. I’m a plugin developer for Decky Loader on Steam Deck and my sole motivation is I enjoy building cool shit. I wanted a feature on my Deck that didn’t exist…so I just made it. Then, since others wanted the feature I created a pull request to the Plugin Store so everyone could use it.
I’ve spoken with quite a few of the other Steam Deck Homebrew developers and they basically all had the same story. It’s also nice because if you get stuck or need help there are hundreds of people you can ask who are very knowledgeable, and more than willing to help.
Don’t worry, Dana White got the guy a few years back.
Do they fail to realize most illegal streams are run from countries outside of the US? DMCA doesn’t mean shit in some tiny country in southeast Asia.
I never open any ports to the open Internet other than the two my friend client uses.
For remote access I use a P2P VPN called ZeroTier leaving it always running on the Pi, and switching it on for the remote device when needed. It’s free for up to like 50 users and is very powerful, but dead simple.
I usually run repacks on Desktop PC with Windows and copy over resulting files and point Steam at the resulting exe. It makes the process a lot faster since my Desktop has a 5800X3D. Other than that though pretty much the exact same process on my end.
I usually just run a ZeroTier client on my Pi connected to a private P2P network to solve this issue, and then have ProtonVPN over Wireguard for all internet traffic in and out of the Pi.
I have a Pi 3B+ I run qBittorrent, Plex, ProtonVPN through Wireguard, and a Samba share on and have had 0 issues. It’s connected to a 2 TB external SSD which is where the Plex media library lives and coincidentally where qBittorrent downloads to by default wink wink. I also have a P2P VPN called ZeroTier that allows me to securely connect to the Pi from anywhere. You should be golden with a Pi 4.
I’ve had zero issues even transcoding 4k BluRay content, but it required adding active cooling to prevent the Pi from overheating. Thankfully you can get a tiny heatsink and fan for under $10.
Edit: Accidentally said RPi 5 which didn’t exist… Fixed.
Should be at least double in the US since it would be consultancy work which brings higher taxes (1099 vs W2) and no benefits. A $500 full day consultation is super cheap.