Introduction
This PEP contains the index of all Python Enhancement Proposals, known as PEPs. PEP numbers are assigned by the PEP editors, and once assigned are never changed[1]. The Mercurial history[2] of the PEP texts represent their historical record.
Index by Category
num title owner --- ----- ----- Meta-PEPs (PEPs about PEPs or Processes) P 1 PEP Purpose and Guidelines Warsaw, Hylton, Goodger, Coghlan P 4 Deprecation of Standard Modules von Löwis P 5 Guidelines for Language Evolution Prescod P 6 Bug Fix Releases Aahz, Baxter P 7 Style Guide for C Code GvR P 8 Style Guide for Python Code GvR, Warsaw, Coghlan P 9 Sample Plaintext PEP Template Warsaw P 10 Voting Guidelines Warsaw P 11 Removing support for little used platforms von Löwis P 12 Sample reStructuredText PEP Template Goodger, Warsaw Other Informational PEPs I 20 The Zen of Python Peters I 101 Doing Python Releases 101 Warsaw, GvR IF 247 API for Cryptographic Hash Functions Kuchling IF 248 Python Database API Specification v1.0 Lemburg IF 249 Python Database API Specification v2.0 Lemburg I 257 Docstring Conventions Goodger, GvR IF 272 API for Block Encryption Algorithms v1.0 Kuchling I 287 reStructuredText Docstring Format Goodger I 290 Code Migration and Modernization Hettinger IF 291 Backward Compatibility for the Python 2 Standard ... Norwitz IF 333 Python Web Server Gateway Interface v1.0 Eby I 373 Python 2.7 Release Schedule Peterson I 392 Python 3.2 Release Schedule Brandl I 394 The "python" Command on Unix-Like Systems Staley, Coghlan I 398 Python 3.3 Release Schedule Brandl IF 399 Pure Python/C Accelerator Module Compatibility ... Cannon IF 404 Python 2.8 Un-release Schedule Warsaw IA 411 Provisional packages in the Python standard library Coghlan, Bendersky I 429 Python 3.4 Release Schedule Hastings IF 430 Migrating to Python 3 as the default online ... Coghlan I 434 IDLE Enhancement Exception for All Branches Rovito, Reedy IA 440 Version Identification and Dependency Specification Coghlan, Stufft I 478 Python 3.5 Release Schedule Hastings IF 3333 Python Web Server Gateway Interface v1.0.1 Eby Accepted PEPs (accepted; may not be implemented yet) SA 345 Metadata for Python Software Packages 1.2 Jones SA 376 Database of Installed Python Distributions Ziadé SA 425 Compatibility Tags for Built Distributions Holth SA 427 The Wheel Binary Package Format 1.0 Holth SA 461 Adding % formatting to bytes and bytearray Furman SA 471 os.scandir() function -- a better and faster ... Hoyt SA 477 Backport ensurepip (PEP 453) to Python 2.7 Stufft, Coghlan SA 3121 Extension Module Initialization and Finalization von Löwis Open PEPs (under consideration) S 381 Mirroring infrastructure for PyPI Ziadé, v. Löwis P 387 Backwards Compatibility Policy Peterson S 426 Metadata for Python Software Packages 2.0 Coghlan, Holth, Stufft S 431 Time zone support improvements Regebro S 432 Simplifying the CPython startup sequence Coghlan S 436 The Argument Clinic DSL Hastings S 441 Improving Python ZIP Application Support Holth S 447 Add __getdescriptor__ method to metaclass Oussoren S 448 Additional Unpacking Generalizations Landau I 452 API for Cryptographic Hash Functions v2.0 Kuchling, Heimes S 455 Adding a key-transforming dictionary to collections Pitrou I 457 Syntax For Positional-Only Parameters Hastings S 458 Surviving a Compromise of PyPI Kuppusamy, Stufft, Cappos S 459 Standard Metadata Extensions for Python Software ... Coghlan S 463 Exception-catching expressions Angelico S 467 Minor API improvements for binary sequences Coghlan S 468 Preserving the order of \*\*kwargs in a function. Snow P 470 Using Multi Index Support for External to PyPI ... Stufft S 472 Support for indexing with keyword arguments Borini, Martinot-Lagarde S 473 Adding structured data to built-in exceptions Kreft S 475 Retry system calls failing with EINTR Natali, Stinner S 476 Enabling certificate verification by default for ...  Hammond SF 314 Metadata for Python Software Packages v1.1 Kuchling, Jones SF 318 Decorators for Functions and Methods Smith SF 322 Reverse Iteration Hettinger SF 324 subprocess - New process module Astrand SF 327 Decimal Data Type Batista SF 328 Imports: Multi-Line and Absolute/Relative Aahz SF 331 Locale-Independent Float/String Conversions Reis SF 338 Executing modules as scripts Coghlan SF 341 Unifying try-except and try-finally Brandl SF 342 Coroutines via Enhanced Generators GvR, Eby SF 343 The "with" Statement GvR, Coghlan SF 352 Required Superclass for Exceptions Cannon, GvR SF 353 Using ssize_t as the index type von Löwis SF 357 Allowing Any Object to be Used for Slicing Oliphant SF 358 The "bytes" Object Schemenauer, GvR SF 362 Function Signature Object Cannon, Seo, Selivanov, Hastings SF 366 Main module explicit relative imports Coghlan SF 370 Per user site-packages directory Heimes SF 371 Addition of the multiprocessing package to the ... Noller, Oudkerk SF 372 Adding an ordered dictionary to collections Ronacher, Hettinger SF 378 Format Specifier for Thousands Separator Hettinger SF 380 Syntax for Delegating to a Subgenerator Ewing SF 383 Non-decodable Bytes in System Character Interfaces v. Löwis SF 384 Defining a Stable ABI v. Löwis SF 389 argparse - New Command Line Parsing Module Bethard SF 391 Dictionary-Based Configuration For Logging Sajip SF 393 Flexible String Representation v. Löwis SF 397 Python launcher for Windows Hammond, v. Löwis SF 405 Python Virtual Environments Meyer SF 409 Suppressing exception context Furman SF 412 Key-Sharing Dictionary Shannon SF 414 Explicit Unicode Literal for Python 3.3 Ronacher, Coghlan SF 415 Implement context suppression with exception attributes Peterson SF 417 Including mock in the Standard Library Foord SF 418 Add monotonic time, performance counter, and ... Simpson, Jewett, Turnbull, Stinner SF 420 Implicit Namespace Packages Smith SF 421 Adding sys.implementation Snow SF 424 A method for exposing a length hint Gaynor SF 428 The pathlib module -- object-oriented filesystem paths Pitrou SF 435 Adding an Enum type to the Python standard library Warsaw, Bendersky, Furman SF 442 Safe object finalization Pitrou SF 443 Single-dispatch generic functions Langa SF 445 Add new APIs to customize Python memory allocators Stinner SF 446 Make newly created file descriptors non-inheritable Stinner SF 450 Adding A Statistics Module To The Standard Library D'Aprano SF 451 A ModuleSpec Type for the Import System Snow SF 453 Explicit bootstrapping of pip in Python installations Stufft, Coghlan SF 454 Add a new tracemalloc module to trace Python memory ... Stinner SF 456 Secure and interchangeable hash algorithm Heimes SF 465 A dedicated infix operator for matrix multiplication Smith SF 466 Network Security Enhancements for Python 2.7.x Coghlan SF 3101 Advanced String Formatting Talin SF 3102 Keyword-Only Arguments Talin SF 3104 Access to Names in Outer Scopes Yee SF 3105 Make print a function Brandl SF 3106 Revamping dict.keys(), .values() and .items() GvR SF 3107 Function Annotations Winter, Lownds SF 3108 Standard Library Reorganization Cannon SF 3109 Raising Exceptions in Python 3000 Winter SF 3110 Catching Exceptions in Python 3000 Winter SF 3111 Simple input built-in in Python 3000 Roberge SF 3112 Bytes literals in Python 3000 Orendorff SF 3113 Removal of Tuple Parameter Unpacking Cannon SF 3114 Renaming iterator.next() to iterator.__next__() Yee SF 3115 Metaclasses in Python 3000 Talin SF 3116 New I/O Stutzbach, GvR, Verdone SF 3118 Revising the buffer protocol Oliphant, Banks SF 3119 Introducing Abstract Base Classes GvR, Talin SF 3120 Using UTF-8 as the default source encoding von Löwis SF 3123 Making PyObject_HEAD conform to standard C von Löwis SF 3127 Integer Literal Support and Syntax Maupin SF 3129 Class Decorators Winter SF 3131 Supporting Non-ASCII Identifiers von Löwis SF 3132 Extended Iterable Unpacking Brandl SF 3134 Exception Chaining and Embedded Tracebacks Yee SF 3135 New Super Spealman, Delaney, Ryan SF 3137 Immutable Bytes and Mutable Buffer GvR SF 3138 String representation in Python 3000 Ishimoto SF 3141 A Type Hierarchy for Numbers Yasskin SF 3144 IP Address Manipulation Library for the Python ... Moody SF 3147 PYC Repository Directories Warsaw SF 3148 futures - execute computations asynchronously Quinlan SF 3149 ABI version tagged .so files Warsaw SF 3151 Reworking the OS and IO exception hierarchy Pitrou SF 3154 Pickle protocol version 4 Pitrou SF 3155 Qualified name for classes and functions Pitrou SF 3156 Asynchronous IO Support Rebooted: the "asyncio" Module GvR Historical Meta-PEPs and Informational PEPs PF 2 Procedure for Adding New Modules Faassen PF 42 Feature Requests Hylton IF 160 Python 1.6 Release Schedule Drake IF 200 Python 2.0 Release Schedule Hylton IF 226 Python 2.1 Release Schedule Hylton IF 251 Python 2.2 Release Schedule Warsaw, GvR IF 283 Python 2.3 Release Schedule GvR IF 320 Python 2.4 Release Schedule Warsaw, Hettinger, Baxter PF 347 Migrating the Python CVS to Subversion von Löwis IF 356 Python 2.5 Release Schedule Norwitz, GvR, Baxter PF 360 Externally Maintained Packages Cannon IF 361 Python 2.6 and 3.0 Release Schedule Norwitz, Warsaw PF 374 Choosing a distributed VCS for the Python project Cannon, Turnbull, Vassalotti, Warsaw, Ochtman IF 375 Python 3.1 Release Schedule Peterson PF 385 Migrating from Subversion to Mercurial Ochtman, Pitrou, Brandl PA 438 Transitioning to release-file hosting on PyPI Krekel, Meyer PA 449 Removal of the PyPI Mirror Auto Discovery and ... Stufft PA 464 Removal of the PyPI Mirror Authenticity API Stufft PF 3000 Python 3000 GvR PF 3002 Procedure for Backwards-Incompatible Changes Bethard PF 3003 Python Language Moratorium Cannon, Noller, GvR PF 3099 Things that will Not Change in Python 3000 Brandl PF 3100 Miscellaneous Python 3.0 Plans Cannon Deferred PEPs SD 211 Adding A New Outer Product Operator Wilson SD 212 Loop Counter Iteration Schneider-Kamp SD 213 Attribute Access Handlers Prescod SD 219 Stackless Python McMillan SD 222 Web Library Enhancements Kuchling SD 225 Elementwise/Objectwise Operators Zhu, Lielens SD 233 Python Online Help Prescod SD 262 A Database of Installed Python Packages Kuchling SD 267 Optimized Access to Module Namespaces Hylton SD 269 Pgen Module for Python Riehl SD 280 Optimizing access to globals GvR SD 286 Enhanced Argument Tuples von Löwis SD 312 Simple Implicit Lambda Suzi, Martelli SD 316 Programming by Contract for Python Way SD 323 Copyable Iterators Martelli SD 337 Logging Usage in the Standard Library Dubner SD 349 Allow str() to return unicode strings Schemenauer SD 368 Standard image protocol and class Mastrodomenico ID 396 Module Version Numbers Warsaw SD 400 Deprecate codecs.StreamReader and codecs.StreamWriter Stinner SD 403 General purpose decorator clause (aka "@in" clause) Coghlan PD 407 New release cycle and introducing long-term support ... Pitrou, Brandl, Warsaw SD 419 Protecting cleanup statements from interruptions Colomiets SD 422 Simpler customisation of class creation Coghlan, Urban ID 423 Naming conventions and recipes related to packaging Bryon ID 444 Python Web3 Interface McDonough, Ronacher PD 462 Core development workflow automation for CPython Coghlan PD 474 Creating forge.python.org Coghlan SD 628 Add ``math.tau`` Coghlan SD 3124 Overloading, Generic Functions, Interfaces, and ... Eby SD 3143 Standard daemon process library Finney SD 3150 Statement local namespaces (aka "given" clause) Coghlan SD 3152 Cofunctions Ewing Abandoned, Withdrawn, and Rejected PEPs PW 3 Guidelines for Handling Bug Reports Hylton IS 102 Doing Python Micro Releases Baxter, Warsaw, GvR SR 204 Range Literals Wouters IW 206 Python Advanced Library Kuchling SW 209 Multi-dimensional Arrays Barrett, Oliphant SR 210 Decoupling the Interpreter Loop Ascher SS 215 String Interpolation Yee IR 216 Docstring Format Zadka IR 220 Coroutines, Generators, Continuations McMillan SR 224 Attribute Docstrings Lemburg SW 228 Reworking Python's Numeric Model Zadka, GvR SR 231 __findattr__() Warsaw SR 239 Adding a Rational Type to Python Craig, Zadka SR 240 Adding a Rational Literal to Python Craig, Zadka SR 242 Numeric Kinds Dubois SW 243 Module Repository Upload Mechanism Reifschneider SR 244 The `directive' statement von Löwis SR 245 Python Interface Syntax Pelletier SR 246 Object Adaptation Martelli, Evans SR 254 Making Classes Look More Like Types GvR SR 256 Docstring Processing System Framework Goodger SR 258 Docutils Design Specification Goodger SR 259 Omit printing newline after newline GvR SR 265 Sorting Dictionaries by Value Griffin SW 266 Optimizing Global Variable/Attribute Access Montanaro SR 268 Extended HTTP functionality and WebDAV Stein SR 270 uniq method for list objects Petrone SR 271 Prefixing sys.path by command line option Giacometti SR 275 Switching on Multiple Values Lemburg SR 276 Simple Iterator for ints Althoff SR 281 Loop Counter Iteration with range and xrange Hetland SR 284 Integer for-loops Eppstein, Ewing SW 288 Generators Attributes and Exceptions Hettinger SR 294 Type Names in the types Module Tirosh SR 295 Interpretation of multiline string constants Koltsov SW 296 Adding a bytes Object Type Gilbert SR 297 Support for System Upgrades Lemburg SW 298 The Locked Buffer Interface Heller SR 299 Special __main__() function in modules Epler SR 303 Extend divmod() for Multiple Divisors Bellman SW 304 Controlling Generation of Bytecode Files Montanaro IW 306 How to Change Python's Grammar Hudson, Diederich, Coghlan, Peterson SR 310 Reliable Acquisition/Release Pairs Hudson, Moore SR 313 Adding Roman Numeral Literals to Python Meyer SR 315 Enhanced While Loop Hettinger, Carroll SR 317 Eliminate Implicit Exception Instantiation Taschuk SR 319 Python Synchronize/Asynchronize Block Pelletier SW 321 Date/Time Parsing and Formatting Kuchling SR 325 Resource-Release Support for Generators Pedroni SR 326 A Case for Top and Bottom Values Carlson, Reedy SR 329 Treating Builtins as Constants in the Standard Library Hettinger SR 330 Python Bytecode Verification Pelletier SR 332 Byte vectors and String/Unicode Unification Montanaro SW 334 Simple Coroutines via SuspendIteration Evans SR 335 Overloadable Boolean Operators Ewing SR 336 Make None Callable McClelland IW 339 Design of the CPython Compiler Cannon SR 340 Anonymous Block Statements GvR SS 344 Exception Chaining and Embedded Tracebacks Yee SW 346 User Defined ("``with``") Statements Coghlan SR 348 Exception Reorganization for Python 3.0 Cannon IR 350 Codetags Elliott SR 351 The freeze protocol Warsaw SS 354 Enumerations in Python Finney SR 355 Path - Object oriented filesystem paths Lindqvist SW 359 The "make" Statement Bethard SR 363 Syntax For Dynamic Attribute Access North SW 364 Transitioning to the Py3K Standard Library Warsaw SR 365 Adding the pkg_resources module Eby SS 367 New Super Spealman, Delaney SW 369 Post import hooks Heimes SR 377 Allow __enter__() methods to skip the statement body Coghlan SW 379 Adding an Assignment Expression Whitley SR 382 Namespace Packages v. Löwis SS 386 Changing the version comparison module in Distutils Ziadé SR 390 Static metadata for Distutils Ziadé SW 395 Qualified Names for Modules Coghlan PR 401 BDFL Retirement Warsaw, Cannon SR 402 Simplified Package Layout and Partitioning Eby SW 406 Improved Encapsulation of Import State Coghlan, Slodkowicz SR 408 Standard library __preview__ package Coghlan, Bendersky SR 410 Use decimal.Decimal type for timestamps Stinner PW 413 Faster evolution of the Python Standard Library Coghlan SR 416 Add a frozendict builtin type Stinner SS 433 Easier suppression of file descriptor inheritance Stinner SR 437 A DSL for specifying signatures, annotations and ... Krah SR 439 Inclusion of implicit pip bootstrap in Python ... Jones SW 460 Add binary interpolation and formatting Pitrou SW 469 Migration of dict iteration code to Python 3 Coghlan SR 666 Reject Foolish Indentation Creighton SR 754 IEEE 754 Floating Point Special Values Warnes PW 3001 Procedure for reviewing and improving standard ... Brandl SR 3103 A Switch/Case Statement GvR SR 3117 Postfix type declarations Brandl SR 3122 Delineation of the main module Cannon SR 3125 Remove Backslash Continuation Jewett SR 3126 Remove Implicit String Concatenation Jewett, Hettinger SR 3128 BList: A Faster List-like Type Stutzbach SR 3130 Access to Current Module/Class/Function Jewett SR 3133 Introducing Roles Winter SR 3136 Labeled break and continue Chisholm SR 3139 Cleaning out sys and the "interpreter" module Peterson SR 3140 str(container) should call str(item), not repr(item) Broytmann, Jewett SR 3142 Add a "while" clause to generator expressions Britton SW 3145 Asynchronous I/O For subprocess.Popen Pruitt, McCreary, Carlson SW 3146 Merging Unladen Swallow into CPython Winter, Yasskin, Kleckner SS 3153 Asynchronous IO support Houtven
Numerical Index
num title owner --- ----- ----- P 1 PEP Purpose and Guidelines Warsaw, Hylton, Goodger, Coghlan PF 2 Procedure for Adding New Modules Faassen PW 3 Guidelines for Handling Bug Reports Hylton P 4 Deprecation of Standard Modules von Löwis P 5 Guidelines for Language Evolution Prescod P 6 Bug Fix Releases Aahz, Baxter P 7 Style Guide for C Code GvR P 8 Style Guide for Python Code GvR, Warsaw, Coghlan P 9 Sample Plaintext PEP Template Warsaw P 10 Voting Guidelines Warsaw P 11 Removing support for little used platforms von Löwis P 12 Sample reStructuredText PEP Template Goodger, Warsaw I 20 The Zen of Python Peters PF 42 Feature Requests Hylton SF 100 Python Unicode Integration Lemburg I 101 Doing Python Releases 101 Warsaw, GvR IS 102 Doing Python Micro Releases Baxter, Warsaw, GvR IF 160 Python 1.6 Release Schedule Drake IF 200 Python 2.0 Release Schedule Hylton SF 201 Lockstep Iteration Warsaw SF 202 List Comprehensions Warsaw SF 203 Augmented Assignments Wouters SR 204 Range Literals Wouters SF 205 Weak References Drake IW 206 Python Advanced Library Kuchling SF 207 Rich Comparisons GvR, Ascher SF 208 Reworking the Coercion Model Schemenauer, Lemburg SW 209 Multi-dimensional Arrays Barrett, Oliphant SR 210 Decoupling the Interpreter Loop Ascher SD 211 Adding A New Outer Product Operator Wilson SD 212 Loop Counter Iteration Schneider-Kamp SD 213 Attribute Access Handlers Prescod SF 214 Extended Print Statement Warsaw SS 215 String Interpolation Yee IR 216 Docstring Format Zadka SF 217 Display Hook for Interactive Use Zadka SF 218 Adding a Built-In Set Object Type Wilson, Hettinger SD 219 Stackless Python McMillan IR 220 Coroutines, Generators, Continuations McMillan SF 221 Import As Wouters SD 222 Web Library Enhancements Kuchling SF 223 Change the Meaning of \x Escapes Peters SR 224 Attribute Docstrings Lemburg SD 225 Elementwise/Objectwise Operators Zhu, Lielens IF 226 Python 2.1 Release Schedule Hylton SF 227 Statically Nested Scopes Hylton SW 228 Reworking Python's Numeric Model Zadka, GvR SF 229 Using Distutils to Build Python Kuchling SF 230 Warning Framework GvR SR 231 __findattr__() Warsaw SF 232 Function Attributes Warsaw SD 233 Python Online Help Prescod SF 234 Iterators Yee, GvR SF 235 Import on Case-Insensitive Platforms Peters SF 236 Back to the __future__ Peters SF 237 Unifying Long Integers and Integers Zadka, GvR SF 238 Changing the Division Operator Zadka, GvR SR 239 Adding a Rational Type to Python Craig, Zadka SR 240 Adding a Rational Literal to Python Craig, Zadka SF 241 Metadata for Python Software Packages Kuchling SR 242 Numeric Kinds Dubois SW 243 Module Repository Upload Mechanism Reifschneider SR 244 The `directive' statement von Löwis SR 245 Python Interface Syntax Pelletier SR 246 Object Adaptation Martelli, Evans IF 247 API for Cryptographic Hash Functions Kuchling IF 248 Python Database API Specification v1.0 Lemburg IF 249 Python Database API Specification v2.0 Lemburg SF 250 Using site-packages on Windows Moore IF 251 Python 2.2 Release Schedule Warsaw, GvR SF 252 Making Types Look More Like Classes GvR SF 253 Subtyping Built-in Types GvR SR 254 Making Classes Look More Like Types GvR SF 255 Simple Generators Schemenauer, Peters, Hetland SR 256 Docstring Processing System Framework Goodger I 257 Docstring Conventions Goodger, GvR SR 258 Docutils Design Specification Goodger SR 259 Omit printing newline after newline GvR SF 260 Simplify xrange() GvR SF 261 Support for "wide" Unicode characters Prescod SD 262 A Database of Installed Python Packages Kuchling SF 263 Defining Python Source Code Encodings Lemburg, von Löwis SF 264 Future statements in simulated shells Hudson SR 265 Sorting Dictionaries by Value Griffin SW 266 Optimizing Global Variable/Attribute Access Montanaro SD 267 Optimized Access to Module Namespaces Hylton SR 268 Extended HTTP functionality and WebDAV Stein SD 269 Pgen Module for Python Riehl SR 270 uniq method for list objects Petrone SR 271 Prefixing sys.path by command line option Giacometti IF 272 API for Block Encryption Algorithms v1.0 Kuchling SF 273 Import Modules from Zip Archives Ahlstrom SF 274 Dict Comprehensions Warsaw SR 275 Switching on Multiple Values Lemburg SR 276 Simple Iterator for ints Althoff SF 277 Unicode file name support for Windows NT Hodgson SF 278 Universal Newline Support Jansen SF 279 The enumerate() built-in function Hettinger SD 280 Optimizing access to globals GvR SR 281 Loop Counter Iteration with range and xrange Hetland SF 282 A Logging System Sajip, Mick IF 283 Python 2.3 Release Schedule GvR SR 284 Integer for-loops Eppstein, Ewing SF 285 Adding a bool type GvR SD 286 Enhanced Argument Tuples von Löwis I 287 reStructuredText Docstring Format Goodger SW 288 Generators Attributes and Exceptions Hettinger SF 289 Generator Expressions Hettinger I 290 Code Migration and Modernization Hettinger IF 291 Backward Compatibility for the Python 2 Standard ... Norwitz SF 292 Simpler String Substitutions Warsaw SF 293 Codec Error Handling Callbacks Dörwald SR 294 Type Names in the types Module Tirosh SR 295 Interpretation of multiline string constants Koltsov SW 296 Adding a bytes Object Type Gilbert SR 297 Support for System Upgrades Lemburg SW 298 The Locked Buffer Interface Heller SR 299 Special __main__() function in modules Epler SF 301 Package Index and Metadata for Distutils Jones SF 302 New Import Hooks JvR, Moore SR 303 Extend divmod() for Multiple Divisors Bellman SW 304 Controlling Generation of Bytecode Files Montanaro SF 305 CSV File API Altis, Cole, McNamara, Montanaro, Wells IW 306 How to Change Python's Grammar Hudson, Diederich, Coghlan, Peterson SF 307 Extensions to the pickle protocol GvR, Peters SF 308 Conditional Expressions GvR, Hettinger SF 309 Partial Function Application Harris SR 310 Reliable Acquisition/Release Pairs Hudson, Moore SF 311 Simplified Global Interpreter Lock Acquisition for ... Hammond SD 312 Simple Implicit Lambda Suzi, Martelli SR 313 Adding Roman Numeral Literals to Python Meyer SF 314 Metadata for Python Software Packages v1.1 Kuchling, Jones SR 315 Enhanced While Loop Hettinger, Carroll SD 316 Programming by Contract for Python Way SR 317 Eliminate Implicit Exception Instantiation Taschuk SF 318 Decorators for Functions and Methods Smith SR 319 Python Synchronize/Asynchronize Block Pelletier IF 320 Python 2.4 Release Schedule Warsaw, Hettinger, Baxter SW 321 Date/Time Parsing and Formatting Kuchling SF 322 Reverse Iteration Hettinger SD 323 Copyable Iterators Martelli SF 324 subprocess - New process module Astrand SR 325 Resource-Release Support for Generators Pedroni SR 326 A Case for Top and Bottom Values Carlson, Reedy SF 327 Decimal Data Type Batista SF 328 Imports: Multi-Line and Absolute/Relative Aahz SR 329 Treating Builtins as Constants in the Standard Library Hettinger SR 330 Python Bytecode Verification Pelletier SF 331 Locale-Independent Float/String Conversions Reis SR 332 Byte vectors and String/Unicode Unification Montanaro IF 333 Python Web Server Gateway Interface v1.0 Eby SW 334 Simple Coroutines via SuspendIteration Evans SR 335 Overloadable Boolean Operators Ewing SR 336 Make None Callable McClelland SD 337 Logging Usage in the Standard Library Dubner SF 338 Executing modules as scripts Coghlan IW 339 Design of the CPython Compiler Cannon SR 340 Anonymous Block Statements GvR SF 341 Unifying try-except and try-finally Brandl SF 342 Coroutines via Enhanced Generators GvR, Eby SF 343 The "with" Statement GvR, Coghlan SS 344 Exception Chaining and Embedded Tracebacks Yee SA 345 Metadata for Python Software Packages 1.2 Jones SW 346 User Defined ("``with``") Statements Coghlan PF 347 Migrating the Python CVS to Subversion von Löwis SR 348 Exception Reorganization for Python 3.0 Cannon SD 349 Allow str() to return unicode strings Schemenauer IR 350 Codetags Elliott SR 351 The freeze protocol Warsaw SF 352 Required Superclass for Exceptions Cannon, GvR SF 353 Using ssize_t as the index type von Löwis SS 354 Enumerations in Python Finney SR 355 Path - Object oriented filesystem paths Lindqvist IF 356 Python 2.5 Release Schedule Norwitz, GvR, Baxter SF 357 Allowing Any Object to be Used for Slicing Oliphant SF 358 The "bytes" Object Schemenauer, GvR SW 359 The "make" Statement Bethard PF 360 Externally Maintained Packages Cannon IF 361 Python 2.6 and 3.0 Release Schedule Norwitz, Warsaw SF 362 Function Signature Object Cannon, Seo, Selivanov, Hastings SR 363 Syntax For Dynamic Attribute Access North SW 364 Transitioning to the Py3K Standard Library Warsaw SR 365 Adding the pkg_resources module Eby SF 366 Main module explicit relative imports Coghlan SS 367 New Super Spealman, Delaney SD 368 Standard image protocol and class Mastrodomenico SW 369 Post import hooks Heimes SF 370 Per user site-packages directory Heimes SF 371 Addition of the multiprocessing package to the ... Noller, Oudkerk SF 372 Adding an ordered dictionary to collections Ronacher, Hettinger I 373 Python 2.7 Release Schedule Peterson PF 374 Choosing a distributed VCS for the Python project Cannon, Turnbull, Vassalotti, Warsaw, Ochtman IF 375 Python 3.1 Release Schedule Peterson SA 376 Database of Installed Python Distributions Ziadé SR 377 Allow __enter__() methods to skip the statement body Coghlan SF 378 Format Specifier for Thousands Separator Hettinger SW 379 Adding an Assignment Expression Whitley SF 380 Syntax for Delegating to a Subgenerator Ewing S 381 Mirroring infrastructure for PyPI Ziadé, v. Löwis SR 382 Namespace Packages v. Löwis SF 383 Non-decodable Bytes in System Character Interfaces v. Löwis SF 384 Defining a Stable ABI v. Löwis PF 385 Migrating from Subversion to Mercurial Ochtman, Pitrou, Brandl SS 386 Changing the version comparison module in Distutils Ziadé P 387 Backwards Compatibility Policy Peterson SF 389 argparse - New Command Line Parsing Module Bethard SR 390 Static metadata for Distutils Ziadé SF 391 Dictionary-Based Configuration For Logging Sajip I 392 Python 3.2 Release Schedule Brandl SF 393 Flexible String Representation v. Löwis I 394 The "python" Command on Unix-Like Systems Staley, Coghlan SW 395 Qualified Names for Modules Coghlan ID 396 Module Version Numbers Warsaw SF 397 Python launcher for Windows Hammond, v. Löwis I 398 Python 3.3 Release Schedule Brandl IF 399 Pure Python/C Accelerator Module Compatibility ... Cannon SD 400 Deprecate codecs.StreamReader and codecs.StreamWriter Stinner PR 401 BDFL Retirement Warsaw, Cannon SR 402 Simplified Package Layout and Partitioning Eby SD 403 General purpose decorator clause (aka "@in" clause) Coghlan IF 404 Python 2.8 Un-release Schedule Warsaw SF 405 Python Virtual Environments Meyer SW 406 Improved Encapsulation of Import State Coghlan, Slodkowicz PD 407 New release cycle and introducing long-term support ... Pitrou, Brandl, Warsaw SR 408 Standard library __preview__ package Coghlan, Bendersky SF 409 Suppressing exception context Furman SR 410 Use decimal.Decimal type for timestamps Stinner IA 411 Provisional packages in the Python standard library Coghlan, Bendersky SF 412 Key-Sharing Dictionary Shannon PW 413 Faster evolution of the Python Standard Library Coghlan SF 414 Explicit Unicode Literal for Python 3.3 Ronacher, Coghlan SF 415 Implement context suppression with exception attributes Peterson SR 416 Add a frozendict builtin type Stinner SF 417 Including mock in the Standard Library Foord SF 418 Add monotonic time, performance counter, and ... Simpson, Jewett, Turnbull, Stinner SD 419 Protecting cleanup statements from interruptions Colomiets SF 420 Implicit Namespace Packages Smith SF 421 Adding sys.implementation Snow SD 422 Simpler customisation of class creation Coghlan, Urban ID 423 Naming conventions and recipes related to packaging Bryon SF 424 A method for exposing a length hint Gaynor SA 425 Compatibility Tags for Built Distributions Holth S 426 Metadata for Python Software Packages 2.0 Coghlan, Holth, Stufft SA 427 The Wheel Binary Package Format 1.0 Holth SF 428 The pathlib module -- object-oriented filesystem paths Pitrou I 429 Python 3.4 Release Schedule Hastings IF 430 Migrating to Python 3 as the default online ... Coghlan S 431 Time zone support improvements Regebro S 432 Simplifying the CPython startup sequence Coghlan SS 433 Easier suppression of file descriptor inheritance Stinner I 434 IDLE Enhancement Exception for All Branches Rovito, Reedy SF 435 Adding an Enum type to the Python standard library Warsaw, Bendersky, Furman S 436 The Argument Clinic DSL Hastings SR 437 A DSL for specifying signatures, annotations and ... Krah PA 438 Transitioning to release-file hosting on PyPI Krekel, Meyer SR 439 Inclusion of implicit pip bootstrap in Python ... Jones IA 440 Version Identification and Dependency Specification Coghlan, Stufft S 441 Improving Python ZIP Application Support Holth SF 442 Safe object finalization Pitrou SF 443 Single-dispatch generic functions Langa ID 444 Python Web3 Interface McDonough, Ronacher SF 445 Add new APIs to customize Python memory allocators Stinner SF 446 Make newly created file descriptors non-inheritable Stinner S 447 Add __getdescriptor__ method to metaclass Oussoren S 448 Additional Unpacking Generalizations Landau PA 449 Removal of the PyPI Mirror Auto Discovery and ... Stufft SF 450 Adding A Statistics Module To The Standard Library D'Aprano SF 451 A ModuleSpec Type for the Import System Snow I 452 API for Cryptographic Hash Functions v2.0 Kuchling, Heimes SF 453 Explicit bootstrapping of pip in Python installations Stufft, Coghlan SF 454 Add a new tracemalloc module to trace Python memory ... Stinner S 455 Adding a key-transforming dictionary to collections Pitrou SF 456 Secure and interchangeable hash algorithm Heimes I 457 Syntax For Positional-Only Parameters Hastings S 458 Surviving a Compromise of PyPI Kuppusamy, Stufft, Cappos S 459 Standard Metadata Extensions for Python Software ... Coghlan SW 460 Add binary interpolation and formatting Pitrou SA 461 Adding % formatting to bytes and bytearray Furman PD 462 Core development workflow automation for CPython Coghlan S 463 Exception-catching expressions Angelico PA 464 Removal of the PyPI Mirror Authenticity API Stufft SF 465 A dedicated infix operator for matrix multiplication Smith SF 466 Network Security Enhancements for Python 2.7.x Coghlan S 467 Minor API improvements for binary sequences Coghlan S 468 Preserving the order of \*\*kwargs in a function. Snow SW 469 Migration of dict iteration code to Python 3 Coghlan P 470 Using Multi Index Support for External to PyPI ... Stufft SA 471 os.scandir() function -- a better and faster ... Hoyt S 472 Support for indexing with keyword arguments Borini, Martinot-Lagarde S 473 Adding structured data to built-in exceptions Kreft PD 474 Creating forge.python.org Coghlan S 475 Retry system calls failing with EINTR Natali, Stinner S 476 Enabling certificate verification by default for ... Gaynor SA 477 Backport ensurepip (PEP 453) to Python 2.7 Stufft, Coghlan I 478 Python 3.5 Release Schedule Hastings SD 628 Add ``math.tau`` Coghlan SR 666 Reject Foolish Indentation Creighton SR 754 IEEE 754 Floating Point Special Values Warnes PF 3000 Python 3000 GvR PW 3001 Procedure for reviewing and improving standard ... Brandl PF 3002 Procedure for Backwards-Incompatible Changes Bethard PF 3003 Python Language Moratorium Cannon, Noller, GvR PF 3099 Things that will Not Change in Python 3000 Brandl PF 3100 Miscellaneous Python 3.0 Plans Cannon SF 3101 Advanced String Formatting Talin SF 3102 Keyword-Only Arguments Talin SR 3103 A Switch/Case Statement GvR SF 3104 Access to Names in Outer Scopes Yee SF 3105 Make print a function Brandl SF 3106 Revamping dict.keys(), .values() and .items() GvR SF 3107 Function Annotations Winter, Lownds SF 3108 Standard Library Reorganization Cannon SF 3109 Raising Exceptions in Python 3000 Winter SF 3110 Catching Exceptions in Python 3000 Winter SF 3111 Simple input built-in in Python 3000 Roberge SF 3112 Bytes literals in Python 3000 Orendorff SF 3113 Removal of Tuple Parameter Unpacking Cannon SF 3114 Renaming iterator.next() to iterator.__next__() Yee SF 3115 Metaclasses in Python 3000 Talin SF 3116 New I/O Stutzbach, GvR, Verdone SR 3117 Postfix type declarations Brandl SF 3118 Revising the buffer protocol Oliphant, Banks SF 3119 Introducing Abstract Base Classes GvR, Talin SF 3120 Using UTF-8 as the default source encoding von Löwis SA 3121 Extension Module Initialization and Finalization von Löwis SR 3122 Delineation of the main module Cannon SF 3123 Making PyObject_HEAD conform to standard C von Löwis SD 3124 Overloading, Generic Functions, Interfaces, and ... Eby SR 3125 Remove Backslash Continuation Jewett SR 3126 Remove Implicit String Concatenation Jewett, Hettinger SF 3127 Integer Literal Support and Syntax Maupin SR 3128 BList: A Faster List-like Type Stutzbach SF 3129 Class Decorators Winter SR 3130 Access to Current Module/Class/Function Jewett SF 3131 Supporting Non-ASCII Identifiers von Löwis SF 3132 Extended Iterable Unpacking Brandl SR 3133 Introducing Roles Winter SF 3134 Exception Chaining and Embedded Tracebacks Yee SF 3135 New Super Spealman, Delaney, Ryan SR 3136 Labeled break and continue Chisholm SF 3137 Immutable Bytes and Mutable Buffer GvR SF 3138 String representation in Python 3000 Ishimoto SR 3139 Cleaning out sys and the "interpreter" module Peterson SR 3140 str(container) should call str(item), not repr(item) Broytmann, Jewett SF 3141 A Type Hierarchy for Numbers Yasskin SR 3142 Add a "while" clause to generator expressions Britton SD 3143 Standard daemon process library Finney SF 3144 IP Address Manipulation Library for the Python ... Moody SW 3145 Asynchronous I/O For subprocess.Popen Pruitt, McCreary, Carlson SW 3146 Merging Unladen Swallow into CPython Winter, Yasskin, Kleckner SF 3147 PYC Repository Directories Warsaw SF 3148 futures - execute computations asynchronously Quinlan SF 3149 ABI version tagged .so files Warsaw SD 3150 Statement local namespaces (aka "given" clause) Coghlan SF 3151 Reworking the OS and IO exception hierarchy Pitrou SD 3152 Cofunctions Ewing SS 3153 Asynchronous IO support Houtven SF 3154 Pickle protocol version 4 Pitrou SF 3155 Qualified name for classes and functions Pitrou SF 3156 Asynchronous IO Support Rebooted: the "asyncio" Module GvR IF 3333 Python Web Server Gateway Interface v1.0.1 Eby
Reserved PEP Numbers
num title owner --- ----- ----- 801 RESERVED Warsaw
Key
S - Standards Track PEP I - Informational PEP P - Process PEP A - Accepted proposal R - Rejected proposal W - Withdrawn proposal D - Deferred proposal F - Final proposal A - Active proposal D - Draft proposal S - Superseded proposal
Owners
name email address ---- ------------- Aahz aahz at pythoncraft.com Ahlstrom, James C. jim at interet.com Althoff, Jim james_althoff at i2.com Altis, Kevin altis at semi-retired.com Angelico, Chris rosuav at gmail.com Ascher, David davida at activestate.com Astrand, Peter astrand at lysator.liu.se Banks, Carl pythondev at aerojockey.com Barrett, Paul barrett at stsci.edu Batista, Facundo facundo at taniquetil.com.ar Baxter, Anthony anthony at interlink.com.au Bellman, Thomas<EMAIL_ADDRESS>Bendersky, Eli eliben at gmail.com Bethard, Steven steven.bethard at gmail.com Borini, Stefano Brandl, Georg georg at python.org Britton, Gerald gerald.britton at gmail.com Broytmann, Oleg phd at phd.pp.ru Bryon, Benoit benoit at marmelune.net Cannon, Brett brett at python.org Cappos, Justin jcappos at poly.edu Carlson, Josiah jcarlson at uci.edu Carroll, W Isaac icarroll at pobox.com Chisholm, Matt matt-python at theory.org Coghlan, Nick ncoghlan at gmail.com Cole, Dave djc at object-craft.com.au Colomiets, Paul paul at colomiets.name Craig, Christopher A. python-pep at ccraig.org Creighton, Laura lac at strakt.com D'Aprano, Steven steve at pearwood.info Delaney, Tim timothy.c.delaney at gmail.com Diederich, Jack jackdied at gmail.com Dörwald, Walter walter at livinglogic.de Drake, Fred L., Jr. fdrake at acm.org Dubner, Michael P. dubnerm at mindless.com Dubois, Paul F. paul at pfdubois.com Eby, P.J. pje at telecommunity.com Eby, Phillip J. pje at telecommunity.com Elliott, Micah mde at tracos.org Epler, Jeff jepler at unpythonic.net Eppstein, David eppstein at ics.uci.edu Evans, Clark C. cce at clarkevans.com Ewing, Gregory greg.ewing at canterbury.ac.nz Ewing, Greg greg.ewing at canterbury.ac.nz Faassen, Martijn faassen at infrae.com Finney, Ben<EMAIL_ADDRESS>Foord, Michael michael at python.org Furman, Ethan ethan at stoneleaf.us Gaynor, Alex alex.gaynor at gmail.com Giacometti, Frédéric B. fred at arakne.com Gilbert, Scott xscottg at yahoo.com Goodger, David goodger at python.org Griffin, Grant g2 at iowegian.com Hammond, Mark mhammond at skippinet.com.au Harris, Peter scav at blueyonder.co.uk Hastings, Larry larry at hastings.org Heimes, Christian christian at python.org Heller, Thomas theller at python.net Hetland, Magnus Lie magnus at hetland.org Hettinger, Raymond python at rcn.com Hodgson, Neil neilh at scintilla.org Holth, Daniel dholth at gmail.com Houtven, Laurens Van _ at lvh.cc Hoyt, Ben benhoyt at gmail.com Hudson, Michael mwh at python.net Hylton, Jeremy jeremy at alum.mit.edu Ishimoto, Atsuo ishimoto--at--gembook.org Jansen, Jack jack at cwi.nl Jewett, Jim J. jimjjewett at gmail.com Jewett, Jim jimjjewett at gmail.com Jones, Richard richard at python.org Kleckner, Reid rnk at mit.edu Koltsov, Stepan yozh at mx1.ru Krah, Stefan skrah at bytereef.org Kreft, Sebastian skreft at deezer.com Krekel, Holger holger at merlinux.eu Kuchling, A.M. amk at amk.ca Kuppusamy, Trishank Karthik tk47 at students.poly.edu Landau, Joshua joshua at landau.ws Langa, Łukasz lukasz at langa.pl Lemburg, Marc-André mal at lemburg.com Lielens, Gregory gregory.lielens at fft.be Lindqvist, Björn bjourne at gmail.com von Löwis, Martin martin at v.loewis.de v. Löwis, Martin martin at v.loewis.de Lownds, Tony tony at lownds.com Martelli, Alex aleaxit at gmail.com Martinot-Lagarde, Joseph Mastrodomenico, Lino l.mastrodomenico at gmail.com Maupin, Patrick pmaupin at gmail.com McClelland, Andrew eternalsquire at comcast.net McCreary, Charles R. McDonough, Chris chrism at plope.com McMillan, Gordon gmcm at hypernet.com McNamara, Andrew andrewm at object-craft.com.au Meyer, Mike mwm at mired.org Meyer, Carl carl at oddbird.net Mick, Trent trentm at activestate.com Montanaro, Skip skip at pobox.com Moody, Peter pmoody at google.com Moore, Paul gustav at morpheus.demon.co.uk Natali, Charles-François cf.natali at gmail.com Noller, Jesse jnoller at gmail.com North, Ben ben at redfrontdoor.org Norwitz, Neal nnorwitz at gmail.com Ochtman, Dirkjan dirkjan at ochtman.nl Oliphant, Travis oliphant at ee.byu.edu Orendorff, Jason jason.orendorff at gmail.com Oudkerk, Richard r.m.oudkerk at googlemail.com Oussoren, Ronald ronaldoussoren at mac.com Pedroni, Samuele pedronis at python.org Pelletier, Michel michel at users.sourceforge.net Peters, Tim tim at zope.com Peterson, Benjamin benjamin at python.org Petrone, Jason jp at demonseed.net Pitrou, Antoine solipsis at pitrou.net Prescod, Paul paul at prescod.net Pruitt, (James) Eric Quinlan, Brian brian at sweetapp.com Reedy, Terry tjreedy at udel.edu Regebro, Lennart regebro at gmail.com Reifschneider, Sean jafo-pep at tummy.com Reis, Christian R. kiko at async.com.br Riehl, Jonathan jriehl at spaceship.com Roberge, Andre andre.roberge at gmail.com Ronacher, Armin armin.ronacher at active-4.com van Rossum, Guido (GvR) guido at python.org van Rossum, Just (JvR) just at letterror.com Rovito, Todd rovitotv at gmail.com Ryan, Lie lie.1296 at gmail.com Sajip, Vinay vinay_sajip at red-dove.com Schemenauer, Neil nas at arctrix.com Schneider-Kamp, Peter nowonder at nowonder.de Selivanov, Yury yselivanov at sprymix.com Seo, Jiwon seojiwon at gmail.com Shannon, Mark mark at hotpy.org Simpson, Cameron cs at zip.com.au Slodkowicz, Greg jergosh at gmail.com Smith, Nathaniel J. njs at pobox.com Smith, Kevin D. kevin.smith at themorgue.org Smith, Eric V. eric at trueblade.com Snow, Eric ericsnowcurrently at gmail.com Spealman, Calvin ironfroggy at gmail.com Staley, Kerrick mail at kerrickstaley.com Stein, Greg gstein at lyra.org Stinner, Victor victor.stinner at gmail.com Stufft, Donald donald at stufft.io Stutzbach, Daniel daniel at stutzbachenterprises.com Suzi, Roman rnd at onego.ru Talin talin at acm.org Taschuk, Steven staschuk at telusplanet.net Tirosh, Oren oren at hishome.net Turnbull, Stephen J. stephen at xemacs.org Urban, Daniel<EMAIL_ADDRESS>Vassalotti, Alexandre alexandre at peadrop.com Verdone, Mike mike.verdone at gmail.com Warnes, Gregory R. gregory_r_warnes at groton.pfizer.com Warsaw, Barry barry at python.org Way, Terence terry at wayforward.net Wells, Cliff logiplexsoftware at earthlink.net Whitley, Jervis jervisau at gmail.com Wilson, Greg gvwilson at ddj.com Winter, Collin collinwinter at google.com Wouters, Thomas thomas at python.org Yasskin, Jeffrey jyasskin at google.com Yee, Ka-Ping ping at zesty.ca Zadka, Moshe moshez at zadka.site.co.il Zhu, Huaiyu hzhu at users.sourceforge.net Ziadé, Tarek tarek at ziade.org
References
[1] PEP 1: PEP Purpose and Guidelines [2] View PEP history online http://hg.python.org/peps/


