Difference between revisions of "User:BrentNewland"

From ReactOS Wiki
Jump to: navigation, search
m
m
Line 1: Line 1:
 
*http://en.wikipedia.org/wiki/Wikipedia:Cheatsheet
 
*http://en.wikipedia.org/wiki/Wikipedia:Cheatsheet
 
*http://www.reactos.org/wiki/Templates
 
*http://www.reactos.org/wiki/Templates
 +
 +
Amaya W3C browser (supposed to be light fast stable and standards compliant)
 +
*http://www.w3.org/Amaya/User/BinDist.html
  
 
*Right now I'm starting by going through every changelog and adding the information to each file page (as best I can) to establish a brief official history. I am also adding a link to the revision log for every file.
 
*Right now I'm starting by going through every changelog and adding the information to each file page (as best I can) to establish a brief official history. I am also adding a link to the revision log for every file.
Line 100: Line 103:
  
 
No bitmap resources in ReactOS
 
No bitmap resources in ReactOS
*All vector Graphics
+
*All [http://en.wikipedia.org/wiki/Vector_graphics vector Graphics]
 +
**[http://en.wikipedia.org/wiki/SVG SVG]
 +
*important for scaling to different resolutions and DPI's (quality is always consistent)
 +
*Should be designed at very high resolutions (going high>low resolution for vector should look better than low>high)
 
*includes icons
 
*includes icons
 
*includes items like "X" to close screen
 
*includes items like "X" to close screen
 
*of course, ReactOS should support bitmap resources for other programs, but itself shouldn't use any
 
*of course, ReactOS should support bitmap resources for other programs, but itself shouldn't use any
 +
*Essentially [http://en.wikipedia.org/wiki/Windows_Presentation_Foundation Windows Presentation Foundation] for ReactOS explorer?
  
 
[http://freetype.org/ Freetype] Fonts (an OpenType implementation, cross platform) and [http://www.pango.org/ Pango]
 
[http://freetype.org/ Freetype] Fonts (an OpenType implementation, cross platform) and [http://www.pango.org/ Pango]
 
*essentially vector graphic fonts
 
*essentially vector graphic fonts
  
Cairo graphics library
+
[http://en.wikipedia.org/wiki/Cairo_(graphics) Cairo graphics library]
*2D vector graphics library, supports Win32 GDI+
+
*2D vector graphics library with hardware acceleration
 
*Could be used to apply shading, gradients, and color blending (which vector graphics normally can't do) to Ui elements
 
*Could be used to apply shading, gradients, and color blending (which vector graphics normally can't do) to Ui elements
 +
*GPL, C, win32 GDI (or Direct2D) compatible
 +
*Used by GTK+ project
 +
**Crazy to think of using GTK+ for explorer?
  
  
Line 175: Line 185:
 
*Also thinking of locking files at specific revisions, or entire directories (or the entire trunk you are going against)
 
*Also thinking of locking files at specific revisions, or entire directories (or the entire trunk you are going against)
 
**Since you haven't changed those files, there's no need to merge anything, it just downloads the specified revision of each file
 
**Since you haven't changed those files, there's no need to merge anything, it just downloads the specified revision of each file
 +
Git: ''The pull command in fact fetches commits and then merges them into your current branch. If you have no local changes, then the merge is a fast forward, a degenerate case akin to fetching the latest version in a centralized version control system.''
 +
*http://stackoverflow.com/questions/5224198/can-i-create-a-subversion-branch-that-tracks-trunk
 +
'''Hey, maybe this can do it!''' [http://svnbook.red-bean.com/nightly/en/svn.advanced.externals.html SVN Externals]
 +
*If an external is set for a particular revision, no amount of 'update' will change any file in it, even though the external repo has had new revisions.

Revision as of 11:39, 23 March 2012

Amaya W3C browser (supposed to be light fast stable and standards compliant)

  • Right now I'm starting by going through every changelog and adding the information to each file page (as best I can) to establish a brief official history. I am also adding a link to the revision log for every file.
  • Next, once I've worked my way up to the 0.3.14 changelog, I will go filepage by filepage, determining exactly what that file does, including a detailed explanation, what components it fits into, any external references,a rostests list, and any current bugs (see Explorer.exe for an example bug list).
  • This should have wide-ranging benefits not just to ReactOS but to the Windows community as a whole. If you google for most Windows Files, you find a lot of junk out there that's not helpful. By including quality information, the ReactOS google rank should go up, then links to the wiki should go up, and the project will get more attention and visitors.
  • This is a little more forward thinking, but if it works as well as I hope, I've been thinking of ways to make the Wiki more useful for developers - perhaps a link in the source code folder for components which have a page in the wiki (e.g. a "explorer.roswiki" file in /trunk/reactos/base/shell/explorer/ with the contents "http://www.reactos.org/wiki/Explorer.exe", the user could have their browser open it by default); Some ways the Wiki could be more useful:
    • Developers could post reminders and notes on the Wiki
    • Links to good references
    • Status of that component
    • TODO lists
    • Plus each page would include any bugs it could find and quick links to the history
    • Think of the Wiki as the one-stop shop for everyone
  • Also, the Wiki is pretty light on material and cross-links (internal and external). It's not always easy to navigate to the ViewVC page, or the SVN HTMl interface, or other important pages (but hopefully that will change with the website overhaul).

My heavy editing will only last for a few weeks (hopefully), and then I'll just make regular changes. Unfortunately the Wiki has been somewhat neglected. Here are some changes I've made:

  • Put almost every page (except ones I'm working on right now) into a category of some sort (would love to see This page in the sidebar)
  • Incorporated content from various sources into the wiki (various FAQ's, about pages, info pages, some forum posts)
  • Cleaned up and combined/separated the ReactOS_ports page and category
  • Cleaned up and combined/optimised the File Systems page and category
  • Added cross-links to the outdated Version_Status page (without changing any of the statuses)
  • Added some anchors to People of ReactOS and redirects for people who had been linked to elsewhere in the wiki but had no page (broken links)
  • Recovered and recreated ChangeLog-0.2.2 and ChangeLog-0.2.3
  • Cleaned up the ReactOS subsystems page and category
  • Created the Frameworks page, which has important frameworks you might need to install to run some programs
  • Recreated the FAQ

And here's what I plan to do:

  • Go through every newsletter and add/link to any useful information
  • Go through the entire forum and incorporate any useful information into the wiki
  • Add lots more helpful tutorials
    • A completely new user to ReactOS should have a guide available that will walk them through anything they want to do - download the latest release, which one to download (the differences between dbg and dbgwin are not explained), installing it, installing a virtual machine if needed, exactly how to report a bug, exactly how to get a backtrace and anything else needed to file a proper report (I still don't know how to get raddr2line, seems like you may have to compile it yourself, and a fresh user will be turned away almost immediately by having to compile something)
  • Provide as much cross-linking as possible to lead users to new content
  • Update every page at least once initially and periodically thereafter
    • Even if I have to sit in the IRC channel and ask the same question over and over and over
    • Unless it was a one-off thing or is only there for historical purposes
  • Everything possible to make this Wiki as awesome as possible with as much relevant and up to date information as possible
  • Document every aspect of ReactOS, its components, its status, its GUI, missing features, the API, and all the suggestions and ideas I can find (excluding ridiculous ones)

And in the further future:

  • Create a new installer for ReactOS - using PHP (wrapped in a PHP wrapper or directly using php-gtk or similar)
    • I know it can be done - and not that difficultly
    • I think it has benefits - such as being easier for Distributions, allowing you to change settings while the install is in progress and saving your place when it has to reboot, allowing you to pick apps and download and install them with the OS, and more
    • I want to
    • I never expect that to be part of the official distribution
    • You don't have to use it if you don't want to
  • Create a replacement Control Panel for ReactOS using PHP
  • Create a ReactOS updater and appmarket using PHP
  • Create an external web interface a-la Windows Home Server using PHP
  • Get Active Desktop working
    • Simple GUI program that has no borders or title bar or menus, all it does is fill 100% with an HTML page (embedded using mshtml?, or webkit or gecko)
    • Use SetWindow to make the parent of this program 0, which makes it replace the wallpaper/desktop, but not the taskbar (from what I understand)
    • Have it auto-launch on startup and autorestart if it crashes
  • then get Active Desktop Portal program (made with PHP) updated and expanded


how to take screenshots

  • upload directly to web
  • only one program

donate reactos with phone

  • smscoin seems only good option, others require $200-$400 paid per month (by the project)
    • But ReactOS could receive as little as 25% of the donation

phpbb+reddit


Infobox for Wiki and extensions

Go through NirSoft's website and identify programs that have featuers that would enhance ReactOS

Replace ReactOS Registry with MySQL

  • Convert any system registry calls or API registry functions to go through an abstraction layer or wrapper
  • Abstraction layer will connect to Windows Registry (service), or to other database specially configured
    • e.g. MySQL, MSSQL, PostgreSQL, etc,
  • Will require changes to ReactOS and database server
  • Will not be usable for first stages of boot (until database is started)


No bitmap resources in ReactOS

  • All vector Graphics
  • important for scaling to different resolutions and DPI's (quality is always consistent)
  • Should be designed at very high resolutions (going high>low resolution for vector should look better than low>high)
  • includes icons
  • includes items like "X" to close screen
  • of course, ReactOS should support bitmap resources for other programs, but itself shouldn't use any
  • Essentially Windows Presentation Foundation for ReactOS explorer?

Freetype Fonts (an OpenType implementation, cross platform) and Pango

  • essentially vector graphic fonts

Cairo graphics library

  • 2D vector graphics library with hardware acceleration
  • Could be used to apply shading, gradients, and color blending (which vector graphics normally can't do) to Ui elements
  • GPL, C, win32 GDI (or Direct2D) compatible
  • Used by GTK+ project
    • Crazy to think of using GTK+ for explorer?


ReactOS Fonts

  • Fonts
    • DejaVuSans-Bold.ttf
    • DejaVuSans-BoldOblique.ttf
    • DejaVuSans-Oblique.ttf
    • DejaVuSans.ttf
    • DejaVuSansMono-Bold.ttf
    • DejaVuSansMono-BoldOblique.ttf
    • DejaVuSansMono-Oblique.ttf
    • DejaVuSansMono.ttf
    • DejaVuSerif-Bold.ttf
    • DejaVuSerif-BoldItalic.ttf
    • DejaVuSerif-Italic.ttf
    • DejaVuSerif.ttf
  • Gnu FreeFont
    • FreeMono.ttf
    • FreeMonoBold.ttf
    • FreeMonoBoldOblique.ttf
    • FreeMonoOblique.ttf
    • Does not include FreeSans or FreeSerif
  • http://en.wikipedia.org/wiki/Liberation_fonts Liberation Fonts]
    • based on modified Bitstream Vera font
    • LiberationMono-Bold.ttf
    • LiberationMono-BoldItalic.ttf
    • LiberationMono-Italic.ttf
    • LiberationMono-Regular.ttf
    • LiberationSans-Bold.ttf
    • LiberationSans-BoldItalic.ttf
    • LiberationSans-Italic.ttf
    • LiberationSans-Regular.ttf
    • LiberationSerif-Bold.ttf
    • LiberationSerif-BoldItalic.ttf
    • LiberationSerif-Italic.ttf
    • LiberationSerif-Regular.ttf
  • Marlett.ttf
  • symbol.ttf
  • tahoma.ttf
  • tahomabd.ttf

Suggested for ReactOS


  • Create a new branch that is empty
  • Client sees a list of all files in trunk
  • Editing any file will move that file to the branch and make changes there, that file is not synced manually
    • Optionally choose not to sync additional files or entire folders
  • Compiling a branch will use any files you've changed first, then the trunk for the rest
    • Always using the latest code
    • Ability to specify a revision of trunk to use for trunk files

Think I might have just described git, or a distributed version control system

  • However, from wikipedia: As a disadvantage of DVCS, one could note that initial cloning of a repository is slower compared to centralized checkout, because all branches and revision history are copied.
  • I am thinking of a branch that doesn't clone the master, but kind of hard-links to it, except for files you've changed or marked as do-not-merge
  • Also thinking of locking files at specific revisions, or entire directories (or the entire trunk you are going against)
    • Since you haven't changed those files, there's no need to merge anything, it just downloads the specified revision of each file

Git: The pull command in fact fetches commits and then merges them into your current branch. If you have no local changes, then the merge is a fast forward, a degenerate case akin to fetching the latest version in a centralized version control system.

Hey, maybe this can do it! SVN Externals

  • If an external is set for a particular revision, no amount of 'update' will change any file in it, even though the external repo has had new revisions.