12 ms·
The Man Behind Windows PowerShell
- frgtpsswrdlame 9y agoHow was that transcript created? Just lots of elbow-grease?
- tcsf 9y agoWe get a first-draft transcript made through rev.com, then manually editorialize and format to make it easier to follow for folks who prefer to read. The player itself is built with video.js which, when combined with the ttml format for the final transcript, allows us to provide that click-to-time interactivity.
- csours 9y agoI have a habit of highlighting as I read. When I highlight text on this page, it seeks to a section of the podcast, even if I haven't hit play. Perhaps it would be possible to only seek on click, not selection.
- tcsf 9y agoI have that habit as well. I'm not sure if this level of control is possible with video.js, but I'll take a look. Disabling click-to-time until the play button has been clicked might also be an option. Thanks for listening/reading
- carussell 9y agoThere's no publication date on the episode page. Right now it's only available through a `meta property="article:published_time"` in the page source, or by finding the episode in the series list. This makes it difficult to cite. EDIT: I just incorporated this quote into the PowerShell article. The transcript differs a bit, so you might want to update it. Notable differences are the transcript's "would turn structured data" and the omission of mention of awk, grep, and sed. (Presumably, the latter sounded like unintelligible false starts to the stenographer, who just cut it entirely.) Here's the quote: > I'd been driving a bunch of managing changes, and then I originally took the UNIX tools and made them available on Windows, and then it just didn't work. Because there's a core architectural difference between Windows and Linux. On Linux, everything's an ASCII text file, so anything that can manipulate that is a managing tool. AWK, grep, sed? Happy days. I brought those tools available on Windows, and then they didn't help manage Windows because in Windows, everything's an API that returns structured data. So, that didn't help. [...] I came up with this idea of PowerShell, and I said, "Hey, we can do this better." EDIT 2: The references to "PEARL" are all a little weird, too.
- tcsf 9y agoThanks for this, I've updated the transcript.
- Zpalmtree 9y agoThanks for this, I much prefer reading to videos/audio, and it seems a lot more content is moving to that medium only.
- swasheck 9y agoThis is a great line: > On the other hand, if I'm at a lower level and in fact I'm at a really higher level, it takes time, but it'll eventually rectify itself. A lot of people get wrapped up in a desired title and recognition, but the confidence Jeffrey had to know that his work would speak for itself is instructive. Additionally, it's not like it was instantaneous; it took 5 years to get that rectification.
- user5994461 9y agoNo, it's bad advice. If you are at a low level, you move to Facebook/Google and you come back to Microsoft the next year. The world is filled with people who are waiting for a raise and will not get it in the next decade.
- ryandrake 9y agoYea, I used to believe that fairy tale. "Just wait! The quality of your work will speak for itself" is nonsense. Reality is, for every person who uses the Hope And Prayer career development strategy, there's another person who hustles, self-promotes, or brown-noses their way into promotion after promotion. In most places, a raise that I get is a raise that you don't get, so you really have to think about it as a competition.
- tonyedgecombe 9y agoThis is exactly why I hate working for corporations and big business.
- swasheck 9y agoI agree that more recent generations advance monetarily through a series of jumps between organizations. However, I think that this quote is particularly salient to the felt need for recognition that your work is recognized and relevant and important. It's a mercenary mentality that I admit that I have and fully endorse. However, the way I parsed the conversation is that Jeffery was already being paid at levels above where he was functioning at the time. It took time for his work to be recognized as having the requisite value of his pay grade and, once that recognition was achieved, it seemed to accelerate his upward mobility within Microsoft. I'm not trying to discount your perspective, because it's one that I have lived out and fully endorse. However, I took this quote as a nice check, or even corrective, to my default mode of operation. I think that these checks to our own personal status quos are important to our growth as human beings.
- youdontknowtho 9y agoBig fan of Snover.
- filereaper 9y agoI found it kinda cool that the foundational difference between Unix and Windows is that Unix returns file-descriptors whereas Windows decided to give out handles. You can do stuff like putting callbacks on a handle to do async-io when you have a pointer to work with.
- k__ 9y agoDid PowerShell really catch on? Was this difference so good that it was incorporated on other platforms? I really liked the idea of the PowerShell, but somehow it felt to me that it never really became "a thing" and the Windows Subsystem for Linux move from MS felt like they gave up on the whole shell thing in the end. :\
- orev 9y agoNever became a thing? You're talking like it's already done and abandoned. You need to recalibrate your perspective to longer timelines. Every release of Windows server removes more and more of the GUI, and nano server can only be setup using powershell commands. MS is completely all-in on this and the WSL is not going to replace it by a long shot.
- k__ 9y agoThe "removing more and more GUI" part already felt like MS would jump on the Unix/Linux train and abandon their "all can be done via GUI" philosophy. The PS and WSL story seemed like they tried to do better but gave up. But what can I say, I'm no Windows guy, just talking from an outside view :)
- electricEmu 9y ago> The PS and WSL story seemed like they tried to do better but gave up. The PowerShell story is pretty simple: a cross-platform, object oriented shell. Having used it, I attempted to locate a similar Linux solution, to no avail. I'm tired of cutting text and object translation makes my life a great deal more straightforward. As for WSFL, it seems "Windows can run everything. Docket support is stellar" is a much more likely story than "we gave up and are slowly becoming Linux with a GUI".
- apatheticonion 9y agoAh, the man behind why I chose macOS for my development environment. Thanks for costing me a bunch of money mate.
- telltruth 9y agoI haven't met a single person who likes PowerShell. It's perhaps the textbook example of ugly design that looks technically consistent but utterly unfriendly and mind bogglingly verbose. I am not saying Windows command line is great or bash is best, but at least those things are designed for humans at certain extent. I have written few ps scripts and virtually every line, every step, every task almost always required googling. I don't know anything about Snover but my image of PowerShell designer was someone who couldn't write more sophisticated parser and compensated that lack of skills and creativity to solve fundamental challenges in designing OO shell by offloading complexity and unfriendlyness on users. Basically just reverse of Steve Jobs. It was aweful when PowerShell team tried to shove their ugly creation down people's throats by removing Shift+right click menu for "Command prompt here" by "PowerShell here". Not a sign of good product when you have to force it upon people. The designers of this thing should have been demoted, let alone making them "Distinguished Engineer".
- shyn3 9y agoI just wrote a 200 line DSC config that eliminated 90% of my job.
- tonyedgecombe 9y agoHow recursive.
- albertgoeswoof 9y agoI have met plenty of developers that love PS and significantly prefer it to bash. Generally .net people that struggle outside of visual studio
- maxxxxx 9y agoI have tried PowerShell a few time and every time I hated it. I know people who like it though. I am doing a lot scripting now with CSScript. It's much nicer than PowerShell. The main advantage of PowerShell is interop with .NET so why not use C#?
- 9y ago
- trumpownsyou420 9y agololpowershell
- unkown-unknowns 9y agoAt first I was a little annoyed that (on mobile) it didn't tell me the length of the interview. Had I known how long it was before I started listening I probably would not have listened to it. I am glad that I didn't know, so that I began listening. Once I started listening it didn't take long before I was convinced that I ought to listen to the whole thing. Very interesting interview. Very glad they provided a transcript also. Having both the text to read and their voices to listen to was much more enjoyable together than would either of those have been alone. There were some typos here and there in the transcript but since I am on mobile I didn't dare leave the page to point them out. Someone else will have to take care of that to have them fixed. I do remember one error that occurred in a couple of places was that the transcript said SANS instead of just SAN (singular) or SANs (with a lower-case "s").
- kabdib 9y agoI've recently written a couple thousand lines of PowerShell. It's a miserable language, full of unexpected behaviors and badly designed features. Oh, it's got some interesting stuff going on, but things like: - including the text of 'echo' (and stdout generated by invoked tools) in a function's result was a big surprise. You wind up piping stuff to "Out-Null" a lot in defense of this, since a lot of Windows tools are stupidly chatty ("The Blffgh command succeeded with status 0!") and that's awkward. - so was the "unwrapping" that happens when a function returns a list (return [a,b] you get the list you want, try to return [a] and it rips off the list and just returns the inner 'a', and I think an empty list results in null . . . just wow). The sole reason I use PowerShell is because it's good for mucking with OS-level objects in Windows, stuff that I would otherwise have to write native code to frob. And sometimes that is actually kind of attractive.
- Bjartr 9y agoThe whole unwrapping the list sound like bugs I hit trying to implement a lisp interpreter.
- kabdib 9y agoYeah. I learned LISP pretty early in my career, wrote a few LISP interpreters, and those are indeed the kinds of bugs that I was stomping. PowerShell seems to have turned those bugs into language features. Augh.
- metaobject 9y agoOr, the language designer thinking he's saving programmers work by jus returning the value in cases where there is a list of length one. However, he's really making it worse because now all return values from that function have to be type-checked to see whether they are scalars or lists.
- user5994461 9y agoThe classic story of every interpreted language.
- 9y ago
- feelin_googley 9y ago"I had one executive say, "Exactly what part of effing Windows is confusing you."" Reminds me of Dave Korn's story. https://news.slashdot.org/story/01/02/06/2030205/david-korn-tells-all https://news.slashdot.org/story/01/02/06/2030205/david-korn-... See Question 5 "I think this is symbolic of the way the company works."
- oblio 9y agoThat's an article from 2001 about a USENIX conference from the 90's though. I think that today at least a sizeable part of Microsoft comes from a Unix background.
- sabujp 9y agowhy is powershell so pedantic, my fingers are gonna fall off with all the typing
- electricEmu 9y ago> why is <not-my-preferred-shell> so pedantic, my fingers are gonna fall off with all the typing I apologise, but your comment doesn't list any specifics to back up your broad assertion. Do you mind expanding on, and backing up, that assertion? Your view could apply to any technology or shell.
- sabujp 9y agohttps://stackoverflow.com/questions/29887324/windows-powershell-equivalent-of-linux-ls-l https://stackoverflow.com/questions/29887324/windows-powersh... I could go on and on
- electricEmu 9y agoHi, I see you located an outdated PowerShell question on StackOverflow. It appears you may not be familiar with the official documentation [1]. Please feel free to take a few days and learn some PowerShell. After you feel a little more familiar with the documentation, and have used the shell enough to discuss, please feel free to reach out. [1] https://docs.microsoft.com/en-us/powershell/wmf/5.0/feedback_symbolic#get-childitem https://docs.microsoft.com/en-us/powershell/wmf/5.0/feedback...
- MandieD 9y agoTab-complete is your friend, especially when trying to figure out exactly which parameter you want.
- fowl2 9y agoThere's a lot of comments here about Powershell, but this podcast (with a transcription, yes!) has a lot of other great discussion on MS's transition from waterfall and how it's effected the people.
- fileoffset 9y agoWindows Powershell is some kind of disgusting hybrid of Perl and Bash. It's terrible to read and annoying to write.
- zengid 9y agoThis is tangential but I really like the design for that page. The audio time-stamps that appear next to the transcript are just awesome.
- cjsuk 9y agoPowerShell is one of the few bits of software which has actually made me throw a computer in anger. The idea has potential but the implementation is just bad. It's slow (I have to wait 5-10 second and before it responds on an i7?!?), inconsistent (some things return local time and some UTC), unreliable (it will just fail randomly after working for two months), has terrible memory usage problems (try copying a large file with it via WinRM), has a terrible scheduling and security model (scheduling something that actually doesn't barf with errors is difficult), spooges out UTF16 randomly, and is full of nasty surprises which are constantly lurking waiting to bite your face off. It is entirely the opposite of what I want from a language of any kind. That man owes me at least 3 months of my life back. The lure is a few one liners work pretty well to start with but the moment they turn into two liners then problems start but you're invested in it then and it's too late. I use python for automation now. No such problems.
- danschuller 9y agoDefinitely agree is very slow - even for "simple" things like echoing lines. The one thing I do like is I can make assumptions about how the scripting language works - like writing a if-statement for instance. This lets me write simple scripts pretty fast. Especially compared to bash which tends to be quite quirky and requires a lot of checking docs.
- deleted 9y ago[deleted]
- louhike 9y agoDo you use the last version of Powershell? Old versions were quite slows for me but new ones are fine.
- blabli 9y agoSpent about 6 months writing a 5k-ish system in powershell (using powercli for vsphere/esx) turned out to be the most frustrating half a year of my career and one of the worst architecture decisions I have made. Unfortunately there weren't other viable options for integrating with vmware at that time.
- nunez 9y agoI met Jeffrey at a conference here in Dallas last year. Incredibly humble guy and full of great stories. I'm happy for his success!
- jcadam 9y agoI've actually had to use powershell because my current employer's systems are so locked down I can't install any other programming tools (or software in general) and am constantly forced to find ways to workaround our freaking useless IT department. I have a UNIX background and I really, really, dislike doing any sort of programming on Windows. Powershell is a giant bucket of WTF.
- youareterrible 9y agoThis thread is full of people who are bad at PowerShell complaining about not using PowerShell properly. Learning it is one of the most important things a Windows sysadmim should do, today. Hell, if you consider yourself a Windows power user, you should learn it. A single sub-1000-line script I wrote in a couple days of downtime has saved over $10,000,000 in taxpayer dollars and has never stopped working since the day it added itself as a scheduled task. I am not a programmer. It's very powerful and generally limited only by your knowledge of how to do it with PowerShell. And all you need to start and learn everything are two commands. Three if you count update-help. Get-help Get-command
- telltruth 9y agoIf you were writing bank app in COBOL on mainframe 24X7 for many decades, you would have probably found it intuitive, productive and high value as well. The problem is that for most people scripting is not their day to day job. It's something you do for may be a day after you write month worth of code. If your scripting language is ugly and unfriendly you will tend to forget it and basically have to re-learn it every time you try to use it. That's not a good or productive experience for people who are writing 10 lines of script after long intervals.