Lightbox allows users to views files and images inline within the application. For larger files - users should download or open in a new tab/ browser window


COW - BULL
Type a word to send to the room !
Send
Accept
Reject
Input here to create a new room.
Create
Type the name of a room to join.


( a) Cyclic voltammetry experiments performed at a scan rate of 0.03 mV·s −1 for four LTO electrodes with different amounts of active material. ( b) Comparison of capability rates of the same electrodes. Full and empty characters represent charges and discharges, respectively.


How do CSS precedence/cascading rules work? How does the !important directive affect the rules?
How do CSS precedence/cascading rules work? How does the !important directive affect the rules?
How do CSS precedence/cascading rules work? How does the !important directive affect the rules?
How do CSS precedence/cascading rules work? How does the !important directive affect the rules?
How do CSS precedence/cascading rules work? How does the !important directive affect the rules?
How do CSS precedence/cascading rules work? How does the !important directive affect the rules?
How do CSS precedence/cascading rules work? How does the !important directive affect the rules?
How do CSS precedence/cascading rules work? How does the !important directive affect the rules?


| summary.coxph {survival} | R Documentation |
Produces a summary of a fitted coxph model
## S3 method for class 'coxph' summary(object, conf.int=0.95, scale=1,...)
object |
the result of a coxph fit |
conf.int |
level for computation of the confidence intervals. If set to FALSE no confidence intervals are printed |
scale |
vector of scale factors for the coefficients, defaults to 1. The confidence limits are for the risk change associated with one scale unit. |
... |
for future methods |
An object of class summary.coxph
.
coxph, print.coxph
fit <- coxph(Surv(time, status) ~ age + sex, lung) summary(fit) ## Not run: Call: coxph(formula = Surv(time, status) ~ age + sex, data = lung) n= 228 coef exp(coef) se(coef) z p age 0.017 1.017 0.00922 1.85 0.0650 sex -0.513 0.599 0.16745 -3.06 0.0022 exp(coef) exp(-coef) lower .95 upper .95 age 1.017 0.983 0.999 1.036 sex 0.599 1.670 0.431 0.831 Rsquare= 0.06 (max possible= 0.999 ) Likelihood ratio test= 14.1 on 2 df, p=0.000857 Wald test = 13.5 on 2 df, p=0.00119 Score (logrank) test = 13.7 on 2 df, p=0.00105 ## End(Not run)


