Podcasts about Cygwin

  • 18PODCASTS
  • 22EPISODES
  • 47mAVG DURATION
  • ?INFREQUENT EPISODES
  • Aug 18, 2024LATEST

POPULARITY

20172018201920202021202220232024


Best podcasts about Cygwin

Latest podcast episodes about Cygwin

Caffe 2.0
Posix, Wsl: un ascoltatore integra

Caffe 2.0

Play Episode Listen Later Aug 18, 2024 2:54


Posix, Wsl: un ascoltatore integra...Mando la trascrizione in audio del commento di un ascoltatore sulla puntata in oggetto.Non aggiungo jingle e resto perche' sono virtualmente offline :) ma merita proprio essere distribuita subito. Buon ascolto e grazie !"visto che viene chiesto esplicitamente, ecco un paio di correzioni sulla puntata di oggi :) allora, iniziamo con Cygwin il progetto è nato nel 1995, quindi ha quasi 30 anni, ed è nato a mo di intuizione ( creare un cross-compilatore in modo da creare eseguibili su windows di tool unix/linux), per poi diventare un vero è proprio ambiente posix. Nella sua forma finale Cygwin è un ambiente posix su Windows, le cui chiamate posix vengono "convertite" tramite una libreria ( cygwin1.dll ), come da homepage a DLL (cygwin1.dll) which provides substantial POSIX API functionality. quindi a livello funzionale è un emulatore ( anche se è un pò più complesso ): lo avvii ed hai una shell posix ( bash, sh o qullo che si vuole ) e utilizzi i tool che di norma si trovano su linux. Puoi ovviamente anche compilare da codice sorgente ( ai tempi io mi ero ricompilato sul mio computer Bind per fare alcuni test con l'abilitazione rpz, che mi pare non fosse ufficiale inizialmente, ma è roba di anni fa)"WSL (versione 1), è qualcosa di simile, ma nativamente di Windows e più evoluto: è un sottosistema che converte le chiamate dall'ambiente wsl (quindi linux) nella controparte windows ( quindi anche qui è in sostanza un emulazione ) . Funziona adeguatamente, fin quando non sbatti il muso con i socket tcp ( ai tempi io non sono riuscito a far girare tcpdump ) . Microsoft ha poi "pachetizzato" l'ambiente per avere delle distro (ubuntu, debian, fedora etc) con i propri tools etc, quindi nella sostanza uno si ritrova qualcosa di molto simile all'ambiente scelto"WSL (versione 2) bypassa la questione di emulazione, che è di per se complesso da mantenere, ed è in sostanza un vero e proprio ambiente virtuale, molto leggero e "trasparente". Anche qui con le distro che uno preferisce. Essendo un ambiente virtuale si ha un kernel linux vero e proprio, il quale poi dialoga con l'hypervisor di windows. Cosi si è anche risolto la questione dei socket tcp etc."nella sua evoluzione poi l'ambiente WSL si è integrato sempre di più ( i cron possono rimanere attivi anche con ambiente spento, il filesystem è visibile da Windows etc )"l'utilizzo in se è decisamente dipendente da cosa uno deve farsene. io da sempre ( prima con cygwin poi con WSL ) lo uso perchè i tool che mi servono sono prevalentemente posix, mi è più comodo e molto molto più veloce usare una shell "nativa" del computer che usare una vm. Adesso che l'integrazione è più "fluida" ancor di più: ad esempio uso visual code (quindi "windows" ) usando i file su wsl, che mi permette istantamente di avviare e testare le modifiche, con le config git del caso etc"

Caffe 2.0
3276 Attrezzi - le vm tra Wsl e Cygwin, e le alternative

Caffe 2.0

Play Episode Listen Later Aug 16, 2024 5:17


Attrezzi - le vm tra Wsl e Cygwin, e le alternativeA cosa possono servire ?Per lavorare e buttare via tutto, senza sporcare il sistema principale.Per avere aree isolate dal pc principalePer avere due pc in uno, senza riavviare e scegliere con il dual boot.Con pro e contro.Voi come le utilizzate ?Caffe20.it/membri 30 gg gratis poi da 4 euro al mese02:00 - Introduzione di WSL1 da parte di Microsoft per facilitare l'uso di Linux su Windows02:30 - Differenze tra WSL1 e il kernel Linux ufficiale03:00 - Menzione dello sviluppo di WSL2 per una maggiore compatibilità con Linux03:30 - Riflessioni sui vantaggi e svantaggi degli ambienti virtualizzati04:00 - Considerazioni sull'uso di virtualizzatori in produzione vs sviluppo04:30 - Confronto tra dual boot e virtualizzazione per l'utente finale05:00 - Osservazioni sulle risorse hardware necessarie per la virtualizzazione05:30 - Conclusioni sui vantaggi degli ambienti virtualizzati per test e sviluppo temporaneoServizio di autotiming disponibile, chiedere a IusOnDemand srl

FOSS and Crafts
60: Governance, part 2

FOSS and Crafts

Play Episode Listen Later Oct 1, 2023


Back again with governance... part two! (See also: part one!) Here we talk about some organizations and how they can be seen as "templates" for certain governance archetypes.Links:Cygnus, CygwinMastodonAndroidFree Software Foundation, GNUSoftware Freedom Conservancy, Outreachy, Conservancy's copyleft compliance projectsCommons ConservancyF-DroidOpen CollectiveLinux Foundation501(c)(3) vs 501(c)(6)StitchtingFree as in FreedomLKML (the Linux Kernel Mailing List)Linus Doesn't ScaleSpritely Networked Communities InstitutePython and the Python Software Foundation, PyCon, the Python Package IndexPython PEPs (Python Enhancement Proposals), XMPP XEPs, Fediverse FEPs, Rust RFCsBlender, Blender Foundation, Blender Institute, Blender StudioBlender's historyElephants DreamMozilla Foundation and Mozilla CorporationDebian, Debian's organizational structure, and Debian's constitutionEFFOh yeah and I guess we should link the World History Association!

The Bike Shed
354: The History of Computing

The Bike Shed

Play Episode Listen Later Sep 13, 2022 31:16


