Profile

Cover photo
Corey Thomasson
Lives in Chesapeake, VA
83 followers|12,624 views
AboutPostsPhotosYouTube

Stream

Corey Thomasson

Shared publicly  - 
 
Finally using acme for a serious project (read: work project) and so far its been wonderful. Except (on plan9port at least) the End key takes me to the end of the document; in every other editor I use it's the end of the line. 
1
Aram Hăvărneanu's profile photo
 
Use ^a and ^e, they are faster to type and work virtually anywhere, acme, Unix shell, emacs etc.
Add a comment...

Corey Thomasson

Shared publicly  - 
 
To all the sites that insist I sign up to see any meaningful content:

No.

You don't need my email/Facebook/Google/SSN for me to read a post. Enjoy one less pageview.
3
Add a comment...

Corey Thomasson

Shared publicly  - 
1
Dean Thomasson's profile photo
 
So you think...I create more jobs everyday
Add a comment...

Corey Thomasson

Shared publicly  - 
 
Just got my activation email from Verizon. Internet is now 75/35. Woo!
1
Add a comment...

Corey Thomasson

Shared publicly  - 
 
qemu-system-x86_64 -hda /dev/sda -cdrom installer.iso

Im pretty sure ive been told not to do this
1
Add a comment...

Corey Thomasson

Shared publicly  - 
 
I really wish I could disable these "hot on Google plus" posts on my phone. Most of them are annoyingly idiotic, and the ones that arent quickly become so in the comments. 
1
Jan Mercl's profile photoJason Couture's profile photoCorey Thomasson's profile photoMaht Lawless's profile photo
6 comments
 
put everyone in a "NOT HOT" circle and then use that as a filter
Add a comment...
In their circles
73 people
Have them in circles
83 people
Joshua Cuff's profile photo
Mike Rosset (Michael)'s profile photo
Fabio Roig's profile photo
Sergey Zhilkin's profile photo
Jens Staal's profile photo
Manuel Trujillo's profile photo
刘涛's profile photo
Jamie Hogan's profile photo
Earlene Coyner's profile photo

Corey Thomasson

Shared publicly  - 
 
I've always loved how the "Unix Philosophy" can mean such radically different things to different people.
1
Add a comment...

Corey Thomasson

Shared publicly  - 
 
http://jmoiron.net/blog/whats-going-on/

An interesting post, and something I've had trouble putting into words when talking about Go. You can write fast Python, and you can write slow Go. The difference is that slow Go is typically unidiomatic and fast Python involves using parts written in C or writing obtuse code.
A few weeks ago, Alex Gaynor gave a talk at waza entitled "Why Python, Ruby, and Javascript are slow". A video if his talk is unfortunately not available at the time of writing, but his slides are tho...
1
Add a comment...

Corey Thomasson

Shared publicly  - 
 
ilGen.Emit(OpCodes.Ldc_R8, 1)

Oops
1
Add a comment...

Corey Thomasson

Shared publicly  - 
 
I need to get around to publishing the gob library for c# I wrote. 
2
Add a comment...

Corey Thomasson

Shared publicly  - 
 
 
I bought a digital video download today that required a video player from Leaping Brain. As usual, the proprietary player wasn't great and to transfer it to my iPhone I'd need another proprietary player. Ugh. But I browsed around and found that the video had been downloaded into a hidden directory as a bunch of .mov files. Great, except none of the files would play.

It turned out the actual player, launched from their compiled app, was a Python wrapper around some VLC libraries. Nothing funny going on, as far as I could tell, but when I tried to launch the player directly, nothing happened. The compiled app was modifying the .mov files right before they were loaded into the player, and then reverting the file on disk. According to http://leapingbrain.com/mod-machine/faq/:

 "We apply our BrainTrust™ proprietary video encryption to your movies before we upload them to our servers. If someone ever was able to gain access to your content, the files would be useless and unplayable, because they are stored in a scrambled, encrypted format. Once downloaded to the user’s hard drive, the files are still encrypted and only readable via the MOD Machine Player by a legitimate owner. We are not aware of a better DRM scheme than ours. Where Windows Media DRM is easily crackable, and doesn’t run on Macs, BrainTrust™ works great on Windows 8, Vista, Windows XP and Mac, and is virtually uncrackable."

Virtually uncrackable? Well, since they load the file from a Python script, it's easy to make a copy of the "decrypted" file before it's reverted. Having done so, I was curious to see the encryption scheme. By comparing the binary files, I discovered the "proprietary video encryption" algorithm: for the first 15kB, each 1kB block has its initial bytes xor'd with the string "RANDOM_STRING". That's the "scrambled, encrypted format" that leaves these files "useless and unplayable".
1
Add a comment...

Corey Thomasson

Shared publicly  - 
 
 
Love it... Rob Pike's response to a question on the go-nuts board about what programming language to learn prior to Go.

https://groups.google.com/d/msg/golang-nuts/EJJVEQedKJg/J1qZSmtcKRwJ

Several methods. 

A: Bottom up 

1. Learn quantum mechanics. 
2. Learn statistical mechanics. 
3. Learn solid-state physics. 
4. Learn semiconductor device physics. 
5. Learn quantum electronics. 
6. Learn electrical engineering. 
7. Learn switching theory. 
8. Learn computing architecture. 
9. Learn machine language. 
10. Learn assembly language. 
11. Learn a systems language. 

Now you know how a computer works and how to program it. 

B: Top down 

1. Learn geometry (Euclid; basics of theorem proving). 
2. Learn arithmetic. 
3. Learn number theory. 
4. Learn logic. 
5. Learn Boolean algebra. 
6. Learn complexity theory. 
7. Learn type theory. 
8. Learn Lisp. 
9. Learn a systems language. 

Now you know how a computer can be applied to solve problems safely 
and correctly. 

C: Unified 

Do A and B both. 

I suggest option C. 

-rob 

---------------

Love it, no way I would have responded like that.

But, now that I see this, I personally would have put Lisp at the center, and not a systems language... My list B would have been quite a bit longer, and I'd keep the Systems Language isolated to the Bottom-Up list.

Mathematics (most of Rob's list B)
Calculus
Physics
Chemistry
Cell Biology
Biology
Neuroscience
AI / Machine Learning
Lisp

I think Alan Kay would have an answer with some of those things in it - particularly something about Biology.  Many of his thoughts and inventions regarding message passing, objects, and concurrency emerged from his background in biology... but arguably, most of what's on my list is not necessary for programming.

Personally, my simple answer would have been that Go is actually an excellent first programming language for those just starting out today.  It's not large, nor complex, it's easy to read and easy to write, and exposes you early to concurrency ideas which are crucial in today's world.  It also has practical application and a modern standard library.

For those who really want to learn programming, you just can't go wrong with http://mitpress.mit.edu/sicp/  ... start with Racket and move to Clojure.  The former has an excellent learning development environment, the latter just kicks ass. 

http://racket-lang.org/
http://clojure.org/
2
1
Chad Clark's profile photo
Add a comment...
People
In their circles
73 people
Have them in circles
83 people
Joshua Cuff's profile photo
Mike Rosset (Michael)'s profile photo
Fabio Roig's profile photo
Sergey Zhilkin's profile photo
Jens Staal's profile photo
Manuel Trujillo's profile photo
刘涛's profile photo
Jamie Hogan's profile photo
Earlene Coyner's profile photo
Work
Occupation
IT/Programmer, Computer Science Student
Links
Story
Introduction
I am a geek, and I love programming.
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
Chesapeake, VA
Previously
Suffolk, VA - Portsmouth, VA - Blacksburg, VA