profile
viewpoint
Austin Bingham abingham @sixty-north Heggedal, Norway Programmer. Co-founder and Technical Director of Sixty North.

abingham/categories-for-programmers 14

A sphinx project for Bartosz Milewski's book "Categories for Programmers"

abingham/boost_python_tutorial 9

An IPython Notebook-based tutorial on Boost.Python

abingham/accu-2017-elm-app 8

An Elm-based web app for the ACCU 2017 schedule

abingham/ao-toolbox 1

A collection of tools for working with AO fracture classifications

abingham/breathe_test 1

A test project for demonstrating issues and features with breathe

abingham/52things 0

52 Things You Should Know About Geocomputing

abingham/ACCUConf_Schedule_Web_Application 0

Elm implemented Web application for the ACCUConf schedule. The conference website is https://conference.accu.org

abingham/ACCUConf_Submission_Web_Application 0

This repository contains the source of the Web application for submitting and reviewing proposals, and the Web application providing a RESTful API to the schedule data. The conference website is https://conference.accu.org

abingham/ACCUConf_Website 0

The source for the ACCU Conference website.

abingham/ackward 0

Automatically exported from code.google.com/p/ackward

issue commentsixty-north/python-camtasia

Importing audio and images

I've added initial audio support in the audio-support branch. Give it a try and let me know how it goes.

This is only lightly tested, and I did look at all at inserting audio onto the timeline. Maybe this will be a good start for full support.

sgspecker

comment created time in 4 days

create barnchsixty-north/python-camtasia

branch : audio-support

created branch time in 4 days

issue commentsixty-north/python-camtasia

Importing audio and images

Ah, this is definitely a blind spot for me. I was only dealing with visual media when I wrote this, and I never explicitly added support for audio media. Issue #6 mentions the need for supporting audio, but I never got around to it.

I probably won't be able to do anything to add support for audio in the near or medium term. But if you've got the energy to work on it I'll support you as best I can.

I'm guessing the current API only expects video files, is this correct? Or will it recognize image files (e.g. PNG)?

It should support videos and images. I certainly exercise both of those in my use of the API.

sgspecker

comment created time in 5 days

issue commentsixty-north/python-camtasia

Does python-camtasia work with .tscproj files?

Ok, I'm glad you can make it work. I haven't had much time to work on this lately, and I don't know if I'll have any in the near future.

In other words, there isn't a specific directory structure for Camtasia projects in Windows.

Even if there isn't a specific internal structure, is there still at least the notion of a top-level directory that contains everything? I'm still not sure what the API should treat at the "project" from a file-system perspective.

sgspecker

comment created time in 5 days

push eventabingham/make-heggedal-website

Austin Bingham

commit sha 12146dfd7793953cb742d33fa6ef0c01a3dda4a1

Added org number to footer.

view details

push time in 12 days

push eventsixty-north/MAVProxy

Austin Bingham

commit sha 0e8aaeaafff8fe1872b59ab5936f71ddfcb17184

Improved breaker implementation.

view details

push time in 17 days

push eventsixty-north/MAVProxy

Austin Bingham

commit sha 206ea13c7b614bdf0f4c3b972232e780ce585396

Added 'breaker' module.

view details

push time in 18 days

PR opened ArduPilot/ardupilot_wiki

Fixed incorrect indentation

The init function should be at module scope, but it was nested in the TestModule class.

+3 -3

0 comment

1 changed file

pr created time in 19 days

push eventabingham/ardupilot_wiki

Austin Bingham

commit sha b38595bb24b102bd1ad89c919be951b2cf8eb8e2

Fixed incorrect indentation The ``init`` function should be at module scope, but it was nested in the ``TestModule`` class.

view details

push time in 19 days

fork abingham/ardupilot_wiki

Repository for ArduPilot wiki issues and wiki-specific website infrastructure.

fork in 19 days

push eventabingham/make-heggedal-website

Austin Bingham

commit sha a7ccf2b87364dc4f2293f461d8d058a847de2c7c

Updated README.

view details

push time in 20 days

push eventabingham/make-heggedal-website

Austin Bingham

