Search Results

Search found 16947 results on 678 pages for 'kernel programming'.

Page 443/678 | < Previous Page | 439 440 441 442 443 444 445 446 447 448 449 450  | Next Page >

  • Will these optimizations to my Ruby implementation of diff improve performance in a Rails app?

    - by grg-n-sox
    <tl;dr> In source version control diff patch generation, would it be worth it to use the optimizations listed at the very bottom of this writing (see <optimizations>) in my Ruby implementation of diff for making diff patches? </tl;dr> <introduction> I am programming something I have never done before and there might already be tools out there to do the exact thing I am programming but at this point I am having too much fun to care so I am still going to do it from scratch, even if there is a tool for this. So anyways, I am working on a Ruby on Rails app and need a certain feature. Basically I want each entry in a table of mine, let's say for example a table of video games, to have a stored chunk of text that represents a review or something of the sort for that table entry. However, I want this text to be both editable by any registered user and also keep track of different submissions in a version control system. The simplest solution I could think of is just implement a solution that keeps track of the text body and the diff patch history of different versions of the text body as objects in Ruby and then serialize it, preferably in human readable form (so I'll most likely use YAML for this) for editing if needed due to corruption by a software bug or a mistake is made by an admin doing some version editing. So at first I just tried to dive in head first into this feature to find that the problem of generating a diff patch is more difficult that I thought to do efficiently. So I did some research and came across some ideas. Some I have implemented already and some I have not. However, it all pretty much revolves around the longest common subsequence problem, as you would already know if you have already done anything with diff or diff-like features, and optimization the function that solves it. Currently I have it so it truncates the compared versions of the text body from the beginning and end until non-matching lines are found. Then it solves the problem using a comparison matrix, but instead of incrementing the value stored in a cell when it finds a matching line like in most longest common subsequence algorithms I have seen examples of, I increment when I have a non-matching line so as to calculate edit distance instead of longest common subsequence. Although as far as I can tell between the two approaches, they are essentially two sides of the same coin so either could be used to derive an answer. It then back-traces through the comparison matrix and notes when there was an incrementation and in which adjacent cell (West, Northwest, or North) to determine that line's diff entry and assumes all other lines to be unchanged. Normally I would leave it at that, but since this is going into a Rails environment and not just some stand-alone Ruby script, I started getting worried about needing to optimize at least enough so if a spammer that somehow knew how I implemented the version control system and knew my worst case scenario entry still wouldn't be able to hit the server that bad. After some searching and reading of research papers and articles through the internet, I've come across several that seem decent but all seem to have pros and cons and I am having a hard time deciding how well in this situation that the pros and cons balance out. So are the ones listed here worth it? I have listed them with known pros and cons. </introduction> <optimizations> Chop the compared sequences into multiple chucks of subsequences by splitting where lines are unchanged, and then truncating each section of unchanged lines at the beginning and end of each section. Then solve the edit distance of each subsequence. Pro: Changes the time increase as the changed area gets bigger from a quadratic increase to something more similar to a linear increase. Con: Figuring out where to split already seems like you have to solve edit distance except now you don't care how it is changed. Would be fine if this was solvable by a process closer to solving hamming distance but a single insertion would throw this off. Use a cryptographic hash function to both convert all sequence elements into integers and ensure uniqueness. Then solve the edit distance comparing the hash integers instead of the sequence elements themselves. Pro: The operation of comparing two integers is faster than the operation of comparing two strings, so a slight performance gain is received after every comparison, which can be a lot overall. Con: Using a cryptographic hash function takes time to convert all the sequence elements and may end up costing more time to do the conversion that you gain back from the integer comparisons. You could use the built in hash function for a string but that will not guarantee uniqueness. Use lazy evaluation to only calculate the three center-most diagonals of the comparison matrix and then only calculate additional diagonals as needed. And then also use this approach to possibly remove the need on some comparisons to compare all three adjacent cells as desribed here. Pro: Can turn an algorithm that always takes O(n * m) time and make it so only worst case scenario is that time, best case becomes practically linear, and average case is somewhere between the two. Con: It is an algorithm I've only seen implemented in functional programming languages and I am having a difficult time comprehending how to convert this into Ruby based on how it is described at the site linked to above. Make a C module and do the hard work at the native level in C and just make a Ruby wrapper for it so Ruby can make all the calls to it that it needs. Pro: I have to imagine that evaluating something like this in could be a LOT faster. Con: I have no idea how Rails handles apps with ruby code that has C extensions and it hurts the portability of the app. This is an optimization for after the solving of edit distance, but idea is to store additional combined diffs with the ones produced by each version to make a delta-tree data structure with the most recently made diff as the root node of the tree so getting to any version takes worst case time of O(log n) instead of O(n). Pro: Would make going back to an old version a lot faster. Con: It would mean every new commit, the delta-tree would get a new root node that will cost time to reorganize the delta-tree for an operation that will be carried out a lot more often than going back a version, not to mention the unlikelihood it will be an old version. </optimizations> So are these things worth the effort?

    Read the article

  • Converting legacy GRUB menu entries to GRUB 2

    - by WindowsEscapist
    I would like to change an entry for a solution to boot from CD from legacy grub (looks like title bla bla bla) to an entry to a format compatible to grub 2 (the one that looks like menuentry "bla bla bla" {. The original legacy GRUB entry is as follows: title Boot From CD/DVD Drive kernel /boot/grub/memdisk.din initrd /boot/grub/sbootmgr.dsk Is there any sort of conversion rule to change this to something like the example I've put here on the next line? (This is from my precise's grub.cfg.) menuentry 'Ubuntu, with Linux 3.2.0-25-generic' --class ubuntu --class gnu-linux --class gnu --class os { recordfail gfxmode $linux_gfx_mode insmod gzio insmod part_msdos insmod ext2 set root='(hd0,msdos8)' search --no-floppy --fs-uuid --set=root efc87ac0-daac-4a32-9a85-ea57beff0e28 linux /boot/vmlinuz-3.2.0-25-generic root=UUID=efc87ac0-daac-4a32-9a85-ea57beff0e28 ro quiet splash acpi_osi= $vt_handoff initrd /boot/initrd.img-3.2.0-25-generic }

    Read the article

  • If it is possible to auto-format code before and after a source control commit, checkout, diff, etc.

    - by dennisjtaylor
    If it is possible to auto-format code before and after a source control commit, checkout, diff, etc. does a company really need a standard code style? It feels like standard coding style debates that have been raging since programming began like "put the bracket on the following line" or "properly indent your (" are no longer essential. I realize in languages where white space matters the diff will have to consider it but for languages where the style is a personal preference is there really a need to worry about it anymore?

    Read the article

  • grub crc error after decompressing linux

    - by w00t
    Hi, I have a debian with a raid1 on it. Both HDDs have bootable flags and grub setup in MBR. If I only start up with sda, linux boots. If I only start up with sdb, grub shows up and says Decompressing Linux... crc error -- System halted I have reinstalled grub a few times now but still nothing. It goes like this: /dev/md0 contains /dev/sda1 /dev/sdb1 find /boot/grub/stage1 shows (hd0,1) (hd0,1) The line that boots Linux shows: root (hd0,0) kernel /vmlinuz-2.6.26-1-686 initrd /initrd.img-2.6.26-1-686 This kind of renders my "redundant" array useless. Any clues? update: just to mention, these are 2 different HDDs, sda is 320gb and sdb is 400gb. Both are WD and both have exactly the same partitions, cloned using sfdisk.

    Read the article

  • Using symbolic links with git

    - by Alfredo Palhares
    I used to have my system configuration files all in one directory for better management but now i need to use some version control on it. But the problem is that git doesn't understand symbolic links that point to outside of the repository, and i can't invert the role ( having the real files on the repository and the symbolic links on their proper path ) since some files are read before the kernel loads. I think that I can use unison to sync the files in the repo and and the their paths, but it's just not practical. And hard links will probably be broken. Any idea ?

    Read the article

  • is Checkland's approach still relevant today?

    - by WeNeedAnswers
    I remember back in the mid 90's that I came across a systems methodology called Checkland's Approach or sometimes called SSM (Soft Systems Methodology). With the advent of Agile and Extreme Programming, not to mention some of the harder methodologies and methods out there related to Object technologies. Is the use of such a methodology still relevant in today's world?

    Read the article

  • Which python mpi library to use?

    - by Dana the Sane
    I'm starting work on some simulations using MPI and want to do the programming in Python/scipy. The scipy site lists a number of mpi libraries, but I was hoping to get feedback on quality, ease of use, etc from anyone who has used one.

    Read the article

  • What is your laptop's display size?

    - by grigy
    I want to get a new laptop and not sure what display size is the optimal. I need it for programming while I'm traveling. So the balance is between portability and usability. My old laptop is 15.4" and I think it's big and heavy for travel.

    Read the article

  • How to get a good price on dev books

    - by mgroves
    Does anyone have any tips for getting a good price on new/used programming-related books? I've looked at some of the more popular books (like DDD and GoF), and even used they can be pretty pricey. I'm not saying they aren't worth it, but I feel like there might be a more focused book store or exchange or something just for devs and/or IT professionals that I just don't know about. Any tips at all would be appreciated.

    Read the article

  • BS in CS. Are specializations worth it?

    - by CheesePls
    I'm currently pursuing my BS in Computer Science and my school offers specializations based upon taking certain advanced electives. I was thinking about getting two of them since they are sort of on the way to my degree anyway. They are Software Engineering and Programming Languages and Compilers . Would these specializations actually be useful in finding a job? Would employers even care about them?

    Read the article

  • How to find the /dev name of my USB device

    - by mustafa
    I am running Ubuntu 11 on VmWare on Windows XP. I want to format an SD card in Ubuntu. But, I can't figure out which /dev/xxx device the SD card is. I plug the card into the built-in socket of my laptop. I "safely remove" the device in Windows. Then, I "connect" the PCMCIA reader in VmWare. Now, I was supposing to see a new device like /dev/sdx. But, it doesn't appear :( How can I find what the name of my USB device's name and mount it? /var/log/message is empty. Here is the output of dmesg: [ 5268.927308] usb 2-1: new full speed USB device number 12 using uhci_hcd And, here is the last lines of /var/log/syslog: Oct 31 18:51:21 ubuntu kernel: [ 5268.927308] usb 2-1: new full speed USB device number 12 using uhci_hcd Oct 31 18:51:21 ubuntu mtp-probe: checking bus 2, device 12: "/sys/devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb2/2-1" Oct 31 18:51:21 ubuntu mtp-probe: bus: 2, device: 12 was not an MTP device

    Read the article

  • Clojure Box: Problem with classpath (noob question)

    - by Rainer
    Hello, I'm stuck with "Programming Clojure" on page 37 on a Windows 7 machine. After downloading the "examples" dir into "C:/clojure", I typed: user (require 'examples.introduction) and I got ; Evaluation aborted. java.io.FileNotFoundException: Could not locate examples/ introduction__init.class or examples/introduction.clj on classpath: (NO_SOURCE_FILE:0) My .emacs file looks like this: (setq swank-clojure-extra-classpaths (list "C:/Clojure")) The files in C:/Clojure are there (I triplechecked) Any help will be appreciated.

    Read the article

  • How to stop a Linux LVM volume group?

    - by thkala
    I am currently dealing with a multiple disk failure on a Linux LVM Volume Group that is backed up by a RAID-5 md device. One disk has been taken out completely and another one is showing a limited number of corrupt sectors, due to what seems to have been a misbehaving power supply. The problem is that once an I/O error hits, md takes the array down, since it does not have enough devices for it to be operational. Where md the only one involved, I could mdadm --stop the array and then recreate it to get all devices active again. Unfortunately, the array is a PV in an LVM volume group and I cannot seem to get the kernel to release it. vgchange -an does not seem to do anything, bar spew out a couple of I/O errors. I am obviously missing something, but how in the name of -insert-favorite-deity- do I get LVM to release the underlying PV without rebooting the server?

    Read the article

  • which touch event to use to slide an image??

    - by hemant
    i am using the following function to move a ball from one location to another wherever user touches the screen..right now i dont have an i-phone to test my application and i am new to i-phone application programming so i wanted to know does this event will also make the ball slide from one point to another wen user maintains the touch?? -(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { UITouch *touch=[[event allTouches] anyObject]; CGPoint location=[touch locationInView:touch.view]; fball.center=location; }

    Read the article

< Previous Page | 439 440 441 442 443 444 445 446 447 448 449 450  | Next Page >