Search Results

Search found 28 results on 2 pages for 'jaroslav zaruba'.

Page 1/2 | 1 2  | Next Page >

  • Jaroslav Tulach's Report on NetBeans at OSGiCon

    - by Geertjan
    The latest NetBeans Podcast was recorded over the last few weeks and released yesterday. Aside from the NetBeans news items and interviews (interesting stuff about Joel Murach's new Java book using NetBeans, as well as the new developments in the NetBeans Groovy editor), there is, as always an "API Design Tip" of the podcast. That's really worth listening to, always of course, but especially this time because here Jaroslav Tulach talks at some length about his recent trip to OSGiCon, as well as the history and status of OSGi support in NetBeans IDE. Start listening from just before the 30th minute (i.e., the final segment) if you're interested in this particular topic: https://blogs.oracle.com/nbpodcast/entry/netbeans_podcast_60 For example, hear about how JDeveloper got faster by switching from Equinox to Netbinox. And... will Eclipse find itself on the same OSGi container too?

    Read the article

  • Do Blob properties on entities affect query performance?

    - by Jaroslav Záruba
    Hello I'm trying to make my mind on whether to store a binary representation of an entity as its Blob property, or whether I better keep the blobs in some separate 'wrapping' class. Possible impact on memory heap and/or a query execution time are my concerns in the first case, complexity votes against the other one. I know Blobs are not indexed, i.e. index size is not what I'm worrying about. Also I assume for blobs Datastore puts defaultFetchGroup to false, but does it mean that blobs don't make a difference in queries? Regards J. Záruba

    Read the article

  • NetBeans Podcast 69

    - by TinuA
    Podcast Guests: Terrence Barr, Simon Ritter, Jaroslav Tulach (It's an all-Oracle lineup!) Download mp3: 47 Minutes – 39.5 mb Subscribe on iTunes NetBeans Community News with Geertjan and Tinu If you missed the first two Java Virtual Developer Day events in early May, there's still one more LIVE training left on May 28th. Sign up here to participate live in the APAC time zone or watch later ON DEMAND. Video: Get started with Vaadin development using NetBeans IDE NetBeans IDE was at JavaCro 2014 and at Hippo Get-together 2014 Another great lineup is in the works for NetBeans Day at JavaOne 2014. More details coming soon! NetBeans' Facebook page is almost at 40,000 Likes! Help us crack that milestone in the next few weeks! Other great ways to stay updated about NetBeans? Twitter and Google+. 09:28 / Terrence Barr - What to Know about Java Embedded Terrence Barr, a Senior Technologist and Principal Product Manager for Embedded and Mobile technologies at Oracle, discusses new features of the Java SE Embedded and Java ME Embedded platforms, and sheds some light on the differences between them and what they have to offer to developers. Learn more about Java SE Embedded Tutorial: Using Oracle Java SE Embedded Support in NetBeans IDE Learn more about Java ME Embedded Video: NetBeans IDE Support for Java ME 8 Video: Installing and Using Java ME SDK 8.0 Plugins in NetBeans IDE Follow Terrence Barr to keep up with news in the Embedded space: Blog and Twitter 26:02 / Simon Ritter - A Massive Serving of Raspberry Pi Oracle's Raspberry Pi virtual course is back by popular demand! Simon Ritter, the head of Oracle's Java Technology Evangelism team, chats about the second run of the free Java Embedded course (starting May 30th), what participants can expect to learn, NetBeans' support for Java ME development, and other Java trainings coming to a desktop, laptop or user group near you. Sign up for the Oracle MOOC: Develop Java Embedded Applications Using Raspberry Pi Find out when Simon Ritter and the Java Evangelism team are coming to a Java event or JUG in your area--follow them on Twitter: Simon Ritter Angela Caicedo Steven Chin Jim Weaver 36:58 / Jaroslav Tulach - A Perfect Translation Jaroslav Tulach returns to the NetBeans podcast with tales about the Japanese translation of the Practical API Design book, which he contends surpasses all previous translations, including the English edition! Order "Practical API Design" (Japanese Version)  Find out why the Japanese translation is the best edition yet *Have ideas for NetBeans Podcast topics? Send them to ">nbpodcast at netbeans dot org. *Subscribe to the official NetBeans page on Facebook! Check us out as well on Twitter, YouTube, and Google+.

    Read the article

  • Annotation Processing Virtual Mini-Track at JavaOne 2012

    - by darcy
    Putting together the list of JavaOne talks I'm interested in attending, I noticed there is a virtual mini-track on annotation processing and related technology this year, with a combination of bofs, sessions, and a hands-on-lab: Monday Multidevice Content Display and a Smart Use of Annotation Processing, Dimitri BAELI and Gilles Di Guglielmo Tuesday Advanced Annotation Processing with JSR 269, Jaroslav Tulach Build Your Own Type System for Fun and Profit, Werner Dietl and Michael Ernst Wednesday Annotations and Annotation Processing: What’s New in JDK 8?, Joel Borggrén-Franck Thursday Hack into Your Compiler!, Jaroslav Tulach Writing Annotation Processors to Aid Your Development Process, Ian Robertson As the lead engineer on bot apt (rest in peace) in JDK 5 and JSR 269 in JDK 6, I'd be heartened to see greater adoption and use of annotation processing by Java developers.

    Read the article

  • Audio 2 dj soundcard configuration

    - by Jaroslav
    I have an http://www.native-instruments.com/#/en/products/dj/audio-2-dj/ The problem in settings it only sees one outpout, when there should be two(I need that for mixxx etc.) Also I want to be able set the sample rate to one of these 44.1, 48, 88.2, 96 kHz or at least check which one is set. Additionally if possible setting the latency would be an advantage. Some info: aplay -l **** List of PLAYBACK Hardware Devices **** card 0: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: TraktorAudio2 [Traktor Audio 2], device 0: Traktor Audio 2 [Traktor Audio 2] Subdevices: 1/2 Subdevice #0: subdevice #0 Subdevice #1: subdevice #1 cat /proc/asound/cards 0 [HDMI ]: HDA-Intel - HDA ATI HDMI HDA ATI HDMI at 0xfdcfc000 irq 45 1 [TraktorAudio2 ]: snd-usb-caiaq - Traktor Audio 2 Native Instruments Traktor Audio 2 (usb-0000:00:1d.7-8)

    Read the article

  • Traktor Audio 2 DJ soundcard configuration

    - by Jaroslav
    I have a Traktor Audio 2 DJ USB sound card (the first version of what it's now called simply Traktor Audio 2) The problem in settings it only sees one output, when there should be two (I need that for Mixxx etc.) Also I want to be able set the sample rate to one of these: 44.1, 48, 88.2, 96 kHz or at least check which one is set. Additionally if possible setting the latency would be an advantage. Some info: $ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: TraktorAudio2 [Traktor Audio 2], device 0: Traktor Audio 2 [Traktor Audio 2] Subdevices: 1/2 Subdevice #0: subdevice #0 Subdevice #1: subdevice #1 $ cat /proc/asound/cards 0 [HDMI ]: HDA-Intel - HDA ATI HDMI HDA ATI HDMI at 0xfdcfc000 irq 45 1 [TraktorAudio2 ]: snd-usb-caiaq - Traktor Audio 2 Native Instruments Traktor Audio 2 (usb-0000:00:1d.7-8)

    Read the article

  • CellTable + AsyncListViewAdapter<T> + SimplePager<T>, stuck with 'loading' bar when paging

    - by Jaroslav Záruba
    Hi I'm trying to make CellTable, AsyncListViewAdapter<T> and SimplePager<T> working together. I managed to display my data, but whenever I click either "go to start" or "go to end" button I get that 'loading' indicator which stays there till the end of days. (And AsyncListViewAdapter<T>.onRangeChanged doesn't even get called this time.) I went through the code-snippets in this thread, but I can't see nothing suspicions in what I've been doing. Is there some obvious answer to a rookie mistake? I shrinked my variable names, hopefully it won't wrap too much. protected class MyAsyncAdapter extends AsyncListViewAdapter<DTO> { @Override protected void onRangeChanged(ListView<DTO> v) { // doesn't get called on go2start/go2end :( Range r = v.getRange(); fetchData(r.getStart(), r.getLength()); } } private void addTable() { // table: CellTable<DTO> table = new CellTable<DTO>(10); table.addColumn(new Column<DTO, String>(new TextCell()) { @Override public String getValue(DTO namespace) { return namespace.getName(); } }, "Name"); // pager: SimplePager<DTO> pager = new SimplePager<DTO>(table); table.setPager(pager); adapter = new MyAsyncAdapter(); adapter.addView(table); // does not make any difference: // adapter.updateDataSize(0, false); // adapter.updateDataSize(10, true); VerticalPanel vPanel = new VerticalPanel(); vPanel.add(table); vPanel.add(pager); RootLayoutPanel.get().add(vPanel); } // success-handler of my fetching AsyncCallback @Override public void onSuccess(List<DTO> data) { // AsyncCallback<List<DTO>> has start field adapter.updateViewData(start, data.size(), data); if(data.size() < length) adapter.updateDataSize(start + data.size(), true); } Regards J. Záruba

    Read the article

  • AsyncListViewAdapter + SimplePager, why is inactive pager clearing the table?

    - by Jaroslav Záruba
    I'm trying to make CellTable work together with AsyncListViewAdapter<T> and SimplePager<T>. The data gets displayed, but when the pager should be 'deaf' (meaning when all existing data are displayed) it still receives clicks and, more importantly, makes the displayed data go away. Instead of my data 'loading' indicator gets displayed, and it keep loading and loading... Obviously nothing gets loaded, as it doesn't even call the onRangeChanged handler. I went through the code-snippets in this thread, but I can't see anything suspicions on what I've been doing. Is there some obvious answer to a rookie mistake? I shrinked my variable names, hopefully it won't wrap too much. protected class MyAsyncAdapter extends AsyncListViewAdapter<DTO> { @Override protected void onRangeChanged(ListView<DTO> v) { /* * doesn't even get called on [go2start/go2end] click :( */ Range r = v.getRange(); fetchData(r.getStart(), r.getLength()); } } private void addTable() { // table: CellTable<DTO> table = new CellTable<DTO>(10); table.addColumn(new Column<DTO, String>(new TextCell()) { @Override public String getValue(DTO myDto) { return myDto.getName(); } }, "Name"); // pager: SimplePager<DTO> pager = new SimplePager<DTO>(table); table.setPager(pager); adapter = new MyAsyncAdapter(); adapter.addView(table); // does not make any difference: // adapter.updateDataSize(0, false); // adapter.updateDataSize(10, true); VerticalPanel vPanel = new VerticalPanel(); vPanel.add(table); vPanel.add(pager); RootLayoutPanel.get().add(vPanel); } // success-handler of my fetching AsyncCallback @Override public void onSuccess(List<DTO> data) { // AsyncCallback<List<DTO>> has start field adapter.updateViewData(start, data.size(), data); if(data.size() < length) adapter.updateDataSize(start + data.size(), true); } Regards J. Záruba

    Read the article

  • CellTable + AsyncListViewAdapter<T>, stuck at 'loading' when paging

    - by Jaroslav Záruba
    Hi I'm trying to make CellTable, AsyncListViewAdapter<T> and SimplePager<T> working together. I managed to display my data, but whenever I click either "go to start" or "go to end" button I get that 'loading' indicator which stays there till the end of days. ( AsyncListViewAdapter<T>.onRangeChanged doesn't even get called this time.) As I have only single row in my data those two buttons should be (and appear to be) disabled. I went through the code-snippets in this thread, but I can't see nothing suspicions in what I've been doing. Is there some obvious answer to a rookie mistake? I shrinked my variable names, hopefully it won't wrap too much. protected class MyAsyncAdapter extends AsyncListViewAdapter<DTO> { @Override protected void onRangeChanged(ListView<DTO> v) { // doesn't get called on go2start/go2end :( Range r = v.getRange(); fetchData(r.getStart(), r.getLength()); } } private void addTable() { // table: CellTable<DTO> table = new CellTable<DTO>(10); table.addColumn(new Column<DTO, String>(new TextCell()) { @Override public String getValue(DTO namespace) { return namespace.getName(); } }, "Name"); // pager: SimplePager<DTO> pager = new SimplePager<DTO>(table); table.setPager(pager); adapter = new MyAsyncAdapter(); adapter.addView(table); // does not make any difference: // adapter.updateDataSize(0, false); // adapter.updateDataSize(10, true); VerticalPanel vPanel = new VerticalPanel(); vPanel.add(table); vPanel.add(pager); RootLayoutPanel.get().add(vPanel); } // success-handler of my fetching AsyncCallback @Override public void onSuccess(List<DTO> data) { // AsyncCallback<List<DTO>> has start field adapter.updateViewData(start, data.size(), data); if(data.size() < length) adapter.updateDataSize(start + data.size(), true); } Regards J. Záruba

    Read the article

  • Port forwarding on D-Link DIR-615 super-slow, useless

    - by Jaroslav Záruba
    Hello I have replaced my old router with DIR-615 from D-Link, and now the port forwarding is so slow it makes the router practically useless for requests coming from outside of my network. Accessing the router itself (admin UI) from outside is without any issues, no delay whatsoever. But when I try to access a service residing on any of the computers in my network from outside the requests take minutes and minutes. (E.g. I can see source of my GWT-app main page, but loading additional CSS and JS files takes years.) If anyone could recommend any further diagnostics I should do to figure out what is happening it would be great. Few notes: happens with more services (web-app on Tomcat, viewing directory index via Apache) it does not make a difference whether the service is hosted on wired or wireless PC accessing the service on a localhost works fine, as does any 'inner' communication turning off firewall on target PC does not make difference either (makes sense) when I replace this router with the old one (both 192.168.1.1) everything works fine I see nothing suspicious in the router's log I believe I have the latest firmware (4.11) DIR-615 sucks, it already died once completely Regards Jarda Z.

    Read the article

  • Router with Wake On LAN

    - by Jaroslav Záruba
    I'm looking for a new WiFi router, and one key feature for me is WOL. Seems like many routers won't do this w/ factory firmware. Given my last router (Asus WL-520g) turned into a disco-brick couple hours after flashed DD-WRT I'd prefer if the new one supported WOL (Wake on LAN) out of the box. Other required features would be: DynDNS service support Port forwarding NAT loopback so I can access services running in my own network using dyndns hostname or public IP w/o getting too old (for example DIR-615 with factory firmware lets you wait literally minutes)

    Read the article

  • router w/ WOL out-of-the-box, or is known to work with open firmware

    - by Jaroslav Záruba
    I'm looking for a new WiFi router, and one key feature for me is WOL. Seems like many routers won't do this w/ factory firmware. Given my last router (Asus WL-520g) turned into a disco-brick couple hours after flashed to dd-wrt I'd prefer if the new one supported WOL out-of-the-box. other required features would be: dyndns service support port forwarding sometimes it is called "virtual server" I guess NAT loopback so I can access services running in my own network using dyndns hostname or public IP w/o getting too old (for example DIR-615 with factory firmware lets you wait literally minutes) did I mention WiFi? preferably w/ some range extending technology, if such stuff works at all

    Read the article

  • Custom firmware for Asus WL-520g

    - by Jaroslav Záruba
    What custom firmware works with Asus WL-520g? (Note this is not 520gU, 520gC, etc.) I failed to flash it with Tomato (Tomato_1_28_ND.zip) - the admin UI does not accept the file, and when trying to tftp the file as adviced for 520gU all I get is this: Transfering file tomato-ND.trx to server in octet mode... Error occurred during the file transfer (Error code = 0): Error in SendPacket() call. I just saved the router form rather unsuccessful flash to DD-WRT (after few hours the router fell into coma), and I'd like to keep it as a backup should the new one die or whatever. (Unfortunately the stock firmware does not support WOL.)

    Read the article

  • [Disallow: /index.php] seems to block /my-beautiful-sef-url-123

    - by Jaroslav Záruba
    Hello I have robots.txt that looks like this: User-agent: * Disallow: /system/ Disallow: /admin/ Disallow: /index.php The obvious goal has been to prevent all the ugly URLs from being indexed, as they all begin with "/index.php". But for some reason all URLs like /my-beautiful-sef-url-123 are listed under Crawl errors in Google Webmaster Tools with "URL restricted by robots.txt". (When I test such URL it yields Allowed for both Googlebot and Googlebot-Mobile.) Can anyone help please?

    Read the article

  • Port forwarding on D-Link DIR-615 super-slow, useless

    - by Jaroslav Záruba
    Hello I have replaced my old router with DIR-615 from D-Link, and now the port forwarding is so slow it makes the router practically useless. Accessing the router itself (admin UI) is without issues, no delay whatsoever. But when I try to access a service on another computer in the network the requests take minutes and minutes. (E.g. I can see source of my GWT-app main page, but loading additional CSS and JS files takes years.) If anyone could recommend any further diagnostics I should do to figure out what is happening it would be great. Few notes: happens with more services (web-app on Tomcat, viewing directory index via Apache) it does not make a difference whether the service is hosted on wired or wireless PC accessing the service on a localhost works fine turning off firewall on the target PC does not make difference either (makes sense) when I replace this router with the old one (both 192.168.1.1) everything works fine I see nothing suspicious in the router's log I believe I have the latest firmware (4.11) DIR-615 sucks, it already died once completely Regards Jarda Z.

    Read the article

  • ASUS N45SF - play subwoofer with audio connected

    - by Jaroslav Bucko
    I have notebook ASUS N45SF. It comes with dedicated subwoofer, which is connected to separate audio jack. When I connect any audio device to audio jack, internal speakers remain silent, but subwoofer too. I want to let subwoofer play even with audio device connected to jack. Are there any drivers or settings in OS, which would eneble this behaviour? I have Win7/Ubuntu dualboot so OS doesnt matter. Thanks

    Read the article

  • How to locally resume a session that has been started remotely using xrdp?

    - by Jaroslav Záruba
    Can I connect to a RD session that has been started (and abandoned) from a remote machine using xrdp? Also I'd like to be able to do the exact opposite: to remotely login to a session that has been initiated locally. I'm trying to get as close as possible to how Windows RS behaves. (Which also includes that the session would use my terminal machine/monitor resolution. I wasn't able to achieve that using VNC.) Suggestions to a better alternative to xrdp are welcome please. I don't know Linux too much.

    Read the article

  • Cross domains sessions - shared shopping cart cross domains

    - by Jaroslav Moravec
    Hi, we are solving the problem with eshop (php, mysql). The client want to have the same eshop on two domains with shared shopping cart. In the shop customer can do the shopping without users account (can't be logged in). And there is the problem, how to make the shared shopping cart cross domain. The data from cart is stored in sessions, which we stored in database too. But we can't solve the problem in carrying data over domains. Identifying unlogged user is not holeproof (research). The example, how it should work Customer goes to domainOne and add some things to the cart. Than he goes to domainTwo (by link, typing domain address, however) and add some other things to the cart. In the cart he has things from both domains (after refreshing page). Do you have any idea, how to solve this problem? What didn't work: redirecting is not possible due to customer requirments cookies are related to domain set_cookie with the other domain didn't work the simpliest way is to carry over only the sessionid (stored in cookies) but we don't know, how to wholeproof identify unlogged users. is there any other place, where data can be stored on client side except cookies? (probably not) we can't use sending sessionid by params in url (if user click to link to the other domain) or resolving the header referer, bcs we don't know, how user can achieve the other domain. If you can't understand me, take me a question. If you think, that having eshop on two domains with shared (common) cart is bad idea, don't tell me, we know it. Thanks for each answer.

    Read the article

  • Why is only the suffix of work_index hashed?

    - by Jaroslav Záruba
    I'm reading through the PDF that Brett Slatkin has published for Google I/O 2010: "Data pipelines with Google App Engine": http://tinyurl.com/3523mej In the video (the Fan-in part) Brett says that the work_index has to be a hash, so that 'you distribute the load across the BigTable': http://www.youtube.com/watch?v=zSDC_TU7rtc#t=48m44 ...and this is how work_index is created: work_index = '%s-%d' % (sum_name, knuth_hash(index)) ...which I guess creates something like 'mySum-54657651321987' I do understand the basic idea, but is why only one half of work_index is hashed? Is it important to hash only part of it leaving the suffix out? Would it be wrong to do md5('%s-%d' % (sum_name, index)) so that the hash would be like '6gw8....hq6' ? I'm Java guy so I would use md5 to hash, which means I get id like 'mySum' + 32 characters. (Obviously I want my ids/keys to be as short as possible here.) If I could hash the whole string my id would be just 32 chars. Or would you suggest to use something else to do the hashing with?

    Read the article

  • Why does the task name contain "now / 30"?

    - by Jaroslav Záruba
    In the video/PDF from "Data pipelines with Google App Engine" Brett puts "now / 30" into the task name noting that he will explain the reason later, but somehow he never does. :) http://www.youtube.com/watch?v=zSDC_TU7rtc#t=41m35 task_name = '%s-%d-%d' % (sum_name, int(now / 30), index) Do you have any idea about the reason? Does it have anything to do with the 7 day period in which one can't re-use task names? URL to the session page: http://tinyurl.com/3523mej

    Read the article

  • How to change order in ordered+persisted collection?

    - by Jaroslav Záruba
    I just need to change order of items in a (previously persisted) ordered collection... I tried simply passing the re-arranged collection to a setter: after committing a transaction the collection is gone. Then I tried to clear() the existing collection and addAll() afterwards: clear() makes persistent manager to mark all the elements as deleted. (But obviously I would like to be able to work with the collection items in the very transaction.) (The collection is not in a default fetch group, so I tried the above also with the named fetch group added into the fetch plan. No luck.) This must be the most stupid question, but I ran out of ideas and I'm stuck here two days already. I swear I googled. :(

    Read the article

  • Passing arguments and values form HTML to jQuery (events)

    - by Jaroslav Moravec
    What is the practice to pass arguments from HTML to jQuery events function. For example getting id of row from db: <tr class="jq_killMe" id="thisItemId-id"> ... </tr> and jQuery: $(".jq_killMe").click(function () { var tmp = $(this).attr('id).split("-"); var id = tmp[0] // ... } What's the best practise, if I want to pass more than one argument? Is it better not to use jQuery? For example: <tr onclick="killMe('id')"> ... </tr> I didn't find the answer on my question, I will be glad even for links. Thanks.

    Read the article

  • unable to set fields of a collection-property elements after changing their order (elements becoming

    - by Jaroslav Záruba
    Hello I want to change order of objects in a collection, and then to access+modify fields of those items. Unfortunately the items somehow become 'deleted'. This is what I do... if(someCondition) { MainEvent mainEvent = pm.getObjectById(MainEvent.class, mainEventKey); /* * events in the original order * MainEvent.subEvents field is not in default fetch group, * therefore I also tried to add the named group into the * persistenceManeger fetch plan, no difference * (mainEvent is not instance of the Event sub/class BTW) */ List<Event> subEvents = mainEvent.getSubEvents(); // re-arrange the events according to keysOrdered { Map<Key, Event> eventMap = new HashMap<Key, Event>(); for(Event event : subEvents) eventMap.put(event.getKey(), event); List<Event> eventsOrdered = new LinkedList<Event>(); for(Key eventKey : keysOrdered) eventsOrdered.add(eventMap.put(eventKey, eventMap.get(eventKey))); // } // put the re-arranged items back into the collection property { subEvents.clear(); subEvents.addAll(eventsOrdered); // } pm.makePersistent(mainEvent); eventsOrdered = subEvents; } else eventsOrdered = getEventsUsingAlternateApproach(); /* * so by now the mainEvent variable does not exist; * could it be this lead the persistence manager to mark * my events as abandoned/obsolete/invalid/deleted...? */ for(Event event : eventsOrdered) event.setDate(new Date()); // -> "Cannot write fields to a deleted object" What am I doing wrong please?

    Read the article

  • Passing arguments and values from HTML to jQuery (events)

    - by Jaroslav Moravec
    What is the practice to pass arguments from HTML to jQuery events function. For example getting id of row from db: <tr class="jq_killMe" id="thisItemId-id"> ... </tr> and jQuery: $(".jq_killMe").click(function () { var tmp = $(this).attr('id).split("-"); var id = tmp[0] // ... } What's the best practise, if I want to pass more than one argument? Is it better not to use jQuery? For example: <tr onclick="killMe('id')"> ... </tr> I didn't find the answer on my question, I will be glad even for links. Thanks. Edit (pre solution) So you suggested two methods to do that: Add custom attributes to element (XHTML) Use attribute ID and parse it by regex Attribute data-* attributes in HTML5 Use hidden children elements I like first solution, but... I would like to (I have to (employer)) produce valid code. Here is a nice question and answers: http://stackoverflow.com/questions/994856/so-what-if-custom-html-attributes-arent-valid-xhtml And the second is not so pretty as the first, but valid. So the compromise is... The third is the solution for future, but here is a lot of CMS where we have to use XHTML or HTML4. (And HTML5 is the long process)

    Read the article

1 2  | Next Page >