Search Results

Search found 3227 results on 130 pages for 'jason smith'.

Page 41/130 | < Previous Page | 37 38 39 40 41 42 43 44 45 46 47 48  | Next Page >

  • Xml Serialization and the [Obsolete] Attribute

    - by PSteele
    I learned something new today: Starting with .NET 3.5, the XmlSerializer no longer serializes properties that are marked with the Obsolete attribute.  I can’t say that I really agree with this.  Marking something Obsolete is supposed to be something for a developer to deal with in source code.  Once an object is serialized to XML, it becomes data.  I think using the Obsolete attribute as both a compiler flag as well as controlling XML serialization is a bad idea. In this post, I’ll show you how I ran into this and how I got around it. The Setup Let’s start with some make-believe code to demonstrate the issue.  We have a simple data class for storing some information.  We use XML serialization to read and write the data: public class MyData { public int Age { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public List<String> Hobbies { get; set; }   public MyData() { this.Hobbies = new List<string>(); } } Now a few simple lines of code to serialize it to XML: static void Main(string[] args) { var data = new MyData {    FirstName = "Zachary", LastName = "Smith", Age = 50, Hobbies = {"Mischief", "Sabotage"}, }; var serializer = new XmlSerializer(typeof (MyData)); serializer.Serialize(Console.Out, data); Console.ReadKey(); } And this is what we see on the console: <?xml version="1.0" encoding="IBM437"?> <MyData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Age>50</Age> <FirstName>Zachary</FirstName> <LastName>Smith</LastName> <Hobbies> <string>Mischief</string> <string>Sabotage</string> </Hobbies> </MyData>   The Change So we decided to track the hobbies as a list of strings.  As always, things change and we have more information we need to store per-hobby.  We create a custom “Hobby” object, add a List<Hobby> to our MyData class and we obsolete the old “Hobbies” list to let developers know they shouldn’t use it going forward: public class Hobby { public string Name { get; set; } public int Frequency { get; set; } public int TimesCaught { get; set; }   public override string ToString() { return this.Name; } } public class MyData { public int Age { get; set; } public string FirstName { get; set; } public string LastName { get; set; } [Obsolete("Use HobbyData collection instead.")] public List<String> Hobbies { get; set; } public List<Hobby> HobbyData { get; set; }   public MyData() { this.Hobbies = new List<string>(); this.HobbyData = new List<Hobby>(); } } Here’s the kicker: This serialization is done in another application.  The consumers of the XML will be older clients (clients that expect only a “Hobbies” collection) as well as newer clients (that support the new “HobbyData” collection).  This really shouldn’t be a problem – the obsolete attribute is metadata for .NET compilers.  Unfortunately, the XmlSerializer also looks at the compiler attribute to determine what items to serialize/deserialize.  Here’s an example of our problem: static void Main(string[] args) { var xml = @"<?xml version=""1.0"" encoding=""IBM437""?> <MyData xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema""> <Age>50</Age> <FirstName>Zachary</FirstName> <LastName>Smith</LastName> <Hobbies> <string>Mischief</string> <string>Sabotage</string> </Hobbies> </MyData>"; var serializer = new XmlSerializer(typeof(MyData)); var stream = new StringReader(xml); var data = (MyData) serializer.Deserialize(stream);   if( data.Hobbies.Count != 2) { throw new ApplicationException("Hobbies did not deserialize properly"); } } If you run the code above, you’ll hit the exception.  Even though the XML contains a “<Hobbies>” node, the obsolete attribute prevents the node from being processed.  This will break old clients that use the new library, but don’t yet access the HobbyData collection. The Fix This fix (in this case), isn’t too painful.  The XmlSerializer exposes events for times when it runs into items (Elements, Attributes, Nodes, etc…) it doesn’t know what to do with.  We can hook in to those events and check and see if we’re getting something that we want to support (like our “Hobbies” node). Here’s a way to read in the old XML data with full support of the new data structure (and keeping the Hobbies collection marked as obsolete): static void Main(string[] args) { var xml = @"<?xml version=""1.0"" encoding=""IBM437""?> <MyData xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema""> <Age>50</Age> <FirstName>Zachary</FirstName> <LastName>Smith</LastName> <Hobbies> <string>Mischief</string> <string>Sabotage</string> </Hobbies> </MyData>"; var serializer = new XmlSerializer(typeof(MyData)); serializer.UnknownElement += serializer_UnknownElement; var stream = new StringReader(xml); var data = (MyData)serializer.Deserialize(stream);   if (data.Hobbies.Count != 2) { throw new ApplicationException("Hobbies did not deserialize properly"); } }   static void serializer_UnknownElement(object sender, XmlElementEventArgs e) { if( e.Element.Name != "Hobbies") { return; }   var target = (MyData) e.ObjectBeingDeserialized; foreach(XmlElement hobby in e.Element.ChildNodes) { target.Hobbies.Add(hobby.InnerText); target.HobbyData.Add(new Hobby{Name = hobby.InnerText}); } } As you can see, we hook in to the “UnknownElement” event.  Once we determine it’s our “Hobbies” node, we deserialize it ourselves – as well as populating the new HobbyData collection.  In this case, we have a fairly simple solution to a small change in XML layout.  If you make more extensive changes, it would probably be easier to do some custom serialization to support older data. A sample project with all of this code is available from my repository on bitbucket. Technorati Tags: XmlSerializer,Obsolete,.NET

    Read the article

  • Qué control te gustaria?

    - by Jason Ulloa
    Cada vez, utilizó mas Jquery para enriquecer las aplicaciones que desarrollo, pero cada vez me doy cuenta de que siempre debo leer la documentación de los controles para poder recordar todas las funciones. Esto, sumado a la cantidad de código script que debo colocar en las páginas. Es por eso que decidi empezar a trabajar en una pequeña seríe de controles de Jquery para asp.net basado en el framework DJ Jquery. Por supuesto, una serie de controles OpenSource para la comunidad   Actualmente los controles disponibles son: * Accordion * Animation * Autocomplete * DatePicker * Dialog * Draggable * Droppable * Effect * FileUpload * FlexGrid (en desarrollo) * Floater Menu * JMenu (en desarrollo) * Jquery Plugin * Password Meter * ProgressBar * Resizable * Selectable * Slick Menu * Slider * Sortable * Tabs * ButtonEx * Toggle Button * Simple Button * Simple List View   Así que la idea es preguntarles: ¿Qué otro control les gustaría ver en la suite?   Saludos,

    Read the article

  • New spreadsheet accompanying SmartAssembly 6.0 provides statistics for prioritizing bug fixes

    - by Jason Crease
    One problem developers face is how to prioritize the many voices providing input into software bugs. If there is something wrong with a function that is the darling of a particular user, he or she tends to want action - now! The developer's dilemma is how to ascertain that the problem is major or minor, and when it should be addressed. Now there is a new spreadsheet accompanying SmartAssembly that provides exactly that information in an objective manner. This might upset those used to getting their way by being the loudest or pushiest, but ultimately it will ensure that the biggest problems get the priority they deserve. Here's how it works: Feature Usage Reporting (FUR) in SmartAssembly 6.0 provides a wealth of data about how your software is used by its end-users, but in the SmartAssembly UI the data isn't mined to its full extent. The new Excel spreadsheet for FUR extracts statistics from that data and presents them in easy-to-understand forms. I developed the spreadsheet feature in Microsoft Excel, using a fair amount of VBA. The spreadsheet connects directly to the database which stores the feature-usage data, and shows a wide variety of statistics and tables extracted from that data.  You want to know what percentage of users have used the 'Export as XML' button?  No problem.  How popular is v5.3 is compared to v5.1?  There's graphs for that. You need to know whether you have more users in Russia or Brazil? There's a big pie chart for that. I recently witnessed the spreadsheet in use here at Red Gate Software. My bug is exposed as minor While testing new features in .NET Reflector, I found a usability bug in the Refresh button and filed it in the Red Gate bug-tracking system. The bug was labelled "V.NEXT MINOR," which means it would be fixed in the next point release. Although I'm a professional tester, I'm not much different than most software users when they discover a bug that affects them personally: I wanted it fixed immediately. There was an ulterior motive at play here, of course. I would get to see my colleagues put the spreadsheet to work. The Reflector team loaded up the spreadsheet to view the feature-usage statistics that SmartAssembly collected for the refresh button. The resulting statistics showed that only 8% of users have ever pressed the Refresh button, and only 2.6% of sessions involve pressing the button. When Refresh is used, it's only pressed on average 1.6 times a session, with a maximum of 8 times during a session. This was in stark contrast to what I was doing as a conscientious tester: pressing it dozens of times per session. The spreadsheet provides evidence that my bug was a minor one. On to more serious things Based on the solid evidence uncovered by the spreadsheet, the Reflector team concluded that my experience does not represent that of the vast majority of Reflector's recorded users. The Reflector team had ample data to send me back to my desk and keep the bug classified as "V.NEXT MINOR." The team then went back to fixing more serious bugs. If I'm in the shoes of the user, I might not be thoroughly happy, but I cannot deny that the evidence clearly placed me in a very small minority. Next time I'm hoping the spreadsheet will prove that my bug is more important. Find out more about Feature-Usage Reporting here. The spreadsheet is available for free download here.

    Read the article

  • How do I create an ISO image from a directory structure on CentOS?

    - by tom smith
    I'm trying to figure out the exact mkisofs cmd to create the ISO with the following directory and file structure. I've tried different commands, but when I mount the ISO that is created the directory tree has not been reproduced. The initial directory tree is: master.iso:: mount -o loop /apps/vmware/master.iso /mnt/vmtest ls /mnt/vmtest isolinux ks.cfg upgra32 upgra64 upgrade.sh ls /mnt/vmtest/isolinux boot.cat initrd.img isolinux.bin isolinux.cfg vmlinuz I've used different variations of the following mkisofs command without success: mkisofs -o '/foo/test.iso' -b 'isolinux.bin' -c 'boot.cat' -no-emul-boot -boot-load-size 4 -boot-info-table 'isolinux' How do I make an ISO that captures a directory's exact structure?

    Read the article

  • Top 10 Vulnerabilidades de Seguridad en el WEB.CONFIG- PARTE 1

    - by Jason Ulloa
    Durante estos post, mostraré los 10 problemas o errores de configuración en el web.config que provocan grandes vulnerabilidades en las aplicaciones. Estos errores, en su mayoría vienen dados por desconocimiento a fondo del manejo de las secciones de configuración de nuestras aplicaciones. En esta primera parte, veremos los primeros 5 de ellos. 1. El modo Custom Errors Este es el primero de nuestra lista, ya que, será uno de los que casi siempre habilitemos cuando estamos desarrollando una aplicación web y que es de mucho cuidado. Una etiqueta común y vulnerable de esta configuración sería <configuration> <system.web> <customErrors mode="Off">   Una forma de corregir la vulnerabilidad que se expone a continuación sería cambiando la etiqueta por <configuration> <system.web> <customErrors mode="RemoteOnly">

    Read the article

  • Is Haskell worth learning?

    - by Jason K
    I am looking at this question primarily from a career point of view, so I hope you answer it accordingly. I am fairly proficient with Python, can write C++ and I am a final year student of computer science engineering I am looking to learn Haskell because I have heard a lot about it. My question is: apart from learning it because of all the good I have heard about it, is it any good for my career? Is it used in the industry? I am curious to learn it but unless it helps me somehow in my career, I am not willing to make that change at this stage. Looking for some personal experiences here. Thanks!

    Read the article

  • YouTube Releases Native Wii App

    - by Jason Fitzpatrick
    Watching YouTube videos on the Wii just got a whole lot easier; YouTube’s native Wii app streamlines the process and cuts out the need for the Internet Channel browser. Previous to this release you had to use the $5 Internet Channel and the Opera Browser to access YouTube. It worked but it wasn’t elegant by any means. The new YouTube Wii app sports a clean interface, simple Wiimote-based controls, and all the great YouTube content you can handle. The app is free but currently U.S. only. According to the press release, the app will be rolled out to other countries in the coming months. YouTube App Now on Nintendo Wii in the U.S. [YouTube] How To Delete, Move, or Rename Locked Files in Windows HTG Explains: Why Screen Savers Are No Longer Necessary 6 Ways Windows 8 Is More Secure Than Windows 7

    Read the article

  • Hack a Wireless Doorbell for Customizable Ring Tones

    - by Jason Fitzpatrick
    When it comes to door bells, why limit yourself to a simple bell toll when you could be alerted to visitors by the Super Mario Bros. theme? This customizable doorbell hack brings ring tones to your front door. Check out the video above to see it assembled and in action, then hit up the link below for the wiring diagrams and step-by-step instructions. How to Add Custom Ringtones to a Wireless Doorbell [via Hacked Gadgets] How To Use USB Drives With the Nexus 7 and Other Android Devices Why Does 64-Bit Windows Need a Separate “Program Files (x86)” Folder? Why Your Android Phone Isn’t Getting Operating System Updates and What You Can Do About It

    Read the article

  • Build an Inexpensive but Polished Sous Vide Cooker for Geeky Culinary Fun

    - by Jason Fitzpatrick
    Kitchen craft has taken a turn for the geekier in the last few years with all manner of DIY projects; this DIY Sous Video cooker stands apart from the average hacked-together model and is polished enough to leave on the counter. We see a lot of cooking related hacks in our news feeds and this one is definitely one of the cleaner builds. It sports a clean display, nice case, and and easy to use interface–perfect for Sous Vide’ing yourself a delicious streak or other culinary treat. Hit up the link below for a full run down on the build. DIY Sous Vide Immersion Cooker On The Cheap [via Make] How To Customize Your Wallpaper with Google Image Searches, RSS Feeds, and More 47 Keyboard Shortcuts That Work in All Web Browsers How To Hide Passwords in an Encrypted Drive Even the FBI Can’t Get Into

    Read the article

  • Compiling Assembly Manually [migrated]

    - by John Smith
    I am having trouble with translating a specific line in assembly to machine code for the Nios II. I have successfully compiled these lines: START_TIMER = 0xF68C r0 = 0x0 r8 = 0x8 label = 50000 addi r8, r8, %lo(label) - 01000 01000 1100001101010000 000100 subi r8, r8, 1 - 01000 01000 1111111111111111 000100 bne r8, r0, START_TIMER - 01000 00000 1111011010001100 011110 The line in question that I have trouble with is this one: orhi r8, r0, %hiadj(label) As explained in the handbook linked above, "%lo" means "Extract bits [15..0] of immed32" and "%hiadj" means "Extract bits [31..16] and adds bit 15 of immed32". However, 50000 in binary is 1100001101010000, and is therefore a 16 bit number. As far as I can see, it doesn't contain any bits between 16 and 31. I tried with 0000000000000001, but it's incorrect. What am I doing wrong?

    Read the article

  • phpredis + pconnect

    - by john smith
    I am using phpredis on my php based website. The webserver I am using is a the simplest apache apt-get installation, no configuration involved, as this is only a development environment. The issue I am facing is that basically, while using phpredis, there is no difference between "connect" and "pconnect" commands: they both create a new connection everytime, as I can see from the "info" command on redis-cli. Now, I am pretty sure it is because of the apache configuration and the fact that it probably (most likely) is a multi-threaded env, therefore can't enstablish a single connection. My question is basically for when I will turn into production: what would the best choice of a webserver be to avoid this problem? I remember using lighttpd with thousands of users and still get only a very few (like 2 or 3) connections on mongoDB. Any ideas? Thanks in advance.

    Read the article

  • Raspberry Pi Now Shipping with 512MB RAM; Still Only $35

    - by Jason Fitzpatrick
    Fans of the tiny Raspberry Pi will be pleased to hear the new version of their Model B board now ships with 512MB of RAM (up from the previous 256MB). The best part about the upgrade? The price point stays at $35 a board. From the official Raspberry Pi blog: One of the most common suggestions we’ve heard since launch is that we should produce a more expensive “Model C” version of Raspberry Pi with extra RAM. This would be useful for people who want to use the Pi as a general-purpose computer, with multiple large applications running concurrently, and would enable some interesting embedded use cases (particularly using Java) which are slightly too heavyweight to fit comfortably in 256MB. The downside of this suggestion for us is that we’re very attached to $35 as our highest price point. With this in mind, we’re pleased to announce that from today all Model B Raspberry Pis will ship with 512MB of RAM as standard. If you have an outstanding order with either distributor, you will receive the upgraded device in place of the 256MB version you ordered. Units should start arriving in customers’ hands today, and we will be making a firmware upgrade available in the next couple of days to enable access to the additional memory. We’re excited to get our hands on a new board and try out Raspbmc with that extra RAM. HTG Explains: What is the Windows Page File and Should You Disable It? How To Get a Better Wireless Signal and Reduce Wireless Network Interference How To Troubleshoot Internet Connection Problems

    Read the article

  • From the Tips Box: Drone Hacks Galor, DIY Solder Dispensers, and Mood-based Music

    - by Jason Fitzpatrick
    Once a week we round up some of the great reader-submitted tips and share them with everyone. This week we’re looking at AR Drone hacks, crafting a DIY solder dispenser, and enjoying mood-based music. HTG Explains: Why Do Hard Drives Show the Wrong Capacity in Windows? Java is Insecure and Awful, It’s Time to Disable It, and Here’s How What Are the Windows A: and B: Drives Used For?

    Read the article

  • Disc Drives: An Endangered Species

    - by Jason Fitzpatrick
    More and more computers are shipping sans-disc drive leading many industry watchers to proclaim the optical disc an endangered species on its way out. Do you still use your drive or are you letting the disc go? CNN Tech reports on the trend: Apple’s new iMac, its flagship desktop computer, was released Friday. For the first time, it has no disc drive. This marks a trend that has already begun on some laptops, like Apple’s MacBook Airs, and of course with mobile devices like smartphones and tablets. “Over time, an optical disc will be as much of an historical curiosity as a floppy disk,” said Michael Gartenberg, a tech-industry analyst with research firm Gartner Inc. According to Apple, where sleeker, thinner designs are always en vogue, dumping the disc drive was a no-brainer. How to Factory Reset Your Android Phone or Tablet When It Won’t Boot Our Geek Trivia App for Windows 8 is Now Available Everywhere How To Boot Your Android Phone or Tablet Into Safe Mode

    Read the article

  • Where do I connect the two red SATA cables on my motherboard?

    - by Dennis Smith
    I have a Compaq Presario PC SR5110NX. The Processor is AMD Athlon 64 3800+. It has 512 MB of RAM and a 40GB Hard Drive. I'm running Windows XP Professional on it. I have 2 SATA drives, one is black and the other is white. I have 2 red little cables, and they have the letters and numbers on them. On one side of the cable it says "HP P/N:5188-2897 0720". My motherboard is a MCP61PM-HM Rev 1.0B. Where do I connect the two SATA connectors?

    Read the article

  • Humble Bundle Gives You DRM-Free Games at Pay-What-You-Want Prices

    - by Jason Fitzpatrick
    The Humble Bundle is back–score cross-platform games at a pay-what-you-want price and even send the proceeds to charity in the process. Between now and April 2nd, score great independent games like Zen Bound 2 and Avadaon: The Black Fortress with a name-your-price deal courtesy of The Humble Bundle. You pay what you want and specify how you want the money divided among the developers and the Electronic Frontier Foundation/Child’s Play charities. Check out the video above to see the games included in the bundle. All games are cross-platform, available for Windows, Mac, Linux, and Android, and DRM-Free. The Humble Bundle The HTG Guide to Hiding Your Data in a TrueCrypt Hidden Volume Make Your Own Windows 8 Start Button with Zero Memory Usage Reader Request: How To Repair Blurry Photos

    Read the article

  • Download the Original Fallout For Free Today [4/6]

    - by Jason Fitzpatrick
    Fallout, the first game in the popular post-apocalyptic RPG series, is available for free today. Grab the game along with a detailed manual, game bible, soundtrack, and more. Courtesty of gaming site GOG, you can score a free Fallout bundle that includes the original game from 1997, a detailed manual, a 200+ page game bible filled with the history of the Fallout games and timeline, wallpaper, artwork, and even the game soundtrack. Not a bad haul for a single free download that weighs in at 506MB. Check out the video of the in-game introduction above and then hit up the link below to grab a copy. Fallout [GOG via Boing Boing] How to Own Your Own Website (Even If You Can’t Build One) Pt 3 How to Sync Your Media Across Your Entire House with XBMC How to Own Your Own Website (Even If You Can’t Build One) Pt 2

    Read the article

  • Does anyone prefer proportional fonts?

    - by Jason Baker
    I was reading the wikipedia article on programming style and noticed something in an argument against vertically aligned code: Reliance on mono-spaced font; tabular formatting assumes that the editor uses a fixed-width font. Most modern code editors support proportional fonts, and the programmer may prefer to use a proportional font for readability. To be honest, I don't think I've ever met a programmer who preferred a proportional font. Nor can I think of any really good reasons for using them. Why would someone prefer a proportional font?

    Read the article

  • Server 2008 Task Scheduler and a CMD file

    - by Mark Smith
    Task Scheduler - I have a .cmd file I'm trying to execute on a regular basis through Task Scheduler. I've set the task so that it points to the cmd file. I want the task to execute even when no one is logged in. I've set the credentials associated with the task to the local service account. When I execute the task, nothing happens. The Last Run Result shows 0x1, this means it didn't execute properly. When I run the file from a command prompt it executes just fine. Any help out there would be appreciated. I would post the code but it has sensitive information in it and I'm not allowed to let the code outside. Thanks

    Read the article

  • What You Said: Giving an Old Laptop a New Life

    - by Jason Fitzpatrick
    Earlier this week we asked you to share your tips and tricks for breathing life into an old laptop, now we’re back to share your junk-bin sparing methods. Many of you worked to keep old laptops from getting scrapped by dusting them off and donating them. Mark writes: My acquaintances & friends give me their old computers when they buy a new one. So I disassemble, clean, install an opsys,and get internet working. I also upgrade memory, wireless, etc. from my parts bin. Then I give it to a poor person who needs a computer. Usually a single working mom with kids. I also do the same with old desktops as well. They really appreciate them and It gives me the satisfaction of resurrecting an old computer. Wbrown does the same: How To Delete, Move, or Rename Locked Files in Windows HTG Explains: Why Screen Savers Are No Longer Necessary 6 Ways Windows 8 Is More Secure Than Windows 7

    Read the article

  • How to add a holding page in front of a domain

    - by Jason Bradberry
    I have set up a holding page to announce a new version of a website coming soon. I wanted people to still be able to access the original site, so my approach was to place the holding page in the root folder on the server, and move the original site to a subfolder and link to it from the holding page. However, on testing this setup it appears to have hurt the SEO placing of the website. Is there a better approach to this? I'm a bit stumped as I want both to share the same URL.

    Read the article

  • Ask the Readers: How Do You Browse Securely Away From Home?

    - by Jason Fitzpatrick
    When you’re browsing away from home, be it on your smartphone, tablet, or laptop, how do you keep your browsing sessions secure? This week we’re interested in hearing all about your mobile security tips and tricks. When you’re out and about you often, out of necessity or convenience, need to connect to open Wi-Fi hotspots and otherwise put your data out there in ways that you don’t when you’re at home. This week we want to hear about your tips, tricks, and applications for keeping your data secure and private when you’re away from your home network. Sound off in the comments with your tips and then check back on Friday for the What You Said roundup. HTG Explains: Why Linux Doesn’t Need Defragmenting How to Convert News Feeds to Ebooks with Calibre How To Customize Your Wallpaper with Google Image Searches, RSS Feeds, and More

    Read the article

  • 12.04's music players won't stream radio stations

    - by Jason
    I cannot get any music player in 12.04 to stream radio stations. My previous OS (ubuntu 10.04) had no problems with this. I have tried Rhythmbox and Exaile. neither works in 12.04 (but both work fine in 10.04. I inputted this stream: http://ummedia12.rs.itd.umich.edu:8004 I see that an internet connection is established by "Python" and I hear the "Advertisement" that plays right before the stream begins. But then just silence. The stream works fine in VLC, but I like to use the music players because they "store" the URL and have a tab that says Radio. I can find no way to "store" the URL in VLC. Anyone know what's wrong and why it's not working in the music players? I have fluendo plugins installed. I have python installed. I have ffmpeg installed.

    Read the article

  • Bad idea to keep htop running?

    - by Michael T. Smith
    I'm now monitoring multiple servers (3) and in the coming weeks that'll increase (towards 5 or 6). I've been keeping three terminal windows open running htop via SSH and I'm now wondering if there are any downsides to having a connection constantly open to production servers?

    Read the article

< Previous Page | 37 38 39 40 41 42 43 44 45 46 47 48  | Next Page >