Profile

Cover photo
Dmitri Shuralyov
Attended York University
Lives in San Francisco
179 followers|53,992 views
AboutPostsPhotosYouTube+1's

Stream

 
If you want to render GFM locally using a go gettable native Go package:

http://godoc.org/github.com/shurcooL/go/github_flavored_markdown

The functionality should be equivalent to the GitHub Markdown API endpoint specified at https://developer.github.com/v3/markdown/#render-a-markdown-document-in-raw-mode, except the rendering is performed locally.

See usage example at https://github.com/shurcooL/go/blob/master/u/u1/main.go

github_flavored_markdown package builds on top of blackfriday, bluemonday, github.com/sourcegraph/syntaxhighlight so the code is very short. It currently only supports highlighting for `diff` and `Go`, but other languages can be added analogously (syntaxhighlight can be used for most as a pretty good generic highlighter). I'm still looking for a good unified interface for all the highlighters to refactor that code. Issues/PRs welcome.
19
1
Allan MacDonald's profile photoDmitri Shuralyov's profile photo
 
I've updated it to support clickable header anchor links (they appear on hover, just like normal GFM).

I've also added an example of how to generate a complete HTML page, including the required CSS style sheet.
Add a comment...

Dmitri Shuralyov

Shared publicly  - 
 
Great article that goes over how Go's interfaces work under the hood.

It helps understand why x == nil is sometimes not what you may expect, and why slices of interface is not the same as a slice of concrete type that implements said interface.
Standard Interface Intro Go's interfaces are one of it's best features, but they're also one of the most confusing for newbies.  This post will try to give you the understanding you need to use Go's interfaces and not get fru...
1
Add a comment...

Dmitri Shuralyov

Shared publicly  - 
 
 
" #Love is metaphysical #gravity." -- R. Buckminster Fuller

Friends, don't give up! There is always a way up, out, over, down, under, or through. Through this week, this month, this job. Over this hurdle or fear. Down the side of a refrigerator!

#lol #funny #cat #loop #gif via Cheezburger
6
Add a comment...

Dmitri Shuralyov

Shared publicly  - 
 
The tune is so neat.
1
Add a comment...
 
 
Do you and your best friend both enjoy Golang, and feel like working on free software in a test of distributed pair programming, as a contract with the potential of full time employment?

Outstanding minds only, you know how to find me here!
1
Add a comment...

Dmitri Shuralyov

Shared publicly  - 
 
"No matter how determined you are, it's hard not to be influenced by the people around you. It's not so much that you do whatever a city expects of you, but that you get discouraged when no one around you cares about the same things you do."

I like that.

From http://paulgraham.com/cities.html
1
Add a comment...
In his circles
111 people
Have him in circles
179 people
Marcin Kwietniewski's profile photo
Matthew Henry's profile photo
Andrew Speers's profile photo
Artem Makhinko's profile photo
Nate Finch's profile photo

Dmitri Shuralyov

commented on a post on Blogger.
Shared publicly  - 
 
Thanks for an excellent article series. I'm quite familiar with the internals of go/{ast,parser,token,...} packages, as I've spent a lot of time looking at the source and playing with them. I'm very interested in being able to create Go programs that modify, create Go code via AST manipulation.

With that perspective, I'm noticing a common pattern across the go/... packages and the example in this article series (unsurprisingly, since it follows the go/... structure very closely).

The pattern is that attention is given to many important aspects, like being able to print errors with exact file name and line number, etc.

However, one aspect does not seem to be given attention: the ability to make (various degrees of) direct modifications to the AST.

It's not completely surprising, given that modifying ASTs is not their primary use. That said, I am curious what it would look like if being able to easily modify ASTs while preserving/updating line numbers and other properties that freshly parsed ASTs have was a goal.

Is it easy to add this "requirement"? What's the best way to go about it, and how negatively would it affect other design goals, etc. This is something I'm thinking about now.
Part 1: Introduction Part 2: Compilers, Transpilers and Interpreters Part 3: Overview of Compiling Part 4: Overview of Language Design Part 5: Calc 1 Language Specification In this post we can finally start to lay down some c...
1
Add a comment...

Dmitri Shuralyov

Shared publicly  - 
 
This feels like it could've been done a lot better by Apple. -.-

Making an icon that looks great on both Retina and not should be the most trivial thing to do, but it isn't...
1
Dmitri Shuralyov's profile photo
 
 
My bro got a go pro! great video mate - keep them coming :)
1
Add a comment...