|
utils4cpp
v0.0.0
c++ utility library
|
Namespaces | |
| datetime | |
| Date-time libraries. | |
| detail | |
| filesystem | |
| file system libraries. | |
| geometry | |
| The geometry namespace supports for geometric data structures. | |
| str | |
Classes | |
| struct | is_character |
Typedefs | |
| template<class... B> | |
| using | u_and = std::conjunction< B... > |
| variadic logical AND metafunction. More... | |
| template<class... B> | |
| using | u_or = std::disjunction< B... > |
| variadic logical OR metafunction. More... | |
| template<class B > | |
| using | u_not = std::negation< B > |
| logical NOT metafunction. More... | |
| template<class T > | |
| using | primitive_t = std::decay_t< T > |
| template<class T > | |
| using | if_arithmetic = std::enable_if_t< std::is_arithmetic_v< T >, T > |
| template<class T > | |
| using | is_bool = std::is_same< bool, T > |
| template<class T > | |
| using | if_bool = std::enable_if_t< is_bool_v< T >, T > |
| template<class T > | |
| using | if_integral = std::enable_if_t< std::is_integral_v< T >, T > |
| template<class T > | |
| using | if_floating_point = std::enable_if_t< std::is_floating_point_v< T >, T > |
| template<class T > | |
| using | is_integral_not_bool = u_and< std::is_integral< T >, u_not< is_bool< T > >> |
| template<class T > | |
| using | if_integral_not_bool = std::enable_if_t< is_integral_not_bool_v< T >, T > |
| template<class T > | |
| using | if_signed = std::enable_if_t< std::is_signed_v< T >, T > |
| template<class T > | |
| using | if_unsigned = std::enable_if_t< std::is_unsigned_v< T >, T > |
| template<class T > | |
| using | is_signed_integral = std::conjunction< std::is_integral< T >, std::is_signed< T > > |
| template<class T > | |
| using | if_signed_integeral = std::enable_if_t< is_signed_integeral_v< T >, T > |
| template<class T > | |
| using | is_unsigned_integeral = std::conjunction< std::is_integral< T >, std::is_unsigned< T > > |
| template<class T > | |
| using | if_unsigned_integeral = std::enable_if_t< is_unsigned_integeral_v< T >, T > |
| template<class T > | |
| using | if_character = std::enable_if_t< is_character_v< T >, std::remove_cv_t< T > > |
| template<class T > | |
| using | if_char = std::enable_if_t< std::is_same_v< char, std::remove_cv_t< T > >, char > |
Variables | |
| template<class T > | |
| constexpr bool | is_bool_v = is_bool<T>::value |
| template<class T > | |
| constexpr bool | is_integral_not_bool_v = is_integral_not_bool<T>::value |
| template<class T > | |
| constexpr bool | is_signed_integeral_v = is_signed_integral<T>::value |
| template<class T > | |
| constexpr bool | is_unsigned_integeral_v = is_unsigned_integeral<T>::value |
| template<class T > | |
| constexpr bool | is_character_v = is_character<T>::value |
| using utils4cpp::if_arithmetic = typedef std::enable_if_t<std::is_arithmetic_v<T>, T> |
If T
is an arithmetic type, if_arithmetic has a public member typedef type
, equal to T
; otherwise, there is no member typedef.
Definition at line 84 of file UTypeTraits.hpp.
| using utils4cpp::if_bool = typedef std::enable_if_t<is_bool_v<T>, T> |
If T
is a bool type, if_bool has a public member typedef type
, equal to bool
; otherwise, there is no member typedef.
Definition at line 105 of file UTypeTraits.hpp.
| using utils4cpp::if_char = typedef std::enable_if_t<std::is_same_v<char, std::remove_cv_t<T> >, char> |
If std::remove_cv_t<T>
equal to char, if_char has a public member typedef type
; otherwise, there is no member typedef.
Definition at line 262 of file UTypeTraits.hpp.
| using utils4cpp::if_character = typedef std::enable_if_t<is_character_v<T>, std::remove_cv_t<T> > |
If T
is a character type, if_character has a public member typedef type
, equal to std::remove_cv_t<T>
; otherwise, there is no member typedef.
Definition at line 255 of file UTypeTraits.hpp.
| using utils4cpp::if_floating_point = typedef std::enable_if_t<std::is_floating_point_v<T>, T> |
If T
is a floating-point type, if_floating_point has a public member typedef type
, equal to T
; otherwise, there is no member typedef.
Definition at line 119 of file UTypeTraits.hpp.
| using utils4cpp::if_integral = typedef std::enable_if_t<std::is_integral_v<T>, T> |
If T
is an integral type, if_integral has a public member typedef type
, equal to T
; otherwise, there is no member typedef.
Definition at line 112 of file UTypeTraits.hpp.
| using utils4cpp::if_integral_not_bool = typedef std::enable_if_t<is_integral_not_bool_v<T>, T> |
If T
is an integral type but not a bool type, if_integral_not_bool has a public member typedef type
, equal to T
; otherwise, there is no member typedef.
Definition at line 140 of file UTypeTraits.hpp.
| using utils4cpp::if_signed = typedef std::enable_if_t<std::is_signed_v<T>, T> |
If T
is a signed arithmetic type, if_signed has a public member typedef type
, equal to T
; otherwise, there is no member typedef.
Definition at line 147 of file UTypeTraits.hpp.
| using utils4cpp::if_signed_integeral = typedef std::enable_if_t<is_signed_integeral_v<T>, T> |
If T
is a signed integeral type, if_signed_integeral has a public member typedef type
, equal to T
; otherwise, there is no member typedef.
Definition at line 176 of file UTypeTraits.hpp.
| using utils4cpp::if_unsigned = typedef std::enable_if_t<std::is_unsigned_v<T>, T> |
If T
is a unsigned arithmetic type, if_signed has a public member typedef type
, equal to T
; otherwise, there is no member typedef.
Definition at line 154 of file UTypeTraits.hpp.
| using utils4cpp::if_unsigned_integeral = typedef std::enable_if_t<is_unsigned_integeral_v<T>, T> |
If T
is an unsigned integeral type, if_unsigned_integeral has a public member typedef type
, equal to T
; otherwise, there is no member typedef.
Definition at line 198 of file UTypeTraits.hpp.
| using utils4cpp::is_bool = typedef std::is_same<bool, T> |
Identifies bool types. Checks whether T
is a bool type.
Definition at line 91 of file UTypeTraits.hpp.
| using utils4cpp::is_integral_not_bool = typedef u_and<std::is_integral<T>, u_not<is_bool<T> >> |
Checks whether T
is an integral type but not a bool type.
Definition at line 125 of file UTypeTraits.hpp.
| using utils4cpp::is_signed_integral = typedef std::conjunction<std::is_integral<T>, std::is_signed<T> > |
Identifies signed integral type. Checks whether T
is a signed integral type.
Definition at line 161 of file UTypeTraits.hpp.
| using utils4cpp::is_unsigned_integeral = typedef std::conjunction<std::is_integral<T>, std::is_unsigned<T> > |
Identifies unsigned integral type. Checks whether T
is an unsigned integral type.
Definition at line 183 of file UTypeTraits.hpp.
| using utils4cpp::primitive_t = typedef std::decay_t<T> |
The result of applying the decay type conversions to T
Definition at line 77 of file UTypeTraits.hpp.
| using utils4cpp::u_and = typedef std::conjunction<B...> |
variadic logical AND metafunction.
Forms the logical conjunction of the type traits B
..., effectively performing a logical AND on the sequence of traits.
| B... | every template argument Bi for which Bi::value is instantiated must be usable as a base class and define member value that is convertible to bool. |
Definition at line 51 of file UTypeTraits.hpp.
| using utils4cpp::u_not = typedef std::negation<B> |
logical NOT metafunction.
Forms the logical negation of the type trait B
.
| B | any type such that the expression bool(B::value) is a valid constant expression. |
Definition at line 73 of file UTypeTraits.hpp.
| using utils4cpp::u_or = typedef std::disjunction<B...> |
variadic logical OR metafunction.
Forms the logical disjunction of the type traits B
..., effectively performing a logical OR on the sequence of traits.
| B... | every template argument Bi for which Bi::value is instantiated must be usable as a base class and define member value that is convertible to bool. |
Definition at line 63 of file UTypeTraits.hpp.
|
inline |
Checks if type T
is a bool type. is_bool_v equals to true
if T
is a bool type, otherwise equals to flase
.
Definition at line 98 of file UTypeTraits.hpp.
|
inline |
Checks if type T
is a character type. is_character_v equals to true
if T
is a character type, otherwise equals to flase
.
Definition at line 248 of file UTypeTraits.hpp.
|
inline |
Checks if type T
is an integral type but not a bool type. is_integral_not_bool_v equals to true
if T
is an integral type but not a bool type, otherwise equals to flase
.
Definition at line 133 of file UTypeTraits.hpp.
|
inline |
Checks if type T
is a signed integeral type. is_signed_integeral_v equals to true
if T
is a signed interger type, otherwise equals to flase
.
Definition at line 169 of file UTypeTraits.hpp.
|
inline |
Checks if type T
is an unsigned integeral type. is_unsigned_integeral_v equals to true
if T
is an unsigned integeral type, otherwise equals to flase
.
Definition at line 191 of file UTypeTraits.hpp.


