I have absolutely loved copilot so far. I especially love how fast it handles indexing complex n-dimensional arrays, which I'm really bad at. I also feel like often pushes me to more formal solutions instead of hacking. I'd estimate a 10% velocity increase for me with it.
My team was freaking out about copilot because we're conducting tech interviews right now, with a take home exam and some pairing sessions, and they're worried we'll hire a bonehead because he can make copilot spit out reasonable stuff in our contrived and simple interview scenarios.
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.
do you see this as a tool to increase productivity in a way that shareholders ask for leaner team or in a way that it creates more demand for products and devs?
But since the question was asked about shareholders specifically, the guaranteed bottom line improvement is going to come from cutting labor and running leaner teams. That's where large corporations will go first.
That's the main idea behind developing such systems. It's telling execs: Hey, look, you are paying a lot of money to those pesky workers (i.e. developers) and we like that number. Give us a cut and we save you a lot of money. This is nothing new actually. Has happened over and over in other industries and is not really surprising. What happens is that a lot of added value that the developers were generating will be consolidated into the pockets of a few and the rest will be automated. They businesses cannot be upset about this because the ultimate goal of a business is not be your friend but to generate more money and one way is to reduce costs.
Increased productivity usually leads to cutting team size instead of expanding scope. A lot easier to justify doing the same work you have been doing with less, as opposed to doing new work with the same number of people.
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.
I think the gnu emacs code base is proof of this statement. I'm fairly certain they fed the source into disassociated press and kept doing it until it compiled.
Agreed, I think we're entering the 4th era of the internet (as I see it).
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.
Well, technically, three flat stones. Two flat-appearing stones can match (like two stacked Pringles chips) and still not be flat and thus not match a third true flat reference. Thus:
"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
Another reason to switch from GitHub, I don't want to strengthen this ecosystem. AI-generated description for PR? gg.
IMHO it will drastically reduce real productivity for those who will remain on this platform (but still increasing whatever fake metric [accepted pull requests? stars?] people love to check)
>IMHO it will drastically reduce real productivity for those who will remain on this platform
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%.
sorry if i was unclear, by "real productivity" i meant something that requires more creativity than copypasting stackoverflow/copilot to your code, not measured in "lines of code" but rather in how much it is unique. Highly subjective, yes...
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”.
What's the reason to think that it reduces the amount of creative code that's written. Doesn't it just let you get through the copypastable stuff faster - all things being equal I'd assume it means you spend more time on the creative parts.
Copilot lets me get the 'boring' scaffolding work out of the way quicker so I can spend more time on the parts of my project that actually are hard and 'unique'.
Not everyone - me and quite a few others I know tried it and turned it off.
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.
I have used it for 2 months and disabled it. So there is your exception.
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.
Copilot definitely makes me much less productive, since it breaks my flow on every line. I give it a -50%. It is both very dumb and very loud. It feels like I'm pair programming with a 1st year CS student who pipes up on _every single line_ trying to predict what I will type next and getting 95% of it wrong.
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.
In short: because there will be "current junk pull requests" (see microchanges for readme) but increased x100, if you want to use AI at least write description by yourself, orelse there os no point in your pr as authors might make it themselves
I see. My impression based on this press release is that GitHub is planning on marketing this more to teams using their paid plan though. It seems like this would be a non-issue for organizations using private repositories?
> 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, which may include changes to Copilot for Business and Copilot for Individuals.
It wouldn't be unreasonable to expect just that. Overall, producing code quicker is probably not something we need. It's plenty quick to type code. What's slow is finding good designs. I think more often than not, we jump to the coding part too early and build things too soon. This creates problems that are hard to fix after the fact.
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.
Yeah I think there's a lot of sense in that. I think it's likely that the ability to use these tools in a disciplined fashion will grow to be a significant differentiator between more effective and less effective programmers. The former taking a considered approach to design and then using the tools where they're a real force multiplier e.g., writing unit tests, and the latter prompting them to spit out large swaths of code they would have previously written by hand: "write an endpoint that does X".
If you think about it, it's likely that much of the code Copilot is trained on comes from stackoverflow Q/A that made its way into open source GtiHub projects
This is clearly a case when an idea is oversold and everybody starts to blabber the same thing. Lose all the arguments to git cli because of an AI chat interface?
Microsoft really seems to have wrapped up the developer ecosystem with VS Code and the Github acquisition combined with OpenAI. They are going to have an absurd amount of data to optimize their models thanks to that, not sure how other AI focused companies can overcome that
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
Microsoft is a so well positioned on this I think Silicon Valley has forgotten what it looks like when they don’t have a horrible CEO. When Microsoft executes well, they’re a scary force. They were exceptional under Gates and it looks like they are again.
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.
I don't get the impression Apple ever caught up with Alexa or Google Assistant. That said, this is a bit different, since the AI tech is a bit more commoditized than with those voice assistants, and the product problem is the hard part. On the other hand, Apple has positioned themselves as extremely privacy-respecting - I wonder if that will affect their ability to use their users' data to train models.
Apple has always had its own hardware based silo to some extent (excellent products and design, fully integrated).
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.
Siri isn't supposed to be great - its a voice interface to a few standardized interfaces that applications can hook into.
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.
That feels like a retroactive explanation of the current status quo to me. I doubt Apple would agree "Siri isn't supposed to be great" - they just failed to live up to what they wanted.
The "what they hoped" is a question of "what who hoped?"
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.
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?
Google's voice assistant is an interface to google cloud applications.
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?
You can adversarially frame "ability to intelligently answer questions" or act as an "intelligent assistant" to "ability to search google" but those are different things. I'm comparing the use case of the former as an end user.
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).
My advice would be "don't expect them to do anything with LLM or similar so that when they don't, you won't be disappointed."
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.
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.
I agree w parent that the end user is who matters--Siri is just not very good at answering what seem like basic questions.
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.
"Siri, set an alarm for 5pm eastern standard time" ... you get an alarm for 5pm local time, with the memo 'eastern standard time' (assuming aren't located in eastern standard time, this is not the expected behavior).
AI in support of user interface has been downright awful. IIRC, Siri has the lowest customer satisfaction out of any other product at Apple.
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?
> 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.
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.
I think apple made a choice a while back to yield software engineering workflows outside Swift to Microsoft.
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.
OpenAI was already in bed with MSFT when they started working on Codex/Copilot together a year or so back. So the synergies were already there when OpenAI needed to scale up ChatGPT for the masses using Azure infra
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
a headset is not a suit of AI products. it's kinda...irrelevant. meta has a headset, and that's working out great for them, isn't it.
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.
I'm curious on this as well - although a VR headset at this point feels like a foul ball straight backwards and into the net.
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.
Siri isn't a language model, AFAIK. I'm sure it's using machine learning on the back end, but it's doing something very different.
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.
google is literally the next generation Sun, many of the same people were involved.. the Sun Micro company was scrapped for (valuable) parts, with a lot of internal competitive moments
Google wasn't a big player when Oracle bought sun. Don't ever underestimate them. There is a reason Oracle of all companies is the government's pick to annex Tiktoc.
I wouldn't go so far as to say they're exceptional. They're gaining good graces for developers by offering a bunch of free (for now) tools that people like. But most of their big breadwinner software is still abysmal to use.
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.
They’re strategically exceptional, but beyond that a lot of their products (or subsidiaries) are also dominant for good reason (vscode, GitHub).
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.
I think it's more about salesforce, I have a pretty negative opinion about them and everything they acquire seems to limp along or die (and the good employees leave immediately) - just seems like a boring place to be (nice sky scraper though).
Microsoft has a better track record with acquisitions.
Salesforce wastes all their effort on new acquisitions making business-driven decisions like “add Einstein to it!” or “integrate it with the Lightning Experience (TM)!” instead of doing anything remotely useful to pre-acquisition customers. Once it’s adequately diced up, they can add it as another line-item to renewals who already pay so much money to salesforce that they don’t care.
Discord is yet another walled garden to be fair.
It might be good replacement for some little, private communities.
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.
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.
Not sure what you mean, you just need one account for all of Discord, joining a new server is just one click away. Or do you make a new account for each server? That seems unreasonably hard to keep track of. I guess the search could be better but I've never really had too many problems with it and I've seen far far worse implementations. Such as Rocket Chat which has completely broken search. Literally never returns anything.
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.
vscode is an incredible piece of software, better than all the paid options in my opinion, the amount of features they pump out month to month is outstanding, just a bit slow due to electron. I never understood why they put so much effort into a free product that I run from Linux and Mac, but I'm happily paying the copilot subscription so it all makes sense now.
You honestly had me do a double take. Copilot costs money? Maybe I get it through some other thing, but its been free for me as long as I can remember. It's wrong so often that I generally keep it on because it's entertaining. I wouldn't pay for it.
It's free and electron because they can run it in a web browser, running everything on MS Azure. With code on GitHub and CI on GitHub etc etc. The whole dev experience offered to companies as a service via a series of web applications. Companies will love this.
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.
Why poor little Linux? Those got what they wanted.
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
Because the linux desktop is forbidden at many tech companies nowadays, for the very reasons you wrote!
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.
You confirm my point - Linux fanboys don't wanna be standardized and play nice with policies and should not wonder why others don't wanna play with them. Mission accomplished. Nothing to complain about.
Nah that editor is much better if you're just using Python, but vscode imo is better for polyglots, the experience and keybinds stay the same across languages once you work out `tasks.json` and `launch.json`
Would have to differ. Best IDE would have the Borland Pascal 7/C back in the 90s, then Delphi and eventually Netbeans/Eclipse to take that position as something worthwhile between Linux, Mac and Windows.
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.
Yep. IntelliJ's stuff is the only one that actually competes with VSCode - and the playing field is surprisingly even if you add the VSCode plugin ecosystem to it.
For C# Rider is still the gold standard in my book, but for Go I still prefer VSCode to GoLand.
> integration there (teams) is why they crushed slack despite slack’s headstart
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.
Slack sucks, but if you compare it with Teams, it is still gold. If anyone asks me, whether I wulould rather join a voice chat on Slack or Teams, the answer is 100% of the time Slack. You never know what bugs Teams will cook up this time to ruin your call.
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.
A quick search turns up Office 2021[0], and I see no indication that offline Office is being discontinued.
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.
It was clear to me when they mentioned Emacs that their opinion on this can just be ignored. That isn't to say Emacs isn't a great thing for a certain niche, but it's just not something that matters in this kind of strategic product discussion (and thinking it's comparable is just a signal it's not worth engaging imo).
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.
GDocs is a toy as well. Maybe worse than O365. If you only know those two, then I can understand your opinion.
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.
Desktop Office apps are still available, fully supported, and fully functional. Office 2021 is the latest buy-once release, but Microsoft 365 subscribers get all the desktop apps with their subscription (and they get continuous updates). The web apps are separate and have their limitations. Microsoft 365 subscribers get to choose between the two. Non-subscribers get only the web version with some features removed.
> When Microsoft executes well, they’re a scary force. They were exceptional under Gates and it looks like they are again.
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.
> GitHub acquisition are looking like genius moves right now
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.
Google competed but they weren't willing to pay the price tag. Microsoft understood better how powerful Githubs potential was at the time. Github was likely Microsofts best acquisition in the last two decades.
> I agree that MS is executing well, but why would Google be afraid? There's no AI moat keeping anyone from replicating what MS is doing.
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.
Spot on. Microsoft are a joke when they're losing and a joke when they're winning. I'm old enough to have seen the full circle and I'm super curious to see what happens when M$ is back on top.
- lock down of PC software to the Microsoft app store, probably roughly at the same time apple also tightens a lock down on macOS
- 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 never was about emotional things like being scared.
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.
Microsoft already owns the desktop and I don't think they consider Linux a threat.
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 glad Linux desktop didn't fail for others. Maybe they enjoy fixing broken stuff, configuring things repeatedly and tinkering with it. And maybe they don't miss software that doesn't run on Linux.
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.
> lock down of PC software to the Microsoft app store, probably roughly at the same time apple also tightens a lock down on macOS
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.
it's not about what is done now, it's a response to the parents comment of "what will happen if microsoft becomes much more powerfull and market dominant again"
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
Masterstroke is that they are including Linux, in WSL also in windows server. They are 1 step away from being a Linux distribution that runs legacy windows software within containers :D
Shenanigans?! Do not get me started, i have for a year remember to close any WSL session before put pc to sleep, command line or VSC because on waking VMEM process will eat up the CPU. So had to restart or do a weird workaround, but Linux session was gone anyway. There is a github case 2-3 years old
I'm a long time Ubuntu user but, if Microsoft went Linux, and it wasn't an anti-VM (explained: try to upgrade Win 10 in a VM to see what I'm talking about), Ad infested, user tracking machine then I might have to get back in bed with Microsoft.
I just checked, Windows 10 in a VM (running on KVM on Linux), refuses to upgrade to Windows 11. I only keep it around in case a contract requires something regarding Windows. 10 goes out of support next year, I will delete the VM. I can reject any clients that would need me to touch windows.
or actively remove many reasons why people ended up trying out linux distributions in the past
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.
Yeah it’s a tradeoff, that part is worse but everything else is a lot better (battery life, performance, hardware quality, software integration, design etc.)
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.
I'm first to crap on MS but they've really pulled it together recently with a lot of big plays coming to fruition. I don't use any of their tech but I can respect what they've done as a business.
Not saying Ballmer was great or bad but it could be argued that the US Government handicapped Microsoft more than Ballmer was a bad CEO. To my understanding Gates was also very active with the company during those years as well.
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.
> "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.
When you use copilot integrated in the editor, does microsoft collect all source code data on your project or only context used to perform the completions?
Concern over this is the #1 reason I have not yet tried to use Copilot. For my hobby projects I don't care enough to pay for it. And if it's phoning home proprietary code, I can't allow that to happen.
Eh, as long as my employers don't care (they don't), I don't care. I have no illusions that my code/our code will give Microsoft any valuable training data it couldn't trivially get elsewhere.
In theory there are no rules about importing code, beyond the usual licensing issues. But people use SO and such all of the time, right? If one *really* wanted to do a global audit of improperly imported code, we'd all have bigger problems. So from that perspective it's status quo.
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.
It’s worth it even for hobby projects, imo. It reduces the time spent on mundane tasks and allows you to think at a higher level and just move faster. Maybe you achieve a level of zen from implementing utility level code, similar to how some people might still write assembly code, but otherwise it’s a valuable tool/skill to learn.
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.
> 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.
Many, probably. However, the curious types will likely be further enhanced by AI. I've never been one to take code at face value, and I have been enjoying sessions with ChatGPT asking all sorts of questions about some of the stuff it produces. The answer is usually sufficient, and in cases where it's not, I've been given enough background context to know where to find the answer online or in books.
Honestly, I've seen myself master many more additional things since I've started including it in my daily routine.
Can you describe how you use it? I struggle to imagine how it would even be done. Ie do you write prompts? Just code as normal but frequently hit a "copilot" button? etc
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.
Just type your code in the editor. And it offers auto complete suggestions. Sometimes it will complete the entire function based on the function name or a comment. Sometimes it'll just guess the function you want to write, without you typing anything at all. (Turns out a lot of code is rather predictable).
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.
I'm being reminded of a close friend of mine who is a car mechanic. In recent years the fraction of BEV and PHEV among new cars has risen to ~20% which absolutely will influence his job and will require new skills of a different kind.
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.
IIRC they didn’t train on private repos though, so using copilot in a private (github) repo will potentially open up your proprietary code to being used in that way.
No, the model doesn't train on your private code (which is good but also somewhat limiting as in my experience it doesn't provide useful answers that are very specific to your codebase); it's good for generic code though and saves time looking stuff up.
When you sign up for CoPilot, there's a settings section on Github for it. One option you can toggle is "Allow GitHub to use my code snippets for product improvements *".
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.
Same is true if you use `git push` in which case all the code is transferred through the wire and is collected by GitHub which may or may not be desirable.
I think OP's point was that GitHub=Microsoft, so you're effectively sending your code to Microsoft in one way or another. Although the licensing/privacy policies are probably different for private repositories.
The sublime plugin for Copilot works well enough already. I'm sure Copilot X will be something you can fold into any editor. I don't understand how so many folks seem to tolerate the UX lag in VSCode
My dev machine is sufficiently beefy (32G of RAM). I recently tried https://lapce.dev/ and was very surprised that it was noticeably more snappy than VSC. (I am not super sensitive to that kind of thing after years spent in Eclipse/IDEA.).
Made me realize how I can just become accustomed to a certain amount of lagging....
I recently tried lapce on my Mac and just empty editor with just one new tab was eating 70% of my CPU. I'd better IDE eat 1-2GB of ram than eat my CPU cycles. Also on their github lapce has more than 50% of open issues labeled as C-Bug - that's not very reassuring
I like how you probably spent more time looking up your multiple-year-old comment that could have instead been used to make sure that you’re not sounding like a fool that doesn’t know what he’s talking about.
They have already committed to releasing it to all editors Copilot supports. So, you know, the exact opposite of editor lock in.
> I like how you probably spent more time looking up your multiple-year-old comment that could have instead been used to make sure that you’re not sounding like a fool that doesn’t know what he’s talking about.
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?
Considering they have several third party editor logos in full display on their main landing page, I'm going to believe Microsoft and OpenAI over some random naysayer on the internet who didn't even bother to check.
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.
So there is 100% feature parity then for all other editors other than VS Code then? YES or NO?
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
> So there is 100% feature parity then for all other editors other than VS Code then? YES or NO?
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:
> How, exactly, is providing Jetbrains and Neovim support "re-centralizing everything"?
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.
That’s all fair, but that’s not even remotely what their argument was.
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.
Seems that you didn't bother checked their site before commenting. Check it out here[0], but TLDR: they have VS, VS code, Jetbrains and NeoVim logos in there.
I don’t know about jetbrains, but the neovim plug-in is not full featured like the vscode one. For example, it doesn’t have the “explain this code” feature. The repo also does not allow issues or PR’s so you can’t even ask for it to have feature parity. I am a paying GitHub copilot user with the neovim plugin (in Emacs), but I find this second-class treatment frustrating. I expect copilot X to be more of the same, since it is even more deeply integrated into vscode.
The page you linked only shows those logos in a block that specifically talks about Copilot, not Copilot X, so I don't see how this implies that Copilot X will come to those platforms as well.
(I expect implementations for those platforms to show up eventually, I just don't think the logos on that page are evidence for that.)
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.
Does anyone have a prediction for how this translates into Microsoft's bottom line? I'd imagine it is mostly increased Azure sales with a few Visual Studio licenses.
I could see them selling an absurdly expensive enterprise on-prem copilot that is tuned for a company's codebase and able to be customized to some extent. If they can show how much it improves productivity it would be an easy sell. Plus tightly integrate everything with Azure like you said
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
half our team is really entrenched with jetbrains. but aside from a couple of curmudgeons who are formally married to vim, I think VSCode and JetBrains has pretty much sewed up the market.
Aren't lock-ins into their own respective ecosystem what every tech giant is striving for? Don't see how that behavior is Microsoft-exclusive necessarily.
> have to wonder at what point developers remember how anti-developer Microsoft used to be
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.
the economic contracts offered to developers by Microsoft were very different than in other development ecosystems. Microsoft always represented a different economic culture than many others, developers chose their allies based on multiple criteria.
Microsoft was also a long time anti-commandline and against scripting, they tried to made everything clickable, with wizards and s**, and remove text and keyboard-input as much as possible for admins and devs.
Thinking about, Copilot is in it's own way, a continuation of this, just more dev-friendly.
> Microsoft was also a long time anti-commandline and against scripting, they tried to made everything clickable, with wizards and s*,
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.
Yeah, but then they made PowerShell, which was at the time seriously the most advanced shell and shell scripting language out there. PS got pretty mixed reactions because it was different than BASH, but the idea of typed pipes of objects instead of one-size-fits-all streams of lines of text was (and still is) powerful. (The syntax could be a little less verbose though)
Being a developer isn't the same as being a command line user.
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.
That is not anti-developer, but definitely anti-opensource. As a developer I dont really care my code is used to make copilot better and sold in that way.
You should care if your code's license is being violated by being reproduced without attribution. Undermining OSS's licenses can ultimately weaken it, and the cynic in me suspects MS is fully aware of this.
By monetising OSS and sidestepping copyleft licenses to suggest you the same code repackaged as part of proprietary autocomplete for which you pay MS and not original authors?
There is some nuance here. Microsoft executed "commoditize your complement" to perfection - the complements to their OS being PC hardware and applications.
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.
I wish we could have open platforms that competitive players can extend and develop without owning outright and excluding other competitors.
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.
The development costs for Windows (as a common platform, stripped of any add-on that could be provided by other competitive players) are a footnote in the costs of the global software market for Windows. There is indeed a complex problem to be solved of how to organize an open platform so that the development costs are paid, but it's not fundamentally a question of resources. Multiple companies and open source teams have achieved roughly similar feats with many orders of magnitude less resources than what MS rent-extracted from the Windows OS consumers.
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.
> The development costs for Windows (as a common platform, stripped of any add-on that could be provided by other competitive players) are a footnote in the costs of the global software market for Windows. There is indeed a complex problem to be solved of how to organize an open platform so that the development costs are paid, but it's not fundamentally a question of resources. Multiple companies and open source teams have achieved roughly similar feats with many orders of magnitude less resources than what MS rent-extracted from the Windows OS consumers.
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.
> 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.
I'm a fanboy of heavy IDEs with big fat debuggers like JetBrains tools. It's ironic that Microsoft who used to dominate that niche, is now dominating with a glorified text editor.
Who will verify that those data are correct? What if majority of the code sucks, what if majority code uses "best practices" that are no longer valid - think of many GoF Java "patterns" that are now considered to be code smell?
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.
Have you tried co-pilot? I don't want to code without it. Saves so much time and produces good results, instead of searching for answers online, which isn't easy as you get into ad filled sites, find shitty Stack Overflow answers and webpages with outdated docs and examples.
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.
Your worry is going to become obsolete pronto, just like you are not worried about depending on a paid CPU to perform basic computations. The meaning of "basic programming work" will be redefined by these tools.
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.
I still want to know if MS lets, say, Windows or MS Office developers use it. If not, they must consider it too risky from a copyright standpoint, which means so do I.
> have to wonder at what point developers remember how anti-developer Microsoft used to be and potentially move away from their ecosystem
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.
MS was smart enough to use the existing brands to somewhat whitewash their previously not so well perceived reputation in the developer community.
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.
Public companies aren't people. It doesn't make sense to trust them, but it also doesn't make sense to hold a grudge against them. They act in a way that fits the moment. Right now, Microsoft seems to be in a "build good tools" moment. If they get too dominant they could re-enter an "abuse power" moment. But that would be because it's what they think is in their best interest, not because "Microsoft is [uniquely] untrustworthy"
Yep. But also this kind of essentialist thinking doesn't work for people, either, so :-) Nobody is just one thing or another. And neither are companies. They act on various levers, in response to various interests, and it's about looking at the tendencies and patterns. Holding grudges against people makes little sense, either.
Fair, although even on a sliding-scale I think trust mechanisms are less-inaccurate when it comes to a single person (who can change, but usually in gradual/limited ways) vs a company (which is a revolving door of thousands of people who come and go over the decades)
That may be true, but for many of Microsoft's flagship open source projects, it is very much about the people. For example, TypeScript has been created and maintained by a relatively stable team of highly proficient developers who have become the face of the project and in many ways the driving force behind its success.
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).
> have to wonder at what point developers remember how anti-developer Microsoft used to be and potentially move away from their ecosystem.
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.
I think enterprise offerings will be more feature rich and advanced for some time, but eventually open source alternatives will catch up especially with how Nvidia is doing amazing work to reduce the compute costs for training and deploying these models over time. I consider it similar to how a few major cloud providers are more feature rich and can scale more effectively than smaller ones, but the smaller options still exist and get better all the time.
Funniest thing for me is how Ms has been left out of the FAANG acronym for all these years, as if they somehow haven’t been relevant in the developer ecosystem for the past 10 or so years.
> Microsoft really seems to have wrapped up the developer ecosystem with VS Code and the Github acquisition combined with OpenAI. They are going to have an absurd amount of data to optimize their models thanks to that, not sure how other AI focused companies can overcome that
Other companies can focus on other areas where AI can be used. There's room for everybody.
How have people been thinking about licensing and attribution when it comes to using AI code assistance tools like this? In my personal work, I'm avoiding it since being trained on "publicly available code from GitHub" feels too risky for me if I were to say accidentally pull in GPL code to a private project.
I have been using it on a fairly large project, and in practice I find it rarely, if ever, spits out anything other than something that resembles what I would have written next anyways, taking context clues from the file I'm editing.
Yeah, this is my experience too. You can prod it into generating code that exactly matches something from the training data, but it seems like you have to really try.
Someone asked me to pay for a team subscription for Copilot.
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]
I disallow copying of copyrighted code into our product repositories unless the license is clear, I have even reached out to people to directly license copyrighted software, or for them to relicense their public AGPL/GPL license (for a fee).
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.
Right. So it's up to you to educate your developers to not copy code from sources that have licenses incompatible with your project. Much the same as educating the same developers that "YOU ARE RESPONSIBLE FOR TAKING SUGGESTIONS" from copilot. I do not see any difference 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.
What if someone copied a GPL code to stackoverflow? It wouldn't even be hard to look for examples like this.
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.
There's also another risk, which is that copilot generated code may not be copyrightable[1]. I'm not sure how that would play out as part of a large codebase, but something to watch closely.
> 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.
I don't think there's any precedent for copyright to be applied partially, with some of a work covered and some not. Are you proposing that copyright will change to be line-by-lien, with each one covered (or not) depending on how it was generated?
What the copyright office describe was AI generated images, and a book where such images was included. Those images can't be copyrighted, but the prompt that produced the images may, and the arrangement inside the book may also be copyrighted. People can however take out those images from the book and reproduce them, since those images themselves are not covered under copyright.
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.
> They say in very clear terms: YOU ARE RESPONSIBLE FOR TAKING SUGGESTIONS.
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?
>* 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.*
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.
I don't use it for dayjob stuff because I don't want to deal with the hassle of explaining and selling someone on it to get the use approved, and admittedly there are (however small) risks of sending confidential stuff over the wire. Copilot isn't enabled for those projects.
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.
I honestly don't think it's going to be a risk for developers. I don't believe you can accurately run attribution on any of the source code generated for you, right? If so, that should give you plausible deniability, while putting all the liability on Github's shoulders. It's their responsibility to make sure they don't violate licenses in their own model.
With increases in productivity from systems like this, and a guaranteed bottom line improvement from cutting labor and running leaner teams, has anyone here heard of any large corporations using LLM's as an excuse for headcount reduction yet?
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.
Sometimes thinking that you are understaffed is actually caused by being overstaffed. The reason is that having a lot of people introduces tons of overheads and coordination costs, that reduce your time for your main work.
Lol the cope here is unbelievable. Let me guess, the people that are “just overhead” and “reduces time for main work” are everyone else, not you, right?
I work at a big tech company and there is a complete ban on coding using LLMs. The fear is sending our code for the model to learn in the future. This is also why then hype around GTP4-powered Office is overhyped. Very rarely will a corporation be OK with GPT-4 running inferences on their internal documents and excel sheets
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
For big companies, that on-prem solution is coming sooner rather than later. For small companies, plenty of them (likely the large majority) will be very willing to take the "risk" for the save in labour costs.
> Very rarely will a corporation be OK with GPT-4 running inferences on their internal documents and excel sheets.
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.
How do you reconcile what you just said with the massive popularity of cloud services? The source code is already sitting in the same data center the LLM GPUs are sitting in.
Of course there are some businesses too paranoid to use the cloud, but even intelligence agencies are on board these days.
Probably because people view the cloud as their data in someone else's hands, but AI companies view data as fair game for ingestion, since "they just learn like humans, and you allow humans to view your data, right?".
With cloud services, there's some expectation that your stuff is private. Copilot is like doing all your cloud development with an anonymous FTP server.
In general demand for programmers has been growing over the long term. So if the baseline is an upward trend, these tools can have a demand-reducing effect and the overall demand can still be going up just at a lesser rate.
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.
God, only yesterday there was a comment by someone, that Copilot will eventually move to gpt4. So eventually = just 1 day. Things move so fast these days.
At which point do we not need to understand what is in front of us?
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.
One hypothesis I have is that the future of programming is natural language and the “compiler” is a LLM. This would be no different from the days when C took over for asm.
This was my take on the tech. Ultimately it will need to be prompted. Now the form that prompt takes is open to a bunch of speculation but even if it gets superhuman at producing code or any output it is directionless by itself, for now. We are what direct its ability, which I think is really cool. I think getting good at extracting exact outputs from the LLM will be the new engineer.
The difference is that natural language doesn't have a well-defined semantics and is open to interpretation. Programming languages being compiled, on the other hand, have precise, well-defined semantics (excluding UB I guess) that you can formally reason about.
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.
I understand where you're coming from, but I didn't mean it quite that literally. More like, in the same way that compilers fundamentally changed how we program by adding a layer of (deterministic) abstraction, natural language assisted by AI could add a new (non-deterministic) layer of abstraction to programming.
"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.
I was wondering the same thing. It seems like it is labeled weirdly since it is part of GitHub, but definitely was triple checking what was going on with that.
I think this is just a standard API access prompt. The GitHub Next page clearly indicates it is (C) GitHub Inc and the blog post makes GitHub's control clear.
It's interesting because the Copilot for PRs preview uses an app that does say "Owned and Operated by GitHub". Probably just an oversight, but I'm pretty sensitive about what access GitHub apps have, especially given the list of major attacks that have happened in recent years that were initiated by someone sneaking malicious payloads in somewhere along the development pipeline.
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?
Signing up for the technical preview of Copilot Chat also worked as expected, it was just a checkmark and a button on github.com, not even an oauth dialog.
OAuth allows the use of different scopes for different levels of access. So just because it uses OAuth doesn't mean it has to require major account access.
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.
There are several CLI programs like this. I built mine before ChatGPT came out so it uses text-davinci-003. It https://github.com/runvnc/askleo
If you google for ChatGPT CLI I assume some will come up and those are probably better because they are cheaper and faster.
It’s officially from GitHub. There is some weird language (that I’ll absolutely pass feedback on to the team), I think because GitHub Next is a different organization from GitHub proper, but I can assure you, this is an official GitHub app.
But I totally agree that this isn’t a great/clear message about where this is from.
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.
FYI, after digging down a few links from there and winding up at the GitHub Next org page[1], seeing the verified email next@github.com and the official site link to https://githubnext.com was enough validation for me.
To me the auth flow looks wrong. The CLI oauth would get act on your behalf, but the website to apply for access should not under any circumstance do that.
Maybe it's just copy and pasted from somewhere, but it looks wrong to me regardless.
It seems like one organization being able to specify a relationship with another, possibly with the ability to set a list of approved permissions, would solve this.
The amount of companies, including serious banks, that doesn't understand this is mind blowing.
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.
"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.
>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.
Not to mention, the app you're in can inject JS into the page it renders. Best practice is to open in your default browser and then allow the deeplink in the callback_uri to return you back to the original app
Totally agree. I did the same double-take with some stuff at Universe and I work here. As Idan said back then, there are lots of reasons that we want Next to be separate from GitHub proper. But you’re absolutely correct that we should make it more clear that anything from Next is not a rogue org and also part of GitHub.
> make it so difficult to determine what's legit from what's fake.
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.
Correct! We know this is a terribly confusing thing. Hopefully by the next big launch we can work out a way to have GitHub Next things not bear the "not owned or operated" thing.
Did you actually pay for or license MDN for the database that you are building off of and selling your "product"? YOU ARE A BUNCH OF THIEVES. People haave been working on contributing to the MDN brandand the docs since at least 1995.
```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.```
Unfortunately, I think this is another indication of a lack of understanding by GitHub of how their OAuth/GitHub App systems are expected to function by end users.
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]
While I don't remember to use it (too much AI in too many tools!) Warp has this feature as well "Warp AI". This is what it told me for the demo scenario:
Something interesting is that there is no mention of fine-tuning. Is GPT-4 so good at general tasks out of the box that fine-tuning is obsolete? Can one model really be equally good at Python and poetry?
Finetuning has been more or less obsolete for LLMs since the introduction of GPT-3. This was a major discovery of the original paper. Codex-Davinci only existed because the original gpt wasn't trained on much code not because a version trained on sufficient code would need special code optimizations/fine-tuning.
and yes, LLMs are general intelligences. there is nothing narrow about them at all
>Is GPT-4 so good at general tasks out of the box that fine-tuning is obsolete? Can one model really be equally good at Python and poetry?
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.
Do you have evidence to back these claims? Specifically that AI will be replacing software engineers any time soon and that Copilot exists explicitly to gather data towards that purpose.
I’ve been working on ML systems like that for the last 10 years, usually as tools to automate boring data entry tasks like tagging photos, automating food logging, giving dietary advice.
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.
Well it's hard to argue against the idea that the final aim of Copilot is to automate as much of software engineering as possible.
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
I am building my system https://aidev.codes and adding virtual servers to allow back-end code with the explicit goal of selling this service to end-users as an alternative to hiring software engineers. In the niche I have previously been working in, there is a huge demand to build fairly complex integrations (such as with my other service) without an adequate budget to hire a person.
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.
Yesterday, Copilot could not write a program with SymPy, which is a library for doing symbolic math in Python. (e.g., it would consistently confuse symbols in equations with Python variables). Today it uses SymPy as well as it uses NumPy (occasional mistakes, but overall it has the right idea). Absolutely astounding.
I don’t think people understand the hockey stick we’re on. Don’t focus too hard on the failings, look at the scaffolding being rapidly deployed that makes the iterative improvement process exceptionally tight.
“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.
Your overall point is reasonable, but to take your point about GUIs...we actually lost an awful lot moving from text based interfaces going to GUI. We got universal adoption and more or less zero training required...but we got very slow and inflexible interfaces.
I'm talking about people behind counters, people in stock rooms, people in all kinds of data entry and so on. The terminal did vanish from many places. We're not the market.
I worked at a paint store in my teens (2010s) that operated a beautiful text only PoS system that had been built decades ago and it was incredible. So efficient, purpose built, nary a click.
Yeah and owner would have to have SWE on payroll to continue having it working. It's why people migrated to a more general, albeit sometimes also more confusing apps/platforms.
I use tons of GUI apps with mostly a keyboard (or sometimes only a keyboard). For example, my Git client of choice is Tower, and I’m able to get all my work done without taking my hands off the keyboard. It took me a bit of time to get used to the shortcuts, but now I’m able to work off my muscle memory.
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.
I would assert that the "here are the current flaws" side is still necessary in the overall conversation, since they provide the necessary feedback that allows technology to improve. Similar to political debates influencing the Overton window of a population, I see the "future promise" vs "current flaws" as a human algorithm realizing itself. The debate never ends, but the "mean" value keeps moving as technology progresses. As a "future promise" person myself I used to be annoyed by the "current flaws" side as well until I started seeing things through this lens.
Considering this hockey stick is in the field that is in the business of making hockey sticks it could go pretty far. A hockey stick maximizer if you will.
We are seeing continuous improvements in image and video generation / understanding every year. It was just probably too naive to think that self driving can work well without getting to human level video understanding (which is still not AGI).
But when we have that, it’s hard to believe that self driving won’t work.
To me the key issue are these 'hallucinations'--mistakes that seem plausible but are completely made up, like API endpoints that would be super useful except for the small problem that they don't exist. GPT4 is better than GPT3 on these but it still produces a lot of them.
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.
It seems pretty clear to me that you could do some more RL to enforce truth-telling/admitting when it does not know - it would just be much more labor intensive compared to the RLHF they have already done because fact checking is difficult.
I'd imagine they've already been doing lots of RL in this direction, which explains the improvements in GPT4, but it's still an issue. Maybe they can eventually eliminate hallucinations completely, but I could also imagine that it will end up being difficult to do that without lessening its creativity across the board. Perhaps making things up is fundamental to how LLMs work and trying to stop it from doing that will kill the magic. I'm not an AI researcher so I really have no idea--just speculating.
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.
Yes, I feel like it is much better than HN has given it credit for in earlier discussions. But that may be influenced by the fact that I only started using it relatively recently; I've probably mostly seen it at its best.
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:
You're being too kind on the HN crowd. We're usually extremely pessimistic for no good reason and useless at predicting things. It seems like we just love to hate on stuff.
People here love hot takes, especially if it stakes out a contrarian position as the smart one. Criticizing the big players is just too easy to do that with since it doesn’t require you to build an alternative and is often right in some aspect so you can get validation.
No, I don't think it's comparable to a junior engineer. It works best for pretty short snippets of code. It also can't decide when to run the program and how to interpret/make changes based on the results.
> It also can't decide when to run the program and how to interpret/make changes based on the results.
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.
This applies to managers and many founders too. I imagine it's gonna affect the startup scene more than people expect and the number of current model of startups where you build a custom software solution for a problem may also fall. It applies to all white collar workers. This is the goal of a corporation like Microsoft to develop such a system (to consolidate those added values), and it will happen one day as it happened with physical labor. Although we are not quite there yet. It might be far or not. Who knows?
I am guessing that at some point a class of programming languages will be designed that is both optimal to generate by LLMs and easy to read/understand for humans. Right now most PLs are optimized for writing code by humans.
That is what makes them also optimal for LLMs as is. It would be more efficient to have something that is direct machine code, but LLMs are Large <Language> Models right?
I have some interesting stories from writing a report about a couple teams using AI pair programming for development at my firm.
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.
771 comments
[ 2.9 ms ] story [ 377 ms ] threadSuper 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.
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)
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)
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.
Those who are not fanboys, asking themselves - how can we change to collaborate? Microsoft/Ubuntu are moving into enterprise direction though https://joymalya.com/linux-management-with-microsoft-intune/
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?
[1]: https://github.com/withinboredom/ipv6-wsl
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.
https://github.com/features/copilot
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
[0] https://news.ycombinator.com/item?id=27685104
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.
[0] https://github.com/features/preview/copilot-x
(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.
https://en.wikipedia.org/wiki/Active_Scripting
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.
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?
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.
it's a preview for new features, calm down
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.
"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 :)
1: https://github.com/githubnext
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
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
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.
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.
99% of the time i `code` now instead of `vi`
“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:
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.
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”.
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.