Why does the history of computing matter? Joël and Developer at thoughtbot Sara Jackson, ponder this and share some cool stories (and trivia!!) behind the tools we use in the industry. This episode is brought to you by Airbrake (https://airbrake.io/?utm_campaign=Q3_2022%3A%20Bike%20Shed%20Podcast%20Ad&utm_source=Bike%20Shed&utm_medium=website). Visit Frictionless error monitoring and performance insight for your app stack. Sara on Twitter (https://twitter.com/csarajackson) UNIX philosophy (https://en.wikipedia.org/wiki/Unix_philosophy) Hillel Wayne on why we ask linked list questions (https://www.hillelwayne.com/post/linked-lists/) Transcript: JOËL: Hello and welcome to another episode of The Bike Shed, a weekly podcast from your friends at thoughtbot about developing great software. I'm Joël Quenneville. And today, I'm joined by fellow thoughtboter, Team Lead, and Developer Sara Jackson. SARA: Hello, happy to be here. JOËL: Together, we're here to share a little bit of what we've learned along the way. So, Sara, what's new in your world? SARA: Well, Joël, you might know that recently our team had a small get-together in Toronto. JOËL: And our team, for those who are not aware, is fully remote distributed across multiple countries. So this was a chance to get together in person. SARA: Yes, correct. This was a chance for those on the Boost team to get together and work together as if we had a physical office. JOËL: Was this your first time meeting some members of the team? SARA: It was my second, for the most part. So I joined thoughtbot, but after thoughtbot had already gotten remote. Fortunately, I was able to meet many other thoughtboters in May at our summit. JOËL: Had you worked at a remote company before coming to thoughtbot? SARA: Yes, I actually started working remotely in 2019, but even then, that wasn't my first time working remotely. I actually had a full year of internship in college that was remote. JOËL: So you were a pro at this long before the pandemic made us all try it out. SARA: I don't know about that, but I've certainly dealt with the idiosyncrasies that come with remote work for longer. JOËL: What do you think are some of the challenges of remote work as opposed to working in person in an office? SARA: I think definitely growing and maintaining a culture. When you're in an office, it's easy to create ad hoc conversations and have events that are small that build on the culture. But when you're remote, it has to be a lot more intentional. JOËL: That definitely rings true for me. One of the things that I really appreciated about in-person office culture was the serendipity that you have those sort of random meetings at the water cooler, those conversations, waiting for coffee with people who are not necessarily on the same team or the same project as you are. SARA: I also really miss being able to have lunch in person with folks where I can casually gripe about an issue I might be having, and almost certainly, someone would have the answer. Now, if I'm having an issue, I have to intentionally seek help. [chuckles] JOËL: One of the funny things that often happened, at least the office where I worked at, was that lunches would often devolve into taxonomy conversations. SARA: I wish I had been there for that. [laughter] JOËL: Well, we do have a taxonomy channel on Slack to somewhat continue that legacy. SARA: Do you have a favorite taxonomy lunch discussion that you recall? JOËL: I definitely got to the point where I hated the classifying a sandwich. That one has been way overdone. SARA: Absolutely. JOËL: There was an interesting one about motorcycles, and mopeds, and bicycles, and e-bikes, and trying to see how do you distinguish one from the other. Is it an electric motor? Is it the power of the engine that you have? Is it the size? SARA: My brain is already turning on those thoughts. I feel like I could get lost down that rabbit hole very easily. [laughter] JOËL: Maybe that should be like a special anniversary episode for The Bike Shed, just one long taxonomy ramble. SARA: Where we talk about bikes. JOËL: Ooh, that's so perfect. I love it. One thing that I really appreciated during our time in Toronto was that we actually got to have lunch in person again. SARA: Yeah, that was so wonderful. Having folks coming together that had maybe never worked together directly on clients just getting to sit down and talk about our day. JOËL: Yeah, and talk about maybe it's work-related, maybe it's not. There's a lot of power to having some amount of deeper interpersonal connection with your co-workers beyond just the we work on a project together. SARA: Yeah, it's like camaraderie beyond the shared mission of the company. It's the shared interpersonal mission, like you say. Did you have any in-person pairing sessions in Toronto? JOËL: I did. It was actually kind of serendipitous. Someone was stuck with a weird failing test because somehow the order factories were getting created in was not behaving in the expected way, and we herd on it, dug into it, found some weird thing with composite primary keys, and solved the issue. SARA: That's wonderful. I love that. I wonder if that interaction would have happened or gotten solved as quickly if we hadn't been in person. JOËL: I don't know about you, but I feel like I sometimes struggle to ask for help or ask for a pair more when I'm online. SARA: Yeah, I agree. It's easier to feel like you're not as big of an impediment when you're in person. You tap someone on the shoulder, "Hey, can you take a look at this?" JOËL: Especially when they're on the same team as you, they're sitting at the next desk over. I don't know; it just felt easier. Even though it's literally one button press to get Tuple to make a call, somehow, I feel like I'm interrupting more. SARA: To combat that, I've been trying to pair more frequently and consistently regardless of if I'm struggling with a problem. JOËL: Has that worked pretty well? SARA: It's been wonderful. The only downside has been pairing fatigue. JOËL: Pairing fatigue is real. SARA: But other than that, problems have gotten solved quickly. We've all learned something for those that I've paired with. It goes faster. JOËL: So it was really great that we had this experience of doing our daily work but co-located in person; we have these experiences of working together. What would you say has been one of the highlights for you of that time? SARA: 100% karaoke. JOËL: [laughs] SARA: Only two folks did not attend. Many of the folks that did attend told me they weren't going to sing, but they were just going to watch. By the end of the night, everyone had sung. We were there for nearly three and a half hours. [laughs] JOËL: It was a good time all around. SARA: I saw a different side to Chad. JOËL: [laughs] SARA: And everyone, honestly. Were there any musical choices that surprised you? JOËL: Not particularly. Karaoke is always fun when you have a group of people that you trust to be a little bit foolish in front of to put yourself out there. I really appreciated the style that we went for, where we have a private room for just the people who were there as opposed to a stage in a bar somewhere. I think that makes it a little bit more accessible to pick up the mic and try to sing a song. SARA: I agree. That style of karaoke is a lot more popular in Asia, having your private room. Sometimes you can find it in major cities. But I also prefer it for that reason. JOËL: One of my highlights of this trip was this very sort of serendipitous moment that happened. Someone was asking a question about the difference between a Mac and Linux operating systems. And then just an impromptu gathering happened. And you pulled up a chair, and you're like, gather around, everyone. In the beginning, there was Multics. It was amazing. SARA: I felt like some kind of historian or librarian coming out from the deep. Let me tell you about this random operating system knowledge that I have. [laughs] JOËL: The ancient lore. SARA: The ancient lore in the year 1969. JOËL: [laughs] And then yeah, we had a conversation walking the history of operating systems, and why we have macOS and Linux, and why they're different, and why Windows is a totally different kind of family there. SARA: Yeah, macOS and Linux are sort of like cousins coming from the same tree. JOËL: Is that because they're both related through Unix? SARA: Yes. Linux and macOS are both built based off of different versions of Unix. Over the years, there's almost like a family tree of these different Nix operating systems as they're called. JOËL: I've sometimes seen asterisk N-I-X. This is what you're referring to as Nix. SARA: Yes, where the asterisk is like the RegEx catch-all. JOËL: So this might be Unix. It might be Linux. It might be... SARA: Minix. JOËL: All of those. SARA: Do you know the origin of the name Unix? JOËL: I do not. SARA: It's kind of a fun trivia piece. So, in the beginning, there was Multics spelled M-U-L-T-I-C-S, standing for the Multiplexed Information and Computing Service. Dennis Ritchie and Ken Thompson of Bell Labs famous for the C programming language... JOËL: You may have heard of it. SARA: You may have heard of it maybe on a different podcast. They were employees at Bell Labs when Multics was being created. They felt that Multics was very bulky and heavy. It was trying to do too many things at once. It did have a few good concepts. So they developed their own smaller Unix originally, Unics, the Uniplexed Information and Computing Service, Uniplexed versus Multiplexed. We do one thing really well. JOËL: And that's the Unix philosophy. SARA: It absolutely is. The Unix philosophy developed out of the creation of Unix and C. Do you know the four main points? JOËL: No, is it small sharp tools? It's the main one I hear. SARA: Yes, that is the kind of quippy version that has come out for sure. JOËL: But there is a formal four-point manifesto. SARA: I believe it's evolved over the years. But it's interesting looking at the Unix philosophy and seeing how relevant it is today in web development. The four points being make each program do one thing well. To this end, don't add features; make a new program. I feel like we have this a lot in encapsulation. JOËL: Hmm, maybe even the open-closed principle. SARA: Absolutely. JOËL: Similar idea. SARA: Another part of the philosophy is expecting output of your program to become input of another program that is yet unknown. The key being don't clutter your output; don't have extraneous text. This feels very similar to how we develop APIs. JOËL: With a focus on composability. SARA: Absolutely. Being able to chain commands together like you see in Ruby all the time. JOËL: I love being able to do this, for example, the enumerable API in Ruby and just being able to chain all these methods together to just very nicely do some pretty big transformations on an array or some other data structure. SARA: 100% agree there. That ability almost certainly came out of following the tenets of this philosophy, maybe not knowingly so but maybe knowingly so. [chuckles] JOËL: So is that three or four? SARA: So that was two. The third being what we know as agile. JOËL: Really? SARA: Yeah, right? The '70s brought us agile. Design and build software to be tried early, and don't hesitate to throw away clumsy parts and rebuild. JOËL: Hmmm. SARA: Even in those days, despite waterfall style still coming on the horizon. It was known for those writing software that it was important to iterate quickly. JOËL: Wow, I would never have known. SARA: It's neat having this history available to us. It's sort of like a lens at where we came from. Another piece of this history that might seem like a more modern concept but was a very big part of the movement in the '70s and the '80s was using tools rather than unskilled help or trying to struggle through something yourself when you're lightening a programming task. We see this all the time at thoughtbot. Folks do this many times there is an issue on a client code. We are able to generalize the solution, extract into a tool that can then be reused. JOËL: So that's the same kind of genesis as a lot of thoughtbot's open-source gems, so I'm thinking of FactoryBot, Clearance, Paperclip, the old-timey file upload gem, Suspenders, the Rails app generator, and the list goes on. SARA: I love that in this last point of the Unix philosophy, they specifically call out that you should create a new tool, even if it means detouring, even if it means throwing the tools out later. JOËL: What impact do you think that has had on the way that tooling in the Unix, or maybe I should say *Nix, ecosystem has developed? SARA: It was a major aspect of the Nix environment community because Unix was available, not free, but very inexpensively to educational institutions. And because of how lightweight it was and its focus on single-use programs, programs that were designed to do one thing, and also the way the shell was allowing you to use commands directly and having it be the same language as the shell scripting language, users, students, amateurs, and I say that in a loving way, were able to create their own tools very quickly. It was almost like a renaissance of Homebrew. JOËL: Not Homebrew as in the macOS package manager. SARA: [laughs] And also not Homebrew as in the alcoholic beverage. JOËL: [laughs] So, this kind of history is fun trivia to know. Is it really something valuable for us as a jobbing developer in 2022? SARA: I would say it's a difficult question. If you are someone that doesn't dive into the why of something, especially when something goes wrong, maybe it wouldn't be important or useful. But what sparked the conversation in Toronto was trying to determine why we as thoughtbot tend to prefer using Macs to develop on versus Linux or Windows. There is a reason, and the reason is in the history. Knowing that can clarify decisions and can give meaning where it feels like an arbitrary decision. JOËL: Right. We're not just picking Macs because they're shiny. SARA: They are certainly shiny. And the first thing I did was to put a matte case on it. JOËL: [laughs] So no shiny in your office. SARA: If there were too many shiny things in my office, boy, I would never get work done. The cats would be all over me. MID-ROLL AD: Debugging errors can be a developer's worst nightmare...but it doesn't have to be. Airbrake is an award-winning error monitoring, performance, and deployment tracking tool created by developers for developers, that can actually help cut your debugging time in half. So why do developers love Airbrake? It has all of the information that web developers need to monitor their application - including error management, performance insights, and deploy tracking! Airbrake's debugging tool catches all of your project errors, intelligently groups them, and points you to the issue in the code so you can quickly fix the bug before customers are impacted. In addition to stellar error monitoring, Airbrake's lightweight APM helps developers to track the performance and availability of their application through metrics like HTTP requests, response times, error occurrences, and user satisfaction. Finally, Airbrake Deploy Tracking helps developers track trends, fix bad deploys, and improve code quality. Since 2008, Airbrake has been a staple in the Ruby community and has grown to cover all major programming languages. Airbrake seamlessly integrates with your favorite apps to include modern features like single sign-on and SDK-based installation. From testing to production, Airbrake notifiers have your back. Your time is valuable, so why waste it combing through logs, waiting for user reports, or retrofitting other tools to monitor your application? You literally have nothing to lose. Head on over to airbrake.io/try/bikeshed to create your FREE developer account today! JOËL: So we've talked a little bit about Unix or *Nix, this evolution of systems. I've also heard the term POSIX thrown around when talking about things that seem to encompass both macOS and Linux. How does that fit into this history? SARA: POSIX is sort of an umbrella of standards around operating systems that was based on Unix and the things that were standard in Unix. It stands for the Portable Operating System Interface. This allowed for compatibility between OSs, very similar to USB being the standard for peripherals. JOËL: So, if I was implementing my own Unix-like operating system in the '80s, I would try to conform to the POSIX standard. SARA: Absolutely. Now, not every Nix operating system is POSIX-compliant, but most are or at least 90% of the way there. JOËL: Are any of the big ones that people tend to think about not compliant? SARA: A major player in the operating system space that is not generally considered POSIX-compliant is Microsoft Windows. JOËL: [laughs] It doesn't even try to be Unix-like, right? It's just its own thing, SARA: It is completely its own thing. I don't think it even has a standard necessarily that it conforms to. JOËL: It is its own standard, its own branch of the family tree. SARA: And that's what happens when your operating system is very proprietary. This has caused folks pain, I'm sure, in the past that may have tried to develop software on their computers using languages that are more readily compatible with POSIX operating systems. JOËL: So would you say that a language like Ruby is more compatible with one of the POSIX-compatible operating systems? SARA: 100% yes. In fact, to even use Ruby as a development tool in Windows, prior to Windows 10, you needed an additional tool. You needed something like Cygwin or MinGW, which were POSIX-compliant programs that it was almost like a shell in your Windows computer that would allow you to run those commands. JOËL: Really? For some reason, I thought that they had some executables that you could run just on Windows by itself. SARA: Now they do, fortunately, to the benefit of Ruby developers everywhere. As of Windows 10, we now have WSL, the Windows Subsystem for Linux that's built-in. You don't have to worry about installing or configuring some third-party software. JOËL: I guess that kind of almost cheats by just having a POSIX system embedded in your non-POSIX system. SARA: It does feel like a cheat, but I think it was born out of demand. The Windows NT kernel, for example, is mostly POSIX-compliant. JOËL: Really? SARA: As a result of it being used primarily for servers. JOËL: So you mentioned the Ruby tends and the Rails ecosystem tends to run better and much more frequently on the various Nix systems. Did it have to be that way? Or is it just kind of an accident of history that we happen to end up with Ruby and Rails in this ecosystem, but just as easily, it could have evolved in the Windows world? SARA: I think it is an amalgam of things. For example, Unix and Nix operating systems being developed earlier, being widely spread due to being license-free oftentimes, and being widely used in the education space. Also, because it is so lightweight, it is the operating system of choice. For most servers in the world, they're running some form of Unix, Linux, or macOS. JOËL: I don't think I've ever seen a server that runs macOS; exclusively seen it on dev machines. SARA: If you go to an animation company, they have server farms of macOS machines because they're really good at rendering. This might not be the case anymore, but it was at one point. JOËL: That's a whole other world that I've not interacted with a whole lot. SARA: [chuckles] JOËL: It's a fun intersection between software, and design, and storytelling. That is an important part for the software field. SARA: Yeah, it's definitely an aspect that deserves its own deep dive of sorts. If you have a server that's running a Windows-based operating system like NT and you have a website or a program that's designed to be served under a Unix-based server, it can easily be hosted on the Windows server; it's not an issue. The reverse is not true. JOËL: Oh. SARA: And this is why programming on a Nix system is the better choice. JOËL: It's more broadly compatible. SARA: Absolutely. Significantly more compatible with more things. JOËL: So today, when I develop, a lot of the tooling that I use is open source. The open-source movement has created a lot of the languages that we know and love, including Ruby, including Rails. Do you think there's some connection between a lot of that tooling being open source and maybe some of the Unix family of operating systems and movements that came out of that branch of the operating system family tree? SARA: I think that there is a lot of tie-in with today's open-source culture and the computing history that we've been talking about, for example, people finding something that they dislike about the tools that are available and then rolling their own. That's what Ken Thompson and Dennis Ritchie did. Unix was not an official Bell development. It was a side project for them. JOËL: I love that. SARA: You see this happen a lot in the software world where a program gets shared widely, and due to this, it gains traction and gains buy-in from the community. If your software is easily accessible to students, folks that are learning, and breaking things, and rebuilding, and trying, and inventing, it's going to persist. And we saw that with Unix. JOËL: I feel like this background on where a lot of these operating systems came but then also the ecosystems, the values that evolved with them has given me a deeper appreciation of the tooling, the systems that we work with today. Are there any other advantages, do you think, to trying to learn a little bit of computing history? SARA: I think the main benefit that I mentioned before of if you're a person that wants to know why, then there is a great benefit in knowing some of these details. That being said, you don't need to deep dive or read multiple books or write papers on it. You can get enough information from reading or skimming some Wikipedia pages. But it's interesting to know where we came from and how it still affects us today. Ruby was written in C, for example. Unix was written in C as well, originally Assembly Language, but it got rewritten in C. And understanding the underlying tooling that goes into that that when things go wrong, you know where to look. JOËL: I guess that that is the next question is where do you look if you're kind of interested? Is Wikipedia good enough? You just sort of look up operating system, and it tells you where to go? Or do you have other sources you like to search for or start pulling at those threads to understand history? SARA: That's a great question. And Wikipedia is a wonderful starting point for sure. It has a lot of the abbreviated history and links to better references. I don't have them off the top of my head. So I will find them for you for the show notes. But there are some old esoteric websites with some of this history more thoroughly documented by the people that lived it. JOËL: I feel like those websites always end up being in HTML 2; your very basic text, horizontal rules, no CSS. SARA: Mm-hmm. And those are the sites that have many wonderful kernels of knowledge. JOËL: Uh-huh! Great pun. SARA: [chuckles] Thank you. JOËL: Do you read any content by Hillel Wayne? SARA: I have not. JOËL: So Hillel produces a lot of deep dives into computing history, oftentimes trying to answer very particular questions such as when and why did we start using reversing a linked list as the canonical interview question? And there are often urban legends around like, oh, it's because of this. And then Hillel will do some research and go through actual archives of messages on message boards or...what is that protocol? SARA: BBS. JOËL: Yes. And then find the real answer, like, do actual historical methodology, and I love that. SARA: I had not heard of this before. I don't know how. And that is all I'm going to be doing this weekend is reading these. That kind of history speaks to my heart. I have a random fun fact along those lines that I wanted to bring to the show, which was that the echo command that we know and love in the terminal was first introduced by the Multics operating system. JOËL: Wow. So that's like the most common piece of Multics that as an everyday user of a modern operating system that we would still touch a little bit of that history every day when we work. SARA: Yeah, it's one of those things that we don't think about too much. Where did it come from? How long has it been around? I'm sure the implementation today is very different. But it's like etymology, and like taxonomy, pulling those threads. JOËL: Two fantastic topics. On that wonderful little nugget of knowledge, let's wrap up. Sara, where can people find you online? SARA: You can find me on Twitter at @csarajackson. JOËL: And we will include a link to that in the show notes. SARA: Thank you so much for having me on the show and letting me nerd out about operating system history. JOËL: It's been a pleasure. The show notes for this episode can be found at bikeshed.fm. This show is produced and edited by Mandy Moore. If you enjoyed listening, one really easy way to support the show is to leave us a quick rating or even a review on iTunes. It really helps other folks find the show. If you have any feedback, you can reach us at @_bikeshed or reach me @joelquen on Twitter or at hosts@bikeshed.fm via email. Thank you so much for listening to The Bike Shed, and we'll see you next week. Byeeeeee!!!! ANNOUNCER: This podcast was brought to you by thoughtbot. thoughtbot is your expert design and development partner. Let's make your product and team a success.

nextstep.fm
#39 TOTPに加盟したiOSは1PasswordをSherlockする?

nextstep.fm

Play Episode Listen Later Oct 8, 2021 72:07


Starring:k_katsumi, sonson_twit, d_date, kateinoigakukun 新メンバー @kateinoigakukun を加えて,TOTP,Scratchはすごい,コンパイラ昔話,大坂商人と情報通信について語りました. 1. 新しいiPhone, iOSどうですか 2. 新しいiOSのキーチェーン 3. TOTP Time-based One-time Password https://datatracker.ietf.org/doc/html/rfc6238.html 4. 1Passwordの行方 https://1password.com 5. SafariのUI・・・・ 6. 破綻するタブブラウザ 7. kateiくん,Swiftのコミッターになった 8. AppleとSwift 9. Scratch 10. C++, Swift, MATLABができるScratcher https://scratch.mit.edu/ 11. Scratchのconcurrencyはどうなってる・・・? 12. Scratchはすごいぞ! 13. どんどんプログラミングネイティブが増える世界 14. やっぱり始まるインターネット老人会・・・・昔はコンパイラが有料で・・・ 15. MinGW https://ja.wikipedia.org/wiki/MinGW 16. Cygwin https://www.cygwin.com 17. Vine Linux https://vinelinux.org 18. 情報化社会・・・・って,人間社会を持った瞬間からそうだよ 19. 江戸時代・・・コメの値段を大坂から江戸に伝える方法 20. 大坂商人と先物取引 21. 後半へつづく

Screaming in the Cloud
Inspiring the Next Generation of Devs on TikTok with Scott Hanselman

Screaming in the Cloud

Play Episode Listen Later Jun 24, 2021 43:28


About ScottScott is a web developer who has been blogging at https://hanselman.com for over a decade. He works in Open Source on ASP.NET and the Azure Cloud for Microsoft out of his home office in Portland, Oregon. Scott has three podcasts, http://hanselminutes.com for tech talk, http://thisdeveloperslife.com on developers' lives and loves, and http://ratchetandthegeek.com for pop culture and tech media. He's written a number of books and spoken in person to almost a half million developers worldwide.Links: Hanselminutes Podcast: https://www.hanselminutes.com/ Personal website: https://hanselman.com TranscriptAnnouncer: Hello, and welcome to Screaming in the Cloud with your host, Chief Cloud Economist at The Duckbill Group, Corey Quinn. This weekly show features conversations with people doing interesting work in the world of cloud, thoughtful commentary on the state of the technical world, and ridiculous titles for which Corey refuses to apologize. This is Screaming in the Cloud.Corey: This episode is sponsored in part by Thinkst. This is going to take a minute to explain, so bear with me. I linked against an early version of their tool, canarytokens.org in the very early days of my newsletter, and what it does is relatively simple and straightforward. It winds up embedding credentials, files, that sort of thing in various parts of your environment, wherever you want to; it gives you fake AWS API credentials, for example. And the only thing that these things do is alert you whenever someone attempts to use those things. It's an awesome approach. I've used something similar for years. Check them out. But wait, there's more. They also have an enterprise option that you should be very much aware of canary.tools. You can take a look at this, but what it does is it provides an enterprise approach to drive these things throughout your entire environment. You can get a physical device that hangs out on your network and impersonates whatever you want to. When it gets Nmap scanned, or someone attempts to log into it, or access files on it, you get instant alerts. It's awesome. If you don't do something like this, you're likely to find out that you've gotten breached, the hard way. Take a look at this. It's one of those few things that I look at and say, “Wow, that is an amazing idea. I love it.” That's canarytokens.org and canary.tools. The first one is free. The second one is enterprise-y. Take a look. I'm a big fan of this. More from them in the coming weeks.Corey: This episode is sponsored in part by our friends at Lumigo. If you've built anything from serverless, you know that if there's one thing that can be said universally about these applications, it's that it turns every outage into a murder mystery. Lumigo helps make sense of all of the various functions that wind up tying together to build applications. It offers one-click distributed tracing so you can effortlessly find and fix issues in your serverless and microservices environment. You've created more problems for yourself; make one of them go away. To learn more, visit lumigo.io.Corey: Welcome to Screaming in the Cloud. I'm Corey Quinn. I'm joined this week by Scott Hanselman of Microsoft. He calls himself a partner program manager—or is called a partner program manager. But that feels like it's barely scraping the surface of who and what he is. Scott, thank you for joining me.Scott: [laugh]. Thank you for the introduction. I think my boss calls me that. It's just one of those HR titles; it doesn't really mean—you know, ‘program manager,' what does it even mean?Corey: I figure it means you do an awful lot of programming. One of the hardest questions is, you start doing different things—and Lord knows you do a lot of them—is that awful question that you wind up getting at cocktail parties of, “So, what is it you do exactly?” How do you answer that?Scott: Yeah, it's almost like, if you spent any time on Clubhouse recently, there was a wonderful comedian named Spunky Brewster on Instagram who had a whole thing where she talked about the introductions at the beginning of a Clubhouse thing, where it's like, you're a multi-hyphenate sandwich artist slash skydiver slash programmers slash whatever. One doesn't want to get too full of one's selves. I would say that I have for the last 30 years been a teacher and a professional enthusiast around computing and getting people excited about computing. And everything that I do, whether it be writing software, shipping software, or building community, hangs off of the fact that I'm an enthusiastic teacher.Corey: You really are. And you're also very hard to pin down. I mean, it's pretty clear to basically the worst half of the internet, that you're clearly a shill. The problem is defining exactly what you're a shill for. You're obviously paid by Microsoft, so clearly you push them well beyond the point when it would make sense to.You have a podcast that has been on for over 800 episodes—which puts this one to shame—called Hanselminutes, and that is, of course, something where you're shilling for your own podcast. You've recently started on TikTok, which I can only assume is what the kids are into these days. You're involved in so many different things and taking so many different positions, that it's very hard to pin down what is the stuff you're passionate about.Scott: I'm going to gently push back and say—Corey: Please do.Scott: That if one were to care to look at it holistically, I am selling enthusiasm around free and open-source software on primarily the Windows platform that I'm excited about, and I am selling empowerment for the next generation of people who want to do computing. Before I went to Microsoft, my blog and my podcast existed, and I was consistent in my, “Hey, have you heard the news?” Message to anyone who would listen. And I taught at both Portland Community College and Oregon Institute of Technology, teaching web services and history of the web and C# and all that kind of stuff. So, I'm one of those people where if you touch on a topic that I'm interested in, I'll be like, “Oh, my goodness, let's”—and I'll just like, you know, knock everything off the desk and I'm going to be like, “Okay, let's build a model, a working model of the solar system here, now. The orange is the sun.”And it's like, suddenly now we're talking about science, like Hank Green or whatever. My family will ask me, “Why isn't the remote control working?” And then I've taken it apart and I'm explaining to them how the infrared LED inside works. And, you know, how can you not be excited about all these things? And that's my whole thing about computing and the power that being able to program computers represents to me.Corey: I would agree with that. I'd say that one thing that is universal about everything you're involved in is the expression I heard that I love and am going to recapture has been, “Sending the elevator back down.”Scott: Oh, yeah. Throwing ladders, ropes, elevators. I am very blessed to have made it out of my neighborhood, and I am very hopeful that anyone who is in a situation that they do not want to be in could potentially use coding, programming, IT, computing as the great equalizer and that I can I could somehow lend my privilege to them to get the things done and solve the problems that they want to solve with computers.Corey: I'm sure that you've been asked ad nauseum about—you work in free and open-source software. You've been an advocate for this, effectively, for your entire career; did no one tell you you work at Microsoft? But that's old Microsoft in many respects. That's something that we've covered with a bunch of different guests previously from Microsoft, and it's honestly a little—it's becoming a bit of a tired trope. It was a really interesting conversation a few years back that, oh, it's clearly all just for show.Well, that is less and less obvious, and more tired and frankly bad take as time progresses. So, I want to go back a bit further into my own personal journey because it turns out that the number one reason to reach out to you for anything is tech support on various things. I don't talk about this often, but I started my career moonlighting as a Windows admin, back in the Windows 2003 server days; and it was an experience, and licensing was a colossal pain, and I finally had enough of it one day, in 2006, switched over to Unix administration on BSD, and got a Mac laptop, and that was really the last time that I used Windows in anger. Now, it's been 15 years since that happened, and I haven't really been tracking the Windows ecosystem. What have I missed?Scott: [laugh]. There's a lot there that you just said. So first, different people have their religions and they're excited about them, and I encourage everyone to be excited about the religion that they're excited about. It's great to be excited about your thing, but it's also really not cool to be a zealot about your thing. So hey, be excited about Windows, be excited about Linux, be excited about Mac.Just don't tell me that I'm going to heck because I didn't share your enthusiasm. Let's just be excited together and we can be friends together. I've worked on Linux at Nike, I've worked on Mac, I've worked on Windows, you know, I've been there before these things existed and I'll be there afterwards.Corey: Exactly. At some point being a zealot for a technology just sort of means you haven't been around the block enough to understand how it's going to break, how it's going to fail, how it's going to evolve, and it doesn't lead to a positive outcome for anyone. It fundamentally becomes a form of gatekeeping more than anything else, and I just don't have the stomach for it.Scott: Yeah. And ultimately, we're just looking for—you know, we got these smart rocks that we taught how to think with lightning, and they're running for loops for us. And maybe they're running them in the cloud, maybe they're running locally. So, I'm not really too worried about it. Windows is my thing of choice, but just, you know, one person's Honda is another person's Toyota; you get excited about the brand that you start out with.So, that's that. Currently, though, Windows has gone, at least in the last maybe 20 years, from one of those things where there's generational pain, and, like, “Microsoft killed my Pappy, and I'll never forgive you.” And it's like, yeah, there was some dumb stuff in the '90s with Internet Explorer, but as a somewhat highly placed middle manager at Microsoft, I've never been in an active mustache-twirling situation where I was behind closed doors and anyone thought anything nefarious. There's only a true, “What's the right thing for the customer? What is the right thing for the people?”My whole thing is to make it so developers can develop more easily on Windows, so I'm very fortunate to be helping some folks in a partnership between the Windows division and the developer division that I work in to make Windows kick butt when it comes to dev. Historically, the Windows terminal, or what's called cmd.exe which is run by a thing called the console host has sucked; it has lagged behind. So, if you drop out to the command line, you've got the, you know, the old, kind of, quote-unquote, “DOS shell” with a cmd processor—it's not really DOS—running in an old console host. And it's been there for gosh, probably early '90s. That sucks.But then you got PowerShell. And again, I want to juxtapose the difference between a console—or a terminal—and a shell. They're different things. There's lots of great third-party terminals in the ecosystem. There's lots of shells to choose from, whether it be PowerShell, PowerShell Core—now PowerShell 7.0—or the cmd, as well as bash, and Cygwin, and zsh, and fish.But the actual thing that paints the text on Windows has historically not been awesome. So, the new open-source Windows terminal has been the big thing. If you're a Machead and you use iTerm2, or Hyper, or things like that, you'll find it very comfortable. It's a tabbed terminal, split-screen, ripping fast, written in, you know, DirectX, C++ et cetera, et cetera, all open-source, and then it lets you do transparency, and background colors, and ligature fonts, and all the things that a great modern terminal would want to do. That is kind of the linchpin of making Windows awesome for developers, then gets even awesomer when you add in the ability that we're now shipping an actual Linux kernel, and I can run N number of Linuxes side-by-side, in multiple panes, all within the terminal.This getting to the point about juxtaposing the difference between a terminal and a console and a shell. So, I've got, on the machine, I'm talking to you on right now, on my third monitor, I've got Windows terminal open with PowerShell on Windows on the left, Ubuntu 18.04 LTS on the right, with the fish shell. And then I've got another Ubuntu 20.04 with bash, a standard bash shell.And I'm going and testing stuff in Docker, and running .NET in Docker, and getting ready to deploy my own podcast website up into Azure. And I'm doing it in a totally organic way. It's not like, “Oh, I'm just running a virtual machine.” No, it's integrated. That's what I think you'd be impressed with.Corey: That right there is the reason that I generally tended to shy away from getting back into the Windows ecosystem for the longest time—and this is not a slam on Windows, by any stretch of the—Scott: No of course. Sure, sure, sure.Corey: —imagination—my belief has always been that you operate within the environment as it's intended to be operated within, and it felt at the time, “Oh, install Cygwin, and get all this other stuff going, and run a VM to do it.” It felt like I was fighting upstream in some respects.Scott: Oh, yeah, that's a great point. Let's talk about that for a second. So—Corey: Let's do it.Scott: So, Cygwin is the GNU utilities that are written in a very nice portable C, but they are written against the Windows kernel. So, the example I like to use is ls, you type ls, you list out your directory, right? So, ls and dir are the same thing for this conversation. Which means that someone has to then call a system call—syscall in Linux, Windows kernel call in Windows—and say, “Hey, would you please enumerate these files, and then give me information about them, and check the metadata?” And that has to call the file system and then it's turtles all the way down.Cygwin isn't Linux. It's the bash and GNU utilities recompiled and compiled against the Windows stuff. So, it's basically putting a bash skin on Windows, but it's not Linux; it's bash. Okay? But WSL is actually Linux, and rather than firing up a big 30 gig Hyper-V, or VirtualBox, or Parallels virtual machine, which is, like, a moment—“I'm firing up the VM; call me in an hour when it comes back up.”—and when the VM comes up, it's, like, a square on your screen and now you're dealing with another thing to manage.The WSL stuff is actually a utility virtual machine built on a lower subsystem, the virtualization platform, and it starts in less than a second. You can start it faster than you can say, one one-thousand. And it goes instantly up, it automatically allocates and deallocates memory so that it's smart about memory, and it's running the actual Linux kernel, so it's not pretending to be Linux. So, if your goal is a Linux environment and you're a Linux developer, the time of Linux on the desktop is happening, in this case, on the Windows desktop. Where you get interesting stuff, and where I think your brain might explode is, imagine you're in the terminal, you're at the Linux file system at the bash prompt, and you type ‘notepad.exe.' What would you expect to happen? You'd expect it to try to find it in a Linux path and fail.Corey: Right. And then you're trying to figure out, am I in this environm—because you generally tend to run these things in the same-looking terminal, but then all the syntax changes as soon as you go back into the Windows native environment, you're having to deal with line-ending issues on a constant basis, and you just—Scott: Oh, yeah. All that stuff, where.Corey: And as soon as you ask for help because back in those days, I was looking primarily into using freenode as my primary source of support because I network staff on the network for the better part of a decade, and the answer is, “I'm having some trouble with Linux,” and the response is, “Oh, you're doing this within a Windows environment? Get a real computer, kid.” Because it's still IRC, and being condescending and rude to anyone who makes different choices than you do is apparently the way that was done back then.Scott: Well, today in 2020 because we don't want to just have light integration with Windows—and by light integration, like, I don't know if you remember firing up a virtual machine on Windows and then, like, copy-pasting a file, and we were all going like, “Oh, my God, that's amazing.” I drug the file in and then it did a little bit of magic and then moved the file from Windows into Linux. What we want is to blur the lines between the two so you can move comfortably. When you type explorer.exe or notepad.txt in Linux on Windows, Linux says no, and then Windows gets the chance, fires it up, and can access the Linux file system.And since Notepad now understands line endings, just happily, you can open up your .profile, your bash_profile, your csh file in Notepad, or—here's where it gets interesting—Visual Studio Code, and comfortably run your Windows apps, talking to your Linux file system, or in the—coming soon, and we've blogged about this and announced it at Build last year, run Linux GUI apps seamlessly so that I could have two browsers up, two Chromes, one Windows and one Linux, side-by-side, which is going to make web testing even that much easier. And I'm moving seamlessly between the two. Even cooler, I can type explorer.exe and then pass in dot, which represents the current folder, and if the current folder is the Linux file system, we seamlessly have a Plan 9 server—basically a file server that lets you access your Linux file system—from—Corey: Is it actually running Plan 9?Scott: It is a Plan 9 server.Corey: That is amazing. I'm sorry, that is a blast from the past.Scott: I'm glad. And we can run N number of Linuxes; this isn't just one Linux. I've got Kali Linux, two different Ubuntus, and I could tar up the user mode files on mine, zip them up, give them to you, and you could go and type ‘wsl–import,' and then have my Linux file system. Which means that we could make a custom Screaming in the Cloud distro, put it in the Windows Store, put it up on GitHub, build our own, and then the company could standardize on our Linux distro and run it on Windows.Corey: That is almost as terrible an idea as using a DNS service as a database.Scott: [laugh].Corey: I love it. I'm totally there for it.Scott: It's really nice because it's extremely—the point is, it has to have no friction, right? So, if you think about it this way, I just moved—I blogged about this; if people want to go and learn about it—I just moved my blog of 20 years off of a Windows Server 2008 server running under someone's desk at a host, into Azure. This is a multi-month-long migration. My blog, my main site, kind of the whole Hanselman ecosystem moved up in Azure. So, I had a couple things to deal with.Am I going to go from Windows to Linux? Am I going to go from a physical machine to a virtual machine? Am I going to go from a physical machine to a virtual machine to a Platform as a Service? And when I do that, well, how is that going to change the way that I write software? I was opening it in Visual Studio, pressing F5, and running it in IIS—the Internet Information Server for Windows—for the last 15, 20 years.How do I change that experience? Well, I like Visual Studio; I like pressing F5; I like interactive debugging sessions. But I also like saving money running Linux in the cloud, so how can I have the best of all those worlds? Because I wrote the thing in .NET, I moved into .NET 5, which runs everywhere, put together a Docker file, got full support for that in Visual Studio, moved it over into WSL so I can test it on both Windows and Linux.I can go into my folder on my WSL, my Windows subsystem for Linux, type code dot, open up Visual Studio Code. Visual Studio Code splits in half. The Windows client of Visual Studio Code runs on Windows; the server, the Visual Studio Code server, runs in WSL providing the bridge between the two worlds, and I can press F5 and have interactive debugging and now I'm a Linux developer even though I've never left Windows. Then I can right-click publish in Visual Studio to GitHub Actions, which will then throw it into the cloud, and I moved everything over into Azure, saved 30%, and everything's awesome. I'm still a Windows developer using Visual Studio. So, it's pretty much I don't know, non-denominational; kind of mixing the streams here.Corey: It is. And let me take it a step further. When I'm on the road, the only computer I bring with me these days—well, in the before times, let's be very realistic. Now, when ‘I'm on the road,' that means going to the kitchen for a snack—the only computer I bring with me is my iPad Pro, which means that everything I do has a distinct application. For when I want to get into my development environment, historically it was, use some terminal app—I'm a fan of Blink, but everyone has their own; don't email me.And everything else I tended to use looked an awful lot like a web app. If there wasn't a dedicated iOS app, it was certainly available via a web browser. Which leads me to the suspicion that we're almost approaching a post-operating-system world where the future development operating system begins to look an awful lot—and people are going to yell at me for this—Visual Studio Code.Scott: Mmm.Corey: It supports a bunch of remote activities now that GitHub Codespaces is available—at least to my account; I don't know if it's generally available yet—but I've been using it; I love it; everything it winds up doing is hosted remotely in Azure; I don't have to think about managing the infrastructure; it's just another tab within GitHub, and it works. My big problem is that I'm trying to shake, effectively, 20 years of muscle memory of wrestling with Vim, and it takes a little bit of a leap in order to become comfortable with something that's a more visually-oriented IDE.Scott: Why don't you use the VsVim, Jared Parsons Vim plugin for Visual Studio?Corey: I've never yet found a plugin that I like for something else to make it behave like Vim. Vimperator is a browser extension, all of it just tends to be unfortunate and annoying in different ways. For whatever reason, the way that I'm configured or built, it doesn't work for me in the same way. And it goes back to our previous conversation about using the native offering as it comes, rather than trying to make it look like something else.Scott: Okay. I would just offer to you and for other Vim people who might be listening, that VS Code Vim does have 2.5 million installs, over 2 million people happily using that. And they are—Corey: Come to find it only has 200,000 actual users; there was an installation bug and one person just kept trying over and over and over. I kid, I kid.Scott: No, seriously though, these are actual Vim-heads and Jared Parsons is a developer at Microsoft who is like, out of his cold dead hands you'll pull his Vim. So, there's solutions; whether you're Vim or Emacs, you know, we welcome all comers. But to your point, the Visual Studio, once it got split in half, where the language services, those services that provide context to Python, Ruby, C# C++ et cetera, once those extensions can be remoted, they can run on Windows, they can run on Linux, they can run on the cloud. So, VS Code being split in half as a client-server application has really made it shine. And for me, that means that I don't notice a difference, whether I'm running VS Code on Windows or running VS Code to a remote Linux install, or even using SSH and coding on Windows remotely to a Raspberry Pi.Corey: I love the idea. I've seen people do this, in some respects, back in the days of Code Server being a project on GitHub, and it took a fair bit of wrangling to get that to work in a way that wasn't scarily insecure and reliable. But once it was up and running, you could effectively plug a Raspberry Pi in underneath your iPad and effectively have a portable computer on the go that did local development. I'm looking at this and realizing the future doesn't look at all like what I thought it was going to, and it's really still kind of neat.Scott: Mm-hm.Corey: There's a lot of value in being able to make things like this more accessible, and the reason I'm excited about a lot of this, too, is that aligned with a generous free tier opportunity, which I don't know final pricing for things like GitHub Codespaces, suddenly the only real requirement is something that can render a browser and connect to the internet for an awful lot of folks to get started. It doesn't require a fancy local overpowered development machine the way a lot of things used to. And yes, I know; there are certain kinds of development that are changing in that respect, but it still feels to me like it has never been easier to get started with all of this technology than ever before, with a counterargument that there's so many different directions to go in. “Oh, I want to get started using Visual Studio Code or learning to write JavaScript. Great. How do I do this? Let me find a tutorial.” And you find 20 million tutorials, and then you're frozen with indecision. How do you get past that?Scott: Yeah, there is and always will be, unfortunately, a certain amount of analysis paralysis that occurs. I started a TikTok recently to try to help people to get involved in coding, and the number one question I get—and I mean, thousands and thousands of them—are like, “Where do I start?” Because everyone seems to think that if they pick the wrong language, that will be a huge mistake. And I can't think of a wrong language, you know? Like, what human language should I learn?You know, English, Chinese, Arabic, Japanese. Pick one and then learn another one if you can. Learn a couple. But I don't think there's a wrong language to learn because the basics of computer science are the basics of computer science. I think what we need to do is remind people that computers are computers no matter whether they're an Android phone or a Windows laptop, and that any forward motion at all is a good thing. I think a lot of people have analysis paralysis, and they're just afraid to pick stuff.Corey: I agree with what you're saying, but I'm also going to push back gently on what you're saying, as well. If someone who is new to the field was asking me what language to learn, I would be hard-pressed to recommend a language that was not JavaScript. I want to be clear, I do not understand or know JavaScript at all, but it's clear from what I'm seeing, that is, in many ways, the language of the future. It is how frontend is being interacted with; there are projects from every cloud provider that wind up managing infrastructure via JavaScript primitives. There are so many on-ramps for this, and the user experience for new folks is phenomenal compared to any language that I've worked with in my career. Would you agree with that or disagree with that assessment?Scott: So, I've written blog posts on this topic, and my answer is a little more ‘it depends.' I say that people should always learn JavaScript and one other language, preferably a systems language, which also may be JavaScript. But rather than thinking about things language-first, we think about things solutions-first. If someone says, “I want to do a lot of data science,” you don't learn JavaScript. If someone says, “I want to go and write an Android app,” yeah, you could do that in JavaScript, but JavaScript is not the answer to all questions.Just as the English language, while it may be the lingua franca, no pun intended, it is not the only language one should pick. I usually say, “Well, what do you want to do?” “Well, I want to write a video game for the Xbox.” Okay, well, you're probably not going to do that in JavaScript. “Oh, I want to do data science. I want to write an iPhone app.” JavaScript is the language you should learn if you're going to be doing things on the web, yes, but if you're going to be writing the backend for WhatsApp, then you're not going to do that JavaScript.Corey: This episode is sponsored by ExtraHop. ExtraHop provides threat detection and response for the Enterprise (not the starship). On-prem security doesn't translate well to cloud or multi-cloud environments, and that's not even counting IoT. ExtraHop automatically discovers everything inside the perimeter, including your cloud workloads and IoT devices, detects these threats up to 35 percent faster, and helps you act immediately. Ask for a free trial of detection and response for AWS today at extrahop.com/trial.Corey: Yeah, I think you're right. It comes down to what is the problem you're trying to solve for? Taking the analogy back to human languages, well, what is your goal? Is it just to say that you've learned a language and to understand, get a glimpse at another culture through its language? Yeah, there is no wrong answer. If it's that you want to go live in France one day and participate in French business discussions, I have a recommendation for you, and it's probably not Sanskrit.At some point, you have to align with what people want to do and the direction they're going in with the language selection. What I like about JavaScript is, frankly, it's incredible versatility as far as problems to which it can be applied. And without it, I think you're going to struggle as you enter the space. My first language was crappy Perl—slash bash because everyone does bash when you're a systems administrator—and then it has later evolved now to crappy Python as my language of choice. But I'm not going to be able to effectively do any frontend work in Python, nor would I attempt to do so.My way of handling frontend work now is to have the good sense to pay a professional. But if you're getting started today and you're not sure what you want to do in your career, my opinion has always been that if you think you know what you want to do in your career, there's a great chance you're going to be wrong, but pursuing the thing that you think you want to do will open other opportunities and doors, and present things to you that will catch your interest in a way you might not be able to anticipate. So, especially early on in careers, I like biasing for things that give increased options, that boost my optionality as far as what I'm going to be able to do.Scott: Okay. I think that's fair. I think that no one ever got fired for picking IBM; [laugh] no one ever jeopardized their career by choosing JavaScript. I do think it's a little more nuanced, as I mentioned.Corey: It absolutely is. I am absolutely willing to have a disagreement with you on that front. I think the thing that we're aligned on is that whatever you pick, make sure it's something you're interested in. Don't do it just for—like, “Well, I'm told I can make a lot of money doing X.” That feels like it's the worst reason to do things, in isolation.Scott: That's a tough one. I used to think that, too, but I am thinking that it's important to note and recognize that it is a valid reason to get into tech, not for the passion because for no other reason that I want to make a lot of money.Corey: Absolutely. I could not agree with you more, and that is… something I've gotten wrong in the past.Scott: Yeah. And I have been a fan of saying, you know, “Be passionate and work on these things on the side,” and all that kind of stuff. But all of those things involve a lot of assumptions and a lot of privileges that, you know, people have: that you have spare time and that you have a place to work on these things. I work on stuff on the side because it feeds my spirit. If you work on woodworking, or drones, or gardening on the side, you know, not everything you work on the side has to be steeped in hustle culture and having a startup, or something that you're doing on the side.Corey: Absolutely. If you're looking at a position of wanting to get into technology because it leads to a better financial outcome for you and that is what motivates you, you're not wrong.Scott: Exactly.Corey: The idea that, “Oh, you have to love it or you'll never succeed.” I think that some of the worst advice we ever wind up giving folks early in their career—particularly young people—is, ‘follow your passion.' That can be incredibly destructive advice in some contexts, depending upon what it is you want to do and what you want your life to look like.Scott: Yeah, exactly.Corey: One of the things that I've always been appreciative of from afar with Microsoft has been there's an entire developer ecosystem, and historically, it's focused on languages I can barely understand: ASP.NET, the C# is deep in that space, F#, I think, is now a thing as well. There's an entire ecosystem around this with Visual Studio the original, not Visual Studio Code—turns out naming is one of those things that no tech companies seems to get right—but it feels almost like there's an entire ecosystem there for those of us who spent significant time—and I'm speaking for myself here, not you—in the open-source community talking about things like Perl and whatnot, I never got much exposure to stuff like that. I would also classify Enterprise Java as being in that direction as well. Is there a bifurcation there that I'm not seeing, or was I just never talking to the right people? All the above? Maybe I was just—maybe I had blinders on; didn't realize it.Scott: There was a time when the Microsoft developer ecosystem meant write things for Windows, do things on Windows, use languages that Microsoft made and created. And now, with the rise of the cloud and with the rise of Software as a Service, Microsoft is a much simpler company, which is a funny thing to say for such a complicated company. Microsoft would love to run your for loop in the cloud for money. We don't care what language you use; we want you to use the language that makes you happy. Somewhere around five to seven years ago, in the developer division, we started optimizing for developer happiness.And that's why you can write Ruby, and Perl, and Python, and C, and C++ and C# and all those different things. Even C# now, and .NET, is owned by the .NET Foundation and not by Microsoft. Microsoft, of course, is one of the primary users, but we've got a lot of—Samsung is a huge contributor, Google is a huge contributor, Amazon Web Services is a big contributor to .NET.So, Microsoft's own zealotry towards—and bias towards our own languages has, kind of, gone away because Office is on iPhone, right? Like, anywhere that you are, we'll go there. So, we're really going where the customer is rather than trying to funnel the customer into where we want them to be, which is a really an inverted way of doing things over the way it was done 20, 30 years ago. In my opinion.Corey: This gets back to the idea of the Microsoft cultural transformation. It hasn't just been an internal transform; it's been something that is involved with how it's engaging with its customers, how it's engaging with the community, how it's becoming available in different ways to different folks. It's hard to tell where a lot of these things start and where a lot of these things stop. I don't pretend to be a Microsoft “fanboy,” quote-unquote, but I believe it is impossible to look at what has happened, especially in the world of cloud, and not at the very least respect what Microsoft has been able to achieve.Scott: Well, I came here to open source stuff. I'm surely not responsible for the transformation, I'm just a cog in the machine, but I can speak for the things that I own, like .NET and Visual Studio Community, and I think one of the things that we have gotten right is we are trying to create zero-distance products. You could be using Visual Studio Code, find a bug, suggest a feature, have a conversation in public with the PMs and devs that own the thing, get an insider's build a few days later, and see that promoted to production within a week or two. There is zero distance between you the consumer and the creator of the thing.And if you wanted to even fix the bug yourself, submit a pull request, and see that go into production, you could do that as well. You know, some of our best C# compiler folks are not working for Microsoft and they are giving improvements, they are making the product better. So, zero-distance in many ways, if you look at the other products at Microsoft, like PowerToys is a great thing, which is [unintelligible 00:32:06] an incubator for Windows features. We're adding stuff to the PowerToys open-source project like launchers, and a thing called FancyZones that is a window tiling manager, you know, features that prosumers and enthusiasts always wished Windows could have, they can now participate in, thereby creating a zero-distance product in Windows itself.Corey: And I want to point out as well that you are still Microsoft. You, the collective you. I suppose you personally; that is where your email address ends. But you're still Microsoft. This is still languages, and tools, and SDKs, and frameworks used by the largest companies in the world. This zero-distance approach is being done on things that service banks, who are famously not the earliest adopters of some code that I wrote last night; it's probably fine.Scott: Do you know what my job was before I came here?Corey: Tell me.Scott: I was the chief architect at a finance company that created software for banks. I was responsible for a quarter of the retail online banking systems in North America, built on .NET and open-source software. [laugh].Corey: So, you've lived that world. You've been that customer.Scott: Trying to convince a bank that open-source was a good idea in the early 2000s was non-trivial. You know, sitting around in 2003, 2004, talking about Agile, and you know, continuous integration, and build servers, and then going and saying, “Hey, you should use the software,” trying to deal with lawyers and explain to them the difference between the MIT, Apache, and GPL licenses and what it means to their bank was definitely a challenge. And working through those issues, it has been challenging. But open-source software now pervades. Just go and look at the license.txt in the Visual Studio Program Files folder to see all of the open-source software that is consumed by Visual Studio.Corey: One last topic that I want to get to before we call it a show is that you've spent a significant portion of your career, at least recently, focusing on, more or less, where the next generation of engineers, developers, et cetera, come from. And to that end, you've also started recently with TikTok, the social media platform. Are those two things related, first off, or am I making a giant pile of unwarranted assumption?Scott: [laugh]. I think that is a fair assumption. So, what's going on is I want to make sure that as I fade away and I leave the software industry in the next, you know, N number of years, that I'm setting up as many people as possible for success. That's where my career started when I was a professor, and that's hopefully where my career will end when I am a professor again. Hopefully, my retirement gig will have me teaching at some university somewhere.And in doing that, I want to find the next million developers, right? Where are they, the next 10 million developers? They're probably not on Twitter. They might be a lot of different places: they might be on Discord, they might be on Reddit, they might be on forums that I haven't found yet. But I have found, on TikTok, a very creative and for the most part kind and inclusive community.And both myself and also recently, the Visual Studio Code team have been hanging out there, and sharing our creativity, and having really interesting conversations about how you the listener can if not be a programmer, be a person that knows better the tools that are available to you to solve problems.Corey: So, I absolutely appreciate and enjoy the direction that you're going in, but again, people invite you to things and then spring technical support questions on you. Can you explain what TikTok is? I'm still trying to wrap my head around it because I turned around and discovered I was middle-aged one day.Scott: Sure. Well, I mean, I am an old man on TikTok, to be clear. TikTok, like Twitter, revels in its constraints. If you recall, there was a big controversy when Twitter went from 140 characters to 280 because people thought it was just letting the constraint that we were so excited about—which was artificial because it was the length of a standard message service text—Corey: I'm one of those people who bitterly protested it. I was completely wrong.Scott: Right? But the idea that something is constrained, that TikTok is either 15 seconds, or less than 60, it's similar to Vine in that it is a tiny video; what can I do in one minute? Additionally, before they allowed uploading of videos, everything was constrained within the TikTok editor, so people would do amazing and intricate 30 and 40 shot transitions within a 60 second period of time. But one of the things I find most unique about TikTok is you can reply to a text comment with a video. So, I make a video—maybe I do 60 seconds on how to be a software engineer—somebody replies in text, I can then reply to that text with a video, and then a TikTok creator can do what's called a stitch and reply to my video with a video.So, I could take 15 seconds of yours, a comment that you made, and say, “Oh, this is a great comment. Here's my thoughts on that comment.” Or we could even do a duet where you record a video and then I record one, side-by-side. And we either simulate that we're actually having a conversation, or I react to your video as well. Once you start teaching TikTok about yourself by liking things, you curate a very positive place for yourself.You might get on TikTok, not logged in, and it's dancing, and you might find some inappropriate things that you don't necessarily want to see, or you're not interested in, but one of the things that I've noticed as I talk about my home network and coding is people will say, “Oh, I finally found adjective TikTok; I finally found coding TikTok I finally found IT TikTok. Oh, I'm going to comment on your post because I want to stay on networking TikTok.” And then your feed isn't just a feed of the people that you follow, but it's a feed of all the things that TikTok thinks you're excited about. So, I am on this wonderful TikTok of linguistics and languages, and I'm learning about cultures, and I'm on indigenous TikTok, and I'm on networking TikTok. And the mix of creativity and the constraint of just 60 seconds has been, really, a joy. And I've only been there for about a month and I've blessed to have 80,000 people hanging out with me there.Corey: It sounds like you're quite the fan of the platform, which alone in isolation, is enough to get me to look at it in more depth.Scott: I am a fan of creativity. I would also say though, it's very addictive once you find your people. I've had to put screen time limits on my own phone to keep me from burning time there.Corey: That is all of tempting, provocative, and disturbing. I—Scott: You should hang out with me on YouTube, then. I just got my 100,000 YouTube Silver Play Button in the mail. That's where I spend my time doing my long-form. I just did, actually, 17 minutes on WSL and how to use Linux. That might be a good starter for you.Corey: It very well might. So, if people want to learn more about what you're up to, and how you think about the wide variety of things you're interested in, where can they find you?Scott: They should start at my last name dot com: Hanselman.com. They used to be able to Google for Scott, and I was in an epic battle with Scott brand toilet paper tissue, and then they trademarked the name Scott and now I'm somewhere in the distant second or third page. It was a tragedy. But as an early comer—Corey: Oh, my condolences.Scott: Yeah, oh my God. As an early comer to the internet, it was me and Scott Fly Rods on the first page, for many, many years. And then—Corey: If it helps, you and Scott Fly Rods are both on page two.Scott: Oh. Well, the tyranny of the Scott toilet paper conspiracy against me has been problematic.Corey: Exactly.Scott: [laugh].Corey: Thank you so much for taking the time to speak with me today. I really do appreciate it.Scott: It's my pleasure.Corey: Scott Hanselman, partner program manager at Microsoft and so much more. I'm Cloud Economist Corey Quinn. This is Screaming in the Cloud. If you've enjoyed this podcast, please leave a five-star review on your podcast platform of choice, whereas if you've hated this podcast, please leave a five-star review on your podcast platform of choice, along with a crappy comment that starts with a comment that gatekeeps a programming language so we know to ignore it.Corey: If your AWS bill keeps rising and your blood pressure is doing the same, then you need The Duckbill Group. We help companies fix their AWS bill by making it smaller and less horrifying. The Duckbill Group works for you, not AWS. We tailor recommendations to your business and we get to the point. Visit duckbillgroup.com to get started.Announcer: This has been a HumblePod production. Stay humble.

The History of Computing

FORTRAN Welcome to the History of Computing Podcast, where we explore the history of information technology. Because by understanding the past, we're better prepared for the innovations of the future! Todays episode is on one of the oldest of the programming languages, FORTRAN - which has influenced most modern languages. We'll start this story with John Backus. This guy was smart. He went to med school and was diagnosed with a brain tumor. He didn't like the plate that was left behind in his head. So he designed a new one. He then moved to New York and started to work on radios while attending Columbia for first a bachelor's degree and then a master's degree in math. That's when he ended up arriving at IBM. He walked in one day definitely not wearing the standard IBM suit - and when he said he was a grad student in math they took him upstairs, played a little stump the chump, and hired him on the spot. He had not idea what a programmer was. By 1954 he was a trusted enough resource that he was allowed to start working on a new team, to define a language that could provide a better alternative to writing code in icky assembly language. This was meant to boost sales of the IBM 704 mainframe by making it easier to hire and train new software programmers. That language became FORTRAN, an acronym for Formula Translation. The team was comprised of 10 geniuses. Lois Haibt, probably one of the younger on the team said of this phase: "No one was worried about seeming stupid or possessive of his or her code. We were all just learning together." She built the arithmetic expression analyzer and helped with the first FORTRAN manual, which was released in 1956. Roy Nutt was also on that team. He wrote an assembler for the IBM 704 and was responsible for the format command which managed data as it came in and out of FORTRAN programs. He went on to be a co-founder of Computer Science Corporation, or CSC with Fletcher Jones in 1959, landing a huge contract with Honeywell. CSC grew quickly and went public in the 60s. They continued to prosper until 2017 when they merged with HP Enteprirse services, which had just merged with Silicon Graphics. Today they have a pending merger with Cray. David Sayre was also on that team. He discovered the Sayre crystallography equation, and molter moved on to pioneer electron beam lithography and push the envelope of X-ray microscopy. Harlan Herrick on the team invented the DO and GO TO commands and ran the first working FORTRAN program. Cuthbert Herd was recruited from the Atomic Energy Commission and invented the concept of a general purpose computer. Frances Allen was a math teacher that joined up with the group to help pay off college debts. She would go on to teach Fortran and in 1989 became the first female IBM Fellow Emeritus. Robert Nelson was a cryptographer who handled a lot of the technical typing and designing some of the more sophisticated sections of the compiler. Irving Ziller designed the methods for loops and arrays. Peter Sheridan, aside from having a fantastic mustache, invented much of the compiler code used for decades after. Sheldon Best optimized the use of index registers, along with Richard Goldberg. As Backus would note in his seminal paper, the History Of FORTRAN I, II, and III, the release of FORTRAN in 1957 changed the economics of programming. While still scientific in nature, the appearance of the first true high-level language using the first real compiler meant you didn't write in machine or assembly, which was hard to teach, hard to program, and hard to debug. Instead, you'd write machine independent code that could perform complex mathematical expressions and once compiled it would run maybe 20% slower, but development was 5 times faster. IBM loved this because customers needed to buy faster computers. But customers had a limit for how much they could spend and the mainframes at the time had a limit for how much they could process. To quote Backus “To this day I believe that our emphasis on object program efficiency rather than on language design was basically correct.” Basically they spent more time making the compiler efficient than they spent developing the programming language itself. As with the Constitution of the United States, simplicity was key. Much of the programming language pieces were designed by Herrick, Ziller, and Backus. The first release of FORTRAN had 32 statements that did things that might sound similar today like PRINT, READ, FORMAT, CONTINUE, GO TO, ASSIGN and of course IF. This was before terminals and disk files so programs were punched into 80 column cards. The first 72 columns were converted into 12 36 bit words. 1-5 were labels for control statements like PRINT, FORMAT, ASSIGN or put a C in column 1 to comment out the code. Column 6 was boolean where a 1 told it a new statement was coming or a 0 continued the statement from the previous card. Columns 7 through 72 were the statement, which ignored whitespace, and the other columns were ignored. FORTRAN II came onto the scene very shortly thereafter in 1958 and the SUBROUTINE, FUNCTION, END, CALL, RETURN, and COMMON statements were added. COMMON was important because it gave us global variables. FORTRAN III came in 1958 as well but was only available for specific computers and never shipped. 1401 FORTRAN then came for the 1401 mainframe. The compiler ran from tape and kept the whole program in memory, allowing for faster runtime. FORTRAN IV came in the early 60s and brought us into the era of the System/360. Here, we got booleans, logical IF instead of that used in arithmetic, the LOGICAL data type, and then came one of the most important versions, FORTRAN 66 - which merged all those dialects from IV into not quite a new version. Here, ANSI, or the American National Standards Institute stepped in and started to standardize. We sill use DO for loops, and every language has its own end of file statement, commenting structures, and logical IFs. Once things get standardized, they move slower. Especially where compiler theory is concerned. Dialects had emerged but FORTRAN 66 stayed put for 11 years. In 1968, the authors of BASIC were already calling FORTRAN old fashioned. A new version was started in 66 but wasn't completed until 1977 and formally approved in 1978. Here, we got END IF statements, the ever so important ELSE, with new types of I/O we also got OPEN and CLOSE, and persistent variable controls with SAVE. The Department of Defense also insisted on lexical comparison strings. And we actually removed things, which these days we call DEPRECATE. 77 also gave us new error handling methods, and programmatic ways to manage really big programs (because over the last 15 years some had grown pretty substantial in size). The next update took even longer. While FORTRAN 90 was released in 1991, we learned some FORTRAN 77 in classes at the University of Georgia. Fortran 90 changed the capitalization so you weren't yelling at people and added recursion, pointers, developer-controlled data types, object code for parallelization, better argument passing, 31 character identifiers, CASE, WHERE, and SELeCT statements, operator overloading, inline commenting, modules, POINTERs (however Ken Thompson felt about those didn't matter ‘cause he had long hair and a beard), dynamic memory allocation (malloc errors woohoo), END DO statements for loop terminations, and much more. They also deprecated arithmetic IF statements, PAUSE statements, branching END IF, the ASSIGN statement, statement functions, and a few others. Fortran 95 was a small revision, adding FORALL and ELEMENTAL procedures, as well as NULL pointers. But FORTRAN was not on the minds of many outside of the scientific communities. 1995 is an important year in computing. Mainframes hadn't been a thing for awhile. The Mac languished in the clone era just as Windows 95 had brought Microsoft to a place of parity with the Mac OS. The web was just starting to pop. The browser wars between Netscape and Microsoft were starting to heat up. C++ turned 10 years old. We got Voice over IP, HTML 2.0, PHP, Perl 5, the ATX mother board, Windows NT, the Opera browser, the card format, CD readers that cost less than a grand, the Pentium Pro, Java, JavaScript, SSL, the breakup of AT&T, IBM's DEEP BLUE, WebTV, Palm Pilot, CPAN, Classmates.com, the first Wiki, Cygwin, the Jazz drive, Firewire, Ruby, and NumPy kickstarted the modern machine learning era. Oh and Craigslist, Yahoo!, eBay, and Amazon.com. Audible was also established that year but they weren't owned by Amazon just yet. Even at IBM, they were buys buying Lotus and trying to figure out how they were going to beat Kasparov with Deep Blue. Hackers came out that year, and they were probably also trying to change their passwords from god. With all of this rapid innovation popping in a single year it's no wonder there was a backlash as can be seen in The Net, with Sandra Bullock, also from 1995. And as though they needed even more of a kick that this mainframe stuff was donezo, Konrad Zuse passed away in 1995. I was still in IT at the university watching all of this. Sometimes I wonder if it's good or bad that I wasn't 2 or 3 years older… Point of all of this is that many didn't notice when Fortran continued on becoming more of a niche language. At this point, programming wasn't just for math. Fortran 2003 brought object oriented enhancements, polymorphism, and interoperability with C. Fortran 2008 came and then Fortran 2018. Yes, you can still find good jobs in Fortran. Or COBOL for that matter. Fortran leaves behind a legacy (and a lot of legacy code) that established many of the control statements and structures we use today. Much as Grace Hopper pioneered the idea of a compiler, FORTRAN really took that concept and put it to the masses, or at least the masses of programmers of the day. John Backus and that team of 10 programmers increased the productivity of people who wrote programs by 20 fold in just a few years. These types of productivity gains are rare. You have the assembly line, the gutenberg press, the cotton gin, the spinning Jenny, the watt steam engine, and really because of the derivative works that resulted from all that compiled code from all those mainframes and since, you can credit that young, diverse, and brilliant team at IBM for kickstarting the golden age of the mainframe. Imagine if you will, Backus walks into IBM and they said “sorry, we don't have any headcount on our team.” You always make room for brilliant humans. Grace Hopper's dream would have resulted in COBOL, but without the might of IBM behind it, we might still be writing apps in machine language. Backus didn't fit in with the corporate culture at IBM. He rarely wore suits in an era where suit makers in Armonk were probably doing as well as senior management. They took a chance on a brilliant person. And they assembled a diverse team of brilliant people who weren't territorial or possessive, a team who authentically just wanted to learn. And sometimes that kind of a team lucks up and change sthe world. Who do you want to take a chance on? Mull over that until the next episode. Thank you so very much for tuning into another episode of the History of Computing Podcast. We're lucky to have you. Have a great day! The History of FORTRAN I, II, and III :: http://www.softwarepreservation.org/projects/FORTRAN/paper/p165-backus.pdf

しがないラジオ
sp.57b【ゲスト: jakelizzI】転職活動中のエンジニアと考える、楽しい転職におけるメンタルケア

しがないラジオ

Play Episode Listen Later Apr 6, 2019 94:30


jakelizziさんをゲストにお迎えして、Scala勉強会、ピザ、Rancher、転職活動とメンタルケア、Mac、などについて話しました。 【Show Notes】 Play Framework - Wikipedia Scala - Wikipedia Container Orchestration | Kubernetes Management | Rancher k3s と MicroK8s の違いを考える - Qiita as8. 寄生獣からわかる組織マネージメント ゲスト: 高山温(@edvakf)さん by EM . FM #EMFM • A podcast on Anchor Cygwin - Wikipedia kiitok (キイトク) Aqua Blend Server 配信情報はtwitter ID @shiganaiRadio で確認することができます。 フィードバックは(#しがないラジオ)でつぶやいてください! 感想、話して欲しい話題、改善して欲しいことなどつぶやいてもらえると、今後のポッドキャストをより良いものにしていけるので、ぜひたくさんのフィードバックをお待ちしています。 【パーソナリティ】 gami@jumpei_ikegami zuckey@zuckey_17 【ゲスト】 jakelizzi@jakelizzI 【機材】 Blue Micro Yeti USB 2.0マイク 15374

All Things Git
Git for Windows with Johannes Schindelin

All Things Git

Play Episode Listen Later Feb 20, 2018 43:35


Edward and Martin talk to Johannes Schindelin about Git for Windows. They discuss the challenges of porting a collection of Unix tools to Windows, maintaining a fork, make some turn of the century jokes about vi vs emacs, and encourage you to stop saying "msysgit". Johannes Schindelin maintains Git for Windows. He used to be a number theorist, a geneticist and a scientific image processing expert. He now works at Microsoft, spending most of his time trying to improve Git for Windows’ user experience. Show Notes Git for Windows Gitter, a chat room for discussing Git for Windows. Systems for building Unix-like applications on Windows: Cygwin, the project for Windows that tries to emulate POSIX. mingw, the minimum GNU system for Windows, a simpler way to build Unix-like applications. Jessie Frazelle on automation: Hire the people who will automate themselves out of a job, then just keep giving them jobs. jessie frazelle (@jessfraz) Git Merge is the conference for Git developers and enthusiasts. Johannes is talking with Derrick Stolee about building Git for Windows; Derrick recently wrote an article about performance improvements in Git for Windows.

The Bike Shed
32: Bug For Bug Compatibility

The Bike Shed

Play Episode Listen Later Sep 15, 2015 50:36


Derek and Sean discuss Microsoft's interest in open source, improving the Rails development story on Windows, and Sean's progress implementing an ORM in Rust. Developing on Windows PowerShell Cygwin Does Windows fork? Modern.ie ievms Internet Explorer compatibility mode PostGIS Using Arel to Compose SQL Queries Ransack Rust specialization Rust grapples with orphan instances Sean's in-progress Rust ORM

BSD Now
92: BSD After Midnight

BSD Now

Play Episode Listen Later Jun 3, 2015 67:14


Coming up this week, we'll be chatting with Lucas Holt, founder of MidnightBSD. It's a slightly lesser-known fork of FreeBSD, with a focus on easy desktop use. We'll find out what's different about it and why it was created. Answers to your emails and all this week's news, on BSD Now - the place to B.. SD. This episode was brought to you by Headlines Zocker, it's like docker on FreeBSD (http://toni.yweb.fi/2015/05/zocker-diy-docker-on-freebsd.html) Containment is always a hot topic, and docker has gotten a lot of hype in Linux land in the last couple years - they're working on native FreeBSD support at the moment This blog post is about a docker-like script, mainly for ease-of-use, that uses only jails and ZFS in the base system In total, it's 1,500 lines of shell script (https://github.com/toddnni/zocker) The post goes through the process of using the tool, showing off all the subcommands and explaining the configuration In contrast to something like ezjail, Zocker utilizes the jail.conf system in the 10.x branch *** Patrol Read in OpenBSD (https://www.marc.info/?l=openbsd-cvs&m=143285964216970&w=4) OpenBSD has recently imported some new code to support the Patrol Read (http://www.intel.com/support/motherboards/server/sb/CS-028742.htm) function of some RAID controllers In a nutshell, Patrol Read is a function that lets you check the health of your drives in the background, similar to a zpool "scrub" operation The goal is to protect file integrity by detecting drive failures before they can damage your data It detects bad blocks and prevents silent data corruption, while marking any bad sectors it finds *** HAMMER 2 improvements (http://lists.dragonflybsd.org/pipermail/commits/2015-May/418653.html) DragonFly BSD has been working on the second generation HAMMER FS It now uses LZ4 compression by default, which we've been big fans of in ZFS They've also switched to a faster CRC (http://lists.dragonflybsd.org/pipermail/commits/2015-May/418652.html) algorithm, further improving HAMMER's performance, especially (http://lists.dragonflybsd.org/pipermail/commits/2015-May/418651.html) when using iSCSI *** FreeBSD foundation May update (https://www.freebsdfoundation.org/press/2015mayupdate.pdf) The FreeBSD foundation has published another update newsletter, detailing some of the things they've been up to lately In it, you'll find some development status updates: notably more ARM64 work and the addition of 64 bit Linux emulation Some improvements were also made to FreeBSD's release building process for non-X86 architectures There's also an AsiaBSDCon recap that covers some of the presentations and the dev events They also have an accompanying blog post (http://freebsdfoundation.blogspot.com/2015/05/another-data-center-site-visit-nyi.html) where Glen Barber talks about more sysadmin and clusteradm work at NYI *** Interview - Lucas Holt - questions@midnightbsd.org (mailto:questions@midnightbsd.org) / @midnightbsd (https://twitter.com/midnightbsd) MidnightBSD News Roundup The launchd on train is never coming (http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/launchd-on-bsd.html) Replacement of init systems has been quite controversial in the last few years Fortunately, the BSDs have avoided most of that conflict thus far, but there have been a few efforts made to port launchd from OS X (https://en.wikipedia.org/wiki/Launchd) This blog post details the author's opinion on why he thinks we're never going to have launchd in any of the BSDs Email us your thoughts on the matter *** Native SSH comes to… Windows (http://blogs.msdn.com/b/looking_forward_microsoft__support_for_secure_shell_ssh1/archive/2015/06/02/managing-looking-forward-microsoft-support-for-secure-shell-ssh.aspx) In what may be the first (and last) mention of Microsoft on BSD Now... They've just recently announced that PowerShell will get native SSH support in the near future It's not based on the commercial SSH either, it's the same one from OpenBSD that we already use everywhere Up until now, interacting between BSD and Windows has required something like PuTTY, WinSCP, FileZilla or Cygwin - most of which are based on really outdated versions The announcement also promises that they'll be working with the OpenSSH community, so we'll see how many Microsoft-submitted patches make it upstream (or how many donations (http://www.openbsdfoundation.org/index.html) they make) *** Moving to FreeBSD (http://www.textplain.net/blog/2015/moving-to-freebsd/) This blog post describes a long-time Linux user's first BSD switching experience The author first talks about his Linux journey, eventually coming to love the more customization-friendly systems, but the journey ended with systemd After doing a bit of research, he gave FreeBSD a try and ended up liking it - the rest of the post mostly covers why that is He also plans to write about his experience with other BSDs, and is writing some tutorials too - we'll check in with him again later on *** Feedback/Questions Adam writes in (http://slexy.org/view/s29hS2cI05) Dan writes in (http://slexy.org/view/s20VRZYBsw) Ivan writes in (http://slexy.org/view/s20bumJ5u9) Josh writes in (http://slexy.org/view/s21BU6Pnka) ***

/dev/hell
Episode 48: Old As Dirt

/dev/hell

Play Episode Listen Later Jul 11, 2014


Our guest this week is Elizabeth Smith, PHP internals veteran and guru of PHP on Windows (she says “I wish every company was as good at giving back to open source as Microsoft”). We talk about being Old as Dirt in relation to a blog post Ed made last week, how to mentor up and coming developers, and the history of PHP on Windows. Also, check out this special offer from Watch Me Code. You can get 35% OFF as subcription to their awesome JavaScript screencasts as a Development Hell listener by going to watchmecode.net/devhell. Check out our sponsors, Watch Me Code, Roave and WonderNetwork Follow us on Twitter here. Rate us on iTunes here Sign up for our mailing list here Listen Download now (MP3, 32.7MB, 1:10:24) Links and Notes Elizabeth Smith’s Website The Developer’s Dystopian Future My Lawn by Bob Martin LinuxBeard.com Cygwin PHP-GTK Windows being really good at concurrency Nelson Muntz laugh PHPMentoring.org Mentats

Talking Drupal
Talking Drupal #003 - Drupal Development Environment

Talking Drupal

Play Episode Listen Later Jun 19, 2013 54:38


Show Topics - Design 4 Drupal - Working on local machine - Tools and software stacks - Update two Drupal systems (keeping things in sync) - Backup and Migrate - Team development - Source Code Management - Drupal configuration in dev environment - PHP Time Limit and Memory Size - Admin and test user accounts - Module of the Week - Devel Module - Drupal PVD - http://www.drupalpvd.org/ Hosts: - Stephen Cross - www.ParallaxInfoTech.com @stephencross - Jason Pamental - www.hwdesignco.com @jpamental - John Picozzi - www.RubicDesign.com @johnpicozzi  - Nic Laflin - www.nLightened.net @nicxvan Modules: - Drush - https://drupal.org/project/drush - Features - https://drupal.org/project/features - Strongarm- https://drupal.org/project/strongarm - Backup and Migrate Module - https://drupal.org/project/backup_migrate - Boost Module - https://drupal.org/project/boost - Masquerade -  https://drupal.org/project/masquerade/ - Devel Module - https://drupal.org/project/devel  Links: - Design 4 Drupal - http://boston2013.design4drupal.org/ - Cygwin - http://www.cygwin.com/ - Virtual Box - https://www.virtualbox.org/ - MAMP - http://mamp.info - Coda - http://panic.com/coda/ - Tower - http://www.git-tower.com/ - Git - http://git-scm.com/ - Drush - https://drupal.org/project/drush

Programming Throwdown

java programming languages ouya cygwin programming throwdown mingw
Java Pub House
Episode 27. There's a Log File in the folder in the middle of the App

Java Pub House

Play Episode Listen Later Jul 15, 2012 55:50


Episode 27. There's a Log File in the folder in the middle of the App ---- (Sing to the children's song There's a hole in the middle of the sea)Logging is part of everyday production debugging life. If you ever had to troubleshoot a production application, the you most likely have looked at log files. These log files can either be a salvation, or an inmense source of frustration. In this podcast we delve into the different logging frameworks, and more importantly, what to log and not to log (and how to log it). |~|P |~|P |~|P |~|P |~|P |~|P |~|P Beer! (or Mai Tais!) |_|  |_|  |_|  |_|  |_|  |_|  |_|   It's SUMMER! If you like what you hear, DEFINITIVELY, treat me a beer ! :) (It's the Java pub house after all :) https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=Z8V2ZWV93UMW4 |~|P |~|P |~|P |~|P |~|P |~|P |~|P Beer! (or Mai Tais!) |_|  |_|  |_|  |_|  |_|  |_|  |_|   Tweet, Tweet! (https://twitter.com/#!/fguime) Java Logging Frameworkhttp://en.wikipedia.org/wiki/Java_logging_framework SLF4J (The facade frameworkhttp://www.slf4j.org/ Log4Jhttp://logging.apache.org/log4j/1.2/index.html Java Logging APIhttp://docs.oracle.com/javase/1.4.2/docs/guide/util/logging/ The linux utilities for windows! (Cygwin)http://www.cygwin.com/ Grep! Grep grepping grep!http://en.wikipedia.org/wiki/Grep More Grephttp://www.cyberciti.biz/faq/howto-use-grep-command-in-linux-unix/ Vote for us in iTunes(http://itunes.apple.com/us/podcast/java-pub-house/id467641329) Questions, feedback or comments! comments@javapubhouse.com Subscribe to our podcast! (http://javapubhouse.libsyn.com/rss) ITunes link (http://itunes.apple.com/us/podcast/java-pub-house/id467641329) Java 7 Recipes book!(http://www.amazon.com/gp/product/1430240563/ref=as_li_ss_il?ie=UTF8&tag=meq-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=1430240563) Hey! if you like what you hear, treat me a beer! (It's the Java pub house after all :) https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=Z8V2ZWV93UMW4

NodeUp
Four: A post NKO show

NodeUp

Play Episode Listen Later Sep 13, 2011 62:24


npm cygwin windows support
LinuCast - MP3
LinuCast #34: Hävisit

LinuCast - MP3

Play Episode Listen Later Jan 5, 2010 37:01


Asiat: - GPL-lisensoitu koodi poistettu MonoDevelopista - Red Hatilla hurja neljännes - Red Hat luopuu yrityslinuxin Itanium-tuesta - Linus ärähti Nouveau kehittäjille - CygWin 1.7 lisää tuen Windows7:lle ja IPv6:lle - Tälläinen on Multi-Pointer X Puhumassa: - Henrik - Ninnnu - Sakari

Hackerfunk
HF025 - Secure Shell SSH

Hackerfunk

Play Episode Listen Later Jun 6, 2009 58:44


Zusammen mit XTaran rede ich über die Secure Shell SSH. Wir besprechen die Geschichte und die ganzen lustigen Sachen, die man damit zwischen seinen Servern so machen kann. Trackliste Palerider – Jump Aboard! XNI – Supreme Theme Leviathan – Forcefield Nächste Sendung am 4. Juli 2009, 19:00 Uhr FSK Hamburg :: Freies Sender Kombinat Hamburg NerdAlert :: NerdAlert Telnet :: Telnet bei Wikipedia RSH :: Remote Shell SSH :: Secure Shell SSH Tectia :: SSH Tectia OpenSSH Geschichte :: Geschichte und Entstehung von OpenSSH rsync :: rsync SSHFS :: Secure Shell Filesystem Public Key Kryptografie :: Public Key Kryptografie Cygwin :: Cygwin SSH Server für Microsoft Windows Dropbear :: Dropbear WinSCP :: Secure Copy Client für Microsoft Windows PuTTY :: PuTTY SSH Client für Microsoft Windows PuTTY für S60 :: PuTTY für Symbian S60 Mobiltelefone MidpSSH :: SSH Client für J2ME Mobiltelefone XTarans SSH-Vortrag :: SSH-Vortrag von XTaran MP3 des Vortrags :: XTarans Vortrag zum Hören LUGS-Treff des 19. März 2009 sslh :: SSH Multiplexef für HTTPS und SSH auf demselben Port BCD09 :: Barcamp 2009 Dornbirn File Download (58:44 min / 79 MB)

Hackerfunk
HF025 - Secure Shell SSH

Hackerfunk

Play Episode Listen Later Jun 6, 2009 58:44


Zusammen mit XTaran rede ich über die Secure Shell SSH. Wir besprechen die Geschichte und die ganzen lustigen Sachen, die man damit zwischen seinen Servern so machen kann. Trackliste Palerider – Jump Aboard! XNI – Supreme Theme Leviathan – Forcefield Nächste Sendung am 4. Juli 2009, 19:00 Uhr FSK Hamburg :: Freies Sender Kombinat Hamburg NerdAlert :: NerdAlert Telnet :: Telnet bei Wikipedia RSH :: Remote Shell SSH :: Secure Shell SSH Tectia :: SSH Tectia OpenSSH Geschichte :: Geschichte und Entstehung von OpenSSH rsync :: rsync SSHFS :: Secure Shell Filesystem Public Key Kryptografie :: Public Key Kryptografie Cygwin :: Cygwin SSH Server für Microsoft Windows Dropbear :: Dropbear WinSCP :: Secure Copy Client für Microsoft Windows PuTTY :: PuTTY SSH Client für Microsoft Windows PuTTY für S60 :: PuTTY für Symbian S60 Mobiltelefone MidpSSH :: SSH Client für J2ME Mobiltelefone XTarans SSH-Vortrag :: SSH-Vortrag von XTaran MP3 des Vortrags :: XTarans Vortrag zum Hören LUGS-Treff des 19. März 2009 sslh :: SSH Multiplexef für HTTPS und SSH auf demselben Port BCD09 :: Barcamp 2009 Dornbirn File Download (58:44 min / 79 MB)

LinuxLink Radio by TimeSys
Episode 4: Getting Started with Embedded Linux

LinuxLink Radio by TimeSys

Play Episode Listen Later Mar 7, 2007 39:12


Discussion of the basics of getting started with Embedded Linux including: Host environment set up, what works and what doesnt work, using Cygwin and some common challenges and pitfalls of embedded Linux.

LinuxLink Radio by TimeSys
Episode 4: Getting Started with Embedded Linux

LinuxLink Radio by TimeSys

Play Episode Listen Later Mar 7, 2007 39:12


Discussion of the basics of getting started with Embedded Linux including: Host environment set up, what works and what doesnt work, using Cygwin and some common challenges and pitfalls of embedded Linux.

Linux Reality Podcast (MP3 Feed)
Episode 028 - Linux Friendly Hardware

Linux Reality Podcast (MP3 Feed)

Play Episode Listen Later Aug 23, 2006


In this episode: Dave Yates and I will be on the August 30 edition of The Linux Link Tech Show (!); out of town surprise the week of September 10; listener feedback on menu.lst, digital photography (see http://www.petrilopia.net/), and backups (see Mondo Rescue and G4L); Listener Tips on sshfs and Cygwin; a general discussion of sites and resources that provide assistance in finding Linux friendly hardware, including Linux Compatible, the HCL at LinuxQuestions.org, Linux USB, Linux 1394, Linux Printing, and Sane Project, for help with general hardware, Linuxant, NdisWrapper, Linux Wireless Tools, Linux Laptop and Tux Mobile for help with Linux on laptops, and a mention of a few Linux friendly vendors such as Emperor Linux, Sub300, and System 76, with more listed in the LXer forums.