Search Results

Search found 19796 results on 792 pages for 'bit twiddler'.

Page 229/792 | < Previous Page | 225 226 227 228 229 230 231 232 233 234 235 236  | Next Page >

  • Will Xubuntu 12.10 also have amazon ads?

    - by Miguel Guasch
    and thanks in advance for your comments: I'm currently using Ubuntu 12.04, and quite happy with it. I'm using the Unity desktop, and I've got no major complaints. My problem/question is: I've been reading on the news, forums, and different websites that the new version in 12.10, which i'll eventually have to upgrade to if I plan on using Ubuntu, has a lens/amazon function on the dash that sends queries to amazon. Now, this disturbs me a bit, since I don't want to see "shopping recommendations" everytime I look for something, be they from amazon or from "future partners". Does this new "function" only apply to the Unity desktop? If I switch to the Xfce desktop, will I be able to "save myself" from sending search data to amazon and/or shopping recommendations from them? Or will I have to entirely switch distributions, in order to evade this? Again, many thanks in advance for your comments and/or help. Regards, Miguel.

    Read the article

  • Some non-generic collections

    - by Simon Cooper
    Although the collections classes introduced in .NET 2, 3.5 and 4 cover most scenarios, there are still some .NET 1 collections that don't have generic counterparts. In this post, I'll be examining what they do, why you might use them, and some things you'll need to bear in mind when doing so. BitArray System.Collections.BitArray is conceptually the same as a List<bool>, but whereas List<bool> stores each boolean in a single byte (as that's what the backing bool[] does), BitArray uses a single bit to store each value, and uses various bitmasks to access each bit individually. This means that BitArray is eight times smaller than a List<bool>. Furthermore, BitArray has some useful functions for bitmasks, like And, Xor and Not, and it's not limited to 32 or 64 bits; a BitArray can hold as many bits as you need. However, it's not all roses and kittens. There are some fundamental limitations you have to bear in mind when using BitArray: It's a non-generic collection. The enumerator returns object (a boxed boolean), rather than an unboxed bool. This means that if you do this: foreach (bool b in bitArray) { ... } Every single boolean value will be boxed, then unboxed. And if you do this: foreach (var b in bitArray) { ... } you'll have to manually unbox b on every iteration, as it'll come out of the enumerator an object. Instead, you should manually iterate over the collection using a for loop: for (int i=0; i<bitArray.Length; i++) { bool b = bitArray[i]; ... } Following on from that, if you want to use BitArray in the context of an IEnumerable<bool>, ICollection<bool> or IList<bool>, you'll need to write a wrapper class, or use the Enumerable.Cast<bool> extension method (although Cast would box and unbox every value you get out of it). There is no Add or Remove method. You specify the number of bits you need in the constructor, and that's what you get. You can change the length yourself using the Length property setter though. It doesn't implement IList. Although not really important if you're writing a generic wrapper around it, it is something to bear in mind if you're using it with pre-generic code. However, if you use BitArray carefully, it can provide significant gains over a List<bool> for functionality and efficiency of space. OrderedDictionary System.Collections.Specialized.OrderedDictionary does exactly what you would expect - it's an IDictionary that maintains items in the order they are added. It does this by storing key/value pairs in a Hashtable (to get O(1) key lookup) and an ArrayList (to maintain the order). You can access values by key or index, and insert or remove items at a particular index. The enumerator returns items in index order. However, the Keys and Values properties return ICollection, not IList, as you might expect; CopyTo doesn't maintain the same ordering, as it copies from the backing Hashtable, not ArrayList; and any operations that insert or remove items from the middle of the collection are O(n), just like a normal list. In short; don't use this class. If you need some sort of ordered dictionary, it would be better to write your own generic dictionary combining a Dictionary<TKey, TValue> and List<KeyValuePair<TKey, TValue>> or List<TKey> for your specific situation. ListDictionary and HybridDictionary To look at why you might want to use ListDictionary or HybridDictionary, we need to examine the performance of these dictionaries compared to Hashtable and Dictionary<object, object>. For this test, I added n items to each collection, then randomly accessed n/2 items: So, what's going on here? Well, ListDictionary is implemented as a linked list of key/value pairs; all operations on the dictionary require an O(n) search through the list. However, for small n, the constant factor that big-o notation doesn't measure is much lower than the hashing overhead of Hashtable or Dictionary. HybridDictionary combines a Hashtable and ListDictionary; for small n, it uses a backing ListDictionary, but switches to a Hashtable when it gets to 9 items (you can see the point it switches from a ListDictionary to Hashtable in the graph). Apart from that, it's got very similar performance to Hashtable. So why would you want to use either of these? In short, you wouldn't. Any gain in performance by using ListDictionary over Dictionary<TKey, TValue> would be offset by the generic dictionary not having to cast or box the items you store, something the graphs above don't measure. Only if the performance of the dictionary is vital, the dictionary will hold less than 30 items, and you don't need type safety, would you use ListDictionary over the generic Dictionary. And even then, there's probably more useful performance gains you can make elsewhere.

    Read the article

  • How to FTP transfer files to /var/www?

    - by jc.yin
    I'm new to linux and I've set up a web server with Ubuntu Desktop edition so I can practice with the GUI a bit before transitioning to Ubuntu Server. I've already set up a LAMP stack as well as FTP. Now I just need to know how to transfer my web files to the /var/www folder in Ubuntu. Previously I've worked on Mac OS and there's a central server for all the web files where I can FTP to. Anyone able to help me understand how do I FTP to the /var/www folder in Ubuntu? Thanks

    Read the article

  • What's a good 2D animation program for Linux (an alternative for e.g. Flash CS)?

    - by Martin Zeltin
    I don't mean the flash player here, I'm talking about the flash program that i can make animations with. Like Adoble Flash CS (formerly known as Macromedia flash). Is there a program on linux that i can make animations? I want to make a movie like animator vs animation. I used easy gif animator on windows lol it was a bit harder than flash but i'm on linux and I'd like to know what it has to offer. Worse case scenario, what gif animators are there on linux. :) Thanks!

    Read the article

  • Going home now :-)

    - by Mike Dietrich
    3 weeks of traveling through Asia and Australia - nearly 500 customers and partners in 8 workshops in Tokyo, Seoul, Beijing, Shenzhen, Singapore, Melbourne, Perth and Manila. Great people in all places, many interesting discussions, several new reference prospects for Oracle Database 11g Release 2 - YOU should upgrade as well pretty soon :-) But now it's time to go home. We are a bit exhausted but we really enjoyed it talking to and with you. And I'd suppose we'll meet again the sooner or later. Thanks to everybody - and special thanks to the local colleagues and especially to Abe-san, Kota-san, Blair Layton and Shaheen Ismail for taking care on us, organizing our workshops and the whole setup!!!

    Read the article

  • tail stops displaying in case of a log rotation

    - by Rudy Vissers
    I have to tail the log of a server (servicemix) and the log rotation is enabled. As soon as the rotation happens, tail stops displaying. I did some investigations and it is a bug in Debian : Debian Bug Report. The bug has been around for a long time ago. Does anyone knows if this bug in Ubuntu is to be fixed? I'm on Ubuntu 12.04 64 bit. I don't have to mention that this bug is total hell! Every time I have the problem, I have to interrupt the command tail and re-execute the command!

    Read the article

  • Pls help Installation has ruined laptop

    - by user287694
    Hi this was my time using Linux. So I installed Ubuntu from Windows 7 via USB. After booting into Ubuntu I proceeded to do a full install over windows. This seemed to be going fine but at the point where I was to sign up to Ubuntu one it froze. After awhile maybe 30 mins I realised nothing was going to happen, so I restarted. Now after the bios options bit passes all I get is a prompt flashing at the top left of a black screen. I have tried booting up via USB option but nothing happens, I have tried this 6 or 7 times with fresh usb each time and also with lubuntu. I'm not sure if I have correctly made a live usb obviously I believe I have been but being new I can't guarantee this. Can anyone help me get some functional out of my laptop. Thanks Ben

    Read the article

  • Wine installation on 12.04 LTS

    - by Dale
    Installed wine from the Software Center and kept getting errors when trying to load windows programs. Uninstalled and did the apt-get installation of the latest version (1.5.7) Ran Wine configuration and get a "Failed to connect to the mount manager, the drive configuration cannot be edited" If i try to install a program it immediately goes to "Internal error" Any Ideas or possible solutions would be appreciated. Thanks Dale Ran winecfg and got the following: getting server_pid from lock 2457 wine: cannot get pid from lock (lock isn't locked) err:process:start_wineboot failed to start wineboot, err 1359 p11-kit: couldn't load module: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: cannot open shared object file: No such file or directory getting server_pid from lock 2457 wine: cannot get pid from lock (lock isn't locked) err:winecfg:WinMain failed to restart 64-bit L"C:\windows\system32\winecfg.exe", err 1359 getting server_pid from lock 2457 wine: cannot get pid from lock (lock isn't locked)

    Read the article

  • ATI Proprietary Driver Over/Underscan setting ignored after reboot

    - by Lassi
    I installed the proprietary driver (fglrx-updates) on Ubuntu 12.10 64-bit for my graphics card (ATI Radeon HD 7570). I am using two displays, one connected with DVI, one with HDMI. I set the desktop to be expanded to both screens and disabled the under scan for the HDMI screen, which is always for some reason enabled on HDMI screens. Now the issue. Everything was fine until I restarted my computer. After reboot, the screen connected with HDMI cable had the black borders again, meaning that the under scan is again enabled. I checked the ATI CCC, and under scan was disabled. However, moving the slider to enable under scan and then back to zero fixed the issue -- temporarily. The same issue is repeated every time I restart my computer. The settings remains the same, but the computer seems to ignore it. Any ideas how I could solve the issue?

    Read the article

  • Controllers in CodeIgniter

    - by Dileep Dil
    I little bit new to the CodeIgniter framework and this is my first project with this framework. During a chat on StackOverflow somebody said that we need to make controllers tiny as possible. Currently I have a default controller named home with 1332 lines of codes (and increasing) and a model named Profunction with 1356 lines of codes (and increasing). The controller class have about 46 functions on it and also with model class. I thought that Codeigniter can handle large Controllers or Models well, is there any problem/performance issue/security issues regarding this?

    Read the article

  • Purple screen on boot, iMac

    - by Eugene B
    I have just installed Ubuntu 13.10 (special iMac iso found here) on the new iMac (dual boot). Installation of rEFIt was completed successfully, as well as the installation of Ubuntu itself. After the final reboot, rEFIt sees this distributive and allows the choice. When I select "Boot linux from HD", it sends me to grub screen, where I can select Ubuntu. And then it gets stuck on the purple screen (smpboot: Booting Node 0, Processors #1 -- for the recovery mode) with no further action. Does anybody know a solution to this problem? P.S.: I have also tried both 32 and 64-bit pc distributives (occasionally) with the same result.

    Read the article

  • Desktop Fun: Springtime Personas Themes for Firefox

    - by Asian Angel
    With weeks of winter weather left to go, it can be a bit depressing to look outside and see nothing but bland, lifeless scenery. To help bridge the time gap until you can open the windows, enjoy the warmth of the sun, and feel the spring breeze upon your face we present our Springtime Personas Themes for Firefox collection Latest Features How-To Geek ETC Internet Explorer 9 RC Now Available: Here’s the Most Interesting New Stuff Here’s a Super Simple Trick to Defeating Fake Anti-Virus Malware How to Change the Default Application for Android Tasks Stop Believing TV’s Lies: The Real Truth About "Enhancing" Images The How-To Geek Valentine’s Day Gift Guide Inspire Geek Love with These Hilarious Geek Valentines SnapBird Supercharges Your Twitter Searches Google’s New Personal Blocklist Extension Kills Search Engine Spam KeyCounter Tracks Your Keystrokes and Mouse Clicks Add Custom LED Ambient Lighting to Your PC or Media Center The Trackor Monitors Amazon Prices; Integrates with Chrome, Firefox, and Safari Four Awesome TRON Legacy Themes for Chrome and Iron

    Read the article

  • What's the format of Real World Performance Day?

    - by william.hardie
    A question that has cropped a lot of late is "what's the format of Real World Performance Day?" Not an unreasonable question you might think. Sure enough, a quick check of the Independent Oracle User Group's website tells us a bit about the Real World Performance Day event, but no formal agenda? This was one of the questions I posed to Tom Kyte (one of the main presenters) in our recent podcast. Tom tells us that this isn't your traditional event where one speaker follows another with loads of slides. In fact, the Real World Performance Day features Tom and fellow Oracle performance experts - Andrew Holdsworth and Graham Wood - continuously on stage throughout the day. All three will be discussing database performance challenges and solutions from development, architectural design and management perspectives. There's going to be multi-terabyte demos on show, less of the traditional slides, and more interactive debate and discussion going on. Tune-in and hear what else Tom has to say about this fairly unique event!

    Read the article

  • Cannot boot Ubuntu 12.04 on Lenovo V570 fresh install

    - by Jonathan
    I just did a fresh install of Kubuntu 64 bit 12.04 (from the DVD) to a Lenovo V570 laptop. I did a dual boot install with Windows 7. I used the boot layout leftover from Linux Mint 12 (which was working). The installation finished with what seemed to be a success. However, when rebooting, I get this error: GRUB: “invalid arch independent ELF magic” after install on SSD Then I did grub-install and update-grub (I didn't install grub-efi, so maybe this is the problem?) Then I got "unknown filesystem error" at the grub prompt. Desperately, I gave /boot the bootable flag. Then on a reboot,... I got some strange screen with the letters PXE. It flashed momentarily, too fast to read, and then the computer jumped to a screen which asked me from which drive was the boot desired to be. As of now, I have no idea what I am doing.

    Read the article

  • Hard-copy approaches to time tracking

    - by STW
    I have a problem: I suck at tracking time-on-task for specific feature/defects/etc while coding them. I tend to jump between tasks a fair bit (partly due to the inherit juggling required by professional software development, partly due to my personal tendancy to focus on the code itself and not the business process around code). My personal preference is for a hard-copy system. Even with gabillions of pixels of real-estate on-screen I find it terribly distracting to keep a tracking window convienient; either I forget about it or it gets in my ways. So, looking for suggestions on time-tracking. My only requirement is a simple system to track start/stop times per task. I've considered going as far as buying a time-clock and giving each ticket a dedicated time-card. When I start working on it, punch-in; when done working, punch-out.

    Read the article

  • Java EE and GlassFish Server Roadmap Update

    - by John Clingan
    2013 has been a stellar year for both the Java EE and GlassFish Server communities. On June 12, Oracle and its partners announced the release of Java EE 7, which delivers on three major themes – HTML5, developer productivity, and meeting enterprise demands. The online event attracted over 10,000 views in the first two days! During the online event, Oracle also announced the availability of GlassFish Server Open Source Edition 4, the world's first Java EE 7 compatible application server. The primary role of GlassFish Server Open Source Edition has been, and continues to be, driving adoption of the latest release of the Java Platform, Enterprise Edition. Oracle also announced the Java EE 7 SDK, which bundles GlassFish Server Open Source Edition 4, as a Java EE 7 learning aid. Last, Oracle publicly announced the Java EE 7 reference implementation based on GlassFish Server Open Source Edition 4. Java EE is a popular platform, as evidenced by the 20+ Java EE 6 compatible implementations available to choose from. After the launch of Java EE 7 and GlassFish Server Open Source Edition 4, we began planning the Java EE 8 roadmap, which was covered during the JavaOne Strategy Keynote. To summarize, there is a lot of interest in improving on HTML5 support, Cloud, and investigating NoSQL support. We received a lot of great feedback from the community and customers on what they would like to see in Java EE 8. As we approached JavaOne 2013, we started planning the GlassFish Server roadmap. What we announced at JavaOne was that GlassFish Server Open Source Edition 4.1 is scheduled for 2014. Here is an update to that roadmap. GlassFish Server Open Source Edition 4.1 is scheduled for 2014 We are planning updates as needed to GlassFish Server Open Source Edition, which is commercially unsupported As we head towards Java EE 8: The trunk will eventually transition to GlassFish Server Open Source Edition 5 as a Java EE 8 implementation The Java EE 8 Reference Implementation will be derived from GlassFish Server Open Source Edition 5. This replicates what has been done in past Java EE and GlassFish Server releases. Oracle will no longer release future major releases of Oracle GlassFish Server with commercial support – specifically Oracle GlassFish Server 4.x with commercial Java EE 7 support will not be released. Commercial Java EE 7 support will be provided from WebLogic Server. Oracle GlassFish Server will not be releasing a 4.x commercial version Expanding on that last bullet, new and existing Oracle GlassFish Server 2.1.x and 3.1.x commercial customers will continue to be supported according to the Oracle Lifetime Support Policy. Oracle recommends that existing commercial Oracle GlassFish Server customers begin planning to move to Oracle WebLogic Server, which is a natural technical and license migration path forward: Applications developed to Java EE standards can be deployed to both GlassFish Server and Oracle WebLogic Server GlassFish Server and Oracle WebLogic Server have implementation-specific deployment descriptor interoperability (here and here). GlassFish Server 3.x and Oracle WebLogic Server share quite a bit of code, so there are quite a bit of configuration and (extended) feature similarities. Shared code includes JPA, JAX-RS, WebSockets (pre JSR 356 in both cases), CDI, Bean Validation, JAX-WS, JAXB, and WS-AT. Both Oracle GlassFish Server 3.x and Oracle WebLogic Server 12c support Oracle Access Manager, Oracle Coherence, Oracle Directory Server, Oracle Virtual Directory, Oracle Database, Oracle Enterprise Manager and are entitled to support for the underlying Oracle JDK. To summarize, Oracle is committed to the future of Java EE.  Java EE 7 has been released and planning for Java EE 8 has begun. GlassFish Server Open Source Edition continues to be the strategic foundation for Java EE reference implementation going forward. And for developers, updates will be delivered as needed to continue to deliver a great developer experience for GlassFish Server Open Source Edition. We are planning for GlassFish Server Open Source Edition 5 as the foundation for the Java EE 8 reference implementation, as well as bundling GlassFish Server Open Source Edition 5 in a Java EE 8 SDK, which is the most popular distribution of GlassFish. This will allow GlassFish releases to be more focused on the Java EE platform and community-driven requirements. We continue to encourage community contributions, bug reports, participation on the GlassFish forum, etc. Going forward, Oracle WebLogic Server will be the single strategic commercially supported application server from Oracle. Disclaimer: The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract.It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.

    Read the article

  • Which version of Java should I use for learning?

    - by Dan
    I am a QA engineer interested in mobile development and automation.I have basic programming experience (intermediate level Python, C++ programmer) and as most companies choose Java for writing frameworks I need to pickup Java. I use Ubutnu 12.04 LTS and I will be using Head First Java as learning material. When I searched for JDK options I found Oracle Java 6 and 7 and Open JDK. I read somewhere in Ubuntu forums that Java 6 is not recommended on Ubuntu systems and I am a little bit confused about which version should I use, that would be compatible with the book and the OS.

    Read the article

  • Does anyone actually use the /// comment blocks?

    - by Rachel
    Someone once said we should prefix all our methods with the /// <summary> comment blocks (C#) and I am wondering if that is true or not. I started to use them and found they annoyed me quite a bit, so stopped using them except for libraries and static methods. They're bulky and I'm always forgetting to update them. Do you recommend using them? Why? EDIT: I normally use // comments all the time, it's just the /// <summary> blocks I was wondering about

    Read the article

  • How do you get aware of new tools?

    - by Konstantin Petrukhnov
    How do you get aware of new tools (libraries, applications, etc)? This question is only about "getting aware" that some tool exist and could be used. Learning and trying is different issue. Right now I get most awareness from stackexchange and freshmeat sites. But I wonder if there are more efficient way. E.g. 80% of freshmeat projects are no-use for me, but it reasonable overhead, because tools that I find trough it save me days or even weeks. Here are some related, but a bit different questions: How much time do you invest in exploring new technology? How to become aware of new languages, techniques and methodologies? What website are you using most to keep you updated on software development?

    Read the article

  • Importing Models from Maya to OpenGL

    - by Mert Toka
    I am looking for ways to import models to my game project. I am using Maya as modelling software, and GLUT for windowing of my game. I found this great parser, it imports all the textures and normal vectors, but it is compatible with .obj files of 3dsMAX. I tried to use it with Maya obj's, and it turned out that Maya's obj files are a bit different from former one, thus it cannot parse them. If you know any way to convert Maya obj files to 3dsMax obj files, that would be acceptable as well as a new parser for Maya obj files.

    Read the article

  • Has anyone got Ubuntu Touch working on Nexus 5?

    - by user1628
    I have been debating whether to get a nexus 5 phone since it came out. My only fear is that I won't like android. I love ubuntu, I know that I'd love ubuntu. So I have a few question related to Ubuntu Touch: Is it easy or possible to switch between Ubuntu Touch and Android? Would I have to keep hacking the phone? Can I dual boot them? Would I lose my data every time I switch? The nexus 5 isn't mentioned here: https://wiki.ubuntu.com/Touch/Devices Does that mean it simply won't work if I follow the porting instructions? Would I have to do a bit of hacking? Has anyone got it working? Will it eventually be supported?

    Read the article

  • PHP developer wanting to learn python

    - by dclowd9901
    I'm pretty familiar at this point with PHP (Javascript, too), up to the point of OOP in PHP, and am looking to branch out my knowledge. I'm looking at Python next, but a lot of it is a bit alien to me as a PHP developer. I'm less concerned about learning the language itself. I'm positive there's plenty of good resources, documentation and libraries to help me get the code down. I'm less sure about the technical aspects of how to set up a dev environment, unit testing and other more mundane details that are very important, aid in rapid development, but aren't as widely covered. Are there any good resources out there for this?

    Read the article

  • Little Wheel Is An Atmospheric and Engaging Point-and-Click Adventure

    - by Jason Fitzpatrick
    If you’re a fan of the resurgence of highly stylized and atmospheric adventure games–such as Spirit, World of Goo, and the like–you’ll definitely want to check out this well executed, free, and more than a little bit charming browser-based game. Little Wheel is set in a world of robots where, 10,000 years ago, a terrible accident at the central power plant left all the robots without power. The entire robot world went into a deep sleep and now, thanks to a freak lightning strike, one little robot has woken up. Your job, as that little robot, is to navigate the world of Little Wheel and help bring it back to life. Hit up the link below to play the game for free–the quality of the visual and audio design make going full screen and turning the speakers on a must. Little Wheel [via Freeware Genuis] How to Make Your Laptop Choose a Wired Connection Instead of Wireless HTG Explains: What Is Two-Factor Authentication and Should I Be Using It? HTG Explains: What Is Windows RT and What Does It Mean To Me?

    Read the article

  • UML Class diagrams with Java packages?

    - by loosebruce
    I am trying to model in UML 2.0 a Java servlet application that has three classes Servlet class; essentially a main class that acts as the controller DatabaseLogic; contains methods for database operations XMLBuilder; builds an XML from a query result string The classes use a variety of packages from the Java library. I am unsure how to model this in UML Do I have to create a package and show which libraries are used for each individual class or can I just have one large package in the diagram with all the libraries showing which classes have dependencies on which. As per this diagram This is my first time working with java properly (im a C++ guy) Apart from being a bit messy , is this a correct UML representation of the system I described? Does a Package in UML mean the same as a Package in Java?

    Read the article

  • My Red Gate Experience

    - by Colin Rothwell
    I’m Colin, and I’ve been an intern working with Mike in publishing on Simple-Talk and SQLServerCentral for the past ten weeks. I’ve mostly been working “behind the scenes”, making improvements to the spam filtering, along with various other small tweaks. When I arrived at Red Gate, one of the first things Mike asked me was what I wanted to get out of the internship. It wasn’t a question I’d given a great deal of thought to, but my immediate response was the same as almost anybody: to support my growing family. Well, ok, not quite that, but money was certainly a motivator, along with simply making sure that I didn’t get bored over the summer. Three months is a long time to fill, and many of my friends end up getting bored, or worse, knitting obsessively. With the arrogance which seems fairly common among Cambridge people, I wasn’t expecting to really learn much here! In my mind, the part of the year where I am at Uni is the part where I learn things, whilst Red Gate would be an opportunity to apply what I’d learnt. Thankfully, the opposite is true: I’ve learnt a lot during my time here, and there has been a definite positive impact on the way I write code. The first thing I’ve really learnt is that test-driven development is, in general, a sensible way of working. Before coming, I didn’t really get it: how could you test something you hadn’t yet written? It didn’t make sense! My problem was seeing a test as having to test all the behaviour of a given function. Writing tests which test the bare minimum possible and building them up is a really good way of crystallising the direction the code needs to grow in, and ensures you never attempt to write too much code at time. One really good experience of this was early on in my internship when Mike and I were working on the query used to list active authors: I’d written something which I thought would do the trick, but by starting again using TDD we grew something which revealed that there were several subtle mistakes in the query I’d written. I’ve also been awakened to the value of pair programming. Whilst I could sort of see the point before coming, I also thought that it was impossible that two people would ever get more done at the same computer than if they were working separately. I still think that this is true for projects with pieces that developers can easily work on independently, and with developers who both know the codebase, but I’ve found that pair programming can be really good for learning a code base, and for building up small projects to the point where you can start working on separate components, as well as solving particularly difficult problems. Later on in my internship, for my down tools week project, I was working on adding Python support to Glimpse. Another intern and I we pair programmed the entire project, using ping pong pair programming as much as possible. One bonus that this brought which I wasn’t expecting was that I found myself less prone to distraction: with someone else peering over my shoulder, I didn’t have the ever-present temptation to open gmail, or facebook, or yammer, or twitter, or hacker news, or reddit, and so on, and so forth. I’m quite proud of this project: I think it’s some of the best code I’ve written. I’ve also been really won over to the value of descriptive variables names. In my pre-Red Gate life, as a lone-ranger style cowboy programmer, I’d developed a tendency towards laziness in variable names, sometimes abbreviating or, worse, using acronyms. I’ve swiftly realised that this is a bad idea when working with a team: saving a few key strokes is inevitably not worth it when it comes to reading code again in the future. Longer names also mean you can do away with a majority of comments. I appreciate that if you’ve come up with an O(n*log n) algorithm for something which seemed O(n^2), you probably want to explain how it works, but explaining what a variable name means is a big no no: it’s so very easy to change the behaviour of the code, whilst forgetting about the comments. Whilst at Red Gate, I took the opportunity to attend a code retreat, which really helped me to solidify all the things I’d learnt. To be completely free of any existing code base really lets you focus on best practises and think about how you write code. If you get a chance to go on a similar event, I’d highly recommend it! Cycling to Red Gate, I’ve also become much better at fitting inner tubes: if you’re struggling to get the tube out, or re-fit the tire, letting a bit of air out usually helps. I’ve also become quite a bit better at foosball and will miss having a foosball table! I’d like to finish off by saying thank you to everyone at Red Gate for having me. I’ve really enjoyed working with, and learning from, the team that brings you this web site. If you meet any of them, buy them a drink!

    Read the article

< Previous Page | 225 226 227 228 229 230 231 232 233 234 235 236  | Next Page >