Dmitri Shuralyov

Shared publicly  - 
1
Add a comment...

Dmitri Shuralyov

Shared publicly  - 
 
Nice.
2
Add a comment...
People
In his circles
111 people
Have him in circles
179 people
Marcin Kwietniewski's profile photo
Matthew Henry's profile photo
Andrew Speers's profile photo
Artem Makhinko's profile photo
Nate Finch's profile photo
Education
  • York University
    Computer Science, 2009 - 2011
Basic Information
Gender
Male
Work
Occupation
Toolmaker
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
San Francisco
Previously
Toronto
Links
Dmitri Shuralyov's +1's are the things they like, agree with, or want to recommend.
Compiler Part 10: Compiling to C
noeffclue.blogspot.com

Part 1: Introduction Part 2: Compilers, Transpilers and Interpreters Part 3: Overview of Compiling Part 4: Overview of Language Design Part

Intro++ to Go Interfaces
blog.natefinch.com

Standard Interface Intro Go's interfaces are one of it's best features, but they're also one of the most confusing for newbies. This post wi

Compiler Part 1: Introduction to Writing a Compiler in Pure Go
noeffclue.blogspot.com

Introduction I've long been interested in learning how a compiler works. Cryptic compiler messages and odd behaviours have always baffled me

End Piracy, Not Liberty – Google
www.google.com

Millions of Americans oppose SOPA and PIPA because these bills would censor the Internet and slow economic growth in the U.S.. Two bills bef

The Go Programming Language
plus.google.com

Learn to love programming again.

git - the simple guide - no deep shit!
rogerdudler.github.com

pushing changes. Your changes are now in the HEAD of your local working copy. To send those changes to your remote repository, execute git p

How to Create a Windows To Go USB Drive
tweaks.com

Windows To Go is a new feature of Windows 8 that allows enterprises to provision a full corporate environment that will boot from a USB driv

IrfanView: Replicate Crop on Multiple Images
choorucode.wordpress.com

I had a series of images and wanted to crop all of them with the same bounds. Eyeballing the original … Continue reading »

Go-spew: A Journey into Dumping Go Data Structures | Cyphertite Blog
blog.cyphertite.com

While it is clearly better to have access to a fancy debugger when debugging your applications, sometimes it just isn't practical depending

Live for Speed
www.lfs.net

Live for Speed is a serious racing simulator. No arcade modes, no steering aids - YOU have to do the driving.

OnLive CEO reveals 'entirely new approach' to wireless, credits ...
www.engadget.com

'In advance, yes -- you're right, it's impossible. But nonetheless, we have ten radios all working at the same frequency, all at

Get OS X Lion’s “natural” scrolling in Windows
andym3.wordpress.com

Long story short, download this, run it and you should be experiencing natural scrolling in its full glory. If you like it, feel free to sti

An In-Depth Video Preview of the iOS OnLive App, Moments Before my Build...
toucharcade.com

An In-Depth Video Preview of the iOS OnLive App, Moments Before my Build Expires:First announced at GDC in 2009, few people actually believe

How to Burn Your Own OS X Lion Install DVD or USB Drive
lifehacker.com

Getting Lion from the App Store is convenient, but if you want a physical copy of the installation, you can easily make your own Lion instal

You Can Bring A Goat To The Apple Store - MacRumors.com
www.macrumors.com

The Apple Store is a pretty laid back place, with friendly staff who will help you pick out a computer -- or, if you'd prefer, leave you alo

Official Google Blog: Step inside the map with Google MapsGL
googleblog.blogspot.com

Step inside the map with Google MapsGL. 10/13/2011 07:20:00 AM. You're now one step closer to experiencing and interacting with a 3D mir

HTML, URL, Decimal Encoding/Decoding
www.hashemian.com

HTML, URL, Decimal Encoding/Decoding

simplefilewatcher
code.google.com

Simple, cross platform, object-oriented, file watcher and notifier library.

Clang - C++98 and C++11 Status
clang.llvm.org

C++98 and C++11 Support in Clang. Last updated: $Date: 2012-05-22 20:38:11 -0500 (Tue, 22 May 2012) $. C++98 implementation status. Clang cu

Quick Diff Online Tool
www.quickdiff.com

An Online Tool to do a 'quick and dirty' diff of two text or code fragments. Introduction - why use an online diff? In my course as a develo