Search Results

Search found 4953 results on 199 pages for 'git commit'.

Page 120/199 | < Previous Page | 116 117 118 119 120 121 122 123 124 125 126 127  | Next Page >

  • Unit testing is… well, flawed.

    - by Dewald Galjaard
    Hey someone had to say it. I clearly recall my first IT job. I was appointed Systems Co-coordinator for a leading South African retailer at store level. Don’t get me wrong, there is absolutely nothing wrong with an honest day’s labor and in fact I highly recommend it, however I’m obliged to refer to the designation cautiously; in reality all I had to do was monitor in-store prices and two UNIX front line controllers. If anything went wrong – I only had to phone it in… Luckily that wasn’t all I did. My duties extended to some other interesting annual occurrence – stock take. Despite a bit more curious affair, it was still a tedious process that took weeks of preparation and several nights to complete.  Then also I remember that no matter how elaborate our planning was, the entire exercise would be rendered useless if we couldn’t get the basics right – that being the act of counting. Sounds simple right? We’ll with a store which could potentially carry over tens of thousands of different items… we’ll let’s just say I believe that’s when I first became a coffee addict. In those days the act of counting stock was a very humble process. Nothing like we have today. A staff member would be assigned a bin or shelve filled with items he or she had to sort then count. Thereafter they had to record their findings on a complementary piece of paper. Every night I would manage several teams. Each team was divided into two groups - counters and auditors. Both groups had the same task, only auditors followed shortly on the heels of the counters, recounting stock levels, making sure the original count correspond to their findings. It was a simple yet hugely responsible orchestration of people and thankfully there was one fundamental and golden rule I could always abide by to ensure things run smoothly – No-one was allowed to audit their own work. Nope, not even on nights when I didn’t have enough staff available. This meant I too at times had to get up there and get counting, or have the audit stand over until the next evening. The reason for this was obvious - late at night and with so much to do we were prone to make some mistakes, then on the recount, without a fresh set of eyes, you were likely to repeat the offence. Now years later this rule or guideline still holds true as we develop software (as far removed as software development from counting stock may be). For some reason it is a fundamental guideline we’re simply ignorant of. We write our code, we write our tests and thus commit the same horrendous offence. Yes, the procedure of writing unit tests as practiced in most development houses today – is flawed. Most if not all of the tests we write today exercise application logic – our logic. They are based on the way we believe an application or method should/may/will behave or function. As we write our tests, our unit tests mirror our best understanding of the inner workings of our application code. Unfortunately these tests will therefore also include (or be unaware of) any imperfections and errors on our part. If your logic is flawed as you write your initial code, chances are, without a fresh set of eyes, you will commit the same error second time around too. Not even experience seems to be a suitable solution. It certainly helps to have deeper insight, but is that really the answer we should be looking for? Is that really failsafe? What about code review? Code review is certainly an answer. You could have one developer coding away and another (or team) making sure the logic is sound. The practice however has its obvious drawbacks. Firstly and mainly it is resource intensive and from what I’ve seen in most development houses, given heavy deadlines, this guideline is seldom adhered to. Hardly ever do we have the resources, money or time readily available. So what other options are out there? A quest to find some solution revealed a project by Microsoft Research called PEX. PEX is a framework which creates several test scenarios for each method or class you write, automatically. Think of it as your own personal auditor. Within a few clicks the framework will auto generate several unit tests for a given class or method and save them to a single project. PEX help to audit your work. It lends a fresh set of eyes to any project you’re working on and best of all; it is cost effective and fast. Check them out at http://research.microsoft.com/en-us/projects/pex/ In upcoming posts we’ll dive deeper into how it works and how it can help you.   Certainly there are more similar frameworks out there and I would love to hear from you. Please share your experiences and insights.

    Read the article

  • Oracle OpenWorld Preview: Oracle Social Network Technical Tour

    - by kellsey.ruppel
      Originally posted by Jake Kuramoto on The Apps Lab blog. Yesterday, I told you about the Oracle Social Network Developer Challenge we’ll be hosting at OpenWorld (@oracleopenworld) next week. If you’re attending OpenWorld or JavaOne (@javaoneconf) and want to get hands-on experience with Oracle Social Network and show off your coding chops, this is the event for you. Go ahead and register. I’ll wait. But wait, there’s more. If you’re not sure you’ll have the time for the Challenge, don’t want to embarrass anyone with your awesome skills, have a hectic schedule and can’t commit, or just want to learn more about Oracle Social Network and how to extend it, then the Oracle Social Network Technical Tour is for you. Read Jake's originally entry to learn more about The Tour!

    Read the article

  • Ubuntu Touch porting: bad file tree

    - by fcole90
    I'm trying to port ubuntu touch to Samsung Galaxy S Plus but I'm finding it really difficult. The problems at first were to find a good CM rom as base, because this device is not officially supported by CM. Currently I'm using EhndroixIII but now I'm founding a lot of problems with the porting guide. In particular my file tree seems totally different from the one of the guide. For example, there is no device folder. What can I do to solve? Should I create those files? My repository is https://github.com/fcole90/utouch-sgsp.git

    Read the article

  • SQL SERVER – Planned and Unplanned Availablity Group Failovers – Notes from the Field #031

    - by Pinal Dave
    [Note from Pinal]: This is a new episode of Notes from the Fields series. AlwaysOn is a very complex subject and not everyone knows many things about this. The matter of the fact is there is very little information available on this subject online and not everyone knows everything about this. This is why when a very common question related to AlwaysOn comes, people get confused. In this episode of the Notes from the Field series database expert John Sterrett (Group Principal at Linchpin People) explains a very common issue DBAs and Developer faces in their career and is related to Planned and Unplanned Availablity Group Failovers. Linchpin People are database coaches and wellness experts for a data driven world. Read the experience of John in his own words. Whenever a disaster occurs it will be a stressful scenario regardless of how small or big the disaster is. This gets multiplied when it is your first time working with newer technology or the first time you are going through a disaster without a proper run book. Today, were going to help you establish a run book for creating a planned failover with availability groups. To make today’s session simple were going to have two instances of SQL Server 2012 included in an availability group and walk through the steps of doing an unplanned failover.  We will focus on using the user interface and T-SQL to complete the failovers. We are going to use a two replica Availability Group where each replica is in another location. Therefore, we will be covering Asynchronous (non automatic failover) the following is a breakdown of our availability group utilized today. Seeing the following screen might be scary the first time you come across an unplanned failover.  It looks like our test database used in this Availability Group is not functional and it currently isn’t. The database status is not synchronizing which makes sense because the primary replica went down so it couldn’t synchronize. With that said, we can still failover and make it functional while we troubleshoot why we lost our primary replica. To start we are going to right click on the availability group that needs to be restarted and select failover. This will bring up the following wizard, which will walk you through several steps needed to complete the failover using the graphical user interface provided with SQL Server Management Studio (SSMS). You are going to see warning messages simply because we are in Asynchronous commit mode and can not guarantee ‘no data loss’ when we do failover. Just incase you missed it; you get another screen warning you about potential data loss because we are in Asynchronous mode. Next we get to connect to the specific replica we want to become the primary replica after the failover occurs. In our case, we only have two replicas so this is trivial. In order to failover, it’s required to connect to the replica that will become primary.  The following screen shows that the connection has been made successfully. Next, you will see the final summary screen. Once again, this reminds you that the failover action will cause data loss as were using Asynchronous commit mode due to the distance between instances used for disaster recovery. Finally, once the failover is completed you will see the following screen. If you followed along this long you might be wondering what T-SQL scripts are generated for clicking through all the sections of the wizard. If you have used Database Mirroring in the past you might be surprised.  It’s not too different, which makes sense because the data is being replicated via SQL Server endpoints just like the good old database mirroring. Now were going to take a look at how to do a failover with just T-SQL. First, were going to need to open a new query window and run our query in SQLCMD mode. Just incase you haven’t used SQLCMD mode before we will show you how to enable it below. Now you can run the following statement. Notice, we connect to the replica we want to become primary after failover and specify to force failover to allow data loss. We can use the following script to failback over when our primary instance comes back online. -- YOU MUST EXECUTE THE FOLLOWING SCRIPT IN SQLCMD MODE. :Connect SQL2012PROD1 ALTER AVAILABILITY GROUP [AGSQL2] FORCE_FAILOVER_ALLOW_DATA_LOSS; GO Are your servers running at optimal speed or are you facing any SQL Server Performance Problems? If you want to get started with the help of experts read more over here: Fix Your SQL Server. Reference: Pinal Dave (http://blog.sqlauthority.com)Filed under: Notes from the Field, PostADay, SQL, SQL Authority, SQL Query, SQL Server, SQL Tips and Tricks, T SQL

    Read the article

  • Help! Online upgrade from 12.04 to 14.04 stuck

    - by Luis
    I was trying to upgrade my Lenovo T500 laptop from Kubuntu 12.04 LTS to Kubuntu 14.04 LTS. Fired up the upgrade process, and finally after downloading a zillion packages the upgrade got going, only to get stuck... It has been stuck for hours on: Installing the upgrades->Unpacking subversion Last lines of error messages: GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.32.4/./gobject/gtype.c:2722: You forgot to call g_type_init() at /usr/lib/perl/5.18/DynaLoader.pm line 207. GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed at /usr/lib/perl/5.18/DynaLoader.pm line 207. I don't care much about subversion anymore, I use git now; I don't care if subversion ends up in a bad state and I have to remove it... I just want the upgrade to continue, and hopefully complete. Any ideas???? Thanks, Luis

    Read the article

  • Uploading to a PPA using quickly

    - by Andres
    I am trying to participate in ubuntu showdown. I followed Jono's tutorial to do a browser using quickly. I did some modifications including choosing license (gpl v3), putting my name in copy right ( without special spanish charecters since quicky does not like it) $quickly run to make sure it worked I used bazaar to commit a change with a line of comment. I packaged it using quickly. Managed to install it ignoring some warnings but it would not run. I want to share code to get feedback. I have a launchpad account, signed terms and coditions, created a ppa. I got my commandline to talk to lauchpad using the encription key. But when I run $quickly release or $quickly share and it says the project does not exist. There seems to be another command $dput ... But i don't seem to get the wording right because it requests some sort of signed file that i cannot manage to add the correct way.

    Read the article

  • Doing two Declarative Operations with One Button

    - by shay.shmeltzer
    You can file the below video under "things that get asked on OTN a lot". With ADF it is very easy to drag an operation to a page to create a button that activate it. But what if you want a single button to invoke two operations? For example have a button that does a "Delete" as well as a "Commit". The way to do it is to add an action binding, and then overwrite the button function in a backing bean to call the additional action. The nice thing is that JDeveloper will create all the binding code for you in the backing bean - all you need to do is duplicate it. Here is a quick demo:

    Read the article

  • Tips/Process for web-development using Django in a small team

    - by Mridang Agarwalla
    We're developing a web app uing Django and we're a small team of 3-4 programmers — some doing the UI stuff and some doing the Backend stuff. I'd love some tips and suggestions from the people here. This is out current setup: We're using Git as as our SCM tool and following this branching model. We're following the PEP8 for your style guide. Agile is our software development methodology and we're using Jira for that. We're using the Confluence plugin for Jira for documentation and I'm going to be writing a script that also dumps the PyDocs into Confluence. We're using virtualenv for sandboxing We're using zc.buildout for building This is whatever I can think of off the top of my head. Any other suggestions/tips would be welcome. I feel that we have a pretty good set up but I'm also confident that we could do more. Thanks.

    Read the article

  • How to become a more organized programmer?

    - by Ted Wong
    I am a programmer that can code. But I find that I can get thing done, but not get thing do well or like most of the open source communities do. Well, I use some of the library from git hub. I find most of the programme is well structure. Also, a read me. My question are: Is that any common file structure or naming convention in the community or this is just a matter of personal taste? How to become a more organized programmer, instead of writing code just work. But more organized that let other easy to get in your project?

    Read the article

  • 'Other' Features in a programming language

    - by user12960
    Online (i cant remember where) i saw someone mention he wishes programming language has more built in features for tools like documentation and source control. Now i dont understand what needs to be built in for source control since tools like git (sorry but i dont have much experience with others) has everything i need and is very easy to use. Documentation i can understand, perhaps the ability to generate remote procedures calls from source to some kind of IDL would be cool. But really i dont understand what features a programming language can/should have that isnt tied with code generation and syntax (except the two i mention when it comes to libraries). What ideas do you guys have? What is your wishlist?

    Read the article

  • Answers to “What source control system do you use?” (and some winners)

    - by jamiet
    About a month ago I posed a question here on my blog SQL Server devs–what source control system do you use, if any? (answer and maybe win free stuff) in which I asked SQL Server developers to answer the following questions: Are you putting your SQL Server code into a source control system? If so, what source control server software (e.g. TFS, Git, SVN, Mercurial, SourceSafe, Perforce) are you using? What source control client software are you using (e.g. TFS Team Explorer, Tortoise, Red Gate SQL Source Control, Red Gate SQL Connect, Git Bash, etc…)? Why did you make those particular software choices? Any interesting anecdotes to share in regard to your use of source control and SQL Server? I had some really great responses (I highly recommend going and reading them). I promised that the five best, most thought-provoking, responses (as determined by me) would win one of five pairs of licenses for Red Gate SQL Source Control and Red Gate SQL Connect; here are the five that I chose (note that if you responded but did not leave a means of getting in touch then you weren’t considered for one of the prizes – sorry): In general, I don't think the management overhead and licensing cost associated with TFS is worthwhile if all you're doing is using source control. To get value from TFS, at a minimum you need to be using team build, and possibly other stuff as well, such as the sharepoint integration. If that's all you need, then svn with Tortoise would be my first choice. If you want to add build automation later, you can do this with cruisecontrol (is it still called that?), JetBrains, etc. For a long time I thought that Redgate's claims about "bridging the SSMS-VS divide" were a load of hot air, since in my experience anyone who knew what they were doing was using Visual Studio, in particular SSDT and its predecessors. However, on a recent client I was putting in source control for the first time, and I discovered that the "divide" really does exist. That client has ended up using svn with Redgate SQL Source Control, with no build automation, but with scope to add it in the future. Gavin Campbell I think putting the DB under source control is a great idea.  I have issues with the earlier versions of SQL Source Control in that it provides little help in versioning the DB. I think the latest version merges SQL Compare and SQL Source Control together.  Which is how it should have been all along. Sure I have the DB scripts in SVN, but I can't automate DB builds and changes without more tools.  Frankly I'm surprised databases don't have some sort of versioning built into them. Nick Portelli Source control has been immensely useful and saved me from a lot of rework on more than one occasion.  I have learned that you have to be extremely careful checking in data.  Our system is internal only so during the system production run once a week, if there is a problem that I can fix easily(for example, a control table points to a file in the wrong environment), I'll do it directly in production so the run can continue as soon as possible since we have a specified time window.  We do full test runs to minimize this but it has come up once or twice.  We use Red-Gate source control to "push" from the test environment to the production environment.  There have been a couple of occasions where the test environment with the wrong setting was pushed back over the production environment because the change was made only in production.  Gotta keep an eye on that. Alan Dykes Goodness is it manual.  And can be extremely painful at times.  Not only are we running thin, we are constrained on the tools we can get ($$ must mean free).  Certainly no excuse, and a great opportunity to improve my skills by learning new things.  But...  Getting buy in a on a proven process or methodology is hard, takes time, and diverts us from development.  If SQL Source Control is easy to use and proven oh boy could you get some serious fans around here!  Seriously though, as the "accidental dba" of this shop any new ideas / easy to implement tools can make a world of difference in productivity and most importantly accuracy.  Manual = bad. :) John Hennesey (who left his email address) The one thing I would love to know more about is the unique challenges of working with databases as source code - you can store scripts, but are they written as deployment scripts with all the logic about how to apply them to an existing DB? Where is that baseline DB? Where's the data? How does a team share the data and the code? It's a real challenge. Merrill Aldrich Congratulations to the five of you. Red Gate will be in touch with you soon about your free licenses. Thank you to all those that responded. And again, go and check out all the responses – those above are only small proportion from what is a very interesting comment thread. @Jamiet

    Read the article

  • How can I merge two SubVersion branches to one working copy without committing?

    - by Eric Belair
    My current SubVersion workflow is like so: The trunk is used to make small content changes and bug fixes to the main source code. Branches are used for adding/editing enhancements and projects. So, trunk changes are made, tested, committed and deployed pretty quickly. Whereas, enhancements and projects need additional user testing and approval. At time, I have two branches that need testing and approval at the same time. I don't want to merge to the trunk and commit until the changes are fully tested and approved. What I need to do is merge both branches to one working copy without any commits. I am using Tortoise SVN, and when I try to merge the second branch, I get an error message: Cannot merge into a working copy that has local modifications Is there a way that I can do this without committing either merge?

    Read the article

  • Bump version before kicking off new development or when tagging a release, which is better?

    - by linquize
    Some projects bump version before kicking off a new development, while the other projects bump version when tagging a release. Which approach is better? If version number not changed at the start of new phase, the developers may forget to change it and simply release the program. If version number changed before tagging release, then 2 the version numbers (tag and Makefile/AssemblyInfo.cs) do not match. git describe may give you v1.2.3.4-15-g1234567 if current revision is after v1.2.3.4, but you have already changed the files to have v1.2.3.5

    Read the article

  • How should I store and secure self-signed certificates?

    - by Anthony Mastrean
    I'm fairly certain I shouldn't commit certificates into source control. Even if the repository is private and only authenticated coworkers (for example) have access to it. That would allow for accidental exposure (thumb drives, leaked credentials, whatever). But, how should I store and secure certificates? I don't suppose I should just plop them on the network file server, for some of the same reasons I wouldn't put them into source control, right? Is there some kind of secure certificate store that I can run? Does the Java "keystore" do that generally or is it specific for like weblogic servers or something?

    Read the article

  • Beginners' Guide to Development

    - by Bombillazo
    Hello. So I have some experience programming in Java, and at the moment I am learning how to use Python. I have read on the process of game design and such. I also have media covered, got experience with graphics and audio. My question is geared more towards the actual tools to use for making games, developing. I am willing to commit to a long term development cycle, as I will be doing this as a hobby. I've heard of Flash, Gamemaker, etc. I don't intend to create my own Game Engine, so I was looking for a platform that is extensible and easy to program with an OOP mind frame. As a plus it would be great of said game could be played directly from a website. TIA!

    Read the article

  • Fresh install 12.04 Performance & Stability: SONY VPCCW2S1E

    - by George Katsanos
    just yesterday I installed 12.04. Is it normal that installing a package (Chrome for example) takes 5 to 10 minutes (compared to Windows 7 for example which takes 2 or 3)? (with end result: installation failed) Otherwise is it normal that while the system is doing some installation,extracting packs and so on, other applications often become unresponsive? Sidenote: I don't care about fancy desktop effects, I installed ubuntu to go on and experiment with web servers, memcache, Varnish and git/svn. So basically I plan to do lots of console-only operations. My surprise was also the difference of stability compared to an old FreeBSD installation I had on a dinosaur P3 550Mhz :) (I am on a SONY VPCCW2S1E) (I guess it might have to do something with my problems?)

    Read the article

  • WWDC 2010 : Apple a présenté la nouvelle version de XCode, l'environnement de développement d'Apple

    Apple a dévoilé la nouvelle version de XCode 4 aux développeurs présents à l'édition 2010 de la WWDC. Seuls les développeurs inscrits à la WWDC peuvent actuellement télécharger XCode 4 sur leur Mac. XCode 4 nécessite Mac OS X 10.6.4 Qu'apporte-t-il de neuf ? On ne sait pas encore grand chose, vu que tout ce qui se passe à la WWDC en dehors de la keynote est sous NDA. Mais, malgré la NDA, quelques bruits filtrent sur le net. Il semblerait que XCode 4 apporterait un meilleur support pour le versionning du code. Où on aurait une interface à la Time Machine pour merger son code facilement. Meilleure intégration avec SubVersion, Git. Interface Builder ne serait plus quelque chose qui est à ...

    Read the article

  • Release Notes for 9/6/2012

    Below are the release notes from today's deployment. More performance improvements around inline diffs – this time in the pull request view Fixed an issue where sending pull requests was not generating notification emails Fixed some cosmetic issues around viewing file diffs in commit changesets and pull requests Have ideas on how to improve CodePlex? Please visit our suggestions page! Vote for existing ideas or submit a new one. As always you can reach out to the CodePlex team on Twitter @codeplex or reach me directly @mgroves84

    Read the article

  • GNOME Shell Overview animation is slow on my NVIDIA 320M

    - by AllanCaeg
    I'm running Ubuntu 10.10 on my MacBook Air 11" (late 2010 model 3,1). Compiz runs fine, as well as most of GNOME Shell's animations. The animation for switching to and from GNOME Shell overview is just very slow. Unfortunately, it's the most common animation on Shell. I already applied cd ~/gnome-shell/source/gnome-shell curl http://bugzilla-attachments.gnome.org/attachment.cgi?id=157326 > shell-animations-nvidia.patch git am shell-animations-nvidia.pat that I found from http://live.gnome.org/GnomeShell/SwatList , but the issue's still here. How do I fix this? EDIT: Apparently, it's an NVIDIA driver bug, which has something to do with the message tray. Is this correct? How do I go around this issue?

    Read the article

  • How to sync files between local dir and remote dir without using an IDE?

    - by Moe Sweet
    I'm running windows 7 and I have a working dir in my PC. I have my staging server that I only have FTPS (Explicit) access to. What I want... Everytime I change something in my local dir, I want my remote dir synced via FTPS method alone. SVN, CVS, GIT is not an option. I tried notepad++, eclipse and Netbeans and all couldn't work. In general, I don't want to rely on an IDE to achieve this task. And I don't want to install anything funny like rsync and I don't want to write scripts.

    Read the article

  • youtube-dl not performing as expected on 12.10

    - by J2big
    When I type the video url, it bring out this message instead of download. Please what do I do because I really need to start downloading videos. joshua@joshua-HP-625:~$ youtube-dl http://www.youtube.com/watch?v=h3gPo7qFOFw& feature=player_detailpage [1] 6720 joshua@joshua-HP-625:~$ Hi! We changed distribution method and now youtube-dl needs to update itself one more time. This will only happen once. Simply press enter to go on. Sorry for the trouble! The new location of the binaries is https://github.com/rg3/youtube-dl/downloads, not the git repository.

    Read the article

  • Approach on working with many programmers on one module/feature

    - by Panoy
    How can 2 or more developers code a certain feature/module of a software? Let's assume that the module is big and feature rich. How would they prevent each other from overlapping their code? Say, we have the same method but is implemented in a different way. Do you think it might be better to have one focused at a specific feature only? Is a version control system like Git would help solve the problem? Is it correct that it allows developers to have these "branches" and then merge it later on? What's your take on this?

    Read the article

  • Installation automation

    - by Denis Gorbachev
    Use case: When I install Ubuntu on another computer, I need to: install all the packages that I use; make some config changes; svn checkout some projects; git clone some projects; setup .ssh/config; download a custom Eclipse build; download some additional Eclipse plugins; make many other tweaks. So, I want to run a script, like sudo install-everything-needed, that would execute these predefined actions. Is there any package that provides the backbone for such system?

    Read the article

  • Good and easy way to share files on local machine

    - by jb
    I would like to have a directory that has following properties: Many users can copy files into it These files can be deleted/changed by these users (user A can delete/modify file that was copied into this directory) it cant be done using normal file permissions (because permissions are retained on copy). Here is what I found on the net: brainstorm idea blueprint Some use cases: Sharing music on local machine Simple git repository sharing (just make a bare repository writeable to many people) --- i know that there are solutions like gitosis Allow many developers to modify test instance of php app without giving them root (i guess they would copy files) --- I'm leading a team of nonprofit junior developers and I need to keep that one simple! EDIT AFAIK setting SGID bit is not enugh, it only affects newly created files --- and basic workflow for these use cases ivnolves copying and other operations (which cleave file's gid unchanged)

    Read the article

  • How to keep "dot files" under version control?

    - by andrewsomething
    Etckeeper is a great tool for keeping track of changes to your configuration files in /etc A few key things about it really stand out. It can be used with a wide variety of VCSs: git, mercurial, darcs, or bzr. It also does auto commits daily and whenever you install, remove or upgrade package. It also keeps track of file permissions and user/group ownership metadata. I would also like to keep my "dot files" in my home directory under version control as well, preferably bazaar. Does anyone know if a tool like etckeeper exists for this purpose? Worst case, I imagine that a simple cron job running bzr add && bzr ci once or twice a day along with adding ~/Documents, ~/Music, ect to the .bzrignore Anyone already doing something similar with a script? While I'd prefer bazaar, other options might be interesting.

    Read the article

< Previous Page | 116 117 118 119 120 121 122 123 124 125 126 127  | Next Page >