commit sha 9f10efdac2296233204ecfce5f37bc60aa3d627b

Cleaned things up a bit.

view details

push time in 20 days

push eventabingham/make-heggedal-website

Austin Bingham

commit sha 1a91937326e17566ba992015c795236f995b34b2

Using more idiomatic Norwegian for "workspace".

view details

push time in a month

push eventabingham/make-heggedal-website

Austin Bingham

commit sha 952d68440b26d09b230dd766e5e43f81a741b098

Added contact email link.

view details

push time in a month

push eventabingham/make-heggedal-website

Austin Bingham

commit sha b6441d7627dbb1a5400fa56b8dba2ef20f83dba1

Improved font size and spacing.

view details

push time in a month

push eventabingham/make-heggedal-website

Austin Bingham

commit sha 89996b9c0abe915b0f087048d125ce4787eabcc8

Language tweaks.

view details

push time in a month

push eventabingham/make-heggedal-website

Austin Bingham

commit sha da894c66de303321e9a15dc4ceb81d324fa7bcb9

Fixed footer-overlap issue.

view details

push time in a month

push eventabingham/make-heggedal-website

Austin Bingham

commit sha 7e88741e8521e47b82fcbf7bdd83f02b4b55a266

Fixed title

view details

push time in a month

push eventabingham/make-heggedal-website

Austin Bingham

commit sha bd9efd890260dcebb54737053477b03df6cc2388

Shrank image further.

view details

push time in a month

push eventabingham/make-heggedal-website

Austin Bingham

commit sha 28bd5b60d783d2cb4b5609f56f1c6d1aebe66753

Made image smaller

view details

push time in a month

push eventabingham/make-heggedal-website

Austin Bingham

commit sha a7b54458a37c59a10871e757b878222659525e1c

Added requirements.txt

view details

push time in a month

push eventabingham/make-heggedal-website

Austin Bingham

commit sha 75a9d905673959c52dd425fc4825f76083edba01

Looking nicer.

view details

Austin Bingham

commit sha 8341385814ba79e9d34d64e3e4423dc7153cbac8

Good enough for now.

view details

push time in a month

push eventabingham/make-heggedal-website

Austin Bingham

commit sha a8a89b2420372594e7babd2e2f7216adc9eea785

Added README.

view details

push time in a month

push eventabingham/heggedal-makerspace-website

Austin Bingham

commit sha 3e339d44f7c6ca41fe1d19d3a8551863efb3da7a

Making some progress.

view details

Austin Bingham

commit sha 28ad86acf076c197a81a129e8bb2fb116c390f8f

Stuff.

view details

Austin Bingham

commit sha 71d1e2975c0d9e6e21db3baa8cda6aa16467de9a

Lektor FTW!

view details

Austin Bingham

commit sha edbff5908bcd5cb085bbfe37811409b5da701387

More work.

view details

Austin Bingham

commit sha 996bb8abb5bb91433c526702646692f48cc97817

Relocated image(s).

view details

Austin Bingham

commit sha 13504fc8a870f57822af7885e3ef6d3d2ba9c32a

Language links.

view details

Austin Bingham

commit sha 8aab4ae325e61ca94899d46d4909397229c3e399

Added pricing placeholder.

view details

Austin Bingham

commit sha b3b5171f0a1e2a502c8d32213b83ef38c0d1087d

Moving stuff around.

view details

push time in a month

push eventabingham/heggedal-makerspace-website

Austin Bingham

commit sha 5791e2bdd566d0128e3d5a4a10eb0db23b2181bd

Using pelican.

view details

push time in a month

create barnchabingham/heggedal-makerspace-website

branch : master

created branch time in a month

created repositoryabingham/heggedal-makerspace-website

Website for the Heggedal Makerspace

created time in a month

push eventabingham/arduino-camera

Austin Bingham

commit sha cfa052e87d9eed8649803096b835285eea6c3e93

Cleanup.

view details

Austin Bingham

commit sha b21f63949b1ad833eabd1e206a1461a68e8f24e8

Updated notes.

view details

push time in a month

push eventabingham/arduino-camera

Austin Bingham

commit sha 765a48a3f0117736c5db18e49ab205e999250d76

