Hi
user
Admin Login:
Username:
Password:
Name:
Rethinking Errors: Learning from Scala and Go
--client
psf
--show
pycon2013
--room GrandBallroomGH 2054 --force
Next: 11 API Design for Library Authors
show more...
Marks
Author(s):
Bruce Eckel
Location
Grand Ballroom GH
Date
mar Fri 15
Days Raw Files
Start
11:30
First Raw Start
11:25
Duration
00:30:00
Offset
0:04:27
End
12:00
Last Raw End
12:51
Chapters
00:00
0:19:09
0:19:20
Total cuts_time
28 min.
https://us.pycon.org/2013/schedule/presentation/52/
raw-playlist
raw-mp4-playlist
encoded-files-playlist
host
archive
public
tweet
mp4
svg
png
assets
release.pdf
Rethinking_Errors_Learning_from_Scala_and_Go.json
logs
Admin:
episode
episode list
cut list
raw files day
marks day
marks day
image_files
State:
---------
borked
edit
encode
push to queue
post
richard
review 1
email
review 2
make public
tweet
to-miror
conf
done
Locked:
clear this to unlock
Locked by:
user/process that locked.
Start:
initially scheduled time from master, adjusted to match reality
Duration:
length in hh:mm:ss
Name:
Video Title (shows in video search results)
Emails:
email(s) of the presenter(s)
Released:
has someone authorised pubication
Unknown
Yes
No
Normalise:
Channelcopy:
m=mono, 01=copy left to right, 10=right to left, 00=ignore.
Thumbnail:
filename.png
Description:
markdown
C++ brought exceptions to mainstream programming; Java goes further with checked exceptions. But are exceptions the one way to report all errors? Scala and Go suggest there is more than one kind of error, so there should be more than one kind of error reporting, and different responses to errors. I’ll show the Scala and Go approaches to the error problem, and how to apply this to Python.
Comment:
production notes
no sound from 11s - 48s <?xml version='1.0' encoding='UTF-8'?> <ns0:entry xmlns:ns0="http://www.w3.org/2005/Atom" xmlns:ns1="http://schemas.google.com/g/2005" xmlns:ns2="http://search.yahoo.com/mrss/" xmlns:ns3="http://gdata.youtube.com/schemas/2007" xmlns:ns4="http://purl.org/atom/app#"><ns0:category scheme="http://schemas.google.com/g/2005#kind" term="http://gdata.youtube.com/schemas/2007#video" /><ns0:category label="Education" scheme="http://gdata.youtube.com/schemas/2007/categories.cat" term="Education" /><ns0:category scheme="http://gdata.youtube.com/schemas/2007/keywords.cat" term="psf" /><ns0:category scheme="http://gdata.youtube.com/schemas/2007/keywords.cat" term="pycon2013" /><ns0:category scheme="http://gdata.youtube.com/schemas/2007/keywords.cat" term="talk" /><ns0:category scheme="http://gdata.youtube.com/schemas/2007/keywords.cat" term="BruceEckel" /><ns0:id>http://gdata.youtube.com/feeds/api/videos/REOL1AV_PCg</ns0:id><ns0:author><ns0:name>NextDayVideo</ns0:name><ns0:uri>https://gdata.youtube.com/feeds/api/users/NextDayVideo</ns0:uri></ns0:author><ns0:content type="text">Bruce Eckel C++ brought exceptions to mainstream programming; Java goes further with checked exceptions. But are exceptions the one way to report all errors? Scala and Go suggest there is more than one kind of error, so there should be more than one</ns0:content><ns0:updated>2013-03-31T21:40:56.000Z</ns0:updated><ns0:published>2013-03-31T21:40:56.000Z</ns0:published><ns1:comments><ns1:feedLink countHint="0" href="https://gdata.youtube.com/feeds/api/videos/REOL1AV_PCg/comments?client=NextDayVideo" rel="http://gdata.youtube.com/schemas/2007#comments" /></ns1:comments><ns2:group><ns2:keywords>psf, pycon2013, talk, BruceEckel</ns2:keywords><ns2:description type="plain">Bruce Eckel C++ brought exceptions to mainstream programming; Java goes further with checked exceptions. But are exceptions the one way to report all errors? Scala and Go suggest there is more than one kind of error, so there should be more than one</ns2:description><ns2:title type="plain">Rethinking Errors: Learning from Scala and Go</ns2:title><ns3:duration seconds="0" /><ns2:content duration="0" expression="full" isDefault="true" medium="video" type="application/x-shockwave-flash" url="https://www.youtube.com/v/REOL1AV_PCg?version=3&f=user_uploads&c=NextDayVideo&d=Aarb2r5skm2_yNTuKEinXdAO88HsQjpE1a8d1GxQnGDm&app=youtube_gdata" ns3:format="5" /><ns2:thumbnail height="360" time="00:00:00" url="http://i.ytimg.com/vi/REOL1AV_PCg/0.jpg" width="480" /><ns2:thumbnail height="90" time="00:00:00" url="http://i.ytimg.com/vi/REOL1AV_PCg/1.jpg" width="120" /><ns2:thumbnail height="90" time="00:00:00" url="http://i.ytimg.com/vi/REOL1AV_PCg/2.jpg" width="120" /><ns2:thumbnail height="90" time="00:00:00" url="http://i.ytimg.com/vi/REOL1AV_PCg/3.jpg" width="120" /><ns2:category label="Education" scheme="http://gdata.youtube.com/schemas/2007/categories.cat">Education</ns2:category><ns2:category scheme="http://gdata.youtube.com/schemas/2007/developertags.cat">psf</ns2:category><ns2:category scheme="http://gdata.youtube.com/schemas/2007/developertags.cat">pycon2013</ns2:category><ns2:category scheme="http://gdata.youtube.com/schemas/2007/developertags.cat">talk</ns2:category><ns2:category scheme="http://gdata.youtube.com/schemas/2007/developertags.cat">BruceEckel</ns2:category><ns2:player url="https://www.youtube.com/watch?v=REOL1AV_PCg&feature=youtube_gdata_player" /></ns2:group><ns0:title type="text">Rethinking Errors: Learning from Scala and Go</ns0:title><ns4:control><ns4:draft>yes</ns4:draft><ns3:state name="processing" /></ns4:control><ns0:link href="https://www.youtube.com/watch?v=REOL1AV_PCg&feature=youtube_gdata" rel="alternate" type="text/html" /><ns0:link href="https://gdata.youtube.com/feeds/api/videos/REOL1AV_PCg/responses?client=NextDayVideo" rel="http://gdata.youtube.com/schemas/2007#video.responses" type="application/atom+xml" /><ns0:link href="https://gdata.youtube.com/feeds/api/videos/REOL1AV_PCg/ratings?client=NextDayVideo" rel="http://gdata.youtube.com/schemas/2007#video.ratings" type="application/atom+xml" /><ns0:link href="https://gdata.youtube.com/feeds/api/videos/REOL1AV_PCg/complaints?client=NextDayVideo" rel="http://gdata.youtube.com/schemas/2007#video.complaints" type="application/atom+xml" /><ns0:link href="https://gdata.youtube.com/feeds/api/videos/REOL1AV_PCg/related?client=NextDayVideo" rel="http://gdata.youtube.com/schemas/2007#video.related" type="application/atom+xml" /><ns0:link href="https://gdata.youtube.com/feeds/api/users/nextdayvideo/uploads/REOL1AV_PCg?client=NextDayVideo" rel="self" type="application/atom+xml" /><ns0:link href="https://gdata.youtube.com/feeds/api/users/nextdayvideo/uploads/REOL1AV_PCg?client=NextDayVideo" rel="edit" type="application/atom+xml" /></ns0:entry>
2013-03-15/11:25:33.dv
Apply:
11:25:33 - 11:30:16 ( 00:04:43 )
S:
11:25:33 -
E:
11:30:16
D:
00:04:43
show more...
vlc ~/Videos/veyepar/psf/pycon2013/dv/GrandBallroomGH/2013-03-15/11:25:33.dv :start-time=00.0 --audio-desync=0
Raw File
Cut List
11:25:33
seconds: 0.0
Wall: 11:25:33
Duration
00:04:43
11:30:16
seconds: 0.0
Wall: 11:25:33
Comments:
mp4
mp4.m3u
dv.m3u
Split:
Sequence:
:
delete
2013-03-15/11:30:16.dv
Apply:
11:30:16 - 11:30:24 ( 00:00:08 )
S:
11:30:16 -
E:
11:30:24
D:
00:00:08
show more...
vlc ~/Videos/veyepar/psf/pycon2013/dv/GrandBallroomGH/2013-03-15/11:30:16.dv :start-time=00.0 --audio-desync=0
Raw File
Cut List
11:30:16
seconds: 0.0
Wall: 11:30:16
Duration
00:00:08
11:30:24
seconds: 0.0
Wall: 11:30:16
Comments:
mp4
mp4.m3u
dv.m3u
Split:
Sequence:
:
delete
2013-03-15/11:30:25.dv
Apply:
11:31:25 - 11:50:34 ( 00:19:09 )
S:
11:30:25 -
E:
11:50:34
D:
00:20:09
(
Start:
1:00)
show more...
vlc ~/Videos/veyepar/psf/pycon2013/dv/GrandBallroomGH/2013-03-15/11:30:25.dv :start-time=060.0 --audio-desync=0
Raw File
Cut List
11:30:25
seconds: 60.0
Wall: 11:31:25
Duration
00:20:09
11:50:34
seconds: 0.0
Wall: 11:30:25
Comments:
mp4
mp4.m3u
dv.m3u
Split:
Sequence:
:
delete
2013-03-15/11:30:25.dv
Apply:
11:30:25 - 11:30:36 ( 00:00:11 )
S:
11:30:25 -
E:
11:50:34
D:
00:20:09
(
End:
11)
show more...
vlc ~/Videos/veyepar/psf/pycon2013/dv/GrandBallroomGH/2013-03-15/11:30:25.dv :start-time=00.0 --audio-desync=0
Raw File
Cut List
11:30:25
seconds: 0.0
Wall: 11:30:25
Duration
00:20:09
11:50:34
seconds: 11.0
Wall: 11:30:36
Comments:
mp4
mp4.m3u
dv.m3u
Split:
Sequence:
:
delete
2013-03-15/11:50:34.dv
Apply:
11:50:34 - 11:59:54 ( 00:09:20 )
S:
11:50:34 -
E:
11:59:54
D:
00:09:20
show more...
vlc ~/Videos/veyepar/psf/pycon2013/dv/GrandBallroomGH/2013-03-15/11:50:34.dv :start-time=00.0 --audio-desync=0
Raw File
Cut List
11:50:34
seconds: 0.0
Wall: 11:50:34
Duration
00:09:20
11:59:54
seconds: 0.0
Wall: 11:50:34
Comments:
mp4
mp4.m3u
dv.m3u
Split:
Sequence:
:
delete
2013-03-15/11:59:55.dv
Apply:
11:59:55 - 12:11:23 ( 00:11:28 )
S:
11:59:55 -
E:
12:11:23
D:
00:11:28
show more...
vlc ~/Videos/veyepar/psf/pycon2013/dv/GrandBallroomGH/2013-03-15/11:59:55.dv :start-time=00.0 --audio-desync=0
Raw File
Cut List
11:59:55
seconds: 0.0
Wall: 11:59:55
Duration
00:11:28
12:11:23
seconds: 0.0
Wall: 11:59:55
Comments:
mp4
mp4.m3u
dv.m3u
Split:
Sequence:
:
delete
2013-03-15/12:11:23.dv
Apply:
12:11:23 - 12:51:00 ( 00:39:37 )
S:
12:11:23 -
E:
12:51:00
D:
00:39:37
show more...
vlc ~/Videos/veyepar/psf/pycon2013/dv/GrandBallroomGH/2013-03-15/12:11:23.dv :start-time=00.0 --audio-desync=0
Raw File
Cut List
12:11:23
seconds: 0.0
Wall: 12:11:23
Duration
00:39:37
12:51:00
seconds: 0.0
Wall: 12:11:23
Comments:
mp4
mp4.m3u
dv.m3u
Split:
Sequence:
:
delete
Rf filename:
root is .../show/dv/location/, example: 2013-03-13/13:13:30.dv
Sequence:
get this:
check and save to add this
2013-03-15/11:25:33.dv
2013-03-15/11:30:16.dv
2013-03-15/11:30:25.dv
2013-03-15/11:50:34.dv
2013-03-15/11:59:55.dv
2013-03-15/12:11:23.dv
Veyepar
Video Eyeball Processor and Review