GitHub Copilot X – Sign up for technical preview
github.blog
github.blog
[1] Copilot X: https://github.com/github-copilot/chat_waitlist_signup/
[2] Copilot Voice: https://githubnext.com/projects/copilot-voice/
[3] Copilot Docs: https://githubnext.com/projects/copilot-for-docs/
[4] Copilot for PRs: https://githubnext.com/projects/copilot-for-pull-requests/
[5] Copilot CLI: https://githubnext.com/projects/copilot-cli/
This is going to be fantastic!
BRB buying some MSFT
The Developer Enterprise Program plan is $299/year and enables corporate/internal distribution to employees.
Most people only need the first, but the second is also an option. And if you need both, it's technically $398/year for the great honor.
Then try selling through a grocery or drugstore chain.
But good luck trying to sell your new iphone app through your own website.
At least with android, you could sell an APK download or sell through a different app store.
It was priced and designed for companies to be buying as a bundle with other licensing. individual devs would frequently use some of the loopholes through licensing partners to commit to what was basically a three year subscription that spread the cost. For companies, it could mitigate some of the costs associated with the proliferation of environments that needed to be licensed from top-to-bottom. Later, these may stop being eligible for MSDN use and generate more revenue. License auditing was real and gave visibility into this usage.
VMware still have a program like this going for their admin user base. It gets recommended by the r/homelab folks who haven't adopted Proxmox.
Or $800 for a COBOL|FORTRAN|C|AP/L compiler, plus $600 for a debugger.
At least when you upgraded the next year, you got $20 off!
Unless this goes to hundreds of dollars/month (which I would pay if it was a good experience) I don't see this making a dent.
But that wouldn't quite work.
If developers all use it for their own projects, you have a viral growth engine. And you can charge a lot more for the enterprise license.
SAML, fine-tuning on your private repos, etc. - this could be a very expensive seat with all the options added.
I think they are just trying to establish themselves in the market and how the market will play out will be seen over the coming years.
No.
Tell me you buy the hype and on high impact macro-economic news like FOMC and lose more money due to volatility without telling me.
Almost everyone here knew GPT-4 will release soon, months ago in advance and you now decide to 'buy' MSFT as soon as it goes up to $277?
The market really does get retail FOMO'ing in stocks with the hype and it just never ceases to surprise me that it happens here too.
It also helps me understand new codebases in languages that I am not familiar with.
In addition it is good for refactoring and can spot bugs.
I use combination of chatgpt in editor and copilot. And I have ChatGPT one shortkey away as an os app.
This is when I build a product and then Microsoft releases it three weeks later -_-
I'm going to sign up for the free plan, not because I need such a tool, but rather so that my boss might see me using it and decide that it's worth $10 a month to her.
const questionCriteria = {
filter: '!-*f(6s6U8Q9b' // body_markdown and link
}
I thought maybe it is a hard-coded CSS element name in StackOverflow answers, judging by the context, but it's not that. Could you shed some light on this?Found in the How2 source file `how2/lib/how2.js`. Thanks.*
* https://api.stackexchange.com/2.2/questions/16476924?order=d...
* https://api.stackexchange.com/2.2/questions/16476924?order=d...
I think this should contain a list of what's in the filter: https://api.stackexchange.com/2.3/filters/!-*f(6s6U8Q9b
$9 per month also makes it costly enough that I wouldn't buy it as a "just to have" kind of tool. I don't think I'd get $100 of value vs searching online, especially since I attribute some negative value to tools that can be taken away from me. I don't want to pay forever and be dependent on something that could disappear tomorrow.
I don't get why something like that needs to be an online service. I don't know much about AI, so maybe it's a lack of understanding on my part, but why can't I simply have a copy of the trained model on my local machine where there's no ongoing cost (to you) whenever I run a command? Isn't an online API a complex solution to a problem that could be solved with a local app + data?
Maybe I just lack understanding and the models are too big or the compute required to make a query is huge. If you could give some insight I'd genuinely appreciate it.
Even though I'd never buy it as a subscription, it's the kind of thing I'd pay for as a perpetual app. I'd wouldn't hesitate to pay $50 if I could install it on my machines and forget about it until it would be useful. I'd also expect to pay for updated versions of the models whenever I need them.
Regardless, I think it's amazing as a discovery tool. I don't mind reading 'man' pages to figure out details, but I always feel like it's a hassle to discover what command I need for certain tasks.
Also, I'm probably an outlier since I make a lot of effort to avoid tools that rely on an internet connection to function. IE: I won't rely on GitHub. I'll use it, but only as a push mirror.
Very cool. Too bad I don't do subscriptions. If you ever figure out how to do a version on localhost, I'd pay $40 or so for it.
Cheers to those who know where to put their dollars to ride this AI bubble to early retirement!
So what if I use Intellij? And worse, would it eventually kill Intellij?
Made by GitHub.
It's not a stretch at all. Take a look at Copilot's homepage: https://github.com/features/copilot
> Keep flying with your favorite editor
Now, look at Copilot X's announcement:
> We are bringing a chat interface to the editor that’s focused on developer scenarios and natively integrates with VS Code and Visual Studio
> It recognizes what code a developer has typed, what error messages are shown, and it’s deeply embedded into the IDE.
It reads like "we're going to make AI a competitive advantage of VS and VScode." Of course they have the right to do it, I'm just saying I hate it.
They’re releasing their editors first. Just like they did the last time. Obviously.
One minor nit for the Githubbers inevitably lurking in the comments:
The confirmation message for [4] says that they'll contact you at [first email address listed on your account], not [primary email address listed on your account]. I hope that's just a display bug since I don't have access to the email I first created my account with (but want to keep it added for commit attribution). It's not listed as the primary email though, which is where I'd expect this kind of communication to route through!
From the FAQ at https://github.com/features/preview/copilot-x (When will GitHub Copilot X be available and how much does it cost?).
"Next Waitlist by GitHub Next would like permission to: Act on your behalf
Not owned or operated by GitHub"
Why does signing up for a waitlist require me to give permissions to an app to act in my account? An app that isn't even officially from GitHub?
This sets a bad example for permission requests, getting people to just click through the dialog, which requests too much access, and from the wrong domain.
This is not clear at all. Phishing websites always say (C) Bank of America. That doesn't make it legit.
Curious why they'd use a totally different domain in the first place–how much access do you think you could get to private repos just by cloning that page onto githubfuture.com (available) and spearphishing interesting targets?
Because it uses GitHub's oauth flow, all applications who use this flow show the same stuff.
I assume the problem is that GitHub doesn't have sufficiently granular permissions (OAuth scopes), or that the requesting app doesn't use the correct scopes.
But I totally agree that this isn’t a great/clear message about where this is from.
I wouldn't have hesitated at all if it were at next.github.com.
I’ve passed feedback on to the team so (hopefully) the CLI app will be be clearly from GitHub soon (we need to transfer it to the regular GitHub org and then there hopefully won’t be any confusion). GitHub Next exists in a different org from GitHub proper for lots of reasons, but we should definitely make it more clear that those experiments are still from GitHub.
Can't wait for Voice Copilot :)
Maybe it's just copy and pasted from somewhere, but it looks wrong to me regardless.
Just the other day I had to verify with a Norwegian bank that the KYC form (which IMNSHO was utter nonsense as usual) that they linked to was actually them and not someone who had gained access to sneak in a link. Because the domain was something completely different.
https://github.blog/changelog/2021-01-29-github-pages-will-s...
"Techies" often lament about how silly users are about falling for phishing tricks, but then they also routinely make it so difficult to determine what's legit from what's fake.
Like the amount of times on my phone where I get prompted for a username and password different from the app im in (to make some kind of connection) but then suppress the url from visibility. An astoundingly poor design choice that has proliferated into every single variant of that interface design flow.
Thanks for the feedback.
So true. I still think the DNS was one of the only chances to grant, and teach, the ability to confidently make trust decisions in the general population. IDN attacks notwithstanding, it's hard to beat an inspectable string that contains its own trust chain, compared to "app names" that can often be set to the hacker's own choice. Sadly, antipatterns seem more common than useful patterns.
(Antipatterns like using a domain like "talktotacobell . com" (don't visit that) as the site to complete a receipt survey. Or every public school district or even school having a random .com or .org.)
People decided that end users would find an address like xhs.xsd.ed.ca.gov too complicated, yet people found 10-digit completely meaningless telephone numbers perfectly fine for decades.
```We’re starting with documentation for React, Azure Docs, and MDN, so we can learn and iterate quickly with the developers and users of these projects.```
I'm reminded of this incident [1] from a few months ago. Allegedly, a malicious actor abused GitHub's poorly designed OAuth permissions to obtain up to 500 stars from developers without their consent, all thanks to a "sign in with GitHub" button and a flawed consent screen that did not communicate what the victims were consenting to. Even worse, GitHub allegedly decided to suspend at least one victim's account.
We're left with a number of questions:
1. Why does GitHub give third-party apps permission to star repos when it is apparently against the terms of service to automate such an action?
2. Why does GitHub lump this permission in with public_repo, a scope that grants read and write access to all public repositories? [2]
3. Why does the consent UI for this scope display simply as
Repositories
Public repositories
and not even mention that this grants write access unless the user clicks on it? [3] (it also doesn't mention that it gives permission to star repos)4. Why does GitHub punish victims with account suspension for being tricked into giving consent to malicious apps?
It is good that GitHub is taking some steps to improve account security, such as fine-grained personal access tokens and mandatory 2FA. But these improvements do not seem to be extending to the OAuth system. The GitHub App system, while better in that it has granular permissions, is also flawed with its mysterious "act on your behalf" consent UI. [4] [5]
[1]: https://news.ycombinator.com/item?id=33917962
[2]: https://docs.github.com/en/developers/apps/building-oauth-ap...
[3]: https://news.ycombinator.com/item?id=33919481
[4]: https://github.com/community/community/discussions/37117
[5]: https://github.com/cirruslabs/cirrus-ci-docs/issues/751
ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=10:10" output.mp4
Bunch of descriptive words too.I'm developer with 16 years of experience, currently working mainly with python for API work.
I'd love to hear accounts of other people, please add your background if you feel comfortable. I want to see if there is some correlation to experience, programming languages or use cases.
Also, I find it very useful when I code in an unfamiliar environment, for example python. While usually I know what I want to do, I'm not exactly familiar with details of syntax's, or how a specific library api looks like. This is where it shines, in my experience. Huge time-saver.
[0] https://www.strictmode.io/articles/using-github-copilot-for-...
I can understand why you might not like it if you were using it for critical things that needed to be well planned and debugged before running. I don't find it very good at intricate work but that's ok with me since I want to really slow down at those points and think about what I'm doing.
As a side note, using ChatGPT with GPT-4 or even just GPT turbo is an amazing unblocker for projects where you need to use unfamiliar packages, APIs or languages. You can just talk to it about what you're trying to do and it'll provide you with great examples and explanations. It won't be right 100% of the time but it's right enough to get you unstuck and a lot faster than searching through docs or stackoverflow for a good answer. It helps to be very precise with your problem statement as well, like specifying the version of the package you want to use or a time frame. Those little prompt tricks remind me a lot of the Google-fu we had to learn to search effectively. I'm excited that Copilot is going to be moving to GPT-4 with chat built in, it'll unify the whole process.
I'm using it for Typescript + NodeJS development. I find Copilot most valuable when it's something I'd need to Google anyway, like how to format a date string or how to do X in selenium. 8 out of 10 times the answer is right, and the other times it is at least interesting (gives me an idea of what to look for).
This quick feedback is _way_ faster than googling and keeps me in the IDE, and also just makes it more enjoyable to code when there is this "pair programming" partner that I can interact with via code/comments and it will generate ideas for me, even if they aren't all perfect.
Where it is pretty useful I think is in examining large chunks of poorly commented code bases, where you're using CoPilot to generate comments describing what the code is supposed to be doing, i.e. '#here we ..'.
https://github.com/orgs/community/discussions/7553#discussio...
It should have an mode where it only ever suggests a single best guess when I press a certain shortcuts.
- auto complete. This one is amazing but I’m not willing to spend 10/month for only that
- generate code inline. The main purpose of copilot. It works okay but too often I feel like I’m faster if I google things myself. Perhaps I’m just a very fast googler and reader. Wouldn’t surprise me
- use a solution and adapt it to my own code. I don’t know how this could work without copilot having access to my browser and knowing what I just read somewhere. I’m very excited about this but right now copilot does not seem the right tool
But above all I cancelled for two reasons: it’s too slow and I can’t trust my privacy and code IP to be respected
Edit: I also feel there is a lot of secondary information lost. If I google I have multiple tabs and windows and (temporal) structure. I also learn about neighboring concepts via stackoverflow comments, or I learn about how to navigate the docs for whatever I’m doing right now.
With copilot I am not exposed to all of this. Not yet
This! I think what we lose from these auto-completion systems is a differing of opinions, options and abilities to learn and evolve our ideas.
I don't always want the most commonly weighted average answer. I want to see, learn and try new things.
But above all I cancelled for two reasons: it’s too slow and I can’t trust my privacy and code IP to be respected
I'm starting to look for GitHub alternatives for this reason, I'm sure it's no surprise where they're getting all the great training data from, it's our code. Which might be ok, but no you won't even be able to innovate to make some money because co-pilot will be reading all your suggestions.
I wonder if Microsoft trains it on their own proprietary code? :)
I'm on the trial and I'll probably cancel it before I have to pay. If it was easier to turn it on and off or only use at specific moments, I might keep it, but as it is, it hasn't been great for me. I have 25 years of experience. Maybe if I was younger, I'd like it, but at this point, I'm usually not typing something unless I know what I want to type, so it's just a distraction.
IntelliJ inspections and refactorings blow copilot out of the water it’s not even a contest.
Something I'm actually more optimistic/curious about is the potential for code analysis, like an advanced linter. "Tell me if you think you see any bugs in this code." That's something I would totally use even as an experienced programmer working in an older, slow-going codebase (maybe especially in those)
It interferes too much with the standard autocomplete/intellisense. I want to use copilot in an on-demand fashion for help with libs I'm not familiar with and scaffolding, but the team seems dead-set on having it always on and in your face; no settings to swap around the default for normal autocomplete.
Maybe I can try toggling it on and off more aggressively. Perhaps Copilot-X's prompt will be more useful for me. IDK but the experience is disappointing especially compared to the potential.
Edit: Also I alluded to this but it's just plane wrong a lot. So the inline suggestions are like 75% wrong and I'm fighting to get my autocomplete to show up instead.
“GUIs are pretty but slow. Ok, they’re faster but just glued on to CLI programs. Ok, they’re native but less information dense. Ok, that’s a good thing, but…”
“The internet is nice but you still have to go to the store/bank. Ok, you can shop/bank online but you still have to call airlines. Ok you can buy airline tickets but you still have to go to the library to research. Ok, you can research but you still have to drive in to work. Ok…”
Maybe it’s a half empty / half full thing, but there is some portion of the populace that can’t acknowledge the promise of anything until it is perfect and comprehensive.
And, yes, there’s another portion that can’t acknowledge gaps or flaws of the promise is sufficiently huge. But it’s the former that grinds my gears.
> Maybe it’s a half empty / half full thing, but there is some portion of the populace that can’t acknowledge the promise of anything until it is perfect and comprehensive.
Probably because paradigm shifts or new ways of doing things come with a lot of trade-offs that can be seen only after the change has been absorbed more. Early adopters are usually blind to these issues (or decide to be blind at them), conservatives don't look at the improvements but think that there might be something not that good in the future by projecting past experiences.
Well written GUI apps will always have good support for keyboard-only use. This is doubly true for apps that care deeply about accessibility, since some people have disabilities that make it hard for them to use a mouse or trackpad.
On the other hand, TUIs will never support non-Latin scripts properly, or have good support for screen readers, or be easily discoverable without a manual, or have uniform automation support using native automation APIs. In my view, CLIs are strictly inferior to GUIs unless you’re putting together data pipelines.
More self-driving cars on the road -> more driving data for that company -> better self driving cars
But when we have that, it’s hard to believe that self driving won’t work.
The question is whether these are somehow inherent to the LLM approach or whether scaling up and continued improvements can eventually get rid of them.
They are the main barrier at this point between a very useful tool, but one that still needs to have all its output carefully checked by humans when it comes to anything important, and a true autonomous agent that can be given full tasks to do on its own.
I'm not at all trying to downplay the power or significance of LLMs, btw, in case that's why I'm getting downvoted... I'm using copilot/GPT4 every day and they are massive productivity boosters. But currently I see them as tools for producing rough drafts that need to be revised and checked over. If they can't solve hallucinations, LLMs will stay in this lane, which is still incredible, amazing, and useful, but won't necessarily get us to the AI endgame that the hype is predicting.
Also, I have no illusions about how language models work. I notice that the sloppier the code I'm editing, the worse suggestions (and dumber comments) it suggests. If I start writing a comment and copilot immediately suggests "TODO: delete this", that's a better indicator of poor code health than any metric I know about. It's not a magic wand, but it can be extremely useful if you use it sensibly.
Then again, you can just decide to forget how it works and ask it questions directly in comments:
// Hey GPT3, write me a poem
// ANSWER:
It's not sensible, but it's great fun.I (mostly) kid but some seniors I know struggle at those things.
Not quite, but a bit of plumbing can get you closer. Not human using a computer close, but interestingly closer nonetheless.
I've been trying to accomplish something akin to this by having a program monitor and alter another program within a virtual machine, using GPT-generated solutions to error traces to correct bugs in the sand boxed program.
It watches the program to see when an error occurs, feeds the error to GPT with pertinent code, then tries to splice in the solution.
It kind of works. I don't think we're going to see human-levels of success from this in the immediate future, but I was able to write a simple event-based system which alters a program to resolve simple bugs. It even does it on a different git branch, and there is some stubbed out code and prompts for generating tests. In my manual testing, this actually worked too. If the tests passed I was going to have it push the change set and create a PR explaining the changes, tests, etc.
I doubt I'll continue now that Copilot is doing this already. My point though is that with the right configuration, the right data and prompts, and a system orchestrating the start/stop/test patterns based on the state of the sandboxed program, you can begin to achieve something akin to an inexperienced person solving bugs.
Sometimes it does a terrible job and other times it kind of falls over itself. But we're already leaps and bounds ahead of previous systems, and I just cobbled this together with what's possible via OpenAI's API.
The crazy part is that there are so many possible layers. Like say we get our initial solution and we verify that it works. Well, now we can have a system which optimizes the implementation. Like a PR buddy that observes the implementation and determines: should this test be appended to an existing suite of tests? Can the test case simply be added to an existing table-driven test? How can we streamline this patch to avoid an endless stream of additional files and tests to maintain? I think that's actually tractable already. While the success rate won't be 100% today, it'll clearly only improve.
Neither of them are any good at just writing a ton of code (unless the code is mostly boilerplate). But they’re amazing keystroke savers and a next generation stack overflow.
Even if it’s wrong the stakes are low. Just paste the error back into the chat and it will give you an alternative.
But the real solution here is the new Copilot X for docs. Feed in the code base and all documentation and now you have the real source of truth at the helm.
have to wonder at what point developers remember how anti-developer Microsoft used to be and potentially move away from their ecosystem. Credit to Microsoft's PR team for somehow managing to turn around public opinion about them, it's an all timer
There’s a massive paradigm shift we’re just at the beginning of and Microsoft has been putting pieces in place for the last couple of years. Nadella has really turned things around for them.
Google and meta are scrambling.
Things should get interesting.
I suspect once Apple turns toward gen ai, all of its other advantages (infra, hw, instal base, services, etc) will propel it to forefront.
It'll be interesting to see, anyway.
Still, I suspect the AI stuff will be hard for them. They were first to market with Siri and it’s still trash 13yrs(?!) later. It’s always been what they’re weakest at, I’m not sure LLMs will be different for them.
The headset could still give them a nice hardware platform advantage though if that UX becomes the main new interface.
They bought Siri! What stops them from buying someone for "ai"
The system provided intents ( https://developer.apple.com/documentation/sirikit ) are rather limited. While we can say "it should be more" the architecture for it doesn't appear to be something that easily extensible by anyone (Apple included).
However, for those intents - it does quite well and most processing is done on device rather than in the cloud and that fundamentally changes the economics and capability. It is much less expensive than Alexa to run (where nearly everything is in the cloud), but it is also something that can't do as much.
Try this - turn on airplane mode and do "hey Siri what time is it?" or "hey Siri open notes" And while those are indeed a very limited examples (there are other examples such as interacting with HomeKit where it needs the lan), it shows that much of the work is done on the phone.
This also means that its capabilities are limited to what you can run on the phone.
We'll see if that changes.
When you look at SiriKit when compared to Google and Alexa, it is an entirely different approach that isn't designed for general tooling of a voice assistant but rather the intents show that it is designed for specific functionality of specific types of applications.
Asking Siri for things outside of those intents was always delegated out to some other service (Wolfram Alpha was the choice for a while).
Siri was never designed to try to monetize the voice interface (compare Alexa and Google) and thus wasn't trying to do everything and SikiKit shows that it can't do quite a bit. So that it can't do everything shouldn't be a surprise to Apple.
Comparing Siri to Alexa, they are very different architectures with different goals and support costs.
If you look at https://www.apple.com/siri/ you should get the idea that this is interface to common tasks - not a general "do everything and chat about it" assistant. What's more, it limits what goes off device (whereas Alexa and Google do all speech to text on the cloud).
"Your intelligent assistant that helps you get things done just by asking"
I suspect Scott Forstall and Jobs wanted it to be what LLMs show the potential for it to be. Not the crappy barely functioning timer setting app it currently is.
Siri is dumb as rocks, it's so bad at basic queries it's not worth trying to use.
Those were the intents that were set up.
Yes, it would be nice to have LLM style power - but that isn't how Siri was architected even from the very start. Word combinations are recognized as certain intents and parsed for functions to call into apps that register that they are able to handle that function call.
If there was no match for the intent, it was sent to Wolfram Alpha to do a knowledge base lookup. While Wolfram is really good, it certainly isn't a chat bot.
Siri wasn't supposed to be smart. Siri was intended for an interface to the existing apps of phone, music, messages, calendar, reminders, map routes, email, and weather.
When you look at that segment, 12:48 "just take your phone and ask Siri to set a timer for 30 minutes and you're done." Siri was very much intended as a timer setting app.
What functionality in there that you see in this segment that isn't designed as an interface to existing apps? What time cue do you see them promising something smarter than what was designed?
Since that time in 2011 it has gotten no closer to “intelligent assistant”. That’s a failure imo.
Google’s is much better at answering basic queries.
Siri is an interface to a limited set of the apps on the iPhone.
These are fundamentally different architectures for how how each was designed along with implications for privacy and where the company has compute resources that can be used.
If you are after a general knowledge search engine, Google will certainly out preform Siri.
Google has better cloud integration for a lot of their functionality. Apple doesn't have that amount of cloud resources that it can use and is a device first company rather than a cloud first company.
If you want to say "android can search google better" Ok. I'll grant that. If that makes it "smarter" - ok. Android is smarter than Siri because it can search google better.
If you want to say "android can control apps on its phone better" - I really want to see evidence that the ability for Android to control 3rd party music apps (e.g. Spotify) or report the weather or calendar or set up alarms... I don't believe that android is any better than Siri in that regard.
If you want to chat with it (e.g. "what is the answer to life the universe and everything?") then those are cute responses that are programmed in.
Do you have other criteria that you are using to compare the different devices other than its ability to search Google?
Siri will often uselessly "find results on the web and send them to my iPhone". Google can answer more queries directly as well as do basic timer setting stuff. The thing you're missing is the implementation detail is irrelevant to the end user, it's an issue of capability.
Your point about Apple being worse at cloud is partly what I'm talking about (and one of the reasons siri is so much worse). It's why Apple has not done a good job with this up until now. I don't buy the "it's intentionally not capable/bad by design because that's what they were going for" argument.
My prediction is Apple will make some sort of move here. Whether that's an investment in stable diffusion or something else I don't know. I expect what they do to have an apple flavor (on-device, privacy focused), but I think it will be leveraged to make Siri actually useful (and more of an actually intelligent and capable assistant).
Expecting Apple (or any company) to be chasing the current hype is more likely to be disappointing (see Google and Bard or Bing and its mistakes). Apple, with its very cautious nature for curation of its brand image would likely be some time out.
I would also point out that Apple's prominent place in regulatory views would make it more hesitant to do things that they may have to open up.
Wait until after the regulatory dust has settled... and after the various lawsuits about copyright infringement or section 230 and GPT have settled ( https://www.marketplace.org/shows/marketplace-tech/chatgpt-i... ).
I don't believe that Apple has any appetite for becoming more of a target for government regulators or wading into untested legal waters. But that's my crystal ball - yours apparently sees different things.
What made google amazing was it settled conversational disputes or provided instant (if limited) familiarity on a subject. Siri fails to provide verbal feedback on relatively simple questions, instead referring people to their iPhones for "web results."
As an end user, the product's failure understand or make sense of the intent of a user is even harder to deal with in Home / HomeKit. I often find myself pulling up the Home app to hunt down and manually operate some accessory because voice requests are just failing.
Common patterns happen throughout a home covered in HomeKit and Homepods and yet this AI is unable to provide reasonable suggestions for automation modifications, scene tweaks or suggestions for additional accessories.
Siri-based requests for songs or albums from Apple Music on HomePod is abysmal, providing covers, or flat out wrong genre, wrong era that my listening habits should well weight away from.
It is just bad--architecture design be damned the product fails under "normal" use. Outwardly, it seems like a MobileMe-level failure, where SJ asked at a town hall "Can anyone tell me what MobileMe is supposed to do?"
All that said, I agree with this comment that it is a mistake to expect Apple to integrate LLM that uses any known model into its product.
Even if Apple wanted to, I don't know where the company could source data that is manicured to "safe" enough to serve as a basis for responses by Siri.
It doesn't really matter, to end users how they fix it.
The company's job is to drop the product or iterate until it figures out how to better satisfy they end user.
However, the company has deployed machine learning in support of its neural engine which has a huge amount of penetration. This has already shown the iOS fleet ready to do gen AI at the edge.
The company has focused largely on STT and image processing but has worked to support use of the chip for general ML, via transformer. [1]
I’d say Apple’s only failed in the way everyone did—-failure to foresee and the potential impact of generative AI.
Apple seemed unable find a use case that would help its ecosystem. I am surprised it never releases copilot like behavior to Xcode. When will this occur?
[1] https://machinelearning.apple.com/research/neural-engine-tra...
This is so true that now the only differentiating capability is execution, and I'd say that Microsoft is excelling here in an unexpected way.
Long time Android user here, only iPhone since 3 years ago:
Siri I use to set timers and I sometimes use its unsolicited suggestions.
Google only tried to make practical jokes on my expense, like suggesting I call the customers CTO or text a friend-of-a-friend at 0400 in the morning.
One single time I can remember Google actually getting a suggestion correct.
This probably works better today than four years ago and maybe it always worked better if you were in a US timezone and spoke American English, but with Siri setting timers at least works and a few times a year it comes up with smart suggestions.
(Yes, I'm not too impressed with Siri either.)
I had expected Apple to produce its own version of GitHub, but the space is apparently too messy.
The earliest value of open AI is similarly messy. Lots of press about how to jailbreak or trick the thing. Bad answers or questions about legality of what the models produce.
None of that comes anywhere near where apple can use its strengths. It just opens new surfaces that require expertise the company doesn’t have.
[1] - https://blogs.microsoft.com/blog/2023/01/23/microsoftandopen...
if Tim Cook wants $10 bln in new profits, he can simply pass some arbitrary judgement like "the next iPhone will only be compatible with new AirPods we will introduce at the same time" and everyone will comply
so far, there's nothing. there's only vague rumors, or not even - just assumptions that "surely apple will do something about this", "they'll turn to ai eventually". well, they have siri. which doesn't exactly inspire hope for much.
A previous VR wave failed in the '90s. If this one fails, too, we' ll see another in 20 years.
Apple is good at a lot of things but it is AWFUL at AI. Siri is still the worst experience you can have with a language model. That said, all they need to do is integrate some OpenAI API's. In which case, Microsoft STILL wins because of its investment there and where OpenAI's enormous compute happens - which is likely in Azure.
The thing is, a voice assistant needs to actually perform Natural Language Understanding -- it has to understand the intent of what's being said to it. That's actually a very different AI problem than what LLMs are doing at this point. Samsung's Bixby -- yes, the one everyone turns off -- can handle a "conversation" like this: (This is run using the "Space Resorts" sample capsule, a fictitious hotel booking system)
---
User: Show me hotels near Mars
Bixby: I found these space resorts on Mars. (Shows two, “Martian Oasis” and “Space Y”)
User: [taps Martian Oasis] make a reservation for Christmas week
Bixby: Which habitat pod would you like? (Shows two)
User: Honeymoon
Bixby: Are you sure you want to book this trip? (Shows the hotel, “Number of astronauts: 2”, and the dates for Christmas week)
User: change the astronauts to 4
Bixby: (Shows the sam confirmation screen, with the number changed)
User: Yes
Bixby: I hope you have a great time at Martian Oasis. (Shows booking info)
---
Now, in some ways this is no great shakes, but I don't think "all [Apple] needs to do is integrate some OpenAI APIs," because they don't have an API for NLU and deriving intent. GPT4 et. al. aren't currently designed for this kind of problem space. You could use them to make Siri (and Bixby and Alexa) better at answering general questions, but you can't use them to make the voice assistant do something, just respond to something.
Bixby 2 (the current version) is, incidentally, what came out of Viv, the voice AI startup that the Siri folks made after they left Apple.
+2.5 billion Google Android devices running their apps overwhelmingly in Java.
Wasn't a coincidence this was chosen that way.
I just tried cold starting Word and getting into a blank document on my i9 MacBook Pro and it took about 15 seconds. Windows is increasingly a dystopian user tracking and ad serving platform that happens to run the applications you need, and they still constantly break basic system functions. For a while I couldn't open jpegs in the built-in photo preview app. I gave Edge a shot for a good 6 months or so and eventually gave up because they kept breaking basic functionality that I never saw broken in Chrome (there was literally a month or two point in time where if you grabbed the scrollbar and dragged it, the bar would disappear, jutting the entire page sideways and breaking scrolling until you closed the tab and reopened it. This is on the default, built-in OS browser!) Also, my god, their SSO experience is so clunky and prone to breaking.
O365 and the product integration there (teams) is why they crushed slack despite slack’s headstart. Slack sold out to languish at salesforce while Microsoft will now just own that space.
Cherry picking a Microsoft app for macOS is like looking at iTunes on windows, it’s not really representative. Even Windows itself isn’t that important (that was one of the big strategic changes after Ballmer left and Nadella took over). You’re right about edge though (which is why Microsoft abandoned it for WebKit).
Microsoft also ships (something Google can’t do very well). I think their current trajectory is probably undervalued because people have not properly updated from outdated historical sentiment.
Microsoft has a better track record with acquisitions.
Poe's Law?
But also large communities are moving into Discord instead of using some public, index-able and findable platforms. They used to be public in the past and people very able to read information about them without going process for creating account, acceptance or even finding whole community.
Discord is terrible for storing long term information in text form. People try to keep some pinned posts but no.. information disappears, when in comparison for forums it was there.
And let's not start with privacy.
Wait really? I've never seen that happen on Discord, I can still see messages from over half a decade ago. Why would they delete data they mine?
Slack on the other hand deletes everything immediately if you're not on the paid plan of course.
Main point was that you can't access or view it without creating the account at first, or even being able to find the whole server. You might even need to give phone number before you can view anything. Then wait 30min to verify that you are not a bot. And all this to find a solution for a problem which you might never return to. The search in Discord is kinda terrible.
Also, if you are couple days or even hours late for the discussion, it might be too late to take part or continue it in large communities. Discord lives in the moment, it is not a place to store information.
On the other hand, on forums, it is not a problem to continue some discussion couple days later. The quality is often much much higher.
But yes chat is chat, you can't compare it to a forum style board because they're not trying to do the same thing. You do typically need both a Discourse and a chat server for any major organization.
Just get any web browser, preferably Microsoft Edge on a Microsoft Window Pro on a Microsoft Surface laptop. Open Microsoft GitHub workspace. To dev for your Microsoft Azure hosted Linux VM. Run the CI on GitHub. Use Microsoft O365 for your design doc. And Microsoft Team for communication.
Poor little Linux in the middle.
No gloomy project managers above you, just write the code you like, express yourself? Check
No telemetry to know what average Joe The Normie uses and wants? Check
No spending time on meetings and plannings, boring strategy discussions, just do a bit of here and there what your soul wants today? Check
Love to tinker and customize your setup without leaving a chance for IT department to standardize on software and settings rollouts, no MDM covering YOUR system ? You are out of enterprise - Check
Dreams came true, why poor?
At a company I worked, overtime they wanted everybody on Mac or Windows. No code locally, only ssh onto a Linux VM. When you argue you can also ssh from Linux, the response is: we cannot run the spywares on Linux.
Sure you can change job. But I have noticed the trend all over among my circle of friends.
For me Delphi Pascal was the pinacle of compilers/IDE combos. A simply fantastic combination of GUI editor, assembler support, fast compiler and truly useful documentation with pratical examples at the click of a button without needing internet.
VScode with a proper copilot seems to be a game changer. Crossing fingers.
For C# Rider is still the gold standard in my book, but for Go I still prefer VSCode to GoLand.
Teams is terrible software and only beat Slack b/c it is included 'free' in every o365 sub. GSuite is much better at collaboration than o365, but because of decades of MS lock in most people still need office to deal with interop.
Slack recognized it was going to be hard to compete with a free feature from a product suite most companies are forced to have. SF could have been a good home, but they struggle at handling acquisitions.
O365 is a child's toy for non-professional document creation. Quickly hacking a document together maybe. Any normal non-web office suite blows O365 out of the water in terms of creating maintainable non-directly formatted documents. Now that they are deprecating offline Office (I think last release 2017 or so) their office suite has gone downhill at alarming speed.
VS Codium is OKish, and has some cool features, but ultimately does not get close to what I have in Emacs in most aspects that actually matter, so that's not a convincing offer either.
Their software is OK at best and rubbish in the average. And don't even get me started on Windows itself.
And claiming that O365 is a toy? Literally the only other online office suite I've used or heard of is GDocs, which has a fraction of the functionality that I use from O365.
Your post doesn't sound serious at all to me.
[0] https://www.microsoft.com/en-us/microsoft-365/p/office-profe...
There are many reasons why VSCode is dominant and emacs isn't, similarly there are many reasons slack failed to compete (even after taking out a full page ad pretending to be apple before suing Microsoft). If you're going to pretend to be apple, you better be as good. If you're going to mock competition you better hope you're apple and not netscape [0][1].
I too think Slack is a great product, but that's not enough. Slack needed to expand into a more competitive offering and they failed to do that.
[0]: https://thehistoryoftheweb.com/browser-wars/
[1]: https://www.huffpost.com/entry/slack-microsoft-open-letter_n...
Try using offline office suites, best not MS Office, and use their writing tool. So many things are missing in these online office suites. I assure you the post is serious and I have used multiple online and offline office suites. Perhaps you should explore more and make use of styles and all that. You will quickly notice how many things are missing in the online office suites.
Yeah that one doesn't count, they've made exactly zero changes since acquisition and Actions still has downtime every few weeks.
I agree with this. And what I think is so fascinating is how much they left on the table during this very same time. Steven Sinofsky's Hardcore Software substack is an amazing read[1]. And it really shows how much they got wrong as well as how much they got right.
MS is firing on all cylinders. Both the OpenAI partnership and the GitHub acquisition are looking like genius moves right now. Google in particular should be very afraid.
[1] Though quite long. Very, very long. But it's well worth reading all of it. There's untold numbers gems in there.
Surprising that AWS didn't compete for its acquisition. They stand to lose a bunch too. That said, except for OS and Browsers, it is all coming together for Microsoft, including their XBox division.
Windows is not negligible.
There's no AI moat keeping anyone from replicating what MS is doing. They can train on everything on GitHub just like MS can.
If anything, this is where they should both be afraid because an upstart with a browser extension could replace them.
It's not an AI moat. It's about business models.
If MS takes even a small fraction of Google's search traffic, and/or convert a small fraction of people from Chrome to Edge, it'll hit Google's bottom line at the one place that's a huge majority of their revenue and profits. MS has nothing to lose and Bing GPT4 integration is very good.
Flip side, there's no area where Google is significantly threatening MS. Office suites: MS copilot announcements go significantly further than Google (Business Chat). Cloud: Azure's relationship with OpenAI and rapid product expansion could see it gain share.
MS is moving very quickly and coordinating across the entire company. Google is moving slowly. And company-wide execution? Well. That has never been their strong suit.
Google regularly bans or breaks browser extensions that are inconvenient for their profits.
They also control the main app store for Android devices.
And for apps installed externally, they have a backdoor to remove any app they want from Android devices that they claim is for malware.
- more anti competitive steps to make installing desktop Linux on consumer hardware hard while arguing you could just use WSL and it's "for your security" and they are not anti Linux because they embrace Linux on servers
- trying to kill Valve, there should only be Windows games and only through the Windows app store
- maybe retrying mobile if Google doesn't do that well
- probably even more anticompetive email nonsense in the sense of "who needs emails providers beside a few giants (like gmail)"
- probably trying to make proper (by then) modern 2FA not work on linux due patend or drm issues, trying to make it hard to log in anywhere in the web with a native linux system
It's about eliminating competition and especially preventing potential future competition, it's about maximizing control and power to the most you can without losing otherwise (due to e.g. law regulations lost consumer trust etc.). It's just a game of numbers and future prospect.
Just the fact alone that Valve has Linux as a form of "escape hatch" if Microsoft locks things down more. With a bit of "future potential" (Valve Gaming console which is more then "just" the Steam Deck) is enough for Microsoft to take actions like that from a purely calculative perspective.
And Linux Desktop _has_ future prospect, maybe not in context of how currently most Linux desktops are but prospect anyway.
I mean Linux desktop has a lot of additional challenges:
- like _massive_ fragmentation through every layer of components and users, often with a lot of more emotional then technical opinions
- much smaller financial resources etc. (the companies which invest are either small (e.g. System76) or are not focused on desktop Linux (e.g. Canonical, Red Hat, Valve))
- a lot of money is flowing into server Linux hence all decisions tend to be focused on the server aspect thing things which are negative for desktop Linux and can not be configured away. (Through also a lot of "accidental" improvements and maintenance.)
but even with all this challenges Desktop Linux is quite usable, actually for some people _more_ usable then Windows. The main problem is normally not missing functionality or hardware support but fragmentation. Fragmentation making it a bad deal to support Linux as a software vendor (getting better through Valve, Flatpack and Snap), fragmentation wasting dev resources, fragmentation making system management/hardware support harder, etc. As well as there not currently being too much monetary reason to invest into 1st party desktop Linux support (Valve is a special case, System76 is small).
But non of the reasons which make people not use Desktop Linux are fundamental, and under the right conditions _one specific_ Linux Desktop could become highly successful. It's very unlikely but it's still possible, hence there is reason to make sure it's not possible.
macOS would be a a better contender but I don't think they consider that a threat, also.
In fact, Windows is starting to weigh less and less in overall Microsoft strategy. Windows mattered when all we had were desktops but now they have lots of cows they are milking.
I won't be surprised if in the future Microsoft will find that it isn't worth to pay for the development of Windows and will release it's own Linux distribution. It would be quite a disappointment for me, but certainly possible.
> but even with all this challenges Desktop Linux is quite usable, actually for some people _more_ usable then Windows.
I've tried since 23 years ago to use Linux as a desktop but it failed repeatedly. I even have it installed on a separate disk on my home PC but I seldom boot it.
In the hypothetical scenario from above it doesn't need to be a thread, just having the potential to become one can be enough. I mean why shouldn't you remove potential future threads when you easily can do so now but can't once they become a thread?
> I've tried since 23 years ago to use Linux as a desktop but it failed repeatedly. I even have it installed on a separate disk on my home PC but I seldom boot it.
and other do not fail, I know even some quite non technical people who do use it daily and there are docents of steam deck users, too
I am busy and I want to use software, not tinker with the OS. The OS should just work. And since software I use both professionally and personally doesn't run on Linux, it wouldn't bee good for me even if the experience was smooth.
On the server side I use Linux a lot. Most stuff I develop runs on Linux.
Nothing is locked down. UWP and win32 are funcionally equivalent with sparse registration. If you decide to publish to the store anyways, you can even use your own payment provider and keep 100% comission.
> more anti competitive steps to make installing desktop Linux on consumer hardware hard while arguing you could just use WSL and it's "for your security" and they are not anti Linux because they embrace Linux on servers
Isn't WSL a win-win for the Linux-community and Windows-users alike? WSL2 and WSLg make Linux desktop apps more accessible than ever.
> trying to kill Valve, there should only be Windows games and only through the Windows app store Xbox Game Studios games are released on Steam.
I could go on, but you get the point.
i.e. it's all hypothetical speculations about the future under a given assumption of development which might never happen
> Linux desktop apps more accessible than ever.
yes but it also removed the need to use Linux and could be extended with features Linux doesn't have => i.e. it could be used for the good old embrace, extend, extinguish strategy Microsoft loved to use in the
And is it a problem for user? Or anyhow a bad thing? Why not advocate for FreeBSD for example?
like e.g. universtity students needing to run programs which don't run on windows natively all the time, so many try out native Linux distros, some stay. Now all of them can just use WSL. Or like devs which need to develop for Linux servers etc.
Basically they have accepted that windows server have failed and their server license business model isn't that good anymore too due to how the cloud changed things. So instead of pushing for a Windows everywhere ecosystem they now embrace Linux on servers (preferable on Azure ;) ) and Windows on the desktop using WSL to bridge the dev experience and also bridge to university student use case.
But you can be sure that if they see a way to make it harder to install Linux on systems and get away with it both legal wise and PR wise (probably using some excuses about "security") you can be sure they will do so. Especially if they can push the blame onto others (like the hardware vendors not implementing some option in the BIOS which is needed to allow other OSes to be installed). Through at least for now I expect them to act careful to not damage their new image.
Also one way the failed the "Windows desktop" thing is by producing a pretty bad out of the box desktop experience for many people (like I'm fine paying for an OS but not if there is even a single AD in there, or bloat ware). This create reasons for people to switch to Linux which had been much less common during windows 7 days.
WSL gives a lot of that power to Windows.
I wish macOS had something like WSL built-in.
The amount of times I had to change ad-hoc scripts to work around macOS limitations is absurd.
Not all the world is GNU.
I develop for Linux but I use WSL only indirectly through Docker Desktop.
I can't remember last time I paid for Windows. Microsoft usually offers free upgrades.
I haven't seen any ad on Windows. I frankly find hard to believe there are ads in Windows.
Every time you buy a new Laptop or pre-build computer with Windows installed you (very likely) implicitly bought a license.
But I agree that due to Windows handing out a lot of "free upgrades" even outside of their official supported upgrade path they missed out on a lot of License cost, but made more users upgrade so probably worth it.
Most important Microsoft mainly cares about Businesses buying Pro versions of licenses, potential in huge batches.
> ... disabled ads ... [from other adjacent comment]
Or uses a pi-hole or a software which disables them for you but which you might have installed to e.g. set privacy settings or replaced components with 3rd party ones or that LTT Linus ability to subconscious filter out ads. What matters is that there are a lot of people which have had the AD experience.
Ballmer inherited a company at the top with everyone wanting to crush it & make it dissolve.
Nadella inherited an underdog.
I think this should be considered when thinking about the legacy of the CEO.
- Massive miss on mobile
- Delayed cloud stuff because of obsession with windows
- Delayed cross platform apps because of obsession with windows for same reason
https://stratechery.com/2018/the-end-of-windows/
> "That memo prompted me to write a post entitled Services, Not Devices that argued that Ballmer’s strategic priorities were exactly backwards: Microsoft’s services should be businesses in their own right, not Windows’ differentiators. Ballmer, though, followed-through on his memo by buying Nokia; it speaks to Microsoft’s dysfunction that he was allowed to spend billions on a deal that allegedly played a large role in his ouster."
I think he ultimately held them back actively with bad strategy and things only started getting better when he was finally gone. Nadella inherited an underdog because the previous decade's decisions caused them to become one.
But I don't want to be the person caught uploading proprietary code to another company's servers.
It's not a major issue, and I doubt it'd ever be a practical problem. But fear of punishment keeps me away.
Tangentially, I think there’s some fear associated with adopting AI tools, perhaps because developers feel like their skill sets are being displaced. And they are but there’s headroom e.g. assembly programmers learned C. There seems to be some post-hoc rationalizations being put forth to avoid that fear, but my sense is that developers who don’t cultivate this new skill set will fall behind.
That might be true but it's an easy skillset to pick up compared to programming. The bigger danger is that new developers will lean on AI so much that they do not pick up the fundamentals of programming in which case they will definitely be left behind.
Honestly, I've seen myself master many more additional things since I've started including it in my daily routine.
hundreds of thousands of lines of buggy incomprehensible boilerplate that doesn't work on anything but the easy cases
then you have to rip the entire thing apart and start again with people that know what they're doing
Though i do wonder if it'll improve my ability to read code. PRs are a pain because i find it easier to write than read. I'd pay for Copilot in a heartbeat if it was good at spotting PR errors/etc.
By experience though it’s best to go line by line rather than accepting whole function autcompletes.
For me, I found incredibly useful for generating test cases. It will type out test functions for various conditions, stuff that is normal really tedious to code.
Sometimes is eerie, how how well it knows exactly what next line should be. Countless times it filled in an important detail that I hadn’t thought of.
It’s not perfect at all, sometimes it goes off on tangents or writes incorrect code.
I don’t think you even have to pay for copilot. At least it’s free for me.
It costs 10$/month 100$/year for individual users.
EDIT: GitHub Copilot is free to use for verified students, teachers, and maintainers of popular open source projects
Yet, despite the obvious evidence, he is unwillingly to even acknowledge the possibility that this is happening and refuses to research what it could mean to him (which may be very little).
I never quite understood why. Certainly just keeping in touch with the world wouldn't hurt right?
With the rise of AI, I think I get it. There's a part of me that is scared to shit about the prospect of being made redundant in the near future with all my acquired skill being worthless in this new world. The temptation to put my head into the sand and hope it "blows" over is strong.
I've resigned myself to never become like my friend and consequently have recently shelled out for a year of Copilot. My thinking is that at worst it's 100€ wasted and at best I'm not blindsided by what is coming anyway.
The reality will probably fall somewhere on a middle ground where there are still jobs to be found.
Not that I've verified it by monitoring network calls.
Context still needs to be processed, so surrounding line, block, and a couple open tabs gets piped into the prompt.
And here's a quote from the privacy page.
> Depending on your preferred telemetry settings, GitHub Copilot may also collect and retain the following, collectively referred to as “code snippets”: source code that you are editing, related files and other files open in the same IDE or editor, URLs of repositories and files path.
Made me realize how I can just become accustomed to a certain amount of lagging....
A lot of us don't experience any issues. To me, VSCode is just as performant as Sublime is.
I don't notice it at all.
Modern software that doesn't react immediately even when running on even more modern hardware however, that grinds my gears.
I know there are startup metrics, and I would expect there are keystroke metrics to understand what's running
They have already committed to releasing it to all editors Copilot supports. So, you know, the exact opposite of editor lock in.
It took seconds and it is still true and evergreen to this day. Thanks for your so called 'concern'.
> They have already committed to releasing it to all editors Copilot supports. So, you know, the exact opposite of editor lock in.
They are more 'Committed' to supporting VS Code than giving total feature parity to other editors. Do you really believe everything that Microsoft / OpenAI feeds you?
https://github.com/features/preview/copilot-x
What benefit would they even gain from locking it to their free editor? If anything, VS Code is a way for Microsoft to push other services like Copilot. The strategy has been and continues to be to bring these services to where the developer is.
As I said before, "They are more 'Committed' to supporting VS Code than giving total feature parity to other editors."
Sticking a bunch of logos with no guarantee of 100% feature parity as seen in VS Code is exactly what lock-in is.
> If anything, VS Code is a way for Microsoft to push other services like Copilot. The strategy has been and continues to be to bring these services to where the developer is.
Re-centralizing everything and owning the entire developer ecosystem to MS / GitHub. What could possibly go wrong? /s
Yes. If you had taken the time it took to look up your comment to actually do something productive like looking this up, you'd have probably found it yourself. Yet, here we are.
Copilot fully supports JetBrains and NeoVim alongside Code and VS:
https://docs.github.com/en/copilot/getting-started-with-gith...
https://docs.github.com/en/copilot/getting-started-with-gith...
In fact JetBrains is listed before VS proper in the getting started guides:
https://docs.github.com/en/copilot
Sounds totally like a place that "is more committed to supporting VS Code than giving total feature parity to other editors".
> Re-centralizing everything and owning the entire developer ecosystem to MS / GitHub. What could possibly go wrong? /s
How, exactly, is providing Jetbrains and Neovim support "re-centralizing everything"?
Next time, do the most bare minimum of research before you double then triple down on an absurd argument not based in reality.
Bait and switch. If it's good enough that Neovim users can't live without it, pulling the plug from Neovim support will result in some subset of users converting to VS Code. Probably won't play out this way with Jetbrains, but editors with smaller following and nobody backing them will most likely suffer this fate. It's happening all the time, most notably with Google products. Google Talk that used XMPP was neat and I switched to it because I could use Pidgin to contact most of my contacts. Not only Google Talk stopped supporting the standard, it even died and was reborn as something else I think 3 or 4 times by now. Of course, my contacts stayed with Google, so I had to leave Pidgin behind. It's going to be similar here, though to what extent I'm not sure, maybe it won't be very noticeable, or maybe it will. We'll see.
Their entire point is that Microsoft is re-centralizing everything by forcing people onto VS Code. Which is something they’re… just not doing.
This is also an optional, paid tool to help when coding. The comparison to Google Talk is IMO not relevant. It’s never going to be “good enough that someone won’t be able to live without it” because it’s at its core a completely optional tool.
If Copilot for NeoVim goes away in 5 years, you can just… stop using it. It’s not like we haven’t developed things without Copilot for decades now.
(I expect implementations for those platforms to show up eventually, I just don't think the logos on that page are evidence for that.)
"We are bringing a chat interface to the editor that’s focused on developer scenarios and natively integrates with VS Code and Visual Studio."
https://aka.ms/GHCopilotchatVS
Hope that helps
Cheers Mark Wilson-Thomas Program Manager, Copilot chat for Visual Studio
Thanks for the reply! Actually I was thinking of JetBrains IDEs, but I totally get why you're creating features for your own IDE line. If JetBrains want a similar feature, perhaps they'll have to build it themselves. Hopefully that actually is possible and OpenAI's stuff isn't now locked behind an exclusivity deal.
Sure, they get more developers to use their software, but to how much money does that translate considering the tens of billions they have spent?
Not sure how does that helps Azure by the way. It helps GH more than anything.
Bill Gates was also talking about company AI's that "attend every meeting" and are involved even in non-technical areas via Office. Microsoft seems all in on this
It's a "bet the retirement fund but not the farm" situation where they invest a lot of money to see what stick.
They are in a great position to do that and burning a few millions in the process might be worth it.
Microsoft has historically been anti-opensource, but not anti-developer. Their first product was a BASIC interpreter and in my experience throughout the 90s and early 2000s their developer ecosystem (aka Visual Studio) has really been first-class.
I am not a fan of Microsoft because they have been openly hostile to open source, but I don't think it's fair to say they have been anti-developer.
He wasn't kidding.
Thinking about, Copilot is in it's own way, a continuation of this, just more dev-friendly.
I'd categorize this as incompetence, not malice towards developers.
Specifically: Microsoft thought that code-creation wizards and UI would offer a better story than command line and text. Those attempts were misguided, and MS adjusted. The command line culture at MS has been pervasive for a long time, despite the quirkiness of DOS, so I must object to your categorization of MS being anti command-line and anti-scripting.
[disclaimer, MS employee, my opinion only.]
Most Windows users prefer GUI over the command line.
That being said, Microsoft released PowerShell, Windows Terminal and lots of command line tools. A large part of the Windows administration can be done trough command line if one so desires.
IMO that's very anti-developer.
This meant they had to be insanely good at supporting a vast array of diverse hardware, but also offered exceptionally good support for developers to keep the barriers of entry low in the Windows software market. They had even a cute name for these commoditized and neutered competitors - "ISVs". Basically, Microsoft owned the OS and the major applications like office & enterprise software, media, browser etc. and everything else was supplied by an ISV, for example your accounting software for country XYZ, a market where MS had no interest in entering.
As long as you kept within the ISV playground, MS was developer friendly, but it would turn very hostile to any perceived competitor to their core assets. Undocumented APIs, monopoly abuse, dark patterns, the entire circus. This strategy made the PC market impenetrable for nearly two decades, and it was only through sheer luck and complacency that the mobile revolution caught them on the wrong foot.
Windows Phone wasn't bad and I wish we could have more competition in mobile space.
It's the great next step in regulating monopolies, contemporary products no longer exist standalone in the marketplace but must always interoperate with existing infrastructure and platforms. The last decades of tech competition were a repetition of this basic tune, some first mover more or less stumbling into a de-facto standard and then fighting like hell to maintain its dominance and undeserved rent extraction.
The situation is complicated by the nature of international trade vs local regulations, it might not be good for your national consumers to be fleeced by a platform monopoly, but you more than make up for it if your national tech champions achieve world-dominance.
Who will pay for the development of those platforms? Who will ensure the compatibility with hardware?
Ditto for hardware, you need a well defined and stable interface and the vendors will adhere to it once there is critical mass.
> Isn't that true for every industry?
In almost every such historic example that still exists in some fashion today (railways, energy, telco, utilities etc.), there was strong regulatory action to break up monopolies accompanied by rigorous standardization of the common interfaces.
I don't have a problem with competitive players inventing industries and new ways of doing things for the allure of monopoly profit. Just with the sluggish regulatory action in the particular case of computing tech, well past the point where it has become an established and essential resource for society.
I was talking about Windows Phone, a mobile operating system. To have an open platform, you have to have one big company paying and managing its development. Otherwise you end up with fragmentation, lack of ABI stability, backwards incompatibilities and "distros" like with Linux on the desktop, and that is not exactly a consumer success.
If you want an open platform, you have Android. But apart Huawei (which was forced by US government) and maybe some few small manufacturers from China, I don't see much competition in the space.
Contrast this with a parallel world in which we have Android, iOS, Windows Phone, WebOS, Bada, Tizen, Maemo, BlackBerry etc.
Isn't that true for every industry?
windows, office, xbox, devices, github, azure, zenimax, activision blizzard and so many others i’m forgetting.
AI will not invent anything, it will effectively reproduce mistakes made by others.
The process of code writing is such a small part of the whole IT project, that shortening of time spent on writing code does not matter in practice.
Two examples from this week. Formatting dates in javascript, I had a datetime string and I wanted to show it as YY-MM-DD HH:MM for our internal tool. I don't know by heart exactly what to in this case although it's far from rocket science, so now I could write a comment what I wanted done and copilot coded it for me.
Same when I wanted a request to become a file download for the user, not something I've done many times before, and I could kinda reason that it probably needs the header to be set to something. And googling for this didn't give good results, yo need the right language, framework etc. With copilot I just wrote the comment // return file as download, and co-pilot wrote the code to set the header and send the bytes. Amazing!
I wanted to try co-pilot, but noped out when I saw it required a subscription. I thought it was in some kind of beta and would still be free. Is there a way to try it without signing up for a subscription?
My general worry is about becoming personally dependent on a paid tool just to do basic programming work.
The entry barrier of the subscription is a shame, that's for sure. But before open models are avilable, the field is proprietary today: we are going to witness a battle of AIs that will be as bloody as the Unix Wars of lore.
Yes, you can sign on the wait list and get 2 months free trial.
I mean, any company can become hostile to a large portion of its userbase. Most are. Microsoft already is with Windows OS being spyware. Are you saying that you think all of this is a trap to bring developers in to VSCode etc. and then transform it into a terrible experience? People will leave then. SWEs are not generally an audience that is unwilling to replace bad tools.
I guess some folks at Google will regret not buying Github. On the other hand, Google is in my opinion not the best choice in regards to product development and integration. Their business model centers around ads, while Microsoft has the better stance here with a subscription model.
It's important that Microsoft backed them, because it provides a stable environment for the developers to keep working on the project and gives confidence to the community that it's a stable language to adopt. But fundamentally it's the people who are important.
In recent years, Microsoft has shown there can be real upside to corporate-driven open source, especially when it has proper buy-in from management and usage throughout the organization (e.g. VSCode is developed in relative lockstep with TypeScript, and both projects benefit from that relationship).
At a certain point you may find that you've got your hand so far in the Microsoft cookie jar that it would make more sense to just accept that you are a MS shop and go for the rest of the cookies as shamelessly as possible.
We've embraced our fate. Almost everything is Microsoft branded in our workplace now.
It's really easy to hate on Microsoft through the lens of programming tooling and other nerd abstractions. It's super hard to hate on them from the perspective of IT administrators and business owners wanting to enjoy their weekends. [Azure] Active Directory and the modern Windows/Office suite are a competitive advantage for enjoying your free time. I have never seen a better overall experience for managing a small startup.
To be fair, it's been almost two decades. I feel like since Ballmer's departure, MS began to turn things around.
Other companies can focus on other areas where AI can be used. There's room for everybody.
I'm seeing experienced senior developers use the AI to context switch like lightning. They know when the AI is bullshitting them, but they can use that seed to "jumpstart" their memories.
Junior developers doing very domain specific tasks are taking longer to develop using the AI. However boilerplate work is speed up significantly.
Super excited for GPT-4 behind it.
But... we all are better at some things than others and I really like that you've highlighted a specific issue where you find it valuable.
But we finally had a guy whose take home test had tons of handling in the controller for cases we weren't even using, and test coverage of things that couldn't possibly fail, or were actually part of the core language and not our own code. It was really obvious! And when I wanted him to fix an SQL Injection problem in our pairing, copilot carefully preserved the bug while he was moving code around. Made me chuckle.
What I miss with Copilot is not reflected there:
1. Separate hotkeys to accept either single token from the suggestion or single line. Often Copilot tries to autocomplete 50 lines method which I'm not happy with.
2. Ability to edit existing text. It only inserts new text. I'd like something like multiple cursors or macroses working automagically by recognising similar text patterns below current position and applying similar edits.
3. AI linting. If some code looks obviously wrong, I'd like to know about it.
Soon coding without an AI will feel as antiquated as delivering food by horse. And resistance is futile because markets will punish those who refuse.
We'll probably need less and less developers as AI advance. Just like we need less manual labor in farms today.
And coding is just one of the many applications where AI can replace brains.
Governments will have to ponder about what to do with a world of people who became inferior to machines at almost everything. Universal Basic Income?
It's amazing and terrifying at the same time.
Perhaps our first contact with an alien will be with one we created ourselves.
My expertise is in designing, understanding, and debugging complex systems. I will just apply my expertise to the AI.
Another angle: just think of how many mom and pop shops are still contracting out to get web sites, and not getting what we consider quality. Now maybe you're going to see a larger and larger gap between F500 companies and the rest (surely you do already), but playing out the consequences is a long and interesting story.
> coding without AI will feel as antiquated and inefficient [...]. And resistance is futile because markets will punish those who refuse.
Fortunately, the "punishment" by the market will just be reduced salaries. Move out of the Bay Area now. :)
> And coding is just one of the many applications where AI an replace brains.
And writing about those is interesting. With the development of DALL-E (etc), I would say coding isn't even the primary interesting application. (If "it's not AI", whatever... that's not the point.) Or not yet.
They used to, 10 to 15 years ago. Now they just hire a SMM specialist to set up their Instagram account. Why would they bother with a website?
That might be true for you and me but imagine somebody fresh out from university - the job market for junior devs will totally collapse in the near-near future. And then what? Where do the mid-level engineers come from if there are no* junior roles? Where will the future senior level engineers come from? We're certainly living in interesting times..
*: There will be some artisanal companies who will pride themselves in having hand-written, AI-free code. These companies will be a minority and 90% of junior level software development jobs will disappear in no time.
The role of junior software developers will not be needed, just as we don’t need people doing multiplication by hand.
The key here is what are you taking responsibilities and decisions for. Senior engineers take decisions which consequences will be apparent in a year or two. If productivity increases to the point where features that take months to deliver take days, the decisions made _currently_ by senior engineers can be taken by fresh graduates.
There’re still going to be senior roles, but their scope will be much bigger and expertise sought will be different than what senior engineers do currently. No one will hire a senior engineer just because they can architect and deliver a scalable SaaS product on a short timeline.
Engineers who learn and adapt will be fine. Engineers who dropped learning the moment they graduated from college… not so much.
I suspect SWE may trend toward other ailing fields like law with individual devs working on entire 'cases' and it being very competitive; rather than the recent "20min Js tutorial on YT to SF startup" industry.
Not that I'm against it. just call it for what it is.
I don't agree with "we will have full control over it." I'm more concerned about how much control it will have over us.
Inferior to machines at almost everything? Most jobs are safe, look at the 25 most common jobs in the US - cashier, food preparation worker, stocking associate, laborer, janitor, construction worker, bookkeeper, server, medical assistant, bartender, administrative assistant, marketing specialist, police officer, electrician, mechanic, etc.
In theory, if all developers are replaced, they should be able to find a different job. The problem is that the different job may have lower pay and status.
There's really no need for UBI.
The only reason why they haven't already been replaced is because humans can be exceptionally cheap. Much easier to hire somebody to sit at a desk for $10/hour doing repetitive tasks than spend millions implementing systems across the board to do what they do (for now).
So perhaps in the medium future humans will be "stuck" doing only physical tasks, while AIs take over everything that can be done virtually.
I will say though, that for a lot of those jobs human-replicating robotics isn't even necessary. We exaggerate the difficulty required because we're still assuming that the exact current system should stay in place. However, sticking within food preparation example, look at those elaborate cake vending machines found primarily in asian countries. There really isn't a reason why McDonalds can't do the same for some of their offerings, after all most of their stuff is frozen anyways.
Automating all the other stuff that's left on the table.
Man, that is some food for thought. Beautifully put.
We've always progressed to needing fewer developers to do what we currently do. Companies like Squarespace, Shopify, AWS, etc have allowed people to do more with less. Long gone are the days an artist would hire a developer to build them a website they could host a portfolio on.
But growth has filled in the voids with more ambitious work.
It's daunting, but you can also look at this from the opposite perspective. Why work for someone on a 5 person team, when you can try and run the same business with 1 person (i.e. you).
The people who should be afraid are actually those that run companies like Meta and Twitter. Better developer productivity means competitors can chomp at their heels with much smaller teams.
Retaining the profits and placing them back as UBI could work.... although if we do that, the politicians will just find a tax or another project that needs the money before giving it to people.
That is called socialism. I don't mind socialism and state owned enterprises as long as the force of market competition is still at play. That is the reason state owned enterprises don't suck in China. They have multiple SOEs within the same fields like car manufacturing and telecommunication competing against each other.
A Chat-GPT4 model will generate unit tests? Hallelujah! I hate writing tests! Yay!
Except how do you know it's generating the right tests? Can it explain its reasoning? Unit tests are a weak form of automated specification. Why are we inferring our specifications from examples to begin with? Who is going to walk through the reasoning and verify these are the right tests and make sense and specify the correct properties? Can Chat-GPT discover properties and prove theorems?
We used to do this in code review where humans could explain their reasoning. Now we have Chat-GPT4 which will give you a plausible-sounding answer that is completely wrong and makes no sense. We have to read every line it generates and make sure it contains no errors, is properly specified, makes sense, etc... something we're extremely ill-equipped to do.
The problem of programming, for me, hasn't been about how much code I write or how quickly I write it. It has always been about solving the right problems with elegant solutions. The code itself is an artifact of the real work.
CoPilot just doesn't really help here. It doesn't understand specifications and doesn't do any reasoning. It can't take a specification, generate a program, discover new abstractions that make the solution more elegant, and explain its reasoning. It can generate a heck of a lot of code though! Wow! Is it the right code? Maybe!
But that's what we get with humans, right? No!
Humans can explain their reasoning.
Sure, it can be flat out wrong, but it is always eminently readable. Self-documentating code with clean comments, far above the standard I see on average human code. That's about as good as "explaining it's reasoning" as you get.
Also, you can literally ask chatGPT to explain the code, line by the line, and it will. So there's that.
Is it ready now? Certainly not if it will be expected to the do the entire job of a SWE. But it is already extremely useful, especially to less experienced devs as both a production for specific tasks and as learning tool. And it will only get better.
I just don't see this as being a barrier for too long. Not when more companies opt into training data internally.
But in general I agree with the basic premise of what you say in that, it will eventually happen.
> But that's what we get with humans, right? No!
> Humans can explain their reasoning.
can you explain your reasoning as to why a language model would never be able to match a human's ability to explain its reasoning?
i've met a lot of humans that are quite bad at this, and i will likely never know for sure why they wrote the unit tests that they wrote unless i rewrite those tests to myself.
but if you have them explain their reasoning enough, and if that reasoning is plausible enough, and if the relationship between that reasoning and what they did is strong enough, consistently enough — you start to trust them.
you don't trust gpt4 to write code for you. which makes sense. but that doesn't mean as much as you think it means, i think.
It’s a language model, not a reasoning model. A lot of its training data happens to be logical, so it sounds logical, but it’s still just acting on probability. Thinking it’s “explaining” anything it produces is a mistake.
I would give an answer from ChatGPT where it confidently told me that I should evaluate an object detection model by ranking matches using negative IoU (and it indeed generated code to do it and gave a confident explanation of how this was normal in computer vision, but it was completely backwards).
So you're not alone. You can even point to the plethora of "find the undefined behaviour," tests: humans are really bad at finding errors in code.
In my own project I've got it generating solutions to errors, and if possible, it also generates simple unit tests to validate the fix. What I haven't implemented yet (and likely won't, because Copilot does it now) but I have tested is generating a pull request describing the fix, why it works, and the same for the tests.
> Now we have Chat-GPT4 which will give you a plausible-sounding answer that is completely wrong and makes no sense.
With limited scopes, it works quite well. For example, something fails because a DOM reference is undefined in a React component. GPT will add a condition to assert that the reference is present, then generate a simple test which mounts the component with stubbed references that are present or undefined using jsdom. The tests makes sense. A quick scan shows they're sensible, and upon running them, they do work.
I began adding a recursive feature which would automatically debug issues with its own solutions, but it can get a little weird in some cases. Likely due to bad prompting – I haven't dedicated enough time to it. But it can also make it so tests with errors are revised and corrected so they will at least run.
All of that with a coherent explanation of what was changed, why, tests, and why they assert the fix is valid.
Is it perfect? No. Could it be useful? Absolutely. I'm a little sad Copilot makes my project redundant because it was actually very exciting to build. There is real potential here. I started the project in order to learn and validate GPT, and I'm very convinced it has genuine utility and massive potential.
> CoPilot just doesn't really help here. It doesn't understand specifications and doesn't do any reasoning. It can't take a specification, generate a program, discover new abstractions that make the solution more elegant, and explain its reasoning. It can generate a heck of a lot of code though! Wow! Is it the right code? Maybe!
I think the key is limited scopes. Like with the React component example, the solution is small, easy to reason about, and tedious to resolve yourself. I understand why it doesn't work, I get the error, and spinning up an entire branch and PR to clean up the mistake is a bad use of my time. I don't want Copilot/AI to work magic, but I'm okay with it resolving minor mistakes and misuses of languages and libraries here and there.
I do think it will grow from here to do more and actually be good at it, though.
Copilot (the existing gpt-3 one) definitely helps at writing unit tests. Yeah, sometimes it doesn't nail it, but one thing it can do reliably is to repeat a pattern, and I don't know about you, but my unit tests tend to repeat the same pattern (with some tweaks to test this-or-that-case). Quite often it infers the correct change from the name I gave the test method, but even if it doesn't it'll write a 90% correct case for me. I imagine the GPT-4 version will do more of the same with better results.
It cannot replace reasoning, but it can augment it (by suggesting patterns and implementations from its latent space that I hadn't thought of), and worst case it can replace quite a bit of typing.
Long-term, it remains to be seen how far bigger/better/stronger LLMs can push the illusion of rationality. In many fields, they may be able to simply build their ability to pattern-match to beyond some threshold of usefulness. Perhaps (some subset of) programming will be one of them.
Isn't this something we've built into every modern language(and arguably the entire point of languages)? If you have multiple pieces of code that share code with tweaks(to test this or that case for example), shouldn't you parameterize the bulk of the code instead of getting autocomplete to parameterize it for you and dump it into your source file multiple times?
By the same token, often it takes a stab at generating code based on something's name (plus whatever context it's looking at) and does a better job than the IDE could, because the IDE just sees datatypes and code structure. It really does feel like a complementary tool.
Yes, actually, it can.
When my team gets crunched, it's not usually because we can't write the code fast enough. It's because of product requirements (changing, needing to be fleshed out, being unrealistic, being understood properly by QA, being adapted to the realities of reasonable code, not existing, etc.).
On top of that, needing fewer workers to do X work !== getting X work done cheaper. Quite often, it means getting 2X, 3X, 10X work done. As an overall trend, modern society has increased worker productivity dramatically over the last few decades, yet many work as many or more hours than they used to. We could get the same results with fewer workers, or we could make them work more. We know what 99% of CEOs will choose.
Of course, maybe it will reduce developer jobs. I'm not ruling that out entirely. But when (not if) we create an alien intelligence that can wipe out our industry, we may have bigger concerns than steady employment.
So that really I'm writing with and about AI[0] to get the best of my technical and literary backgrounds, and to reach good audiences.
Meanwhile writing is safer because contrary to code, a personality and a personal life will ever be valued in flesh and blood writers. And how could an AI, ever write love poems with a soul if it has not opportunities for falling desperately in love, suffering, changing wholesale because of an experience like that? It could emulate it. But readers want to read real sufferers, mortals who get old and lose their looks and so forth, not little gods of sillicon.
[0]: https://generativereview.substack.com/p/the-generative-revie...
I don't really see that it's sad. Imagine truly democratized programming. Not like how the refrigerator did the ice man, but in how Youtube and smartphone cameras did video production. A rising tide that lifts all boats and can give absolutely anyone a taste of what they could achieve with a little effort.
However, GPT 4, which is amazing but not able to do what a SWE does, is already making concept artists, voice actors and content marketers obsolete. The arts are far more susceptible to this technology.
Anyone who thinks SWE is generating Python snippets doesn't really understand the role.
There might be more programmers out of this developments than before. It just will lower the barrier of entry, and increase productivity. Like most tools
Funny enough your observation of
> "There are more accountants now than then."
could be extrapolated from in two ways
The optimistic perspective might suppose technological development gives rise to new marketplace adaptations and creation of new and tangential jobs. For example, Facebook / Social Networks / Search creating new roles like: Influencers, Social Media Managers, Search Engine Optimization, et cetera.
For the pessimist perspective, I think you could suppose the "end state" of all technological progress in human societies is, eventually, an oligopoly of two industries: bureaucracy (legal) and politics (marketing).
While profit is the main driver, it'll mean smaller teams
Not today, not with current tech, maybe in the near future though
Except in 2020 there were 152 million employed americans, with a productivity 2.4x higher than 1950s, or a cummulative workforce of 365 million 1950 americans working. And somehow they all had stuf to do and work on
I'll be happy if I'm wrong, but are you confident enough to bet that there won't be less need for general developers and engineers and not have a plan in case? Personally I would be looking at my options In case I needed to pivot and not waiting 5o find out.
And if this tech is really revolutionary there won't be new industries? Have we peaked?
> but are you confident enough to bet that there won't be less need for general developers and engineers and not have a plan in case?
I am confident there will not be a lack of work. Whether the roles are similar is a different question. Actuaries and accountants look very different now to before excel was common place. Web developers were not a thing before the internet.
If the revolution comes, and jobs are no longer needed, perhpas there is an industry for prompt engineers. Or model fine tunning experts. Dev ops roles to connect super computers to Modelling APIs. Who knows, but the skills of a decent Engineer are on problem solving, on learning new ideas, on applying problem solving laterally those are such broad skills that is hard for a job market to exist without needing them.
I don't think that's right. Farms may have less manual labor but there's man, many times more people building farming tools, software, tech, etc.
What will happen is you will be able to do more with your time. We are limited by how many people we can actually hire and the output of those people. Now each person can output more and more. So much that we want to build but we don't is because we are limited by output. We need to prioritize certain things for everything has an opportunity cost. Now we will be able to burn down more things more quickly.
Also the math. Imagine developers just became about 30% more efficient. I want MORE of them now as my money is better spent! If my competitor downsizes to remain at their current capacity then I will crush them because I want 30% MORE developers that are coding 30% more efficiently allowing me to release 40% more things for the same money! I crush my competition then and they know this so they have to keep up as it's an arms race.
> Soon coding without an AI will feel as antiquated as delivering food by horse. And resistance is futile because markets will punish those who refuse.
The same way coding without Internet feels antiquated, or coding without autocomplete, or coding without fast compilation times...
If anything, progression of tools has shown several things:
- That the more tools we have, the faster we can work and iterate, the more value we can deliver in less time.
- That IT work doesn't ever end. Tons of IT jobs exist only to support IT itself. The arrival of AWS made sysadmins "obsolete" but on the other hand created the need for SRE and DevOps engineers.
- The existence of tools that let "laypeople" do IT work do not really delete those jobs. Tons of "nocode" tools exist so that people can build their own websites, applications, etc. But designers, coders still exist.
- People still stay behind. Tons of companies still run on a crappy NFS that's hosted in the IT guy closet. Others don't have a webpage and use an @hotmail.com address for email (if they even have email!). The market punishes, yeah, but not that hard.
Try mass culling
Maybe this sounds naive to you, but if I'm not good for anything, what am I supposed to be doing? How should I see myself?
There will be more developing than ever, but humans will sit on a different place in the stack. We'll be more like team managers. Stable Diffusion can make pretty pictures by itself, but only when a human directs it then it can have value.
Most organizations are there to make profit for shareholders, if more profit can be obtained through less hires while still meeting money making goals the you can bet your bottom dollar they will hire less people where possible.
People early in their careers should be ready for this as one day there may be far less times available to them in this field.
Your outlook sounds plausible in a vacuum but doesn’t match reality.
This might be a bigger evolution in the coming iterations and might be the biggest thing since electricity and the internet.
Pretty exciting, but I would also have options or be deep in the thick of it if I were younger.
I might have to revisit it!
I've noticed that the suggestion quality/usefulness varies considerably between projects and programming languages. For a self-contained bash script, it is incredibly useful. For a rails application, less so.
I see copilot as just another productivity tool. Combined with ChatGPT it may save a few roundtrips to Stack Overflow too.
Besides, coding is probably the least of my problems. Dealing with people is harder. AI can help there as well, but ultimately people like to interact with people (see the whole trend about RTO)... we cannot stand each other faces via Zoom => we are not gonna stand talking to an AI.
I'm extremely skeptical about this happening. I haven't seen any evidence that GPT is capable of creating something new or even thinking logically. What's going to happen if you ask it to create something that isn't like anything in its training set?
My experience is that GPT just makes shit up that looks plausible at a glance when it doesn't have an answer instead of just admitting that it doesn't know; this is obviously very dangerous when it's supposed to be writing computer programs. That OpenAI hasn't made any progress towards fixing this makes me wonder if it's even possible for the GPT to understand that sometimes it doesn't understand. At the very least it must be a non-trivial problem.
EDIT: i misinterpreted what you were saying, initially i thought you were asking how i make new things, not how often i make new things. my original reply is below.
weelll, i think about it real hard and do research? Not sure what your point is, but I definitely don't solve these problems by trying to find somebody else's solution to copy, or just dumping a bunch of C code that doesn't do anything and calling it a day like GPT would.
Also, it was recently proven by experts that aliens are living on the earth's core, they breed spherical cows and flying pigs.
But yeah, I somewhat agree with you that a lot of the grunt work are going to be affected, jobs that are by nature purely mechanical, algorithmic or just plain parroting facts. But even then, I still highly doubt language models (today or with the following years) would deprecate those jobs. In the end, it's still a language model that is incapable of thought or reasoning.
If there one's thing I'm optimistic about the recent advances in AI, it's that more jobs will now be creative in nature. Hopefully gone are the days where schools are just mere factories for producing factoid parrots, where intelligence is measured by the size of one's esophagus to regurgitate.
(scnr)
- If you can get more done by working more hours, your job is at risk.
When I was a programmer for most of past life, this was this case. Now I've got multiple decades under my belt and am a h/w and system architect. I can't get more done by grinding. My job depends on sharing information with other people, that have their own schedules, resource dependencies, supply chains, and pricing, and arriving at best fit solutions to move complex projects forward.
I think if you want to protect yourself from being replaced by AI, you need to be part of a larger network where the challenges are more about synthesizing information than grinding.
My $0.02.
Back of the napkin suggests we have approximately the same amount of manual labor in farms today. The difference is that the same amount of labor today is able to feed a much larger population.
This may simply mean much more software written, not fewer developers.
Then came stack overflow and google. We search, pray we get a good result or someone else took the time to ask the question, then read (and sometimes copy+paste).
Then AI assistants. I'm not exactly sure what's next, but I do think coding without some type of AI assistant will be extremely antiquated very soon. I already use it all the time. I never want to go back.
The next generation will look at finding answers via SO, google, and random forums just as we look at people use used books -- as an absurdly inefficient way to do a job
Even if it's absurd I still like to buy physical books. The information is better structured and I like holding a book and turning pages.
Why would the machines want to pay us once we can no longer provide them value? Maybe they'll keep a few of us as pets and for sport, but the rest will be sent to the human equivalent of Bovine University.
---- MagicAI, write me a login screen for iPads. The project should be configured to be iPad only. I want a logo in the center and under it the login and password entry textboxes. The password entry should not be in plaintext. Put a login button underneath the password entry.
Actually, the logo + textboxes + login button should be centered as a group. The logo should be centered horizontally within the group as well. Make the login button right-aligned.
The login button should be right aligned within the group, but the text of the button should be centered within the button.
Put "Username" and "Password" labels to the left of the appriopriate text fields
Make sure that the labels are the same width, so that the left edges of the text fields are aligned.
Put a half em margin in-between the labels and text fields. Actually, make the vertical margin between elements in the group a half em, too.
By "margin" previously, I meant "spacing", my mistake. Please fix.
Does the German translation of "username" or "password" cause the text field to be too short, especially on an iPad Mini in portrait mode?
Fix the alignment to work correctly in both portrait and landscape mode. The group should have a 10% left and right margin in both modes.
The keypad enter button should say "Login" when entering text for the password field, but should remain "Done" for the username field.
Great, now add a waiting indicator while waiting for verification from the server.
Actually, put the indicator to the right of the login button, but do not make it part of the group for alignment purposes; it should be in the margin. And turn the indicator off if the server times out. Oh, add some error text for the error.
I said error text, not error dialog. Never give me a disruptive dialog if there is a way to obviously display the error text. Make this a permanent setting on my account. Also, make this a permanent setting on all my colleagues' accounts, and especially the accounts of the low-cost outsourcing companies that make the apps I use.
File bug report to MagicAI HQ that there is no way to make some directions permanent. Include in the report that there should be a way to look at the set of permanent instructions, and automatic reporting if new instructions contradict old instructions.
Disable the login button if there is no text in the username or password field, or if the password is too short.
Whoah, make sure that the text field scrolls so that it is visible above the keyboard, especially on an iPad mini in landscape mode. It should scroll back down to its original position when the keyboard disappears. ----
I guess I'm not seeing how this is too much different from what I actually did in creating the login page in the first place. That's even without the dialogue where you try to figure out why the alignment isn't doing what you told it.
You might also want to keep your instructions in a text file some place, in case you need to change them and regenerate the code. Maybe there should be a preprocessor of sorts, so that you can add comments to the file explaining your reasoning for certain instructions, or to not include some instructions on certain environments. You might also want some way to refer to a set of previous instructions, so you could say "do these things what we did over here". We could call this a "function" since "procedure" sounds too much like ancient Pascal, and math is cool.
I made the analogy a few days ago about how all modern manufacturing and machining processes were essentially bootstrapped from two fairly flat stones. Its going to be interesting to see how the acceleration in improvement of the tools for "making things" changes in the LLM age.
The first era was pre-consumer (arpanet etc).
The second era had internet installed in several homes across the country, but it still wasn't clear what the internet was going to become, and it was still considered an oddity. This was roughly 1990-the mid aughts.
The third era saw the internet become socially viable - myspace, facebook, twitter, instagram all took over peoples lives. This roughly coincided with the release of smart phones, as well as the increased computing power of browsers, spurred mostly by V8.
For the last few years there's been this implicit expectation that we're entering into a new era, but it wasn't clear what that era would be. For a minute, people thought it was crypto/metaverse, but that was always kind of a silly idea.
It's now clear that AI is going to be the catalyst, and I think it's ushering in something equivalent to the industrial revolution, but starting from where we are now. It's just impossible to fathom where we're going to go from here.
"When two plates are not flat but still match, one will not match the third. By continually lapping or scraping the high points of their contact until all three show perfect bearing when intercompared, three flat planes are created" [1]
[1] Foundations of Mechanical Accuracy by Wayne R. Moore c. 1970
(An absolutely fantastic read)
GitHub Copilot X is currently a representation of GitHub’s vision for the future rather than an available product offering of GitHub Copilot. As we continue to design, test, and build features that fall into the GitHub Copilot X vision, we are also taking the time to determine the best way to provide them to our customers.I realized it would be best as a VS Code extension in its current form and started writing that this morning. I was thinking Github would do this eventually, it was obvious — copilot already existed and was primed for this — but evidently they'd already built it a while ago. I was also thinking eventually it could be a bot which generates pull requests based on error correction, but... They did that too.
If I wanted to go all in one this project, say as a hypothetical competitor to Copilot, I don't see how it would be possible to succeed. Any clever UI improvements would rapidly find their way into Copilot, offering far better solutions due to their absurd access to pertinent data.
They can even train Copilot to resolve errors based on how they've been resolved in the past; it could probably patch all kinds of common errors reliably soon.
I think this is cool in the sense that it'll be genuinely useful to people, but frightening to realize how dominant MS is here, in this moment. Maybe I'm not creative enough and I can't see a way to build something novel with this which they haven't already. That's arguably likely. At the same time... I'm a little shaken at how narrow of an opportunity anyone had to try to get into this space. I don't think it's a good thing.
Why do you believe this? Everyone I know who has used copilot has found it made them more productive. Admittedly, reports differ wildly on how much more productive from ~10% to ~100%.
IRL a lot of what people do is rehashing or gluing together things as others may have done before. We all stand on the shoulder of giants - code is a tool to enable an outcome.
I don’t agree with your definition of “code uniqueness is productivity”.
It might be better now they've improved it, but for the sort of work I do (maintain a mature Kotlin codebase) the prior version wasn't a productivity upgrade, it was a downgrade because the type system and IDE generated more accurate suggestions that I don't have to double check for errors. Copilot and ChatGPT both seem to have error rates too high for this sort of work.
I can see though, that once I switch to some other sort of work it might be more valuable.
The code it suggests is always highly suspect and writing raw code never was the problem in the first place (for me). I was “discussing” with it for far longer than it was making me “productive”. I give it -5%.
I do however love occasionally using GPT directly for converting some weird list of values to JSON or coming up with plausible test data. Sometimes some text or ideas for emails (especially English, which is not my mother tongue). Sort of a secretary of sorts.
I found ChatGPT however outputs good code when I want it do simple things. Writing unit tests is tedious, and ChatGPT is pretty good at that. Optimizing a SQL query, etc. Things that used to take some time are now either instantaneous or get me 90% of the way there, and I can do the final edits.
so we'll see :)
The easier it is to produce code, the more code will be produced. The more code is produced, the more complex and short-sighted the architecture will be as a result.
This is much older than AI. You can take a one-person task that takes two weeks to perform, assign it to a five person team, and they'll solve it by producing 25 times the code.
We create abstractions to cope with the noise of a large code base, but in doing so, we also create a noisier and more complex code base that needs more abstractions.
and will never contribute to public open source again
(I guess MS have finally managed to kill open source)
One more reason to demand remote work. I really do not want to be sitting next to the guy who spends 8 hours talking to his computer.
I hope we can get to a point where I can give quick commands to a Copilot-like system to do more complex changes. Changes which traditional refactoring tools balk at. Stuff you would discuss with other humans. Like "this value needs to be calculated once, move the code to the constructor", which then requires code being removed in one method, a member variable being created, and possibly a constructor, and some code being moved there, and perhaps a few changes in method parameter lists.
The jump from single-point edits to multi-point edits is obviously a huge one, not only for the AI part, but also for the UI (being able to understand, accept or modify the changes, for the human). That for me would be truly next level (up from the amazing place where we are already with Copilot), and I can't wait for it to get there.
You can test the concept on my site https://aidev.codes although I don't have github integration yet.
I find that looking at code and looking at diffs are different mental modes, for lack of a better word. For me, parsing diffs seems to engage a different part in the brain, and is much more exhausting than reading code.
In comparison, reading code while someone makes changes to it seems to stay in the same code-mode. And I don't want to switch back and forth from code-mode to diff-mode all the time.
How about after being prompted, Copilot acts like a remote user in my code base, with its own cursor, changing the code at the speed that ChatGPT currently writes out answers? Perhaps even commenting on what it does next to it. You could still have accept/modify/reject buttons at the code change locations, but they would change the new version, not a diff.
Getting this slightly wrong will of course make you curse the whole thing to hell and back.
I've been on a path to financial independence (= saving and investing) but still need ~9 years to be able to safely retire. I slightly envy people with US-based FAANG jobs, where achieving financial independence seems like a breeze.
This also adds fuel to my desire to start a side project.
What are your thought on this? Are you preparing in any way financially?
Microsoft seems to have positioned themselves extremely well not only to be a leader in the space moving forward, but also to completely change the space. That's the mark of a great leader and it's exciting to see someone taking the reins whose not afraid to shift a paradigm or two.
Between search being trash and now even Maps being awful, I think it's time to stick a fork into Google. They need new leadership and they need it asap.
https://marketplace.visualstudio.com/items?itemName=GitHub.c...
This is the polar opposite of VS Code where it works super well and reviews great accordingly. In my opinion if you're a Visual Studio developer who wants AI assist, you'll need to figure out how to open your solution in VS Code instead to use Copilot or just pay the $20/month for ChatGPT Plus then copy/paste.
PS - This isn't a version specific thing, it has been broken since launch. They've been replying to reviews with "Try Copilot version [vNext] with Visual Studio [latest]" since last December to last week, yet the one-star reviews keep coming in unabated. Funny enough they recently replied to a complaint with "The VS Code version does this!"
That said, it wouldn't surprise me if vscode is getting preferential treatment
It's highly likely this is the result of legal having mulled over the Copilot litigation and deciding that it can go either way or worse, so the top layer in MICROS~1 has decided to rush whatever product development they can use the general public for and try to hook as many people as they can to their stochastic parrots. Which they wish to insert into not just every other government machine, but also every Linux machine, preferably pumping out every line of code written with those.
It's better to support open source rights holders against this exploitation than getting one's nose brown.
As for the productivity increase some claim it can bring, I'm not so sure. The software doesn't know your style guidelines until you give them away. Maybe it can help in some marginal cases, cough up some XML there is no longer official tooling for generating or whatever. If you don't have snippets and IDE support for boilerplate you're doing development wrong and should start looking into techniques for code generation in your stack.
For any non-trivial application design you really want to know what your inspiration is and what it's used for, so you can judge the context of the code you take inspiration from and can cull the parts you don't need and adapt to your particular situation.
And typically code output is more about learning the problem domain deeply and doing code reviews. If one spends more time writing stuff that doesn't need thinking than doing reviews and study there's an obvious need for automation and code generation, and one probably ought to think more about how to make one's contributions more efficiently.
However, I definitely see job cuts coming. Not now, in some years. I'm lucky, I'm closer to the tail of my career than the start.
But I feel for the hords of young people who have got into this career but may soon find only a smaller percentage of them are needed.
You can't fight it, it's going to happen. It's up to the individuals to identify this risk and take steps to ensure their bases are covered if it and when it does.
First the programmer asks the AI to nebulously "fix the bug". Then the AI spits out an answer faster than anyone can read and prompts you to integrate it.
Sure I can pause the video... but this is terrible marketing and dangerous practice.
The PR autocomplete is just braindead development at it's conclusion.
Ask a question for how to execute a command, get an answer with description of the options needed. Explicit and easy, cool.
Still doesn't build the muscle/mind memory of finding it yourself, but could serve as a reasonable substitute for `tldr`.
As I'm CTO (and thus legally responsible for those agreements that you normally just click through); I read the terms of service, and they do not actually grant license to the code. They say in very clear terms: YOU ARE RESPONSIBLE FOR TAKING SUGGESTIONS.
So, as I don't want to encourage people to think that they can simply copy over copilot solutions I decided against buying access to it, even though I am quite certain it would have boosted developer productivity. (and goodwill, people like shiny!).
I was also a little concerned because it is additionally the case that a AI is confidently incorrect sometimes, so there are suggestions that have subtle and hard to see bugs. I really don't really want to hear that a bug is caused by AI, since from my perspective the whole point of you being paid a handsome salary comparable to a doctor is because you take responsibility for the code you write; which is actually somewhat in-line with the Copilot license agreement[0]
[0]: https://github.com/customer-terms/github-copilot-product-spe...
To answer your statement directly:
1) StackOverflow submissions are CC-BY-SA, so if a person copies' code from there, even if it's copyrighted you can consider it good faith and remove the offending code from your product. This is actually a licensing nightmare but the current situation is the same as when the music industry accidentally uses an unlicensed sample and there's no current reason to consider it otherwise.
2) Github has a neat repository licensing feature (LICENSE) so you can easily tell what repo has what, not having a license file means the repository is fully copyrighted by default by the way; if we bundle GPL code then we would have to open source our game, which is not going to happen, so no you're not allowed to just copy code, but you can take inspiration; which is what Copilot is saying you should do in their terms *NOT COPY CODE VERBATIM*.
Ultimately: Software licensing is a joke to you because it doesn't really concern you, however it concerns me as it is quite literally part of my job to protect the company from being sued over doing something wrong here.
It's an extremely personal attack to claim software licencing is a joke to me. You have zero context on the work I do professionally and as open source. I'd appreciate it if you could limit your arguments to not include personal insults.
In situations like this, my opinion is to just assume that license will first bite big guy, so I am willing to play by the fire if someone who is 10x bigger than me are doing the same.
[1] https://www.reuters.com/world/us/us-copyright-office-says-so...
> The office reiterated Wednesday that copyright protection depends on the amount of human creativity involved, and that the most popular AI systems likely do not create copyrightable work.
"the office said copyright protection depends on whether AI's contributions are "the result of mechanical reproduction," such as in response to text prompts, or if they reflect the author's "own mental conception.""
So if we take that into software development, the text input that the developer gave copilot may be protected under copyright but the output of copilot may not.
If the developer arrange or modify the output, then those arrangements and modifications can also be protected under copyright.
To me that means that during copyright cases there will be a much bigger burden on the plaintiff to prove that they own copyright in any specific situation, and that the infringement is done on those parts that is covered by copyright and not just the output of the copilot algorithm. Simply claiming authorship to all the code will no longer be enough.
So if we apply that to software development, some portions of the code could be copyrightable while other portions will not, and the arrangement of the whole thing can be covered under copyright.
So let say you write a piece of software and I copy a portion of that code into my software. Is that portion that I copied covered under copyright? Maybe, maybe not. It will depend, and depending on how the legal precedence fall it may be up to the author to prove that they really are the author.
If I apply this in an fictional game developer, we could image them ask an AI to generate the image assets for a wooden table. Then they ask the AI to create the 3d mesh of a wooden table. Then they ask the AI to write a function that places the table with image assets onto a 3d plane. Each step here would produce content that historically would be copyrightable independently, but which is not copyrightable if done through an AI. The big unanswered question is at what time the work becomes copyrightable, and what happens if someone takes assets and portions of that work and uses that in something else.
I really hope they get reamed in court over this. When Microsoft's servers running Microsoft's AI transmit somebody else's code covered under GPL (or any other FOSS license with attribution, like BSD) to a third party without replicating the license statement or even providing proper attribution, Microsoft has absolutely violated the GPL. They can't get around that by waving a paper that the third party signed.
This reminds me of those dump trucks you see with stickers saying that the owner will not pay for damage caused by falling debris. Absolutely laughable attempt at dodging legal responsibility for an act that they are absolutely responsible for.
I'm glad execs like you are taking this seriously instead of going along with M$' flagrant disregard for FOSS licenses. I hope there's a lot more corporate pushback for trying to sell a tool that can poison their customers' codebase with code stolen from copyleft projects.
As an aside, I find it very telling that they trained this on other peoples' code instead of their flagship products like Windows, Office, VS, etc. I also remember seeing a few years ago an article on HN about M$ not allowing its employees to use github internally because they were worried about accidental IP leaks; I wonder if this is because they were already planning copilot?
That doesn't exactly mean they don't grant licensing in the sense that they retain the license to use the code they produce.
That means there's no licensing, and any issue others have with your code infringing on third party licenses is on you.
Personal stuff? I don't really think about it at all outside of these threads, no. I'm not exactly citing every source for where I learned each concept, and people smarter than me say that's how Copilot learned it too. That'll do for me and my side projects, I'll keep up with the law as it keeps up with AI.
Maybe morally that's true. But who do you think is easier to sue? Small startup using copilot or Microsoft?
I can't quite put my finger on it, but there's something quite creepy about this future we're currently being sold. A world where inauthenticity is the norm, and where everything you read is no longer written by your family, friends and colleagues, but by their AI assistant.
I suppose people have expressed similar feelings about phones and video conferencing, and AI prompts are just the next step of optimising human interaction by removing all the constraints and annoyances that come with interacting with other humans.
Any way I would be interested in hearing how others feel about this. Or if it's more convenient, how you feel as interpreted by your AI assistant. It's all the same after all.
I guess there are a couple different layers there. On the one hand, the technology/medium being used has always caused us to adjust our communication style - we communicate differently if it's a letter that will take weeks to deliver and weeks more to receive a response, vs. a hasty limited text message, vs. an email, vs. a face to face conversation with no time constraints, etc. So I guess that as long as the person sending the message agrees that it conveys what they want, having an AI draft it isn't terrible...
--- Me: Write a response agreeing to this message: [contents of your post, without correcting the original typo thus explaining paragraph 4] Bard draft 3: I agree that there is something quite creepy about a world where people frequently communicate with each other via AI generated prompts. It seems like a world where authenticity is lost and where everything is just a simulation.
I can see how people might be attracted to AI prompts because they are convenient and efficient. But I think there is also a risk that people will become too reliant on AI and that they will lose the ability to connect with each other on a deeper level.
I think it is important to maintain a balance between using AI and interacting with other humans. AI can be a tool that helps us to communicate more effectively, but it should not be a replacement for human connection.
I have not been interrupted by my AI assistant, but I can imagine that it would be annoying if it was constantly trying to interject or offer unsolicited advice. I think it is important for AI assistants to be respectful of human privacy and to only provide information when it is asked for.
Overall, I think that AI has the potential to be a powerful tool for communication, but it is important to use it responsibly and to be aware of its limitations.
That supreme court case is becoming more important by the day.
At first these tools offer suggestions, but as more data comes in they start to do parts of the work autonomously, until they can handle all cases.
Stable diffusion will replace a ton of paid design work, self driving cars will at some point replace most drivers.
I don't think that their aim is explicitly to replace humans, but to be as helpful as possible to developers, but doing that does exactly the other thing
FTFY.
I already know at least one designer who previously would have considered hiring me for something but now has explained that they are achieving tasks with ChatGPT.
Especially when you start to understand the reasoning ability of GPT-4, what the 32k context window and ability to understand images means, any software engineer who thinks their job will remain safe is in complete denial.
In fact, with this release you will start to see quite a lot of non-programmers start using Github. Within X months or a few years, its quite feasible that Microsoft will have a software engineer built into Windows.
I think many languages are actually already optimized for this. Where "reading" means reasoning about what the program does and not just reading text.
IMO we’ll see LLM interpreters / compilers where the spec is the code, and whatever the LLM does in the background is opaque to the “programmer”.
Unsure if this applies to those who are given copilot for free (doesn't apply to me as I pay).
The resulting code was pretty decent except it included a hard coded access_token in the url. This was a blank project, I don't even have an access token for this api - guessing someone posted theirs in a public repo at some point.
Is there a way to talk to copilot at this point to refine the code?
Then, when you trigger a suggestion it's very likely that CoPilot will use your `access_token` variable.
I have been skeptical of Copilot from the beginning, but it's becoming clear that I'lll be left in the dust if I don't try at least try it.
You should write tests, then the A.I writes the code. It almost doesn't matter what the code is, as long the AI can regenerate the code from tests.
I've even written tests that say this set of input goes to this output, for various different subsets of input. Anything outside of the of the defined input sets fail validation.
Than it randomly picks a couple of thousand inputs from the input sets I've defined and runs them. More confidence you need, the more exhaustive setting you put it on.
It's a bit like QuickCheck.
A random sample of inputs that is hidden from the AI also won’t allow it to derive a corresponding implementation. And if the set of sample inputs is not hidden, then the AI is still free to produce an implementations that only works for those sample inputs.
On test failure, the data is fed back into the prompt about what failed for another iteration.
This will help avoid over-fitting, and generate another generation on test failure. I mean you can't guarantee correctness, but you could probably get it pretty close. Humans also have the same problem.
(ok, not really mine, I don't contribute to OSS very much; I should probably pay for it.. but you get my point).
This is what I am excited about - seeing its errors and other things it needs in order to accomplish tasks. Can't wait to see it in action.
Cool, so it can sass me and threaten to stop responding when it doesn't like my tone?
Whatever PM decided that tools need to have a personality should be fired and blacklisted.
https://plugins.jetbrains.com/plugin/21206-codiumai--meaning...
https://marketplace.visualstudio.com/items?itemName=Codium.c...
One thing that I think contributes to this is that the codebase is really messy in places, so often there isn't much good code to parrot, and things that are named like should only do thing A often do thing B on the side.
Do the people here in the comments section, who seem to be getting good results with Copilot, somehow not have this issue? If so, what is the workaround?
eg: The Code.
I was using chatgpt, with a groovy project (havent used groovy in years), I prompted chatgpt for an answer, and it gave me a solution. The solution (to me) was a bit obfuscated, but it worked. Since I'm only using groovy to figure out this one task, it would've been extremely easy for me to not check what the solution did, and just keep going with my day. Luckily, I'm curious and wanted to know how things worked.
What if we increasingly stop to care, because of the confidence instilled by the media.
"It can make errors" but also "This show SIGNIFICANT improvements over last generation (which tbh was pretty okay)"
A lot of dis/misinformation.
I like using copilot/chatgpt, but it's incredibly hard to believe that we wont just become 100% reliant on this tool, and coding will be something akin to assembly code to engineers.
Using an LLM for programming is not like compiling, it's like employing a developer you either have to trust how they may happen to interpret your instructions, or to manually double-check their work.
The best thing about VS Code is how you can click on the tab of the current editor and drag it out into a new self-contained window, so that you can move it to another monitor. This is such an optimal use of screen real estate.
I will drag out Copilot from the main VS Code window to my right monitor, have the main editor in the center monitor, and Google / GitHub / API docs on the left monitor.
Yes, I'm being sarcastic.
It's Code's biggest weakness IMO.
Could you please stop?
it's a preview for new features, calm down
In all honesty, I wouldn't be surprised if this has already played a large behind the scenes role in the layoffs at Google/Microsoft.
Until an on-prem solution is offered, many of these companies won't get anything out of the technology
The layoffs at big tech are caused by un-even profit generating, Where 5% or 20% of the company generate 99.9% of income. The rest are essentially startups being funded by rich VCs. Eventually if you don't find PMF the VC cuts the funding
Aren't they already doing this, if your documents are in Sharepoint or Google Drive? I have assumed so, but with no basis
Which is why Microsoft will be able to charge outrageous fees for enterprise plans that keep employees' queries to GPT private and out of future training sets. I do not think on prem will be successful, though, the hardware requirements are fairly substantial and specialized.
Of course there are some businesses too paranoid to use the cloud, but even intelligence agencies are on board these days.
Or it could be flat or go down - my point is that one thing reducing demand doesn't necessarily mean that demand is going down.
Next up, AI in games through their own studios, activision Blizzard and the xbox platform.
Videos/video based content is something Microsoft doesn’t have. It’s mostly confined to ‘stream’ and teams.
Above "Can’t wait for the future? "
Is that a viable way to get more fine-tuned outputs from these models?
Maybe start with repo folders?
and yes, LLMs are general intelligences. there is nothing narrow about them at all
This is correct. It is able to generalize across domains intelligently. Given the results of fine tuning in earlier models, fine tuning GPT-4 for a specific purpose will probably produce super-human ability.
Gotta pay for those H100 I guess
I see many jobs are at risk.
99% of the time i `code` now instead of `vi`