惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

人人都是产品经理
人人都是产品经理
Stack Overflow Blog
Stack Overflow Blog
S
SegmentFault 最新的问题
博客园 - 司徒正美
aimingoo的专栏
aimingoo的专栏
U
Unit 42
GbyAI
GbyAI
B
Blog RSS Feed
博客园 - Franky
L
LangChain Blog
Hugging Face - Blog
Hugging Face - Blog
美团技术团队
The GitHub Blog
The GitHub Blog
Y
Y Combinator Blog
云风的 BLOG
云风的 BLOG
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 三生石上(FineUI控件)
Microsoft Azure Blog
Microsoft Azure Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
G
Google Developers Blog
Last Week in AI
Last Week in AI
阮一峰的网络日志
阮一峰的网络日志
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Apple Machine Learning Research
Apple Machine Learning Research

Secret Weblog

Becoming More Xee: A Modern XPath and XSLT Engine in Rust Looking for new challenges! Repeat Yourself, A Bit The Curious Case of Quentell The Humble For Loop in Rust The Humble For Loop in JavaScript Don Question Best Practices I Was a 1980s Teenage Programmer Part 5: Achieving Assembly I Was a 1980s Teenage Programmer Part 4: The Call of Assembly The Tooling Shift I Was a 1980s Teenage Programmer Part 3: MSX-2 JavaScript: when you need two ways to do it! Empowering Programming Languages Bloat and Retrofuturism Refreshing my Blog Again Random Rust Impressions Apilar: An Alife System I Was a 1980s Teenage Programmer Part 2: Olivetti M24 I Was a 1980s Teenage Programmer: the Alphatronic SolidJS fits my brain Is premature optimization the root of all evil? Framework Patterns: JavaScript edition Roll Your Own Frameworks Framework Patterns Secret Weblog Highlights Refactoring to Multiple Exit Points mstform: a form library for mobx-state-tree Seven Years: A Very Personal History of the Web
Happy birthday Grok!
Martijn Faassen · 2007-10-15 · via Secret Weblog

Grok the codebase is 1 year old this week! One year ago, from the 12th of october until the 17th of october 2006, we started the Grok project in Halle, Germany. The design discussions for Grok are older - they go back to EuroPython. And the Zope 3 project, the base without which Grok would be nothing, started development in 2001.

But one has to start somewhere, and in that sprint Grok really came together. Four hackers sat together. A beamer projected our code on a wall. We started to hammer out the design and code of Grok. At the beginning of the sprint there was a rough sketch of a design and no code. At the end of that sprint, we had Grok. Grok's caveman theme was born at this sprint. In case you missed it, here is my report on that first sprint.

Over the last year, much has happened. We've had more sprints. We've presented Grok at conferences. We have given Grok tutorials. We built up a thriving Grok community centered around our grok-dev mailing list. We have had a successful summer of code with two projects to improve Grok. To our delight, many clever contributors joined us to help improve Grok, which has come a very long way. Two weeks ago, a group of sprinters even visited the "spiritual home" of Grok: Neanderthal in Germany.

Grok is far more than just a codebase - it's a community and a mission: we want to make the powerful Zope 3 technologies appealing to "cavemen" - by which I mean myself and other people who want to have power without having their heads explode.

Some features that Grok has today:

  • Lively, responsive development community. We're here, we have a mission and we're not going to stop.
  • Grok is documented: on http://grok.zope.org we have a tutorial and howtos, and a lot more coming.
  • Store your Python objects in a powerful, industry strength object database, the ZODB. (or a relational database, should you prefer)
  • Grok has a powerful UI that allows you to browse Grok-based applications and introspect their objects to see what their APIs are and where they are implemented.
  • Powerful schema-driven form generation system.
  • Index your Python objects for fast search, including full-text facilities.
  • Zope 3's powerful security infrastructure, optimized for usability.
  • Support for XMLRPC and JSON out of the box.
  • Upwards compatibility with Zope 3: the huge range of powerful Zope 3 components will work with Grok.
  • Easy to install using grokproject. This is not just an installation tool, but sets up a reproducible application buildout for you. This means no long INSTALL.txt files to install a Grok-based application (or Grok itself). It's just a few commands to get up and running, and the system downloads what's needed from PyPI or other Python package indexes.
  • Use the powerful Zope 3 component architecture to create flexible, pluggable code without writing a lot of separate ZCML XML code to hook things together.
  • Declarative Python code without a lot of meta-class magic. Just define a class and it's registered in the system.
  • Well-defined separate library for extending Grok and other Python applications: Martian.

Some features that are currently in the works:

  • A new website, and then a lot more documentation.
  • WSGI support.
  • REST support for Grok.
  • Pluggable template languages for Grok, starting with Genshi.
  • Downwards compatibility with Zope 3: use Grok-based code in other Zope 3 projects.
  • In general, we will continue on our mission to expose more powerful Zope 3 technology in a developer-friendly way. Zope 3's component software story works: There is a lot of Zope 3 technology available already, and more is written every day!

So, happy birthday Grok! It was a very good first year, and we'll have a great next year too, I'm sure of it. Come and join us if you'd like.

Copied! Copy code to clipboard