| 890 | (A) | he stekide hym-selfe witħ the stake thorowe-owte the herte |
| 898 | (C) | He smote hym-self with þe stake . streyȝte to þe herte |
| 882 | (D) | hym-self he stikyd with þat staf streigħt to þe herte |
| 859 | (E) | with þe trunchun þanne hym-seelf . he smoot to þe herte |
| (Ex) | ---- no text ---- | |
| 914 | (L) | hym-self he strykeþ myd þat staf streȝt to þe hert |
| 832 | (P) | Hym-selfe he styked with þat staf strake to þe hert |
| 868 | (U) | him self he stryke witħ the staf / ritħ vnto the hert |
| (V) | ---- no text ---- |


{% extends "base.html" %} {% load staticfiles %} {% block step %}minify-mvp{% endblock step %} {% block content %}
Click and drag your cursor over things you don't need to do right now.
A user will be able to do this, and then that, and then finally end up here.


Ethan lives in Boston, Massachusetts, and is passionate about beautiful design, elegant code, and the intersection of the two. He is a popular and experienced speaker, having been featured at An Event Apart, Carsonified Workshop, and South by Southwest, and co-hosts the Handcrafted CSS seminar series with Dan Cederholm.
More fun facts: Ethan has a blog, and blathers incessantly on Twitter. His clientele has included People Magazine, New York Magazine, the Sundance Film Festival, The Boston Globe, and the World Wide Web Consortium. Also, he is tall.
Ethan’s available for new engagements from September 2013. If you'd like to get in touch, please do!
A List Apart, May 2010
A List Apart, May 2010
A List Apart, May 2010
Design; HTML/CSS development
Design; HTML/CSS development
Design; HTML/CSS development
Design; HTML/CSS development
Design; HTML/CSS development
Ethan’s available for new engagements from September 2013. If you'd like to get in touch, use the form below to do so!