Limping along

view details

push time in a month

fork abingham/neuralnetworksanddeeplearning.com.pdf

LaTeX/PDF + Epub version of the online book (http://neuralnetworksanddeeplearning.com) ”Neural Networks and Deep Learning“ by Michael Nielsen (@mnielsen)

fork in a month

push eventabingham/arduino-camera

Austin Bingham

commit sha ad4a8c1e10917d024ffdded7960146952d3776ad

moved notes

view details

push time in a month

push eventabingham/arduino-camera

Austin Bingham

commit sha 0db6eb071b4372b366a26a0d0ee490ef77a85af2

imported pygrab

view details

push time in a month

create barnchabingham/arduino-camera

branch : master

created branch time in a month

created repositoryabingham/arduino-camera

Noodling around with arduino cameras

created time in a month

pull request commentjimporter/bfg9000

Experiment in making keywords importable.

Requiring some explicit way of enabling the hook in each project would probably be easier to keep track of...

You could introduce another keyword e.g. use_hook that just verifies that a given hook is installed. If you want to ensure a one-to-one correspondence between use_hook() invocations and actual hook activations, I think you'd need to scan build.cfg for the use_hook calls before executing it. On the other hand, if use_hook just verifies that a given hook is installed - but there might be hooks installed without corresponding use_hook calls - then it can just run as part of the script.

Alternatively, you could introduce something like setup.bfg that handles this kind of pre-execution work. This is simple and clear, but it introduces another file to the mix.

abingham

comment created time in a month

push eventsixty-north/python-camtasia

Austin Bingham

commit sha b0682f9e704864996618b0b7d383db32ba26d4fc

Fixed chromakey test.

view details

Austin Bingham

commit sha d8e5f6de0589fc8cd1c02a7e34a4246f424cd6ed

Added support for adding media markers.

view details

Austin Bingham

commit sha def7f3efab825335f2e3bcc26fa463e2b2de09fd

Bump version: 6.2.0 → 6.3.0

view details

push time in 2 months

created tagsixty-north/python-camtasia

tagv6.3.0

Python API for Camtasia projects.

created time in 2 months

push eventsixty-north/python-camtasia

Austin Bingham

commit sha b0682f9e704864996618b0b7d383db32ba26d4fc

Fixed chromakey test.

view details

Austin Bingham

commit sha d8e5f6de0589fc8cd1c02a7e34a4246f424cd6ed

Added support for adding media markers.

view details

Austin Bingham

commit sha def7f3efab825335f2e3bcc26fa463e2b2de09fd

Bump version: 6.2.0 → 6.3.0

view details

push time in 2 months

issue commentabingham/flycheck-vale

Can't get any errors

I'm not really using or supporting this project any more, but it may be that vale has changed its output format.

andreyorst

comment created time in 2 months

pull request commentjimporter/bfg9000

Experiment in making keywords importable.

The other approaches I can think of are ones you've already mentioned. We could probably write IDE extensions to prevent the keywords from being flagged as errors. This has the downside of requiring different extensions for each IDE, and I'm not sure how well or easily this would integrate with e.g. tooltips. I have lots of experience with emacs extensions, and IIRC the syntax checking and docstring tooltips are two entirely separate subsystems. I'm hesitant to go down this road because of the fan-out of work it implies.

The second alternative would be to teach the language servers about these symbols and their documentation. This seems like less work than operating at the IDE extensions level, but it's still more work than just jedi. There's at least Microsoft's Python language server and whatever PyCharm uses (which might be jedi, I'm not sure). And I'm also not sure that injecting symbols is even supported by all/some of them, so we'd need to sort that out.

I guess what appeals to me most about the approach I've coded (and I agree that it's at least a little bit hacky) is that it works at the Python language level and will thus work with any functioning set of tools. It's also pretty simple.

