Hacker News new | past | comments | ask | show | jobs | submit | pathdependent's comments login

Shameless plug:

This (very) thin wrapper lets you write your PlantUML code in Jupyter cells.

https://github.com/jbn/IPlantUML


This is my field, too. I am a Ph.D. candidate in computational social science, working on a computational model of social belief systems.

I'm quite happy to see this on HN. Like many other disciplines, our field is blossoming with the rise of cheap, high performance computing!

If your involved in this field and on HN, please reach out to me at @generativist on twitter. I'm in the process of setting up a community for CSS work, and will be soliciting feedback soon!


>a computational model of social belief systems.

Can you give more details (accessible to programmers rather than social scientists) how that'd work, what do you actually model and aim to find out? Sounds pretty interesting.


I'll be posting some things to HN soon. My writing style is very accessible, to anyone. I always shoot for an "explain it to your grandmother"-level of writing.

Also, my entire dissertation is Python/Cython/Jupyter with a prebuilt docker container, so, it's also low-friction to play with. But, complicated by dissertation rules for sharing pre-publication (i.e. "is this definitely your work, because it's on github and you accepted PRs?").


Can you talk about what software packages, perhaps data structures and algorithms you use? Any shortcomings / low hanging fruit? I see the domain as an invaluable tool for a few applications... any particularly strong ones you can see?


The important thing here is the objective : there are different methods and tools to reach that objective.

Primarily, the objective of Computational Social Science is to understand human behavior but with computational methods. Traditionally, social science was done offline with surveys. But, with the increase in social information on the Internet could we use that data to know more about humans?

How? There are various methods on how one could do so - network theory, statistics, text mining etc. are some tools that are useful to achieve the objective.


Wrt to algorithms / techniques used, you might want to check out this textbook by some of the Cornell folks:

http://www.cs.cornell.edu/home/kleinber/networks-book/

They also made an EdX course for it:

https://www.edx.org/course/networks-crowds-markets-cornellx-...


Coursera offers about a half dozen courses in subjects seemingly related to CompSoc:

Social and Economic Networks: Models and Analysis, Stanford

Networks: Friends, Money, and Bytes, Princeton

Sampling People, Networks and Records, Michigan

Applied Social Network Analysis in Python, Michigan

Capstone: Analyzing (Social) Network Data, UCSD

Social Computing, UCSD

Measuring Causal Effect in the Social Sciences, U Copenhagen

Smart Cities, EPFL

Organizational Analysis, Stanford


To play with some ideas, nothing is more accessible than NetLogo: https://ccl.northwestern.edu/netlogo/


This is a great point that I wish I wrote about.

I think this is actually the source of the "steep learning curve" problem. Once you've used it enough, it is an almost orthogonal part of your brain that does thats the VIM command-ing. It becomes more like, "to walk, put one foot in front of the other." You don't actually process that thought when walking.

But, until that point, it absolutely IS the same part of your brain. Until that point, there IS a PAINFUL contention between work brain and editor brain.


Buried in my footnote is the real gist is: learn your editor, deeply.

IntelliJ is a great tool, too.


VIM'er here. I use IntelliJ-Pycharm when i'm really strappin in for a good DEV session. Plus you get the ideaVim plugin and i've got the same VIM magic I know and love. Plus all the fancy IDE stuff. Some will say you can upgrade VIM to IDE level (project tree, auto complete, other fancies) which is totally true. I dont got time for dat.

Other bonus for vi is that you are now capable of editing files on any unix server in the world.


spacemacs is a pretty well integrated, community sourced configuration of emacs that has a lot of sane defaults out of the box. add a few layers for your favorite languages and you are off and running. magit and org mode are both excellent reasons to use emacs. the vim bindings are some of the best i have seen in an emulator as well.


Full quote, for context:

   Being conservative, let’s say it makes you 5% more productive.
It's subjective. I'd like to see a before and after study, but empirically measuring code productivity is -- a hard problem.


It might no be too hard in this case, since you're really testing editing speed not code productivity. You could take a random selection of (small) git commits and time how long it takes people to recreate them. That maybe gives Vim an unfair advantage actually since the IDE features help more while actually composing code, rather than just editing text.

Still I think it could be measured.


I think the focus on speed is counterproductive. Increased productivity isn't the only — or even the most important — measure of value.

I enjoy using Vim (Emacs Evil mode these days) because I can edit more fluidly without having to shift focus and context switch. My hands stay on the keyboard, my eyes stay on the screen, and I don't have to think about "how" to achieve my goals — I just think about what I want to achieve and muscle memory takes care of the rest.

I might edit more quickly, but that's a side effect of using a tool that allows me to focus deeply and maintain that focus for longer: both of which are vital to flow and satisfaction with my work.


I admit, 5% is a subjective prior / fudge-factor. But, statistical white-lies communicate a promise which extends the invitation: try it, see if you're more productive.

I'd love to see some objective stats though!


Thanks!

I put VIM in the title because 1) it's got a recognizable identity to pull in readers and, 2) I use VIM. But, in a weird and almost recursive way, editor wars are kinda like language wars. If it gets you that 5% (or more) boost, great! But, the differences between them often washes out.


Yeah, the most important thing is to know your tools of choice really, really well. vim never made me more productive—being able to do what I needed to in it quickly did. I could just as easily have used emacs (had I learned that first), or atom (had that been around back then) or <insert favorite editor/ide here>.


Yes.

The had-I-learned-it-first concept is something I didn't mention, but do think is important. And, often it works in an inhibiting way. With an IDEA-like rich IDEs -- which I think is a great tool, esp with VIM bindings! -- you get such a boost from things like good contextual auto-complete, that you never feel the need to learn it more deeply.


This way you can also attract furious members from the church of emacs ;)

But learning Vi is extremely useful, because many editors/IDEs feature a Vi Plugin:

Visual Studio, Qt, Eclipse, Xcode, Atom, IntelliJ and of course Emacs. Learning the basic Emacs shortcuts is likewise useful for terminal (though some shells also have a Vi mode!)


I posted this once regarding a related incident, but it's appropriate here too.

One day in college, a friend and I decided to pack a plastic bottle with dry ice and hot water. In our hung over state, we thought this would be fun to watch. I was in my apartment. It took all of five seconds to realize that I couldn't rip apart the bottle. So, if the force of this explosion was sufficient to do so, it was probably really fucking dangerous. I figured it was too late to take the cap off -- the bottle was already making weird sounds. So, I threw it in the bathroom tub, and shut the door. Two minutes went by, and I felt momentarily foolish. Almost as I thought "nothing is going to happen," it exploded. The force knocked my friend to the ground. Granted she was tiny, and it was partly from fear, but I felt the shock wave rattle my bones.

I lived in the more expensive apartment building on campus. No one even came to say, "what's going on." If they did, they would have seen the bent metal of the tub's faucet.

And, that was accidentally but very literally a bomb.


Ignoring the (fantastic) content, I think this is how Julia slowly wins users. I keep find myself doing parallel implementations like this.


Agreed, amazing content but also a great tutorial for Julia. This is my first stab at it and it's great (as a daily R user).


Also, consider reading The Sciences of The Artificial. This is in it, with so much more.


Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: