Search Results

Search found 17851 results on 715 pages for 'log aggregation'.

Page 250/715 | < Previous Page | 246 247 248 249 250 251 252 253 254 255 256 257  | Next Page >

  • How do I supply values to an referenced assembly without calling a method it explicitly?

    - by Rob
    Currently I have a static class that I use as my logging module. I’ve added the class to my visual studio solution. Within the class I’ve specified the name and location of the log file to use. Which lets me do stuff like this – which I like and want. Logger.Information(“Page_Load”,”controls loaded correctly”); I’d like to refactor the code and move the logging functionality into a separately compiled assembly, if I did this I would then need to pass in the log file name and location to save the files too. However I don’t want to have to supply this information every time I call the ‘Logging’ method, this would be bad... Logger.Informtaion(“Page_Load”,”controls loaded correctly”,”logfile.txt”,”c:\temp”); Is there any way I can supply this information without having to specify it within each page or via the method call.

    Read the article

  • Tools for viewing logs of unlimited size

    - by jkff
    It's no secret that application logs can go well beyond the limits of naive log viewers, and the desired viewer functionality (say, filtering the log based on a condition, or highlighting particular message types, or splitting it into sublogs based on a field value, or merging several logs based on a time axis, or bookmarking etc.) is beyond the abilities of large-file text viewers. I wonder: Whether decent specialized applications exist (I haven't found any) What functionality might one expect from such an application? (I'm asking because my student is writing such an application, and the functionality above has already been implemented to a certain extent of usability)

    Read the article

  • Sending an anonymous email to my own address

    - by N3HL
    I want to send an anonymous email to my own gmail/hotmail/yahoo/any other mail service address (Im not trying to spam or something like that). Why? I have a .NET application and I want to add a "Send log to the developer" feature (attaching the log) using SmtpClient. The fact is I've read like 30+ pages, and found out, i.e. gmail's smtp client doesn't allow anonymous connections, and many other things. The idea is to receive a mail message like this: From: [email protected] (non-existent email really) To: [email protected] (this would be my real address which will recieve the logs attachments) Subject: Issue report nºX (auto-generated) Body: From a textbox Attachments: logs attached Is this possible? If so, how do I achieve it?

    Read the article

  • backbonejs remove anomaly concept

    - by user1537158
    I was building a small app for adding and deleting li from ul using Backbonejs.One of the SO members cymen helped me code it, using that i tailored the code a little.currently if i add one element and delete , it works , but the second time i add an element (to ul) and go to delete it , i get Uncaught TypeError: Cannot call method 'remove' of undefined Pasting my code here , HTML : <input type="text" id="name"> <button id="add">Add</button> <ul id="mylist"></ul> JS: $(function(){ var myCollection = Backbone.Collection.extend(); var myView = Backbone.View.extend({ el:$('body'), tagName:'li', initialize : function(e){ this.collection.bind("add",this.render,this); this.collection.bind("remove",this.render,this); }, events:{ 'click #add' : 'addfoo' }, addfoo : function(){ var myname= $('#name').val(); $('#name').val(''); this.collection.add({name:myname}); }, render : function(){ $('#mylist').empty(); this.collection.each(function(model){ console.log("myView"); var remove = new myRemoveView({model:model}); remove.render(); }); } }); var myRemoveView = Backbone.View.extend({ el:$('body'), events:{ 'click .button':'removeFoo' }, removeFoo : function(){ console.log("here"); this.model.collection.remove(this.model); }, render : function(){ console.log("second view"); $('#mylist').append('<li>'+this.model.get('name') + "<button class='button'>"+"delete"+"</button></li>"); return; } }); var view = new myView({collection: new myCollection()}); }); Two things i did not understand : i) in the removeFoo function , we write this.model.collection.remove(this.model) shouldnt this have been this.collection.model.remove , something of that sort ? ii) i add a li to ul , then i delete it , when i add another li (appending to ul works perfect) but this time when i go to delete it throws me the above error : Uncaught TypeError :cannot call method 'remove' of undefined can you please help me figure out these 2 doubts in my code , btw SO member cymen's code works like a charm only my tailored code (above) is giving me errors. SO member cymen's code : JS Fiddle for his code Thank you

    Read the article

  • Are compound command's second and subsequent lines not effected by HISTCONTROL in bash?

    - by UniMouS
    When consulting bash's man page, it read this sentence about bash history: The second and subsequent lines of a multi-line compound command are not tested, and are added to the history regardless of the value of HISTCONTROL. But I have tried this: $ HISTCONTROL=ignorespace $ if [ -f /var/log/messages ] > then > echo "/var/log/message exists." > fi $ history | tail -2 18 HISTCONTROL=ignorespace 19 history | tail -2 Note that the if is leaded by a space. Why the second line of this if compound command still not appear in the history?

    Read the article

  • What's the best way to debug AJAX to PHP calls?

    - by Jascha
    I'm having a miserable time debugging one small function on my new project. Essentially I'm having a user log out via an AJAX call to my log out script on my server called "userfFunctions.php" I'm using AJAX so that I don't have the headache of writing more regex to match my mod_rewrites. Anyway, every so often, it seems as though my Post data just flat out dies and since the PHP is running behind the scenes, I feel like I have no way of finding out where the data flow is being disrupted. BTW This function works 19 hrs of the day. Here is the javascript function: function logOut(){ var data = new Object; data.log_out = true; $.ajax({ type: 'POST', url: 'http://www.mydomain.com/User_Validator', //<-- redirects to userFunctions.php data: data, success: function(data) { alert(data); // <-- a response is triggered but with no response data! } }); } the php side: if(isset($_POST['log_out'])){ echo 'alert this!'; } here is my awesome response:

    Read the article

  • Node.js Cron Job Messing with Date Object

    - by PazoozaTest Pazman
    I'm trying to schedule several cron jobs to generate serial numbers for different entities within my web app. However I am running into this problem, when I'm looping each table, it says it has something to do with date.js. I'm not doing anything with a date object ? Not at this stage anyway. A couple of guesses is that the cron object is doing a date thing in its code and is referencing date.js. I'm using date.js to get access to things like ISO date. for (t in config.generatorTables) { console.log("t = " + config.generatorTables[t] + "\n\n"); var ts3 = azure.createTableService(); var jobSerialNumbers = new cronJob({ //cronTime: '*/' + rndNumber + ' * * * * *', cronTime: '*/1 * * * * *', onTick: function () { //console.log(new Date() + " calling topUpSerialNumbers \n\n"); manageSerialNumbers.topUpSerialNumbers(config.generatorTables[t], function () { }); }, start: false, timeZone: "America/Los_Angeles" }); ts3.createTableIfNotExists(config.generatorTables[t], function (error) { if (error === null) { var query = azure.TableQuery .select() .from(config.generatorTables[t]) .where('PartitionKey eq ?', '0') ts3.queryEntities(query, function (error, serialNumberEntities) { if (error === null && serialNumberEntities.length == 0) { manageSerialNumbers.generateNewNumbers(config.maxNumber, config.serialNumberSize, config.generatorTables[t], function () { jobSerialNumbers.start(); }); } else jobSerialNumbers.start(); }); } }); } And this is the error message I'm getting when I examine the server.js.logs\0.txt file: C:\node\w\WebRole1\public\javascripts\date.js:56 onsole.log('isDST'); return this.toString().match(/(E|C|M|P)(S|D)T/)[2] == "D" ^ TypeError: Cannot read property '2' of null at Date.isDST (C:\node\w\WebRole1\public\javascripts\date.js:56:110) at Date.getTimezone (C:\node\w\WebRole1\public\javascripts\date.js:56:228) at Object._getNextDateFrom (C:\node\w\WebRole1\node_modules\cron\lib\cron.js:88:30) at Object.sendAt (C:\node\w\WebRole1\node_modules\cron\lib\cron.js:51:17) at Object.getTimeout (C:\node\w\WebRole1\node_modules\cron\lib\cron.js:58:30) at Object.start (C:\node\w\WebRole1\node_modules\cron\lib\cron.js:279:33) at C:\node\w\WebRole1\server.js:169:46 at Object.generateNewNumbers (C:\node\w\WebRole1\utils\manageSerialNumbers.js:106:5) at C:\node\w\WebRole1\server.js:168:45 at C:\node\w\WebRole1\node_modules\azure\lib\services\table\tableservice.js:485:7 I am using this line in my database.js file: require('../public/javascripts/date'); is that correct that I only have to do this once, because date.js is global? I.e. it has a bunch of prototypes (extensions) for the inbuilt date object. Within manageSerialNumbers.js I am just doing a callback, their is no code executing as I've commented it all out, but still receiving this error. Any help or advice would be appreciated.

    Read the article

  • How to read the values returned by the Json?

    - by user281180
    I have the following code in my view: <% using (Ajax.BeginForm("JsonCreate", new AjaxOptions { OnComplete = "createCategoryComplete" })) { % Add new category <%=Html.TextBox("CategoryId")% <%=Html.TextBox("Test")% Name: <%= Html.TextBox("Name")% <%= Html.ValidationMessage("Name")% </p> <p> <input type="submit" value="Create" /> </p> </fieldset> </div> <% } % In the controller the code is as follows: [AcceptVerbs(HttpVerbs.Post)] public JsonResult JsonCreate(string Name) { if (ModelState.IsValid) { try { //Return a json object to the javascript return Json(new { CategoryId = 123, Test= "test successful" }); } catch { #region Log errors about the exception //Log error to administrator here #endregion } } //If we got this far, something failed, return an empty json object return Json(new { /* Empty object */ }); } What should be the code in the view for the following function to read the values returned by the Json and update the textboxes for CategoryId and Test? function createCategoryComplete() {....???}

    Read the article

  • python compare time

    - by Jesse Siu
    i want to using python create filter for a log file. get recent 7 days record. but when i didn't know how to compare time. like current time is 11/9/2012, i want to get records from 04/9/2012 to now the log file like Sat Sep 2 03:32:13 2012 [pid 12461] CONNECT: Client "66.249.68.236" Sat Sep 2 03:32:13 2012 [pid 12460] [ftp] OK LOGIN: Client "66.249.68.236", anon password "[email protected]" Sat Sep 2 03:32:14 2012 [pid 12462] [ftp] OK DOWNLOAD: Client "66.249.68.236", "/pub/10.5524/100001_101000/100022/readme.txt", 451 i using this one def OnlyRecent(line): print time.strptime(line.split("[")[0].strip(),"%a %b %d %H:%M:%S %Y") print time.time() if time.strptime(line.split("[")[0].strip(),"%a %b %d %H:%M:%S %Y") < time.time(): return True return False But it shows (2012, 9, 2, 3, 32, 13, 5, 246, -1) 1347332968.08 (2012, 9, 2, 3, 32, 13, 5, 246, -1) 1347332968.08 (2012, 9, 2, 3, 32, 14, 5, 246, -1) 1347332968.08 the time format is different, and it can't compare time. So how to set this comparison in 7 days. Thanks

    Read the article

  • addEventListener using apply()

    - by Paul
    I'm trying to invoke addEventListener() using apply() method. The code is like: function rewrite(old){ return function(){ console.log( 'add something to ' + old.name ); old.apply(this, arguments); } } addEventListener=rewrite(addEventListener); It doesn't work. The code works for normal JavaScript method, for example, function hello_1(){ console.log("hello world 1!"); } hello_1=rewrite(hello_1); Need help! Thanks!

    Read the article

  • two scp and ssh processes with single authentication

    - by Tomek Wyderka
    I need to scp and then ssh to the same host. Is it possible to authenticate just one time? Is it possible to input password once, then scp file, then ssh on that host and work interactively? Update I get HOSTNAME and SSH_PASSWORD. I never log in on that machine before. I need to send some files (probably using scp) and then log in using ssh and work on that HOST interactively. I want to save time and input password just once. I have lots of such hosts...

    Read the article

  • Adding Timestamp to Java's GC messages in Tomcat 6

    - by ripper234
    I turned on Java's GC log options -XX:+PrintGC -XX:+PrintGCTimeStamps -XX:+PrintGCDetails Which print out these messages to standard output (catalina.out): 314.884: [CMS-concurrent-mark-start] 315.014: [CMS-concurrent-mark: 0.129/0.129 secs] [Times: user=0.14 sys=0.00, real=0.13 secs] 315.014: [CMS-concurrent-preclean-start] 315.016: [CMS-concurrent-preclean: 0.003/0.003 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 315.016: [CMS-concurrent-abortable-preclean-start] 332.055: [GC 332.055: [ParNew: 17128K->84K(19136K), 0.0017700 secs] 88000K->70956K(522176K) icms_dc=4 , 0.0018660 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] CMS: abort preclean due to time 352.253: [CMS-concurrent-abortable-preclean: 0.023/37.237 secs] [Times: user=0.78 sys=0.02, real=37.23 secs] How can I make these log lines appear with an actual timestamp (including date) instead of these numbers, which presumably mean "time since JVM started" ?

    Read the article

  • Click Listener not invoked within ListFragment

    - by membersound
    I'm extending a SherlockListFragment, but it should not matter as my question seems to be more general related to Fragments. Now, I implement a simple click listener for my list, but it does not get called. public class MyListFragment extends SherlockListFragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.list, container, false); v.setOnClickListener(new OnClickListener() { public void onClick(View view) { Log.i("debug", "single click"); } }); return v; } } Is anything wrong with this? //Solution: listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Log.i("debug", "single click"); } });

    Read the article

  • How can i use the Orientation correct for images

    - by user3578109
    I´m learning android/java by myself @the moment and i have a problem with a part of my app i´m learning on. I made the code with help of the www and my problem is that if i open an image from the gallery it´s send to the edit activity but in the activity pictures what are made in portrait mode are displayed always wrong (90° to the right side).... The codes are Matrix private Bitmap rotateBitmapToOrientation(Bitmap b, int orientation){ Matrix matrix = new Matrix(); matrix.postRotate(orientation); Canvas offscreenCanvas = new Canvas(); offscreenCanvas.drawBitmap(b, matrix, null); return b; } and the other one @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); switch (requestCode) { case PICK_IMAGE_FROM_GALLERY: { if (resultCode == RESULT_OK) { Log.d(TAG, "Got Picture!"); Log.d(TAG,"File type - " + data.getType()); Uri photoUri = data.getData(); if (photoUri != null) { try { String[] filePathColumn = {MediaStore.Images.Media.DATA}; String[] orientationColumn = {MediaStore.Images.Media.ORIENTATION}; int orientation = -1; Cursor cursor = getContentResolver().query(photoUri, filePathColumn, null, null, null); cursor.moveToFirst(); int columnIndex = cursor.getColumnIndex(filePathColumn[0]); String filePath = cursor.getString(columnIndex); cursor.close(); cursor = getContentResolver().query(photoUri, orientationColumn, null, null, null); if(cursor != null && cursor.moveToFirst()){ orientation = cursor.getInt(cursor.getColumnIndex(orientationColumn[0])); } cursor.close(); HashMap<String, Integer> pRes = this.getImageResolutionSetting(); Bitmap shrunkenBitmap = FileUtilsHelper.shrinkBitmap(filePath, pRes.get("width"), pRes.get("height")); shrunkenBitmap = rotateBitmapToOrientation(shrunkenBitmap, orientation); String res = FileUtilsHelper.saveBitmapAsJpeg(shrunkenBitmap, this); Log.d(TAG,"File Path: " + res); shrunkenBitmap.recycle(); Intent editImage = new Intent(this, EditImage.class); editImage.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); editImage.putExtra("stuff.path", res); startActivity(editImage); }catch(Exception e){ Toast.makeText(this, R.string.cant_save_image,Toast.LENGTH_SHORT).show(); } } } } break; } }} I don´t know what i´m doing wrong... I could really need a teacher on that :) Thx for your help dudes!!

    Read the article

  • javascript: what are immediate functions used for [duplicate]

    - by tkoomzaaskz
    This question already has an answer here: Why using self executing function in JavaScript? [duplicate] 4 answers I've been programming in JS since some time, but I have never came upon a need of using immediate functions, for example: (function(){ console.log('hello, I am an immediate function'); }()) What would be the difference if I just wrote: console.log('hello, I am an immediate function'); ? I don't have any access to this function anyway (it is not assigned anywhere). I think (but I'm not sure) that I can implement everything without immediate functions - so why do people use it?

    Read the article

  • Passing arguments to a python service

    - by Grim
    Hi, I need some help with a python service. I have a service written in Python. What I need to do is to pass it some arguments. Let me give you an example to explain it a bit better. Lets say I have a service, that does nothing but writes something to a log. I'd like to write the same thing into the log several times, so I use a loop. I would like to pass the counter for the loop when I start the service, but I have no idea how. I start the service with: win32serviceutil.HandleCommandLine(WinService) I'm looking for something like win32serviceutil.HandleCommandLine(WinService,10) I don't really care how its done, as long as I can pass arguments to it. Have been trying to get this to work for the better part of the day with no luck. Also, the service isn't run directly, but is imported and then run from there.

    Read the article

  • I think I don't understand git branches

    - by Hans
    Salutations everyone, I have been working on a bash script as a small summer project to learn more about UNIX scripting and on using git. This has been the first time that I have used branches in git, normally I just stick to master. I was viewing the git log with the graph (git log --graph) when I noticed that my 'develop' branch seemed to have merged with 'master'. Something like this: master ----1--------3----4----5----6----HEAD develop \---2---/ but commits 3 onwards were done within the develop branch. Doing git checkout master and git checkout develop showed this to be true. What exactly is going on? Is this what is known as fast-forwarding? P.S.: Commits 1 and 2 are also a mystery to me being that commit 2 is actually an amendment of commit 1 (as far I thought, I used this advice)

    Read the article

  • How can I construct this file tree based on what files the user is allowed to view?

    - by robert
    I have an array of files that looks like this: Array ( [0] => Array ( [type] => folder [path] => RootFolder ) [1] => Array ( [type] => file [path] => RootFolder\error.log ) [2] => Array ( [type] => folder [path] => RootFolder\test ) [3] => Array ( [type] => file [path] => RootFolder\test\asd.txt ) [4] => Array ( [type] => folder [path] => RootFolder\test\sd ) [5] => Array ( [type] => file [path] => RootFolder\test\sd\testing.txt ) ) I parse this array and create a tree like view based on the depth of the files ('/' count). It looks like this: RootFolder - error.log - test - asd.txt - sd - testing.txt What I have now is an array of filepaths the user is allowed to view. I need to take this array into account when constructing the above tree. That array looks like this: Array ( [0] => Array ( [filePath] => RootFolder\test\sd ) [1] => Array ( [filePath] => RootFolder\error.log ) ) It would be easy to do a if in_array($path, $allowed) but that won't give me the tree. Just a list of files... Another part I'm stumped on is this requirement: If the user has access to view the folder test, they then have access to all children of that folder. My idea was to simply parse the filepaths. For example, I'd confirm that RootFolder\test\sd was a directory and then create a tree based on the '/' count. Like I was doing earlier. Then, since this is a directory, I'd pull out all files within this directory and show them to the user. However, I'm having trouble converting this to working code... Any ideas?

    Read the article

  • Why activity result code is diffrent then I expected

    - by Fisher
    I have 2 activities. In child activity i have put something like that in onPause(): if (isFinishing()) { final Intent intent = new Intent(); intent.putExtra(SOME_DATA, value); setResult(RESULT_OK, intent); Log.i("test", "Result set to RESULT_OK"); } In parent activity i check resultCode when child activity is destroyed, and this is what i have noticed: If i destroy child activity by some action (in some condition i invoke finish()), then resultCode is RESULT_OK But when i destroy by pressing return key (i works only in emulator so its ESC) who kills activity, then resultCode read in parent onActivityResult method equals 0 (RESULT_CANCELD). "test" log read in each case is the same.

    Read the article

  • When dragged and on mouseup/mouseleave in the document I want to call my Ajax request

    - by Sappy
    For slider range - when dragged and on mouseup/mouseleave in the document I want to call my Ajax request. Explained: When I mousedown to slide my slider I want to say isDown = "true" But it doesn't works. Can anyone please help me with this and let me know how do I achieve this. // Default isDown = false $("#slider-range").find('a').mousedown(function(){ isDown=true; console.log(isDown); // It works here! }); console.log(isDown); // It doesn't works here if(isDown) { $(document).onmouseup(function() { return setAjaxRequest(); isDown = false; }); }

    Read the article

  • Splitting string into array upon token

    - by Gnutt
    I'm writing a script to perform an offsite rsync backup, and whenever the rsyncline recieves some output it goes into a single variable. I then want to split that variable into an array upon the ^M token, so that I can send them to two different logger-sessions (so I get them on seperate lines in the log). My current line to perform the rsync result=rsync --del -az -e "ssh -i $cert" $source $destination 2>&1 Result in the log, when the server is unavailable ssh: connect to host offsite port 22: Connection timed out^M rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: unexplained error (code 255) at io.c(601) [sender=3.0.7]

    Read the article

  • Jquery - how i can get the video src value?

    - by 3gwebtrain
    i need to get the value of a video and need to change in to new value... for that i used this function: var video = $('#task2ResultVideo').get(0); console.log($(video).attr('poster')); // i am getting this $(video).attr('src',function(num,val){ console.log(num,val) // i am not getting this.. }) ? HTML: <video id="task2ResultVideo" autobuffer poster="img/task2-results-host-poster.jpg"> <source src="Video/webm/Task_2.4a_Host_treated.webm" type="video/webm" /> <source src="Video/ogv/Task_2.4a_Host_treated.theora.ogv" type="video/ogg" /> <source src="Video/MP4/Task_2.4a_Host_treated.mp4" type="video/mp4" /> </video>? But i am not able to get the values. what is wrong with my code? in case if i get the value how can i change the src? any suggestion please?

    Read the article

  • jQuery Swap Image on Click and if/else

    - by jrutter
    Im stuck, Im setting a variable when someone clicks, then testing with if to see if the variable exists and doing something else. Its a simple script which Im probably overthinking, would love someone's thoughts. $('.view-alternatives-btn').live('click', function() { //$("#nc-alternate-wines").scrollTo(); //$('.nc-remove').toggle(); var showBtn = null; if (showBtn == null) { $('.view-alternatives-btn img').attr("src","../images/wsj_hide_alternatives_btn.gif"); $('#nc-alternate-wines').show(); showBtn = 1; console.log(showBtn); } else if (showBtn == 1) { $('.view-alternatives-btn img').attr("src","../images/wsj_view_alternatives_btn.gif"); $('#nc-alternate-wines').hide(); console.log("this " + showBtn); } return false; });

    Read the article

  • GAE JCache NumberFormatException, will I need to write Java to avoid?

    - by Jasper
    This code below produces a NumberFormatException in this line: val cache = cf.createCache(Collections.emptyMap()) Do you see any errors? Will I need to write a Java version to avoid this, or is there a Scala way? ... import java.util.Collections import net.sf.jsr107cache._ object QueryGenerator extends ServerResource { private val log = Logger.getLogger(classOf[QueryGenerator].getName) } class QueryGenerator extends ServerResource { def getCounter(cache:Cache):long = { if (cache.containsKey("counter")) { cache.get("counter").asInstanceOf[long] } else { 0l } } @Get("html") def getHtml(): Representation = { val cf = CacheManager.getInstance().getCacheFactory() val cache = cf.createCache(Collections.emptyMap()) val counter = getCounter(cache) cache.put("counter", counter + 1) val q = QueueFactory.getQueue("query-generator") q.add(TaskOptions.Builder.url("/tasks/query-generator").method(Method.GET).countdownMillis(1000L)) QueryGenerator.log.warning(counter.toString) new StringRepresentation("QueryGenerator started!", MediaType.TEXT_HTML) } } Thanks!

    Read the article

  • A better and faster way for eval?

    - by user1707250
    I want to build my queries dynamically and use the following snippet: --snip-- module.exports = { get : function(req, res, next) { var queryStr = "req.database.table('locations').get(parseInt(req.params.id))"; if (req.params.id) { if (req.fields) { queryStr += '.pick(' + req.fieldsStr + ')'; } console.log(queryStr); eval(queryStr).run(function(result) { console.log(result); res.send(result); }); } else if (!req.params.id) { --snip-- However introducing eval opens up my code to injection (req.fields is filled with url parameters) and I see the response time of my app increase from 7 to 11ms Is there a smarter way to accomplish what I did here? Please advice.

    Read the article

< Previous Page | 246 247 248 249 250 251 252 253 254 255 256 257  | Next Page >