Search Results

Search found 9461 results on 379 pages for 'digital signal processing'.

Page 155/379 | < Previous Page | 151 152 153 154 155 156 157 158 159 160 161 162  | Next Page >

  • HTG Explains: Live File System vs. Mastered Disc Formats in Windows

    - by Chris Hoffman
    When burning a CD or DVD with Windows, you’ll be asked whether you want to use a Live File System or a Mastered disc format. Each has its own advantages and disadvantages. Windows 7 refers to this as “Like a USB flash drive” or “With a CD/DVD player.” But how exactly can a non-rewritable disc function like a USB flash drive? 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

  • how to deal with parallel programming

    - by nkint
    Hi. I know that parallel programming is a big resource in computer graphics, with moder machines, and mayebe a computing model that will be grow up in the near future (is this trend true?). I want to know what is the best way to deal with it. there is some practical general purpose usefulness in studying processor n-dimensional mesh, or bitonic sort in p-ram machines or it's only theory for domain specific hardware used in real particular signal elaborations of scientific simulations? Is this the best way to acquire the know how for how to become acquainted with cuda or opencl? (i'm interested in computer graphics applications) and why functional programming is so important to understand parallel computing? ps: as someone has advice me i have forked this discussion from http://stackoverflow.com/questions/4908677/how-to-deal-with-parallel-programming

    Read the article

  • How to get audio spectrum analysis?

    - by Mrwolfy
    I need to find or create a tool that analyzes the audio spectrum of a sound file (like a .wav or .mp3). I need to output the "volume" or power of x number of frequency bands and output the data as text. This will be used to produce a visualization, a graphic equalizer like you'd see on a stereo. I am currently looking at python to do it. My question is are there some tools out there that would do this (signal processing), like math works or others? I don't have any experience with them so any advice would be appreciated.

    Read the article

  • Computer Freezes After GRUB

    - by paulmcg421
    Ok so I've just built my first computer and have got it running, here are the specs: Asus P8Z68-V PCI-E LX Motherboard, Intel Core i5-2500K, Patriot Memory 8GB (2 x 4GB), Viper Xtreme Series PC3-15000 1866MHz CL9 Division 2 Edition Memory (PXD38G1866ELK), Gigabyte ATI Radeon 6850 820MHz 1GB PCI-E HDMI OC Windforce 2x 500w Ezcool 24pin psu as standard. The only thing I haven't bought new is the hard drive, it's a 250gb that I removed from an Acer Aspire M5100 that I was using till now with no OS Problems. On start up it runs fine but is unresponsive after the GRUB menu disappears to load Ubuntu (Oneric Ocelot). The keyboard lights then turn off and the screen eventually returns that there is no signal. Is there anything that I could be missing from building? (This is my first attempt at building my own PC) Any input would be appreciated, thanks !

    Read the article

  • 5.1 surround sound for 12.04

    - by iwhorl
    I am very new to Ubuntu and linux as I have used windows only until yesterday. I am attempting to send my audio signal to my pioneer reciever using a single digital optical cable which is plugged into my M2N Sli Deluxe motherboard. I am sending video with a Geforce 8600gt video card through HDMI. That card does not support audio through HDMI. The only thing I have got to work so far is my left channel speaker acts as a stereo left and my sub woofer is trying to act as a stereo right. I was able to achieve this through altering the alsamixer settings. Can anyone point me in the right direction on this?

    Read the article

  • mount remotely mybook live network drive

    - by bob
    I have a mybook live western digital 1TB hard disk connected to fritzbox 7270 router in office. When I am in the office, I can mount this drive to ubuntu since I have added to the etc/fstab file: //192.168.178.30/user /home/user/DISK cifs auto,iocharset=utf8,user=user%password 0 0 Is there a similar, easy & safe way, to do the same when I am out of the office using the static IP of the fritzbox router? I have already added tcp port forwarding in the router for ports 8080 (to 80 of the disk) and 8443 (to 443 of the disk). Thank you in advance

    Read the article

  • Ce que Microsoft a appris de la lutte contre les botnets, exposé par l'un de ses chercheurs

    Mise à jour du 20.03.2010 par Katleen Ce que Microsoft a appris en matière de lutte contre les botnets, exposé par l'un de ses chercheurs "Voici publiées les premières leçons que nous et d'autres chercheurs avons tirées de l'impact de l'opération b49." Microsoft semble avoir beaucoup appris de son action de neutralisation du botnet Waledac (même si celui-ci a depuis repris du service). Les unités spécialisées de la Digital Crimes Units ont d'abord du attaquer le botnet par couches. Ceci, via des perturbations de communications P2P et des désactivations de noms de domaine pour empêcher les échanges entre les ordinateurs zombies et les serveurs de commande et de ...

    Read the article

  • Converting MOD files to quicktime or mpeg for adobe premiere pro

    Ive been Editing lots of videos lately. My company got a video camera: Canon Legria FS200. It saves the movies in a digital format as MOD files. Unfortunately, Adobe Premiere doesnt work with these files. I needed software to convert MOD files to QuickTime or mpeg files. I found a good free one : Its called Mpeg StreamClip:  It works well. and its pretty fast. And its Free. Whats not to like? ...Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here.

    Read the article

  • can not get Toshiba tv to full resolution

    - by Tloc2077
    I have a 23inch Toshiba model#23L1350U that I am using as a computer monitor via VGA plug; it is a full 1080P resolution TV but in Ubuntu it shows up as a Toshiba 72inch Television and wont go past the resolution 1366 by 1768. Has anyone came up with a solution to this problem..I used to get full 1080 resolution with my Insignia 32 inch TV so I know my hardware can push the signal, I am running a Radeon x1550 graphics cars 3200+ processor on a 756 chip set 64bit version of Ubuntu 13.04 your help is greatly appreciated and you may or may not be compensated for your time

    Read the article

  • OSCON: Java and a Nice Discount

    - by Tori Wieldt
    Now in its 14th year, OSCON, O'Reilly's annual open source conference, will once again be in Portland, OR on July 16-20, 2012.  Join the world’s open source pioneers, builders, and innovators at the Oregon Convention Center for five intense days to learn about open development, challenge your assumptions, and fire up your brain.With 200+ speakers, 18 tracks, hundreds of technologies, and over 3,000 hackers in attendance, it's a place to learn and network. You’ll find practical tutorials, inspirational keynotes, and a wealth of information on open source languages, platforms, and development. OSCON includes whole track devoted to Java & the JVM, and the list of speakers is impressive. OSCON is where the serious thinkers and doers—and their favorite technologies—converge. And when the day’s sessions are over, join people just like you for some serious fun. Thanks to Java Magazine (you have subscribed to Java Magazine, right? If not, get your free digital subscription now!), you can register for OSCON and save 20% with code JAVAMAG.

    Read the article

  • How To Enable Do Not Track In Every Web Browser

    - by Chris Hoffman
    We’ve covered why “Do Not Track” isn’t a silver bullet that prevents you from being tracked. However, if you don’t like being tracked and want to express that preference to websites, you can enable “Do Not Track” in every browser. To Google’s credit, future versions of Chrome explain exactly what Do Not Track does when you enable it. Remember that, by enabling Do Not Track, you’re just expressing a preference. Websites may or may not obey your preference. Why Enabling “Do Not Track” Doesn’t Stop You From Being Tracked 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

    Read the article

  • Ubuntu 12.04 Hp G72 Problem Installing proprietary wireless driver

    - by user69402
    I have a fresh Ubuntu 12.04 installed on HP G72 machine. In order for my wireless to work I need the proprietary driver installed - Broadcom STA wireless driver. Trying to install it from the System Settings gives me the error: "Sorry, installation of this driver failed. Please have a look at the log file for details: /var/log/jockey.log". So far I suspect the error to be caused by the bad "bcmwl-kernel-source" installation. What i tried: 1. remove "bcmwl-kernel-source" 2. install "bcmwl-kernel-source" installation through the terminal ends with "error code (1)". I would greatly appreciate any help Here is everything that the terminal returns: Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: bcmwl-kernel-source 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 0 B/1,151 kB of archives. After this operation, 3,514 kB of additional disk space will be used. Selecting previously unselected package bcmwl-kernel-source. (Reading database ... 170331 files and directories currently installed.) Unpacking bcmwl-kernel-source (from .../bcmwl-kernel-source_5.100.82.38+bdcom-0ubuntu6.1_amd64.deb) ... Setting up bcmwl-kernel-source (5.100.82.38+bdcom-0ubuntu6.1) ... Loading new bcmwl-5.100.82.38+bdcom DKMS files... /usr/sbin/dkms: line 467: unset: POST_REMOVE$PRE_BUMLD': not a valid identifier /usr/sbin/dkms: line 467: unset:BUILD_E\CLUWIVE_ARCH': not a valid identifier /usr/sbin/dkms: line 467: unset: $': not a valid identifier /usr/sbin/dkms: line 467: unset:$': not a valid identifier /usr/sbin/dkms: line 467: unset: modules_conf_arra}': not a valid identifier /usr/sbin/dkms: line 467: unset:$': not a valid identifier /usr/sbin/dkms: line 467: unset: $': not a valid identifier /usr/sbin/dkms: line 467: unset:$': not a valid identifier /usr/sbin/dkms: line 467: unset: $': not a valid identifier /usr/sbin/dkms: line 467: unset:$': not a valid identifier /usr/sbin/dkms: line 467: unset: `$': not a valid identifier /usr/sbin/dkms: line 419: ${!POST_REMOVE$PRE_BUMLD[@]}: bad substitution /usr/sbin/dkms: line 419: ${!BUILD_E\CLUWIVE_ARCH[@]}: bad substitution /usr/sbin/dkms: line 419: ${!$[@]}: bad substitution /usr/sbin/dkms: line 419: ${!$[@]}: bad substitution /usr/sbin/dkms: line 419: ${!$[@]}: bad substitution /usr/sbin/dkms: line 419: ${!$[@]}: bad substitution /usr/sbin/dkms: line 419: ${!$[@]}: bad substitution /usr/sbin/dkms: line 419: ${!$[@]}: bad substitution /usr/sbin/dkms: line 419: ${!$[@]}: bad substitution /usr/sbin/dkms: line 419: ${!$[@]}: bad substitution malloc: ../bash/subst.c:3671: assertion botched free: start and end chunk sizes differ Aborting.../tmp/tmp.pEXTnftUfI: line 4: modules_conf_arra}[[@]}]=[[@]}]}: command not found dkms.conf: Error! No 'DEST_MODULE_LOCATION' directive specified for record #0. dkms.conf: Error! Directive 'DEST_MODULE_LOCATION' does not begin with '/kernel', '/updates', or '/extra' in record #0. dkms.conf: Error! No 'PACKAGE_VERSION' directive specified. Error! Bad conf file. File: /usr/src/bcmwl-5.100.82.38+bdcom/dkms.conf does not represent a valid dkms.conf file. dpkg: error processing bcmwl-kernel-source (--configure): subprocess installed post-installation script returned error exit status 8 Errors were encountered while processing: bcmwl-kernel-source E: Sub-process /usr/bin/dpkg returned an error code (1)

    Read the article

  • How Hot Can It Get? [Video]

    - by Asian Angel
    The coldest temperature possible is zero degrees Kelvin, but how hot do you think it can actually get? Watch as Vsauce discusses the varying levels of temperatures, what happens at those levels, and ends with the hottest possible temperature known to humanity. How Hot Can It Get? [via Geeks are Sexy] Why Enabling “Do Not Track” Doesn’t Stop You From Being Tracked 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

    Read the article

  • Is content slowing down your business?

    - by Lance Shaw
    We are living in a digital world, however paper is everywhere and expensive, right? We all agree content is an important part of our organization and contribute to its decision making. However many of us see dealing with this as a challenge and the growth of content is impacting our ability to scale and respond quickly to our customers. Business always has been content intensive. For JD Edwards customers, this is an important consideration.  After all, the processes being run in JD Edwards are usually very critical to the success of your business and if they are not running as smoothly as they should due to manual process steps involving paper or searching for content, you should look into improving them.  To that end, we hope you will join this webinar and learn how Oracle and KPIT | SYSTIME have partnered to help a JD Edwards customer content-enable its enterprise with Oracle WebCenter Content and Oracle WebCenter Imaging 11g and integrate them back with JD Edwards to significantly improve processing speed and operational costs.

    Read the article

  • What's new in Servlet 3.1 ? - Java EE 7 moving forward

    - by arungupta
    Servlet 3.0 was released as part of Java EE 6 and made huge changes focused at ease-of-use. The idea was to leverage the latest language features such as annotations and generics and modernize how Servlets can be written. The web.xml was made as optional as possible. Servet 3.1 (JSR 340), scheduled to be part of Java EE 7, is an incremental release focusing on couple of key features and some clarifications in the specification. The main features of Servlet 3.1 are explained below: Non-blocking I/O - Servlet 3.0 allowed asynchronous request processing but only traditional I/O was permitted. This can restrict scalability of your applications. Non-blocking I/O allow to build scalable applications. TOTD #188 provide more details about how non-blocking I/O can be done using Servlet 3.1. HTTP protocol upgrade mechanism - Section 14.42 in the HTTP 1.1 specification (RFC 2616) defines an upgrade mechanism that allows to transition from HTTP 1.1 to some other, incompatible protocol. The capabilities and nature of the application-layer communication after the protocol change is entirely dependent upon the new protocol chosen. After an upgrade is negotiated between the client and the server, the subsequent requests use the new chosen protocol for message exchanges. A typical example is how WebSocket protocol is upgraded from HTTP as described in Opening Handshake section of RFC 6455. The decision to upgrade is made in Servlet.service method. This is achieved by adding a new method: HttpServletRequest.upgrade and two new interfaces: javax.servlet.http.HttpUpgradeHandler and javax.servlet.http.WebConnection. TyrusHttpUpgradeHandler shows how WebSocket protocol upgrade is done in Tyrus (Reference Implementation for Java API for WebSocket). Security enhancements Applying run-as security roles to #init and #destroy methods Session fixation attack by adding HttpServletRequest.changeSessionId and a new interface HttpSessionIdListener. You can listen for any session id changes using these methods. Default security semantic for non-specified HTTP method in <security-constraint> Clarifying the semantics if a parameter is specified in the URI and payload Miscellaneous ServletResponse.reset clears any data that exists in the buffer as well as the status code, headers. In addition, Servlet 3.1 will also clears the state of calling getServletOutputStream or getWriter. ServletResponse.setCharacterEncoding: Sets the character encoding (MIME charset) of the response being sent to the client, for example, to UTF-8. Relative protocol URL can be specified in HttpServletResponse.sendRedirect. This will allow a URL to be specified without a scheme. That means instead of specifying "http://anotherhost.com/foo/bar.jsp" as a redirect address, "//anotherhost.com/foo/bar.jsp" can be specified. In this case the scheme of the corresponding request will be used. Clarification in HttpServletRequest.getPart and .getParts without multipart configuration. Clarification that ServletContainerInitializer is independent of metadata-complete and is instantiated per web application. A complete replay of What's New in Servlet 3.1: An Overview from JavaOne 2012 can be seen here (click on CON6793_mp4_6793_001 in Media). Each feature will be added to the JSR subject to EG approval. You can share your feedback to [email protected]. Here are some more references for you: Servlet 3.1 Public Review Candidate Downloads Servlet 3.1 PR Candidate Spec Servlet 3.1 PR Candidate Javadocs Servlet Specification Project JSR Expert Group Discussion Archive Java EE 7 Specification Status Several features have already been integrated in GlassFish 4 Promoted Builds. Have you tried any of them ? Here are some other Java EE 7 primers published so far: Concurrency Utilities for Java EE (JSR 236) Collaborative Whiteboard using WebSocket in GlassFish 4 (TOTD #189) Non-blocking I/O using Servlet 3.1 (TOTD #188) What's New in EJB 3.2 ? JPA 2.1 Schema Generation (TOTD #187) WebSocket Applications using Java (JSR 356) Jersey 2 in GlassFish 4 (TOTD #182) WebSocket and Java EE 7 (TOTD #181) Java API for JSON Processing (JSR 353) JMS 2.0 Early Draft (JSR 343) And of course, more on their way! Do you want to see any particular one first ?

    Read the article

  • Putting Ubuntu Server on to a networked HDD

    - by SimplySimon
    Firstly, I know very little about servers and secondly the 1Tb HDD I have has network capabilities, but no software is installed on it, so when connected to the computer it is seen as a network connection, but not as a drive. Any advice on how to get started would be great. Up until now, I have been using it as a USB drive which worked well, but when this is sorted, I would like it to be connected directly to our BT HomeHub accessible through the WiFi for all the family to use as a film and back up repository. I would then be able to set up individual accounts for each family member to use and may be, if possible, make it accessible from outside locations. The First question then is: How can I install Ubuntu server on the 1Tb HDD attached directly to the computers network port but which doesn't show up in Nautilus? HDD Western Digital 1.0Tb LBA 1953525168 Model: WD10EACS-00DB0 DCM: DHRNHT2CF

    Read the article

  • How to fix slow wireless with Intel 4965 AGN? [closed]

    - by mikewhatever
    Possible Duplicate: Slow wireless with an Intel 4965 We run Ubuntu 12.04, 32bit, with the current kernel 3.2.27-generic on an MSI EX700. I've already added the 11n_disable=1 tweek, without whcih, wireless has been unusable. Now, it works OK, but speedtest shows: Windows XP - down 11.68mbps, up 2.07mbps Ubuntu 12.04 - down 2.06mbps up 2.0mbps We've disabled ipv6, tried static and dinamic IPs, tried both swcrypto=0 and swcrypto=1 options, none of whcih made any difference. The problem may be the symptom of high packet loss. For example, here's the output of iwconfig after booting and testing the speeds: wlan0 IEEE 802.11abg ESSID:"amu" Mode:Managed Frequency:2.462 GHz Access Point: 00:78:9E:FA:32:C8 Bit Rate=54 Mb/s Tx-Power=15 dBm Retry long limit:7 RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality=58/70 Signal level=-52 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:11 Invalid misc:3627 Missed beacon:0 I've posted a help request before with lots of technical info and outputs.

    Read the article

  • tty1 prompt before lightdm

    - by David Weldon
    After upgrading to 13.10, every time I boot I'm shown a login prompt (tty1) for ~30 seconds before lightdm automatically starts. Everything works fine after that. Any ideas on what I could try to fix/debug this? My /var/log/lightdm/x-0-greeter.log contains lines like the following: ** (at-spi2-registryd:1381): WARNING **: Failed to register client: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files ** (at-spi2-registryd:1381): WARNING **: Unable to register client with session manager WARNING: Failed to open sessions directory: Error opening directory '/usr/share/lightdm/sessions': No such file or directory ** Message: PID 1534 (we are 1534) sent signal 15, shutting down... ** (gnome-settings-daemon:1401): WARNING **: Name taken or bus went away - shutting down Searching for these errors results in a variety of bugs filed over the years. Maybe a clean install will fix this.

    Read the article

  • Suddenly today, no HDMI on both Ubuntu 12.04 and Windows 7. What is HDA driver?

    - by Mike
    In the past, I just plug in hdmi, then boot laptop, and I have display on tv. Today my tv reads as "No Signal". When I go into "sound" on dashboard, there is No HDMI option. I don't understand what could have changed in the past few days. I also have Windows 7 on this machine, and I have same issue on there as well. In Ubuntu I scanned for drivers, and it asked if I wanted to activate HDA driver for DKMS. I'm not sure what that is. I googled and it looks like an audio driver. In Windows, Its says driver is up to date.

    Read the article

  • Is a yobibit really a meaningful unit? [closed]

    - by Joe
    Wikipedia helpfully explains: The yobibit is a multiple of the bit, a unit of digital information storage, prefixed by the standards-based multiplier yobi (symbol Yi), a binary prefix meaning 2^80. The unit symbol of the yobibit is Yibit or Yib.1[2] 1 yobibit = 2^80 bits = 1208925819614629174706176 bits = 1024 zebibits[3] The zebi and yobi prefixes were originally not part of the system of binary prefixes, but were added by the International Electrotechnical Commission in August 2005.[4] Now, what in the world actually takes up 1,208,925,819,614,629,174,706,176 bits? The information content of the known universe? I guess this is forward thinking -- maybe astrophyics or nanotech, or even DNA analysis really will require these orders of magnitude. How far off do you think all this is? Are these really meaningful units?

    Read the article

  • Ubuntu 11.0 HDMI Video Card No 5.1 Audio

    - by ryandlf
    I am using Ubuntu and XMBC on my HTPC and have chosen the Radeon HD5570 Video card which has an HDMI output. In the sound preferences there is no surround sound option for the video card just stereo and although I can get sound through it in XBMC, my receiver does not state Dolby Digital on movies that are in fact Dolby so its definitely not giving me the true sound it should. Does this card not support surround sound through HDMI and I somehow missed it? If that is the case does anyone have suggestion that has been tested and works? Id like to know its going to work before investing in yet another video card.

    Read the article

  • Are Modern Computers Still Vulnerable to Damage via Magnets?

    - by Jason Fitzpatrick
    It’s such an oft repeated warning that it’s firmly embedded in nerd lore: bring a magnet anywhere near your precious computer and suffer the dire consequences. But is true? Is your computer one run in with a novelty magnet away from digital death? Today’s Question & Answer session comes to us courtesy of SuperUser—a subdivision of Stack Exchange, a community-drive grouping of Q&A web sites. How To Create a Customized Windows 7 Installation Disc With Integrated Updates How to Get Pro Features in Windows Home Versions with Third Party Tools HTG Explains: Is ReadyBoost Worth Using?

    Read the article

  • How can I implement a database TableView like thing in C++?

    - by Industrial-antidepressant
    How can I implement a TableView like thing in C++? I want to emulating a tiny relation database like thing in C++. I have data tables, and I want to transform it somehow, so I need a TableView like class. I want filtering, sorting, freely add and remove items and transforming (ex. view as UPPERCASE and so on). The whole thing is inside a GUI application, so datatables and views are attached to a GUI (or HTML or something). So how can I identify an item in the view? How can I signal it when the table is changed? Is there some design pattern for this? Here is a simple table, and a simple data item: #include <string> #include <boost/multi_index_container.hpp> #include <boost/multi_index/member.hpp> #include <boost/multi_index/ordered_index.hpp> #include <boost/multi_index/random_access_index.hpp> using boost::multi_index_container; using namespace boost::multi_index; struct Data { Data() {} int id; std::string name; }; struct row{}; struct id{}; struct name{}; typedef boost::multi_index_container< Data, indexed_by< random_access<tag<row> >, ordered_unique<tag<id>, member<Data, int, &Data::id> >, ordered_unique<tag<name>, member<Data, std::string, &Data::name> > > > TDataTable; class DataTable { public: typedef Data item_type; typedef TDataTable::value_type value_type; typedef TDataTable::const_reference const_reference; typedef TDataTable::index<row>::type TRowIndex; typedef TDataTable::index<id>::type TIdIndex; typedef TDataTable::index<name>::type TNameIndex; typedef TRowIndex::iterator iterator; DataTable() : row_index(rule_table.get<row>()), id_index(rule_table.get<id>()), name_index(rule_table.get<name>()), row_index_writeable(rule_table.get<row>()) { } TDataTable::const_reference operator[](TDataTable::size_type n) const { return rule_table[n]; } std::pair<iterator,bool> push_back(const value_type& x) { return row_index_writeable.push_back(x); } iterator erase(iterator position) { return row_index_writeable.erase(position); } bool replace(iterator position,const value_type& x) { return row_index_writeable.replace(position, x); } template<typename InputIterator> void rearrange(InputIterator first) { return row_index_writeable.rearrange(first); } void print_table() const; unsigned size() const { return row_index.size(); } TDataTable rule_table; const TRowIndex& row_index; const TIdIndex& id_index; const TNameIndex& name_index; private: TRowIndex& row_index_writeable; }; class DataTableView { DataTableView(const DataTable& source_table) {} // How can I implement this? // I want filtering, sorting, signaling upper GUI layer, and sorting, and ... }; int main() { Data data1; data1.id = 1; data1.name = "name1"; Data data2; data2.id = 2; data2.name = "name2"; DataTable table; table.push_back(data1); DataTable::iterator it1 = table.row_index.iterator_to(table[0]); table.erase(it1); table.push_back(data1); Data new_data(table[0]); new_data.name = "new_name"; table.replace(table.row_index.iterator_to(table[0]), new_data); for (unsigned i = 0; i < table.size(); ++i) std::cout << table[i].name << std::endl; #if 0 // using scenarios: DataTableView table_view(table); table_view.fill_from_source(); // synchronization with source table_view.remove(data_item1); // remove item from view table_view.add(data_item2); // add item from source table table_view.filter(filterfunc); // filtering table_view.sort(sortfunc); // sorting // modifying from source_able, hot to signal the table_view? // FYI: Table view is atteched to a GUI item table.erase(data); table.replace(data); #endif return 0; }

    Read the article

  • Faster Memory Allocation Using vmtasks

    - by Steve Sistare
    You may have noticed a new system process called "vmtasks" on Solaris 11 systems: % pgrep vmtasks 8 % prstat -p 8 PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP 8 root 0K 0K sleep 99 -20 9:10:59 0.0% vmtasks/32 What is vmtasks, and why should you care? In a nutshell, vmtasks accelerates creation, locking, and destruction of pages in shared memory segments. This is particularly helpful for locked memory, as creating a page of physical memory is much more expensive than creating a page of virtual memory. For example, an ISM segment (shmflag & SHM_SHARE_MMU) is locked in memory on the first shmat() call, and a DISM segment (shmflg & SHM_PAGEABLE) is locked using mlock() or memcntl(). Segment operations such as creation and locking are typically single threaded, performed by the thread making the system call. In many applications, the size of a shared memory segment is a large fraction of total physical memory, and the single-threaded initialization is a scalability bottleneck which increases application startup time. To break the bottleneck, we apply parallel processing, harnessing the power of the additional CPUs that are always present on modern platforms. For sufficiently large segments, as many of 16 threads of vmtasks are employed to assist an application thread during creation, locking, and destruction operations. The segment is implicitly divided at page boundaries, and each thread is given a chunk of pages to process. The per-page processing time can vary, so for dynamic load balancing, the number of chunks is greater than the number of threads, and threads grab chunks dynamically as they finish their work. Because the threads modify a single application address space in compressed time interval, contention on locks protecting VM data structures locks was a problem, and we had to re-scale a number of VM locks to get good parallel efficiency. The vmtasks process has 1 thread per CPU and may accelerate multiple segment operations simultaneously, but each operation gets at most 16 helper threads to avoid monopolizing CPU resources. We may reconsider this limit in the future. Acceleration using vmtasks is enabled out of the box, with no tuning required, and works for all Solaris platform architectures (SPARC sun4u, SPARC sun4v, x86). The following tables show the time to create + lock + destroy a large segment, normalized as milliseconds per gigabyte, before and after the introduction of vmtasks: ISM system ncpu before after speedup ------ ---- ------ ----- ------- x4600 32 1386 245 6X X7560 64 1016 153 7X M9000 512 1196 206 6X T5240 128 2506 234 11X T4-2 128 1197 107 11x DISM system ncpu before after speedup ------ ---- ------ ----- ------- x4600 32 1582 265 6X X7560 64 1116 158 7X M9000 512 1165 152 8X T5240 128 2796 198 14X (I am missing the data for T4 DISM, for no good reason; it works fine). The following table separates the creation and destruction times: ISM, T4-2 before after ------ ----- create 702 64 destroy 495 43 To put this in perspective, consider creating a 512 GB ISM segment on T4-2. Creating the segment would take 6 minutes with the old code, and only 33 seconds with the new. If this is your Oracle SGA, you save over 5 minutes when starting the database, and you also save when shutting it down prior to a restart. Those minutes go directly to your bottom line for service availability.

    Read the article

  • Should I expose IObservable<T> on my interfaces?

    - by Alex
    My colleague and I have dispute. We are writing a .NET application that processes massive amounts of data. It receives data elements, groups subsets of them into blocks according to some criterion and processes those blocks. Let's say we have data items of type Foo arriving some source (from the network, for example) one by one. We wish to gather subsets of related objects of type Foo, construct an object of type Bar from each such subset and process objects of type Bar. One of us suggested the following design. Its main theme is exposing IObservable objects directly from the interfaces of our components. // ********* Interfaces ********** interface IFooSource { // this is the event-stream of objects of type Foo IObservable<Foo> FooArrivals { get; } } interface IBarSource { // this is the event-stream of objects of type Bar IObservable<Bar> BarArrivals { get; } } / ********* Implementations ********* class FooSource : IFooSource { // Here we put logic that receives Foo objects from the network and publishes them to the FooArrivals event stream. } class FooSubsetsToBarConverter : IBarSource { IFooSource fooSource; IObservable<Bar> BarArrivals { get { // Do some fancy Rx operators on fooSource.FooArrivals, like Buffer, Window, Join and others and return IObservable<Bar> } } } // this class will subscribe to the bar source and do processing class BarsProcessor { BarsProcessor(IBarSource barSource); void Subscribe(); } // ******************* Main ************************ class Program { public static void Main(string[] args) { var fooSource = FooSourceFactory.Create(); var barsProcessor = BarsProcessorFactory.Create(fooSource) // this will create FooSubsetToBarConverter and BarsProcessor barsProcessor.Subscribe(); fooSource.Run(); // this enters a loop of listening for Foo objects from the network and notifying about their arrival. } } The other suggested another design that its main theme is using our own publisher/subscriber interfaces and using Rx inside the implementations only when needed. //********** interfaces ********* interface IPublisher<T> { void Subscribe(ISubscriber<T> subscriber); } interface ISubscriber<T> { Action<T> Callback { get; } } //********** implementations ********* class FooSource : IPublisher<Foo> { public void Subscribe(ISubscriber<Foo> subscriber) { /* ... */ } // here we put logic that receives Foo objects from some source (the network?) publishes them to the registered subscribers } class FooSubsetsToBarConverter : ISubscriber<Foo>, IPublisher<Bar> { void Callback(Foo foo) { // here we put logic that aggregates Foo objects and publishes Bars when we have received a subset of Foos that match our criteria // maybe we use Rx here internally. } public void Subscribe(ISubscriber<Bar> subscriber) { /* ... */ } } class BarsProcessor : ISubscriber<Bar> { void Callback(Bar bar) { // here we put code that processes Bar objects } } //********** program ********* class Program { public static void Main(string[] args) { var fooSource = fooSourceFactory.Create(); var barsProcessor = barsProcessorFactory.Create(fooSource) // this will create BarsProcessor and perform all the necessary subscriptions fooSource.Run(); // this enters a loop of listening for Foo objects from the network and notifying about their arrival. } } Which one do you think is better? Exposing IObservable and making our components create new event streams from Rx operators, or defining our own publisher/subscriber interfaces and using Rx internally if needed? Here are some things to consider about the designs: In the first design the consumer of our interfaces has the whole power of Rx at his/her fingertips and can perform any Rx operators. One of us claims this is an advantage and the other claims that this is a drawback. The second design allows us to use any publisher/subscriber architecture under the hood. The first design ties us to Rx. If we wish to use the power of Rx, it requires more work in the second design because we need to translate the custom publisher/subscriber implementation to Rx and back. It requires writing glue code for every class that wishes to do some event processing.

    Read the article

< Previous Page | 151 152 153 154 155 156 157 158 159 160 161 162  | Next Page >