Hello, my name is Tanya!
I am a rising Senior at Purdue University.
I am a Software Engineer, seeking a full time role starting Summer 2021.


Soft agricultural robots
Coming soon.
The GummiFactory
The GummiArm is a soft, open source, and bio-inspired robotic arm for research, education, and innovation. You can build your own GummiArm, or order it from us ready to be deployed to your laboratory, classroom or commercial application.
Recent Posts
Welcome!
Welcome to Fieldwork Robotics Ltd. We are exhibiting with Plymouth University at the London Tech Week 2017, stand RD3, AI and Machine Learning World. Join us...


100m Athlete REST API
Resources
View Resource
/athletes
data_dump taken from :
Here
Routes
GET
/athletes
GET
/athletes/rank/1
GET
/athletes/nationality/USA
POST
/athletes
PATCH
/athletes/1
DELETE
/athletes/1


This boxing trainer calls out combinations for the duration of the round. You can use it to shadow box or to throw down on a heavy bag. Hit the start button to begin working out.


This amazing harbour is formed by three of the volcanic islands in the Banda group. The nutmeg, cloves, and cinnamon which once drove explorers to Indonesia have long since been dispersed to grow in other places around the world. This is a sleepy island town now, but reminders of the past are everywhere.
Position 4°35′S 129°55′E
The is not an official Port of Entry.
The port of Tual in the nearby Kai Islands is the nearest Port of Entry.
Last updated March 2016.
There are several anchoring options here:-
Hotel Anchorage (04° 32.641'S, 129° 54.133'E)
Stern to wall with two lines ashore
Advantages:-good shelter, in town centre, easy to get water, rubbish disposal
Disadvantages:- can be noisy, danger of prop wash from ferry, no wind for wind generator.
West Anchorage (04° 31.108'S, 129° 53.885'E)
Stern to trees with lines ashore
Advantages:- Quiet, good for wind generator
Disadvantages:- Difficult to get anchor in, lee shore, 0.75 mile to dinghy dock
South anchorage (04° 32.641'S, 129° 54.133'E)
Free swinging anchorage
Advantages:-calm, good holding, good for wind generator, little current even at springs.
Disadvantages:- 1 mile to dinghy dock.
Middle anchorage (04° 32.052'S, 129° 53.982'E)
Free swinging anchorage
Advantages:- Good holding, good for wind generator, relatively calm
Disadvantages:-0 .6 mile to dinghy dock, strong current at springs
Fuel and provisions available. WiFi at the anchorage.
Restaurant and boat trip to the outlying islands are worth doing. Plenty to do and see here including a walk up to the active volcano.
Last updated September 2015.


