HacPDX/Projects: Difference between revisions
< HacPDX
No edit summary |
(Added Category:Community) |
||
(45 intermediate revisions by 9 users not shown) | |||
Line 1: | Line 1: | ||
== What we worked on == | |||
* [http://hackage.haskell.org/package/judy-0.2.1 judy] | |||
** Tutorials [http://donsbot.wordpress.com/2009/09/26/very-fast-scalable-mutable-maps-and-hashes-for-haskell/ 1] and [http://donsbot.wordpress.com/2009/09/27/fast-mutable-collections-for-haskell-more-benchmarks/ 2]. | |||
** Brenda: Judy-like Haskell implementation. (not yet posted) | |||
* [http://hackage.haskell.org/package/criterion-0.1 Testing and using criterion] | |||
* Patches to HDBC and HDBC-sqlite3 to support multi-query execution to make [http://hackage.haskell.org/package/dbmigrations the dbmigrations package] work. | |||
* A [http://hackage.haskell.org/package/vty-ui widget library for VTY]. | |||
* A potential new [http://patch-tag.com/r/TomMD/network/ network] library got started. Several aspects of design were discussed. | |||
* Reworking of [http://patch-tag.com/r/wchogg/crypto Crypto] has started, which involves replacing all [Octet] based digests and ciphers with ByteString equivalents in addition to normalizing the APIs. | |||
* A [http://patch-tag.com/r/kwallmar/hunit_gui/home GUI for HUnit]. It's currently feature-low, but functional. It also successfully runs its own tests. | |||
* Simplifed replacement for HLADSPA. Not yet posted. | |||
* [http://hackage.haskell.org/package/extcore extcore] and [http://hackage.haskell.org/package/linkcore linkcore], tools for manipulating GHC External Core. | |||
* [http://darcs.net/] Performance tuning for both mainline darcs and on the Google Summer of Code branch created by Petr Rockai. The new version is much faster at recording many small files. | |||
* A ByteString backed version of System.FilePath to help Darcs internally when manipulating thousands of FilePaths. | |||
== Proposed Projects for HacPDX == | == Proposed Projects for HacPDX == | ||
Projects you intend to tackle. | |||
{| class="wikitable" | {| class="wikitable" | ||
Line 5: | Line 22: | ||
! Task Description | ! Task Description | ||
! Participants | ! Participants | ||
|- | |||
| Network APIs | |||
| Investigate and test new APIs for potentially replacing network, network-bytestring, and network-fancy | |||
| TomMD | |||
|- | |||
| HPDF | |||
| Additional hacking and c bindings | |||
| jmelesky | |||
|- | |||
| HUnit | |||
| [http://patch-tag.com/r/hunit_gui/home GUI]. Maybe also text UI that isn't horrible | |||
| KimWallmark | |||
|- | |||
| [http://hackage.haskell.org/package/judy judy] | |||
| Fast, mutable collection types [http://donsbot.wordpress.com/2009/09/26/very-fast-scalable-mutable-maps-and-hashes-for-haskell/ report] | |||
| dons | |||
|} | |} | ||
== Additional Project Suggestions == | |||
Projects you'd consider, but depends on the interest of other attendees. | |||
{| class="wikitable | |||
! Project | |||
! Task Description | |||
|- | |||
|Crypto Part I | |||
|Fix up the crypto library - use bytestring, fold in pureMD5/SHA/hecc, provide a new API | |||
|- | |||
|PNG | |||
|Work on Bart Massey's pure-Haskell PNG reading/writing library. Lots to do here. | |||
|- | |||
|ParseArgs | |||
|Clean up and extend a bit Bart Massey's [http://hackage.haskell.org/package/parseargs parseargs] package. | |||
|- | |||
|TCP Service | |||
|Extract and package the SMTP-style TCP server bits from Bart Massey's [http://wiki.cs.pdx.edu/forge/imcs.html MiniChess] server. | |||
|- | |||
|sqlite open_v2() | |||
|Add full support for SQlite's open_v2() call to the [http://hackage.haskell.org/package/sqlite sqlite] package. | |||
|- | |||
|HaRe | |||
|Get it compiling under ghc 6.10; cabalize it. | |||
|- | |||
|plugins | |||
|Tests and examples seem to fail with linking errors on the latest Haskell Platform. | |||
|- | |||
|wxHaskell | |||
|Get this to install on Arch Linux. | |||
|- | |||
| [[Kernel Modules]] | |||
| Finish porting a Linux driver to Haskell (mostly means working on the c2hs bindings) | |||
|- | |||
| [http://github.com/enolan/whiteout Whiteout] | |||
|I - Echo Nolan - have been working on a BitTorrent client library. It uses fun things like iteratees and STM. If anyone is interested in hearing about/working on it, I'm more than happy to give the guided tour. | |||
| | |||
|- | |||
| Lambdabot | |||
|Everyone's favorite Haskell IRC bot. | |||
|- | |||
|} | |||
==Crypto 5.0 notes== | |||
See the patch-tag.com crypto repository files Data/Digest.hs and Data/Cipher.hs for proposed [http://patch-tag.com/r/crypto/snapshot/current/content/pretty/Data/Digest.hs Digest] and [http://patch-tag.com/r/crypto/snapshot/current/content/pretty/Data/Cipher.hs Cipher] typeclasses. | |||
This would allow digests to be called with a simple "hash" function so long as they have an instance: | |||
<haskell> | |||
newtype SHA1 = SHA1 (Word32, Word32, Word32, Word32, Word32) | |||
instance Digest SHA1 SHA1PartialCtx where | |||
--Code goes here... | |||
</haskell> | |||
And similarly for block/stream ciphers and RNGs. | |||
Also, slurp up the various other crypto libs on hackage. | |||
===Other todos=== | |||
* Add website and darcs repo to Crypto.cabal. | |||
* Use test-framework. | |||
* Don't build tests by default - use a flag. | |||
* Is dominic.steinitz@blueyonder.co.uk still the correct contact email? If not, change it in CryptoHomePage.html | |||
* Does the readme *really* have to be in TeX? | |||
* Get a real bugtracker set up? code.haskell.org gives out trac hosting. | |||
* Holy crap that is a lot of warnings. | |||
* QuickCheck 2? | |||
* Echo hates Darcs with a passion. | |||
== Contour Plotting == | |||
Greg is working on a plotting library at [http://people.oregonstate.edu/~benisong/finite-state-machine/ this repository]. | |||
[[Category:Community]] |
Latest revision as of 13:08, 17 December 2012
What we worked on
- judy
- Testing and using criterion
- Patches to HDBC and HDBC-sqlite3 to support multi-query execution to make the dbmigrations package work.
- A widget library for VTY.
- A potential new network library got started. Several aspects of design were discussed.
- Reworking of Crypto has started, which involves replacing all [Octet] based digests and ciphers with ByteString equivalents in addition to normalizing the APIs.
- A GUI for HUnit. It's currently feature-low, but functional. It also successfully runs its own tests.
- Simplifed replacement for HLADSPA. Not yet posted.
- extcore and linkcore, tools for manipulating GHC External Core.
- [1] Performance tuning for both mainline darcs and on the Google Summer of Code branch created by Petr Rockai. The new version is much faster at recording many small files.
- A ByteString backed version of System.FilePath to help Darcs internally when manipulating thousands of FilePaths.
Proposed Projects for HacPDX
Projects you intend to tackle.
Project | Task Description | Participants |
---|---|---|
Network APIs | Investigate and test new APIs for potentially replacing network, network-bytestring, and network-fancy | TomMD |
HPDF | Additional hacking and c bindings | jmelesky |
HUnit | GUI. Maybe also text UI that isn't horrible | KimWallmark |
judy | Fast, mutable collection types report | dons |
Additional Project Suggestions
Projects you'd consider, but depends on the interest of other attendees.
Project | Task Description | |
---|---|---|
Crypto Part I | Fix up the crypto library - use bytestring, fold in pureMD5/SHA/hecc, provide a new API | |
PNG | Work on Bart Massey's pure-Haskell PNG reading/writing library. Lots to do here. | |
ParseArgs | Clean up and extend a bit Bart Massey's parseargs package. | |
TCP Service | Extract and package the SMTP-style TCP server bits from Bart Massey's MiniChess server. | |
sqlite open_v2() | Add full support for SQlite's open_v2() call to the sqlite package. | |
HaRe | Get it compiling under ghc 6.10; cabalize it. | |
plugins | Tests and examples seem to fail with linking errors on the latest Haskell Platform. | |
wxHaskell | Get this to install on Arch Linux. | |
Kernel Modules | Finish porting a Linux driver to Haskell (mostly means working on the c2hs bindings) | |
Whiteout | I - Echo Nolan - have been working on a BitTorrent client library. It uses fun things like iteratees and STM. If anyone is interested in hearing about/working on it, I'm more than happy to give the guided tour. | |
Lambdabot | Everyone's favorite Haskell IRC bot. |
Crypto 5.0 notes
See the patch-tag.com crypto repository files Data/Digest.hs and Data/Cipher.hs for proposed Digest and Cipher typeclasses.
This would allow digests to be called with a simple "hash" function so long as they have an instance:
newtype SHA1 = SHA1 (Word32, Word32, Word32, Word32, Word32)
instance Digest SHA1 SHA1PartialCtx where
--Code goes here...
And similarly for block/stream ciphers and RNGs. Also, slurp up the various other crypto libs on hackage.
Other todos
- Add website and darcs repo to Crypto.cabal.
- Use test-framework.
- Don't build tests by default - use a flag.
- Is dominic.steinitz@blueyonder.co.uk still the correct contact email? If not, change it in CryptoHomePage.html
- Does the readme *really* have to be in TeX?
- Get a real bugtracker set up? code.haskell.org gives out trac hosting.
- Holy crap that is a lot of warnings.
- QuickCheck 2?
- Echo hates Darcs with a passion.
Contour Plotting
Greg is working on a plotting library at this repository.