I suppose a middle ground is that bfg could provide a pre-execute hook of some sort. I could replace bfg9000.keywords with an external module and, in that hook, populate it with the live objects. This feels like over-engineering to me (mostly because I can't think of other use cases for that hook), but I think allowing you to keep conceptual integrity over the code is generally more important than any particular feature.

abingham

comment created time in 2 months

PR opened jimporter/bfg9000

Experiment in making keywords importable.

This provides a way for build.cfg files to import the various bfg keywords. The primary reason for this is so that IDEs will know about these symbols and not treat them as errors. This addresses #135.

The technique I'm using introduces a new module bfg9000.keywords. This has a module-level attribute for each of the bfg9000 keywords; they all currently point to None, but they could point to something more useful (see notes in the file).

When the build.cfg is executed, bfg9000.build._execute_script replaces the values in keywords with the actual objects.

The result is that you can have a build.cfg like this:

from bfg9000.keywords import alias, default, build_step

# rest of build definition, just like any other.

and any Python-aware IDE will at least recognize that alias, default, and build_step are legitimate identifiers.

This PR is more about getting feedback on the approach and details (e.g. naming). It's certainly missing some details like handling options.cfg.

+80 -0

0 comment

2 changed files

pr created time in 2 months

push eventabingham/bfg9000

Austin Bingham

commit sha 3554afe6877375adf2abf4291109d2e27f923518

Experiment in making keywords importable.

view details

push time in 2 months

create barnchabingham/bfg9000

branch : import-keywords

created branch time in 2 months

fork abingham/bfg9000

bfg9000 - build file generator

https://jimporter.github.io/bfg9000

fork in 2 months

issue commentjimporter/bfg9000

"stamp" files not removed by `make clean`

Thanks, seems to work perfectly.

abingham

comment created time in 2 months

startedjimporter/bfg9000

started time in 2 months

issue openedjimporter/bfg9000

Is there some way to import the builtin functions to appease an IDE?

Since bfg9000 injects the builtin names into the build.cfg module namespace dynamically, my IDE gives me warnings about a lot undefined names (i.e. all of the builtin names). Is there something I can import that will give my IDE more information about these symbols? I've tried doing things like from bfg9000.builtins.file_types import source_file, but it's pulling in some different (but related?) object.

I've lived with similar problems in SCons for years, but I was hoping bfg had a solution.

created time in 2 months

issue openedjimporter/bfg9000

"stamp" files not removed by `make clean`

(Sorry for the flurry of issues. I'm thoroughly enjoying bfg, but I'm running into a few rough edges.)

created time in 2 months

issue openedjimporter/bfg9000

Error reporting hides exception type

It seems that bfg's error reporting for exceptions hides the exception type. For example, here's a portion of an error report it produces:

$ 9k build
error: build.bfg:107: 
  . . .
  File "build.bfg", line 107, in _render_slide_remote
    files=find_files(str(slide_dir), filter=exclude_pycache),

What's going on is that exclude_pycache (used in the filter) is calling str() on a bfg9000.platforms.posix.PosixPath. This results in a NotImplementedError (which in itself is strange) that has no message. It appears that the log formatting applied to the StackfulStreamHandler is actively discarding exception information, so by the time it produces logging output it can't tell me anything about what went wrong in this case.

In cases like this, where I'm still finding my way through bfg and doing "incorrect" things like stringifying paths, it would be very helpful to get a better indication of what went wrong.

created time in 2 months

issue closedjimporter/bfg9000

How to filter entire subdirectory in `find_files()`?

I'm trying to filter out all __pycache__ directories and their contents with the exclude argument to find_files(). I've tried things like exclude='**/__pycache__/**', exclude='*__pycache__*' and lots of other versions, but nothing seems to work. It looks like the matching ultimately devolves to regex matching, so maybe I'm not escaping things correctly or something.

How can I do this?

closed time in 2 months

abingham

issue commentjimporter/bfg9000

How to filter entire subdirectory in `find_files()`?

Thanks! That worked well.

abingham

comment created time in 2 months

issue openedjimporter/bfg9000

How to filter entire subdirectory in `find_files()`?

I'm trying to filter out all __pycache__ directories and their contents with the exclude argument to find_files(). I've tried things like exclude='**/__pycache__/**', exclude='*__pycache__*' and lots of other versions, but nothing seems to work. It looks like the matching ultimately devolves to regex matching, so maybe I'm not escaping things correctly or something.

How can I do this?

created time in 2 months

pull request commentkkroening/ffmpeg-python

Source node

Any plans to merge this?

Depau

comment created time in 2 months

issue commentComputerNerd/simpleFrameGrabber

<linux/serial.h> AND <SDL/SDL.h> Missing on Mac

I managed to compile this on macos with:

clang -fobjc-nonfragile-abi -o grab main.c -lSDL -lSDLmain -ljpeg -lobjc -framework Cocoa

I don't know if it's actually working yet, but I suspect any problems I'm having are on the camera end.

alexmead

comment created time in 2 months

create barnchsixty-north/python-camtasia

branch : release

created branch time in 2 months

created tagsixty-north/python-camtasia

tagv6.2.0

Python API for Camtasia projects.

created time in 2 months

push eventsixty-north/python-camtasia

Austin Bingham

commit sha 6f6e24b5c37ce235370333fa55e53f1d389986a1

Bump version: 6.1.2 → 6.2.0

view details

push time in 2 months

push eventsixty-north/cosmic-ray

Travis CI on behalf of Austin Bingham

commit sha 724f2f2a302aba15e84383e38990ac61440c8507

Changed the config key used by git-filter.

view details

Travis CI on behalf of Austin Bingham

commit sha d265dd0c7bf65484ee2ff1503129b2b16d0c7f55

Updated docs related to filter config.

view details

push time in 2 months

PR closed sixty-north/cosmic-ray

Fix configuration loading for OperatorsFilter

I may be wrong, but based on

  • logics in https://github.com/sixty-north/cosmic-ray/blob/master/src/cosmic_ray/config.py
  • sample TOML in documentation https://cosmic-ray.readthedocs.io/en/latest/filters.html#cr-filter-operators

here we should have config.sub('operators-filter') rather than config.sub('filters', 'operators-filter').

Code to Reproduce & Check

If I save the sample configuration TOML in the documentation as config.toml, then I run code below

from cosmic_ray.config import load_config
load_config('config.toml').sub('filters', 'operators-filter')

I got {}.

Instead, if I change to

load_config("config.toml").sub('operators-filter')

I got expected result

{'exclude-operators': ['core/ReplaceComparisonOperator_Is(Not)?_(Not)?(Eq|[LG]tE?)', 'core/ReplaceComparisonOperator_(Not)?(Eq|[LG]tE?)_Is(Not)?', 'core/ReplaceComparisonOperator_[LG]tE_Eq', 'core/ReplaceComparisonOperator_[LG]t_NotEq']}
+1 -1

2 comments

1 changed file

XD-DENG

pr closed time in 2 months

pull request commentsixty-north/cosmic-ray

Fix configuration loading for OperatorsFilter

Thanks for pointing this out!

The correct configuration key is:

[cosmic-ray.filters.operators-filter]

The reason is that the notion of "filter" covers a lot of functionality and different programs. So my plan is to have the "filter" key contain configuration for all filter programs.

I'll make the necessary changes to the documentation, and I'll close this PR without merging it. Thanks again!

XD-DENG

comment created time in 2 months

push eventsixty-north/cosmic-ray

Xiaodong DENG

commit sha fc573bd6181668014edccd4ec8467d9367c836c3

BugFix: empty 'exclude_operators' results in skipping all operators (#503) WithOUT this patch, if users (by accident) provide an empty exclude-operators in the configuration, it will results in ALL operators to be skipped, while it should not skip any operators.

view details

push time in 2 months

PR merged sixty-north/cosmic-ray

BugFix: empty 'exclude_operators' results in skipping all operators

WithOUT this patch, if a user (by accident) provides an empty exclude-operators in the configuration then applies command cr-filter-operators, it will results in that ALL operators to be skipped, while it should not skip any operators.

It's easy to check & confirm this bug:

import re
exclude_operators = []
re_exclude_operators = re.compile('|'.join('(:?%s)' % e for e in exclude_operators))
assert re_exclude_operators.match("abc")
assert re_exclude_operators.match("xyz")

Tests are updated/added.

+37 -4

0 comment

2 changed files

XD-DENG

pr closed time in 2 months

pull request commentsixty-north/cosmic-ray

Issue 501 - Show Survived Mutant Counts in Reports

Thanks!

XD-DENG

comment created time in 2 months

push eventsixty-north/cosmic-ray

Xiaodong DENG

commit sha 2bc69cf0b1d80caa7b13e01f54cfca22ea0f67d8

Issue 501 - Show Survived Mutant Counts in Reports (#502) * Issue 501 - Show Survived Mutant Counts in Reports Without this patch, in both CLI and HTML result, we would only have 'Survival rate', while people may be interested to know the count of survived mutants as well * Address review comments

view details

push time in 2 months

PR merged sixty-north/cosmic-ray

Issue 501 - Show Survived Mutant Counts in Reports

Without this patch, in both CLI and HTML result, we would only have 'Survival rate', while people may be interested to know the count of survived mutants as well.

After Applying This Patch

Screenshot_2020-07-15_at_9_41_42_PM

<hr>

Screenshot_2020-07-15_at_9_41_54_PM

+14 -6

2 comments

3 changed files

XD-DENG

pr closed time in 2 months

create barnchabingham/leanpub-tools

branch : master

created branch time in 2 months

created repositoryabingham/leanpub-tools

Tools for working with leanpub

created time in 2 months

pull request commentsixty-north/cosmic-ray

Issue 501 - Show Survived Mutant Counts in Reports

Thanks, this looks really good! I just had a few small notes. Once those are done, I'll be happy to merge this in.

XD-DENG

comment created time in 2 months

Pull request review commentsixty-north/cosmic-ray

Issue 501 - Show Survived Mutant Counts in Reports

 def format_survival_rate():         sys.exit(1)  +def kills_count(work_db):

Add a docstring to this function.

XD-DENG

comment created time in 2 months

Pull request review commentsixty-north/cosmic-ray

Issue 501 - Show Survived Mutant Counts in Reports

 def _generate_html_report(db, only_completed, skip_success):                                         text('Complete: {} ({:.2f}%)'.format(                                             num_complete, num_complete / num_items * 100))                                     with tag('p'):-                                        text('Survival rate: {:.2f}%'.format(survival_rate(db)))+                                        num_killed = kills_count(db)+                                        text('Survived mutants: {} ({:.2f}%)'.format(num_complete - num_killed, survival_rate(db)))

Change this to "Surviving mutants".

XD-DENG

comment created time in 2 months

pull request commentsixty-north/cosmic-ray

Fix minor typos in doc/quickstart

Thanks!

XD-DENG

comment created time in 2 months

push eventsixty-north/cosmic-ray

Xiaodong DENG

commit sha b62b653469f11b342e52b09559c3af35cfa05ed9

Fix minor typos in doc/quickstart (#500)

view details

push time in 2 months

PR merged sixty-north/cosmic-ray

Fix minor typos in doc/quickstart

Simply fixing two minor typos.

BTW very nice tool 👍

+1 -1

0 comment

1 changed file

XD-DENG

pr closed time in 2 months

push eventsixty-north/python-camtasia

Robert Smallshire

commit sha ea7218ecabda338575fdd8c8b68fc39fe9108044

Adds the beginning of support for effects, such a ChromaKey. Only ChromaKey is implemented currently.

view details

Robert Smallshire

commit sha e732452e6bc6fd0c79493304943d688d3a9737ce

Support for reading and writing effects from TrackMedia.

view details

Austin Bingham

commit sha b7807e05133a0bf93dcf5e7b478e573cce6c1dec

Merge pull request #14 from sixty-north/effects Effects

view details

push time in 2 months

PR merged sixty-north/python-camtasia

Effects

Here's the code to implement the ChromaKey effect. It uses the marshmallow library to marshal the Effect domain object in and out of something that is JSONable. In retrospect, I'm not sure how well that worked out given some of the oddities in Camtasia JSON which need to be worked around.

+587 -17

1 comment

6 changed files

rob-smallshire

pr closed time in 2 months

pull request commentsixty-north/python-camtasia

Effects

It looks good to me. Marshmallow is definitely interesting!

rob-smallshire

comment created time in 2 months

more