?
Help
เปลี่ยนภาษา
Applicant Info
Vehicle Info
Confirm
Payment
Step 1: Applicant Info
Car Details
Brand
America
Model
2
Year
2009
CC
xxxxx
Choosen Plan
Plan Name
Sum insured
X
With Compulsory insurance
Premium
Total
1,215 ฿
Private/ not for commercial use
Applicant Detail
Owner of Vehicle
Title
Mr
Ms
Mrs
Date of Birth
National ID
Mobile No
+62
+66
we will send OTP to this verification
Email
Address
Province
District
Sub District
Send Hard Copy
Please fill carefully. This is where you'll get hard copy.
Review & Confirm


Class ZendPHP
Class that implements a zend extension generator.
- Peg\Lib\Generator\Base
- Peg\Lib\Generator\ZendPHP
public
|
#
__construct( string $templates, string $output,
The symbols object with all definitions required to generate the code. |
public
|
|
public
string
|
|
public
string
|
|
public
string
|
|
public
string
|
#
GenerateFunction(
Generates the PHP wrapping code from a C/C++ function. |
public
|
#
GenerateArgInfo(
Generates an arginfo php C structure which is basically used for reflection to work properly. |
public
|
#
GenerateOtherSources( )
Generates other sources required to build the extension, eg: php_extension.h, extension.c |
public
|
|
public
|
|
public
string
|
#
GetProtoHeader(
Generates proto doc comments header for a function. |
public
string
|
|
public
string
|
#
GetRegisterConstantTemplate( string $name, string $namespace = "", mixed $type = "" )
Retrieve the template path for registering constants, also checks if a valid override exists and returns that instead. |
public
string
|
#
GetRegisterVarConstantTemplate(
Retrieve the template path for registering constants registered as global variables, also checks if a valid override exists and returns that instead. |
$generator_name,
$output_path,
$symbols,
$templates_path
|


The Crunch.io service <http://crunch.io/> provides a cloud-based data store and analytic engine, as well as an intuitive web interface. Using this package, analysts can interact with and manipulate Crunch datasets from within R. Importantly, this allows technical researchers to collaborate naturally with team members, managers, and clients who prefer a point-and-click interface.
| Version: | 1.24.0 |
| Depends: | R (≥ 3.0.0) |
| Imports: | crayon, curl, grDevices, httr (≥ 1.0.0), httpcache (≥ 0.1.4), jsonlite (≥ 0.9.15), methods |
| Suggests: | covr, crunchy, devtools, haven, httptest (≥ 3.0.0), knitr, lintr, magrittr, miniUI, rmarkdown, rstudioapi, shiny, spelling, styler, testthat (≥ 2.0.0), withr |
| Published: | 2018-09-12 |
| Author: | Neal Richardson [aut, cre], Jonathan Keane [aut], Gordon Shotwell [aut] |
| Maintainer: | Neal Richardson <neal at crunch.io> |
| BugReports: | https://github.com/Crunch-io/rcrunch/issues |
| License: | LGPL (≥ 3) |
| URL: | https://crunch.io/r/crunch/, https://github.com/Crunch-io/rcrunch |
| NeedsCompilation: | no |
| Language: | en-US |
| In views: | WebTechnologies |
| CRAN checks: | crunch results |
| Reference manual: | crunch.pdf |
| Vignettes: |
Abstract Categories Analyzing Crunch Data Array Variables Crunch Internals Getting Started Adding Variables Exporting Data Filtering Data Getting Started Organizing Datasets in Projects Subtotals Reordering Variables Variable Folders and Organization Crunch Variables |
| Package source: | crunch_1.24.0.tar.gz |
| Windows binaries: | r-devel: crunch_1.24.0.zip, r-release: crunch_1.24.0.zip, r-oldrel: crunch_1.24.0.zip |
| OS X binaries: | r-release: crunch_1.24.0.tgz, r-oldrel: crunch_1.24.0.tgz |
| Old sources: | crunch archive |
| Reverse depends: | crplyr, crunchy |
Please use the canonical form https://CRAN.R-project.org/package=crunch to link to this page.


影像民族誌的製作 Visual Ethnography Production
這門課採用「動手做」的方法來教授民族誌研究法。修課同學們除了需要製作自己的民族誌短片外，此課程也會著墨在許多能應用於視覺影像以及民族誌文本的議題，譬如研究倫理、協作研究法、訪談技術、謄寫，以及參與式觀察的藝術。
本課程希望超越一般用在電視紀錄片中的傳統新聞學方法，目標是學習更適合民族誌研究複雜需求的技術。特別來說，同學們將會學習「觀察」、「參與」與「反身」的製片風格。在學期結束前，修課學生將有能力依照自己的需求來混合並搭配這些不同的風格。
雖然這門課將會包含對於新製片者而言相當重要的製片技術，然而這並不是一堂技術課程。現代的影像科技與編輯軟體已經變得夠「智慧型」、也夠普遍，同學們不再需要龐雜的訓練來使用這些工具。本課程有關技術的面向將會聚焦在影像編輯的原則，因為通常在學校中很少教這些原則給學生，然而不管具體使用的工具是什麼，這些原則都相當重要。
我鼓勵同學們如果有的話，使用自己的配備。系上的媒體研究室也有專業等級的設備供同學們借來使用。這門課不需要任何先備的影像製作經驗。
This course is teaches students ethnographic research methods using a hands-on approach. In addition to making their own short ethnographic films, the course will address many issues which apply as much to written ethnographies as they do to visual ones, including: research ethics, collaborative research methods, interviewing technique, transcription, and the art of participant observation.
This course seeks to move beyond traditional journalistic approaches commonly used in TV documentaries in order to learn techniques better suited for the complex needs of ethnographic research. In particular, students will learn about “observational,” “participatory,” and “reflexive” styles of filmmaking. By the end of the course students should be able to mix and match these different styles according to their own needs.
Although this course will cover those technical aspects of filmmaking which are absolutely essential for new filmmakers to learn, it is not a technical course. Modern day video technology and editing software has become sophisticated and ubiquitous enough that most students no longer need extensive training to use these tools. The technical aspect of the course will focus instead the principles of video editing as these principles are rarely taught in school and remain useful regardless of the specific tools being used.
Students are encouraged to use their own equipment if they have any. There is also professional grade equipment available in the department’s own media lab should students wish to borrow it. No previous experience in video production is required for this class.
Course Outline
- Course Overview
- Image ethics
- 閱讀： Nichols Ch 1 (中文)
- 電影： “Voices of Orchid Island/蘭嶼觀點 (73)
- 作業： Final Project (FP): Topic Statement
- Intro to Documentary & The Expository Mode
- 閱讀： Nichols Ch 2 & 6 (中文)
- 電影： Night & Fog/夜與霧 (32)
- Observational Mode
- 閱讀： MacDougal - Ch. 4 (中文)
- 電影： Umbrella/傘 (20min clip)
- 作業： FP: Revised Statement
- Participatory Mode
- 閱讀： Ruby-Speaking For, Speaking With
- 電影： Chronique d’un été/夏日編年紀事 (85)
- Reflexive Mode
- 閱讀： Siden - A Circle of Looks
- 閱讀： 鄭明河 - 再一次集結（文字檔）
- 電影： Reassemblage/再一次集結 (40)
- 作業： Homework (HW): Observational
- Interviewing I
- 閱讀： Rabinger - Ch. 24 (中文第8章)
- 電影： Thin Blue Line/正義難伸 (103)
- Interviewing II
- 閱讀： Bernard - Ch. 9 (210-227)
- 作業： HW: Interview
- No class
- 作業： FP: Finish principle shooting
- Editing I
- 閱讀： Rabinger - Ch. 29-30 (中文第12-13章)
- 電影： The Cutting Edge (98)
- 作業： HW: Reflexive
- Editing II
- 閱讀： Rabinger - Ch. 31-32 (中文第14-15章)
- 作業： FP: Log Footage
- Editing III
- 閱讀： Rabinger - Ch. 33-34 (中文第16-17章)
- Ethnographic Film I
- 閱讀： Loizos—Chapters 1 & 2
- 電影： Dead Birds/死鳥 (84)
- 作業： FP: Transcribe Interviews
- Ethnographic Film II
- 閱讀： Friedman - Collaborating Against Ethnography
- 電影： Please Don’t Beat Me, Sir!/請別打我，長官！ (75)
- Ethnographic Film III
- 電影： TBA
- 作業： FP: Paper Edit
- Workshop Final Projects
- 作業： FP: Scene Selections
- Final Projects I
- 作業： FP: First Cut
- Final Projects II
- 作業： FP: Final Cut
Instructor 授師
- 傅可恩 P. Kerim Friedman
- 校內分機: 5795
- 電子郵件<EMAIL_ADDRESS>- 辦公室: 原A404
- 會談時間: 每週下午2點至4點或與教師另行約定
- 個人網頁：http://kerim.oxus.net/
教學評量
- 平時作業：40%
- 期末專題：40%
- 課程參與：20%
課堂參與
這門課的閱讀量已經盡可能保持少量，為了讓同學們有更多時間聚焦在動手製作民族誌影片的部分。然而，還是有一些指定閱讀，大部分都有中文版可以看。我期望全部的同學在上課前就完成閱讀。
Reading for this class has been kept to a minimum so as to give students more time to focus on the hands-on experience of making ethnographic films. However, there is still some required reading, most of which is available in Chinese. All students are expected to do all of the reading and to come to class ready to discuss the reading.
平時作業
同學們將會完成三份小的指定作業，是有關於影片製作的不同風格。觀察式影片作業要自然記錄人類行為，而沒有留下評論；訪談式影片作業則包含不同狀況下的全部訪談（譬如室內坐下來談，或是到戶外邊走邊談）。也會有反身式影片的作業需要製作一份短的影像論文，這份作業會使用由我提供的拾得錄像（found footage）。到時候會提供同學們這些作業的講義和說明。每一份作業的影片維持在大約五分鐘的長度，成品將會在課堂上與大家分享並討論。
Students will complete three shorter homework assignments to learn different styles of filmmaking. There will be an “observational” film which records naturally occurring human behavior without commentary. There will be an “interview” assignment which consists entirely of interviews in different settings (such as sitting down indoors, or walking around outdoors). And there will be a “reflexive” assignment which uses “found footage” (supplied by the instructor) to make a short video essay. Students will be provided with handouts and explanations for these assignments over the course of the semester. Each of these pieces will be approximately five minutes long and will be shared and discussed in class.
期末專題
請對待這份專題如一份研究報告。然而，不像研究報告，你不太可能在學期末時補足進度。為了幫助同學們規劃專題進度，我已經將專題拆成一整學期裡一連串的小作業。這些作業包含撰寫主題敘述、完成原則拍攝（principle shooting）、撰寫拍攝日誌以及謄寫拍攝內容等等。詳細的時程請見課程流程。到時候我會提供同學每一個環節作業的說明與講義，期末專題以不超過十五分鐘為準。
Treat this project as you would a research paper. Unlike a research paper, however, it is not possible to make up for lost time at the end of the semester. To help students with planning, this project has been broken down into a series of smaller assignments with deadlines throughout the semester. These will include things like writing up a topic statement, completing principle shooting, writing up shooting logs and transcripts, etc. See the course outline for the exact due dates for each of these assignments. Students will be provided with hand outs and explanations for each of these assignments over the course of the semester. The final project should be under fifteen minutes in length.
This document is by Kerim Friedman and is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 Taiwan License 姓名標示-非商業性-相同方式分享 3.0 台灣.


| X | Q-time | Room | Room Type | Room Status | FO status | Name | VIP |
|---|---|---|---|---|---|---|---|
| {{queueroom?.rm_qtime}} | {{queueroom?.res_room}} | {{queueroom?.res_room_type}} | {{queueroom?.roomstatus}} | {{queueroom?.frontoffice}} | {{queueroom?.pf_firstname}} | {{queueroom?.rm_vip}} | |
| Room Type | Total |
|---|---|
| {{queueroom.room_type}} | {{queueroom.room_type_totel}} |


I found Stop The Cyborgs through someone on Twitter (I forget who). It’s the “official blog of the pro-human movement”, “fighting the algorithmic future one bit at a time”.
Cyborg is “a human who has certain physiological processes aided or controlled by mechanical or electronic devices” (as defined in The Free Dictionary). This includes people with implantable cardioverter-defibrillators, pacemakers, cochlear implants, various brain implants, hip replacement implants and other prosthetics. You probably know a few cyborgs, but I doubt you think of them as such. They’re just your friends, family, coworkers, neighbours.
One of my best friends is a cyborg, and it helps her stay alive. By saying “let’s stop the cyborgs” the “pro-human movement” is essentially saying to me that I should not be allowed the company of my close friend. The contributors to the blog acknowledge that there are different kinds of cyborgs, and especially those living with medical devices are not the problem, until the devices themselves are networked:
Guess what? Many of them are. I have seen life-saving devices that communicate via radio with diagnostic tools which can control them, and with networked stations that send data to the device manufacturer, who then shares some of it with the medical care provider. The wearer of the device has no control over this process, and doesn’t necessarily know what data is being collected, shared, how and with whom.
This rhetoric of criticising cyborgs, rather than technologies themselves is not only not helpful, it’s actually damaging. Healthy criticism and skepticism towards technologies and their impact on society is necessary, but framing it in a way that discredits all people with body and sense enhancing technologies is othering. Yes, Stop The Cyborgs do so with caveats, but these aren’t obvious. The title is Stop The Cyborgs, not Stop Technologies That May Have Really Bad Unforeseen Consequences That We Should All Worry About.
That’s my main point — let’s talk about how various uses of technologies can affect our society, but let’s not shift the focus to people who sometimes may have no real choice whether to accept these enhancements or not (it’s not really a choice if not having an externally controlled pacemaker means a certain death for example). It’s a bit like blaming foreigners for the failure of councils to increase capacity of systems to match population growth required to maintain cities.
It’s also important to remember that technologies themselves aren’t always ethically questionable. It’s what we do with them that can be positive or contribute to suffering and misery. Sometimes the same technology can be used to help people and to simultaneously ruin lives for profit.
Cyborgs and algorithms aren’t the problem, the problem is who has control over cybernetic systems and control over design and manufacture of technology that becomes pervasive. Many things that Stop The Cyborgs talk about worry me too, surveillance and privacy being the most pressing issue. Again, these concerns have less to do with people who are aided by technology, and more with political imbalance of power between the technology users and technology owners, who retain control over tools and systems and can use them to curtail freedoms and consolidate their existing powers.
I got today one of Jason’s awesome lo-fi games console kits. Each console is tiny (smaller than Raspberry Pi), has five push buttons and lets you play games on an 8 by 8 pixel screen. Brilliant.
You’ve got to solder them together yourself, but they come pre-programmed with four games: Space Invaders, Breakout, Connect 4 and Simon Says type thing. You can make your own games and program the chip using an FTDI cable.
There’s an extensive wiki on GitHub to help you put it together, and of course the code is available there too. Now excuse me while I try to not lose all my lives in 30 seconds and shoot down all space invaders.
All good things come to pass, and so has this: Instagram will now be sharing data with Facebook and can use metadata associated with your images, and/or your likeness and profile information in experimental advertising that may masquerade as no advertising at all.
Many of my friends left the service already, and I am considering doing the same. But this isn’t the Why I Left Instagram post (I have deleted my account once before and haven’t written about it then either – can I haz gold star now?). The change in Instagram’s TOC got me thinking about what it was that I actually liked about the service, and whether those things would be more important to me that the consequences of my grumpy face endorsing brands without my consent or renumeration.
When I first started using it, there were no public profiles on the web. You could see photos but only from the app, or if they were explicitly shared to other places. It meant that I could have a mostly private account, and only my friends and people I like on the web had the chance to see such wonderful visual treats like the penis-shaped mince pie or a picture of my mate’s flatmate bathing on holiday. It seemed to me like sharing a photo on Instagram was a temporary means of visual communication; an off-hand joke; a shared moment. I don’t think I have ever scrolled through anyone’s photo archive, and I don’t know if other people do, but for me it was all about being in the moment and later forgetting it.
But of course nothing is forgotten, this is after all the internet. I was reminded of that when the public profiles were introduced and I realised that this fleeting thing I liked so much didn’t exist in the first place. I may have as well been uploading photos to Flickr, which I used to treat almost like GitHub for photos: put there everything you’re proud of, everything that might be useful in the future, everything you absolutely must have another backup of and everything that other people might need. It was like a browsable archive of all the useful things. It didn’t ever feel like an immediate communication tool.
Dustin Curtis speaks about photography as communication beautifully in his post ”Photography’s Third Act”. He tells the story of Treehouse, a photo sharing app that in its infancy had only one feature: sharing photos. No comments. No likes.
Instead of taking photos to maintain memories, we used them for instantaneous communication. (Photography’s Third Act)
To me this was the difference between things I would post to Flickr (memories, records) and Instagram (communication) – obviously that’s not necessarily representative of other users on each platform.
Tools have the potential to frame how we use them, and so Treehouse changed how people used it to its own detriment:
It was an awesome experience, and I loved the app.
That is, until liking, comments, and titles were added. Everyone wanted and begged for those features, of course, but adding them had an unforeseeable negative side effect: they removed the expectation that photos should be used for communication, and instead gave the impression that communication should happen around the photos. (Photography’s Third Act)
I was pondering this and realised there isn’t a service I use that allows this kind of instant communication that eventually leaves not trace, like a conversation that you have one day but next week struggle to recall. And I would like that.
And apparently, so would others.  It became so popular that Facebook released their own Poke to grab a piece of the self-destructing-photo market.
I wouldn’t mind the photos staying out there for a bit longer, maybe until the next one is shared. So I’ve made instanat (no need to laugh, I had always been upfront about my inability to name things). It’s my own photo sharing thing. I have a special folder in my Dropbox where I can add new photos, and then they end up on the web. Only one at the time, visible until I post another one.
The integration with Dropbox means I can post to it from a variety of photo apps, even if they don’t save directly to Dropbox. I can drop in photos and screenshots from my laptop as well.
I am interested to see how this will shape what I deem shareable and how I will use it, knowing that despite being fleeting-ish1 it’s all completely public. We’ll see.
It’s not quite fleeting though. Because it’s just me, photos don’t get the opportunity to disappear among others in your feed over time. I am lost for a better word to describe it though.
↩Harland & Wolff Gantry Crane, Goliath, Queen’s Island, Belfast by Calotype46
Samson and Goliath are huge shipbuilding gantry cranes in Belfast. I have fallen in love with them as soon as I saw them because they remind me of my home town, Szczecin. Szczecin’s shipyard also had two huge yellow gantry cranes towering over the city, always there in the background to orientate yourself by.
Gantry crane in Szczecin, Poland, by ilm19
I have come across reports that the Szczecin’s cranes are up for sale, and may leave my home town in due course. I don’t know how much of this is true, but this is still heartbreaking news. A gantry crane in Ulsan in South Korea has been named Tears of Malmö after the sadness caused by the crane being sold and removed from its place of origin, Malmö, where it has lived for 28 years. I hope Szczecin’s cranes will be named Tears of Szczecin if they leave home.
Stocznia Szczecińska (Szczecin Shipyard) has changed hands multiple times, beginning straight after the WWII when Szczecin (formerly Stettin) when the whole region was taken over by Poland. In 2009 it has been shut down and its liquidation has begun.
Banner hanging off shipyard’s railing, reading “Down with the decaying ruling elite”, photo from IPN
The shipyards in Poland were one of the places where resistance to communist dictatorship began forming. In December 1970 at Stocznia Szczecińska the workers protested about the rising food prices and “surrounding reality” (as did workers of other shipyards in the country), a protest to which the state reacted with violence, killing sixteen people and injuring over a hundred just in Szczecin. Near the shipyard’s entrance there’s a monument with the names of the killed.
Tank in front of the railway station in Szczecin, photo from IPN
The industry is moving away, taking with it its most valuable remnants and only leaving a gaping hole.
Samson and Goliath graffiti in an underpass in Holywood near Belfast
Samson and Goliath, on the other hand, were “scheduled as historic monuments under Article 3 of the Historic Monuments and Archaeological Objects (Northern Ireland) Order 1995” (source: Wikipedia) which means they are there to stay.
I couldn’t find the names of the cranes in Szczecin, and I’m not even sure they have any. I wish they were as loved in their home place as the Samson and Goliath are.
2012 started off well – I had a great job I enjoyed, working with Webponce. We spent plenty of time on non-commercial and speculative projects. I had the best job title (Near-Futures Explorer, since you ask), awesome boss, and flexible working practices.
In April I’ve left this job (not without a great deal of sadness) to become a technologist in residence at Lighthouse as part of Happenstance, which resulted in building Offbott with James Bridle and running workshops teaching to code.
I have been taking on freelance work since second year at university, but after Happenstance I decided to do it full-time. Having been spoilt by having so much freedom in my working arrangements it seemed like the best thing to do. It meant I had the chance to work with Caper on exciting cultural projects such as Alarum for the Royal Shakespeare Theatre, and with Storythings on building interactive things.
During Happenstance sharing my skills turned out to be both enjoyable and educational, so I was keen to continue doing it. I ran a short game-making workshop for local secondary school students as a part of Lighthouse’s educational programme for Brighton Digital Festival. The year has finished with a coding workshop I did with Goldsmiths design students, who were on the same course I graduated from.
I was able to devote some time to helping organise Brighton Mini Maker Faire which took place in September. I’ve invited Tom Armitage, Alice Taylor, Matt Webb, Linda Sandvik representing Code Club, Leila Johnston and students from Cavendish School to talk at the event about their approach to making things. Afterwards I swore I wouldn’t organise events anymore as it’s exhausting, but I quickly forgot about that and organised Bling My Card workshop together with Lighthouse to raise money for Rockinghorse.
Towards the end of the year I got inspired by the idea of ”blogging like it’s 2004” so I have been trying to be a lot less precious with my blog posts. I am hoping this is going to have a ripple effect on my personal projects so I will be talking about them more even if they are unfinished and imperfect. If I did the New Year resolution thing that would be one of them, but I don’t, so let’s leave it at that.


Data Pengembalian
| Kode Buku | Nama Buku | Jenis Buku | Tanggal Pengembalian | Aksi |
|---|---|---|---|---|
| Trident | Internet Explorer 4.0 | Win 95+ | 4 |
|
| Trident | Internet Explorer 5.0 | Win 95+ | 5 |
|
| Trident | Internet Explorer 5.5 | Win 95+ | 5.5 |
|
| Trident | Internet Explorer 6 | Win 98+ | 6 |
|
| Trident | Internet Explorer 7 | Win XP SP2+ | 7 |
|
| Trident | AOL browser (AOL desktop) | Win XP | 6 |
|
| Gecko | Firefox 1.0 | Win 98+ / OSX.2+ | 1.7 |
|
| Gecko | Firefox 1.5 | Win 98+ / OSX.2+ | 1.8 |
|
| Gecko | Firefox 2.0 | Win 98+ / OSX.2+ | 1.8 |
|
| Gecko | Firefox 3.0 | Win 2k+ / OSX.3+ | 1.9 |
|
| Gecko | Camino 1.0 | OSX.2+ | 1.8 |
|


This document will describe how to use the aframe-typescript-toolkit
to create custom, shareable A-Frame components and systems using Typescript. This repository offers wrapper classes for A-Frame building blocks such as Components and Systems, making it easy to build A-Frame code that looks and feels like idiomatic Typescript code.
Also included is a command line tool which can be invoked to generate easily extendable templates upon which to build your A-Frame components.
The A-Frame Typescript Toolkit is installed globally so the CLI can be invoked from anywhere on your machine.
Install it globally:
npm install -g aframe-typescript-toolkit
Evoke the CLI using the command:
aframe-typescript-toolkit
Once invoked, the CLI will ask you what type of A-Frame component template to generate:
? What A-Frame Typescript template would you like to start with? (Use arrow keys)
❯ component
system
? What A-Frame Typescript template would you like to start with? component
? Project name: awesome-component
In the above example, a directory called awesome-component
will be created containing all the code you need to develop a typescript A-Frame component, including a live development server. The file structure looks like this:
awesome-component
│ README.md
│ package.json
│ webpack.config.js
│ tsconfig.json
│
└───src
│ index.html
│ index.ts
cd awesome-component
npm install
npm run start
When the development server starts, your browser will automatically open to port 3000
and you will be able to start using the template component right away.
Click on the video below to see how you can edit the program in Visual Studio Code and watch your changes be dynamically applied without explicitly reloading the browser:
Seeing your component run locally is great. Now it is time to export it so it can be used by others. There are many ways to do this. One free and convenient way is through GitHub and JSDelivr.
See GitHub's docs if you are not familiar with this process.
After building expose your dist/index.js
file to a CDN like https://www.jsdelivr.com/ and it can be used in any A-Frame project like a traditional A-Frame component (or system).
See the wiki for instructions on using the toolkit without the CLI to create Typescript A-Frame classes and components.
Discussed below are the building blocks of the Typescript toolkit for A-Frame. The working apps generated by the CLI features examples of these classes in action.
Entity builder allows you to create A-Frame entities, set attributes, and attach them to the scene other A-Frame elements.
import { EntityBuilder } from "aframe-typescript-toolkit"
const scene = document.getElementById("scene")
EntityBuilder.create("a-text", {
id: "hello-text",
value: "Hello Word!",
color: "blue",
position: "-1 2 0",
}).attachTo(scene)
See the docs for additional information on EntityBuilder
The ComponentWrapper is a base class for creating strongly typed A-Frame components. Component lifecycle methods such as init(), tick(), and others are provided, and can be overridden to suit your component's specific behavior.
See the example as well as the ComponentWrapper docs for more details.
The SystemWrapper allows you to create typescript A-Frame systems. Components can subscribe themselves to a system, allowing the system to reference its components.
See the example as well as the SystemWrapper docs for more details.
Position Logger A-Frame Component is a complete example of how to use an A-Frame component using ComponentWrapper
Sphere Registry A-Frame System is a complete example of a how to create an A-Frame system using SystemWrapper
We are interested in hearing your questions and feedback.
Email<EMAIL_ADDRESS>This program is free software and is distributed under an MIT License.
Generated using TypeDoc


I use a script to export highlights and notes from my kindle’s My Clippings.txt
file to an sqlite3 database.
Having these clippings in a database allows me to get some interesting and potentially useful statistics.
Highlight (Information) Density
I created this measurement to show how densely packed the highlights I’ve made are, and therefore how densely packed the information (good enough to highlight) in the book is. If there are a lot of highlights in a few pages, that’s dense. Books with few highlights but many pages are fluffy.
- Of course, kindle books don’t have page numbers, so I go by locations instead.
I find it useful sometimes to rank books from densest to fluffiest. When given the choice, I’d rather spend time reading or reviewing a dense book, rather than one full of fluff.
As part of the database, I have a table for information about the books themselves. Here’s a minimal version of that table:
CREATE TABLE IF NOT EXISTS "books" (
`id` INTEGER,
`book` TEXT,
`Title` TEXT,
`SubTitle` TEXT,
`Author` TEXT,
`density` REAL,
`ptscore` REAL,
PRIMARY KEY(`id`)
);
To calculate the highlight density of a book I use the following simple python function:
def calc_hl_density():
cur.execute("select id, density from books")
for bid, density in cur.fetchall():
cur.execute("select min(location), max(location), count(clipID) from clips where bid = ?", (bid,))
for minl, maxl, count in cur.fetchall():
if count > 2:
density = float(count)/(float(maxl)-float(minl))
cur.execute("update books set density = ? where id = ?", (density, bid))
con.commit()
Page-Turners
Since the kindle time-stamps all highlights, it’s also possible to measure the number of locations read over time. A larger number should mean that I found the book hard to put down, so I kept reading it. This is a good thing for a book, but it’s not necessarily going to be caught by the highlight density. It’s possible for a book to be both dense and boring.
The worst is probably a combination of being boring and fluffy. Sometimes I find myself slogging through a boring book because I think there may be some gems hidden in the depths somewhere. This probably isn’t the best use of my time. I figure it represents a high opportunity cost.
NB: Sometimes my kindle loses track of time and resets back to thinking it’s 1970, so I have to filter out all those dates. Filtering out any date before 1980 is overkill, but will work nicely. I’d have to not notice the problem for ten years for it to fail!
from datetime import datetime
def calc_pageturn_score():
cur.execute("select id, ptscore from books")
for bid, ptScore in cur.fetchall():
#find first highlight/note
cur.execute("select min(datestring), max(datestring) from clips where bid = ? and datestring > '1980-01-01'", (bid,))
firstDate, lastDate = cur.fetchone()
# bail out if only one day of reading
if firstDate[:10] == lastDate[:10]:
continue
# find start location and end location
cur.execute("select location from clips where bid = ? and datestring = ?", (bid, firstDate))
firstLoc = cur.fetchone()[0]
cur.execute("select location from clips where bid = ? and datestring = ?", (bid, lastDate))
lastLoc = cur.fetchone()[0]
# calculate locations read
locsRead = lastLoc - firstLoc
# calculate time between first and last clips (format is YYYY-MM-DD HH:MM:SS)
fDate = datetime.strptime(firstDate, "%Y-%m-%d %H:%M:%S")
lDate = datetime.strptime(lastDate, "%Y-%m-%d %H:%M:%S")
dDiff = lDate - fDate
dDays = dDiff.total_seconds() / 86400.0
# calc page-turn score (locations read per day)
ptScore = float(locsRead) / dDays
# update database
cur.execute("update books set ptscore = ? where id = ?", (ptScore, bid))
Now you have some kind of a score to judge how much of a page-turner a book is. Of course, there are plenty of other factors that contribute to this, so this isn’t a perfect measurement by any means. For example, if you’re on vacation, then any book you’re currently reading might get a boost in its page-turn score just because you have more time for reading. Also, fiction books where you may not make many highlights will be horribly skewed. But it’s a start.


Club ‘values’ Arsenal player’s qualities – One factor could be an obstacle for transfer
by Naveen UllalEarlier this month, journalist Juanfe Sanz told El Chiringuito Barcelona are ‘very interested’ in Arsenal’s Pierre-Emerick Aubameyang and suggested the asking price won’t be exorbitant for any potential transfer.
Two days ago, Le10 Sport reported the forward is closely followed by the La Liga winners. They also explained the 30-year-old has postponed contract talks with the Gunners.
His current deal at the Emirates expires in 2021 and reports in England suggested the Gabon international wants to see whether or not Unai Emery’s side will qualify for next season’s Champions League.
Friday’s edition of Mundo Deportivo has picked up these claims and it’s stated the Catalan club ‘values’ the former Borussia Dortmund star’s qualities.
However, the player’s age (he’ll turn 31 next June) would be an obstacle for Ernesto Valverde’s side in signing him.
Mundo adds that Arsenal could agree to negotiate his transfer next summer, if Aubameyang decides not to renew his contract with the Premier League side.


- Socializing knowleage across educational activities
- Teaching natural language digital evolution and programming language
- Promoting a sustainable network of cooperation and promotion of cuban tech innovation
- A complement to help common non-programming people to get tech into their lives healthily
harassment-free community for everyone, regardless of:
- sex, gender identity or expression, sexual orientation, disability,
- physical appearance, age, body size, race, nationality or religious beliefs
Host extra-rules
Preserve the place, low voice, etc.
Other Basic Rules for an Engaging Experience:
- Respect time limit of your keynote.
- Ask no matter when, but PLEASE ASK!!!
- Share with attendants all you can.
This Meetup Agenda
- Blockstack 101. Intro to Blockchain.Talk
- Coffee break
- Blockchain hands on lab Talks and Labs
Blockstack
- NYC-based startup
- Graduated of YCombinator
- +3 years production system
- Powered by blockchains
Possible Topics for Next Meetup
- Blockstack tutorials for app developers
- Other block chains, and (consensus) algorithms
- Computational economics
- Pitch your idea
Channels of Communication


EAST IS EAST A film review by Mark R. Leeper
Capsule: An outwardly ideal Pakistani family living in London is in fact having troubles inside due to a father who takes a very fundamentalist view of Islam and his authority over his family. The family comes to realize that it has gone too long without asserting itself. The father wants to arrange marriages for the older sons and they want instead to do things the British way. Ayub Khan-Din's play mixes comedy and some very powerful drama. Rating: 8 (0 to 10), high +2 (-4 to +4)
In 1946, before there was a partition between Pakistan and India, Muslim George Khan (play by Om Puri) moved to London, started a business running a fish and chips shop, and took a second wife, a non-Muslim English woman. He then reared six sons and a daughter by the English wife. He raised his children to be good Muslims--better Muslims than he could have afforded to be. They took little looks at the English world around them, but they did what George wanted. When they needed discipline, George did his fatherly duty and corrected them. But overall life went fairly smoothly. That is what happened for twenty-five years as George saw it. The seven children, living in the same house but a different universe, saw things quite differently. They wanted to assimilate into the society they saw around them. To them Dad's presence was always a hazard. He could catch them eating pork or marching in a Christian procession. Generally they just pretended in his presence to be practicing Muslims, the path of least resistance. Outside the house they were living the new world of freedom that England and particularly 1971 brought.
For twenty-five years their world views diverged more and more. But there was no reason for a confrontation. The first sign that things were not right was when the eldest son, in the middle of an arranged marriage ceremony walked out and went to live in London. George is bewildered by this strange behavior, but never questions if perhaps he might be part of the reason. After all he did nothing but fulfill his role as father as Islam seems it. The family certainly could not fault him for that. It would be going against Allah.  It is time to bring them back to their religion by arranging good Islamic marriages for the two of them.
The script follows the sons around showing the character of each as they try and perhaps fail to be like the people around them.  He frequently hides from the world in a shed behind his house or retreats into his parka which he wears day and night, on the street and even to bed. It is his own portable cave to retreat into. When it is discovered that somehow he is not circumcised his father gives not a jot of thought to a little boy's fears, the religion says he must be circumcised and, of course, he will be.
EAST IS EAST was produced for Channel 4 television in England, following in the traditions of MY BEAUTIFUL LAUNDERETTE, and SAMMY AND ROSIE GET LAID. Those dealt with Indians fitting into London lower-middle class Manchester neighborhoods, this film deals with Pakistanis. EAST IS EAST is the most pointed of the three dramas and by far the best story. Tensions between George and his family mirror those between the Pakistanis and their neighbors, many of whom espouse Enoch Powell's anti-immigration policies and use it as an excuse for intolerance. (Enoch Powell's 1968 "Rivers of Blood" speech argued against allowing non-white British subjects to immigrate into Britain. His speech contained some rather dire and fanciful predictions of a Britain in which the whites were a persecuted minority. The speech did not end his career, but it ruined it. A brilliant classical scholar but less than savvy politically, his views were quickly exaggerated and adopted by a racist minority who used his arguments as an excuse for racial intolerance.) George faces the intolerance of a neighboring Powell supporter and tries to break up the Romeo-and-Juliet relationship a son of his has with the daughter of the neighbor.
The story finds an almost perfect ending in a very understated but poignant exchange between George and a neighbor boy. This film packs a great deal into a small space. I rate it an 8 on the 0 to 10 scale and a high +2 on the -4 to +4 scale.
Mark R. Leeper<EMAIL_ADDRESS>Copyright 2000 Mark R. Leeper
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


I bought a large amount of wild dagga flowers from an online vendor. I like sometimes to smoke some, and 2 cigarettes of pure flowers produce a nice buzz. But it is far too expensive, and the effects lack some intensity.
So as I had bought a large amount at a wholesale price, I decided to try an extraction using 90% alcohol. I used a jar stored in a dark place. I allowed the flowers to sip for 10 days. Then I separated the alcohol from the flowers. The alcohol had just turned a little yellow. the alcohol evaporated very slowly, especially at the end. The resulting 'tar' was looking like honey, and smelling a bit like honey. It didnt evaporate more and remained almost liquid, even weeks later. I tried to smoke some on dried flowers without a significant result (and it didnt burn well).
So, I tried to eat some mixed with honey (a rare nice african honey, a little bit psychoactive by itself). I figured that the taste would be the one of honey , with maybe a more vegetal quality. In fact it doesnt taste good at all, a bit bitter and 'greasy'. Maybe 10 minutes later I started to feel a nice buzz. the onset took 20 minutes. It was the dagga high as described in some reports. Very euphoric, intense. I was very high. A little bit more inebrieted than with cannabis, but without the deep waves that pot produces, and with less intellectual stimulation.
The mood lift was spectacular. I felt very happy, although the begining of the day was sad and depressing. Also, I was sexually excited. The peak lasted for 30 minutes +/- . After that I felt relaxed and mildly stimultaed, so I worked in the garden which was very cool, except that I was still a little bit inebrieted and had to be careful.
Though the most intense of the experience seemed relatively short, the nice state which succeeded lasted at least for 2 hours and the come down was very slow. I experienced some minor stomach discomfort during the end of the come down.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.