recentpopularlog in

kme : cs   252

« earlier  
Quick: An Introduction to Racket with Pictures
This tutorial provides a brief introduction to the Racket programming language by using one of its picture-drawing libraries. Even if you don’t intend to use Racket for your artistic endeavours, the picture library supports interesting and enlightening examples. After all, a picture is worth five hundred “hello world”s.
racket  scheme  intro  tutorial  cs  programming 
11 days ago by kme
The Gender Gap in Computer Science Research Won’t Close for 100 Years - The New York Times
The increasing reliance on computer algorithms in areas as varied as hiring and artificial intelligence has also led to concerns that the tech industry’s dominantly white and male work forces are building biases into the technology underlying those systems.

The study also indicated that men are growing less likely to collaborate with female researchers — a particularly worrying trend in a field where women have long felt unwelcome and because studies have shown that diverse teams can produce better research.


Without mentioning the growing fear of accusations of harassment, which surely accounts some of that reluctance?
cs  science  research  gendergap  womeinintech 
june 2019 by kme
BubbleSort Zines
Zines about computer science! Each zine focuses on one concept & is filled with comics, diagrams, stories, examples, and exercises.
cs  code  art  devel  programming  reference  newbie  zine 
june 2019 by kme
To Pair or Not to Pair: Pair Programming - YouTube | https://www.youtube.com/
Lady's from ThoughtWorks (https://www.thoughtworks.com/), and if that's sounds familiar, that's because they're the Selenium and GoCD people.

Benefits mentioned in the video:
1. knowledge sharing (1 + 1 > 2)
2. combines two modes of thinking: tactical (driver: local optimization), strategic (navigator: big picture)
3. reflection (on the story, value-added, effectiveness vs. # of LOC)
4. helps coder / team focus; discipline around structure of code, strategy, explain and justify choices, avoid rabbit holes
5. "I get more programming productivity" out of reducing time that I'm stuck than from increasing my speed when I'm not stuck."
6. helps practice "true" CI--code review on-the-go; more collective code ownership; >> trunk-based development

Tips:
1. don't do it for 8 hours a day
2. take breaks; it's exhausting
3. even skill levels
4. share feedback (I don't like it when ...), exchange READMEs
5. "the shame of pair programming"; requires vulnerability

Homogeneous teams feel easier, but easy is bad for performance. (ref: https://hbr.org/2016/09/diverse-teams-feel-less-comfortable-and-thats-why-they-perform-better)

The authors are saying that this idea goes against many people's intuition, and often if there's something counter-intuitive, there's a cognitive bias hidden away somewhere, right?

And the one that they're mentioning here is the "fluency heuristic," which says that we prefer information that is more easily processed, and if it's easily-processed, we think that it's more true, more right, more beautiful, and that serves us very well in a lot of situations in software development. We want readable code, easily-processable things. But I don't think that it serves us well if we think that's why we're not doing pair programming.

So, pairing feels hard, but that doesn't mean that it's not good for performance, and also it doesn't have to stay hard.

Ways to make it easier (reduce friction, conflict, anxiety):
1. get the talking going
2. active listening
3. friendly feedback
4. answer why

See also: https://www.youtube.com/watch?v=S92vVAEofes
agile  cs  programming  pairing  pairprogramming  teamwork  collaboration  communication  conference  talk  video 
december 2018 by kme
ssl - How to create a self-signed certificate with openssl? - Stack Overflow | https://stackoverflow.com/
You can do that in one command:
<code class="language-bash">
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365
</code>

You can also add -nodes if you don't want to protect your private key with a passphrase, otherwise it will prompt you for "at least a 4 character" password. The days parameter (365) you can replace with any number to affect expiration date. It will then prompt you for things like "Country Name" but you can just hit enter and accept defaults.

Self-signed certs are not validated with any third party unless you import them to the browsers previously. If you need more security, you should use a certificate signed by a CA.
openssl  cs  selfsignedcertificate  selfsigned  certificate  webmaster  reference 
december 2017 by kme
Julia: Viral Shah, an Indian computer scientist built a new programming language from Bengaluru — Quartz
“I think the basic point is that it’s too coursework-focused and (has) nothing in terms of reality,” he said. “While an open-source, clearly superior solution is available today for free, they are still teaching archaic, outdated, expensive tools that are controlled by a company. So, you’re teaching your students tools which they can’t afford to buy after they graduate.”
julia  computing  cs  india  opensource 
april 2017 by kme
Shitloads and zingers: on the perils of machine translation | Aeon Ideas
The problem, as with all previous attempts to create artificial intelligence (AI) going back to my student days at MIT, is that intelligence is incredibly complex. To be intelligent is not merely to be capable of inferring logically from rules or statistically from regularities. Before that, one has to know which rules are applicable, an art requiring awareness of sensitivity to situation. Programmers are very clever, but they are not yet clever enough to anticipate the vast variety of contexts from which meaning emerges. Hence even the best algorithms will miss things – and as Henry James put it, the ideal translator must be a person ‘on whom nothing is lost’.
ai  translation  cfg  cs  algorithms  algorithmiccuration  news 
november 2016 by kme
Plagiarism Detection
Moss (for a Measure Of Software Similarity) is an automatic system for determining the similarity of programs. To date, the main application of Moss has been in detecting plagiarism in programming classes. Since its development in 1994, Moss has been very effective in this role. The algorithm behind moss is a significant improvement over other cheating detection algorithms (at least, over those known to us).
plagiarism  cs  research  code  clustering 
november 2016 by kme
git - SSL certificate rejected trying to access GitHub over HTTPS behind firewall - Stack Overflow
See below for 'configure' flags that were necessary to get 'curl' to look in the right place for the PEM certficate bundle.
Actually install root certificates. Curl guys extracted for you certificates from Mozilla.

cacert.pem file is what you are looking for. This file contains > 250 CA certs (don't know how to trust this number of ppl). You need to download this file, split it to individual certificates put them to /usr/ssl/certs (your CApath) and index them.

Here is how to do it. With cygwin setup.exe install curl and openssl packages execute:

$ cd /usr/ssl/certs
$ curl https://curl.haxx.se/ca/cacert.pem |
awk '{print > "cert" (1+n) ".pem"} /-----END CERTIFICATE-----/ {n++}'
$ c_rehash


I actually used this script:
wget -O - http://curl.haxx.se/ca/cacert.pem | awk 'split_after==1{n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1} {print > "cert" n ".pem"}'


Then I cheated off of the MacPorts Portfile for 'curl' (source: https://trac.macports.org/browser/trunk/dports/net/curl/Portfile) to discover the "--with-ca-bundle=/path/to/curl-ca-bundle.crt" 'configure' flag which seems to have done the trick.

Also useful, in extreme circumstances, how to get Git to ignore SSL certs altogether:
$ env GIT_SSL_NO_VERIFY=true git clone https://github...
git  github  curl  ssl  cacert  castore  certificates  cs  openssl  solution  fuckina 
march 2016 by kme
Is it possible for mediocre programmers to succeed in Silicon Valley companies? - Quora
You could also work on ancillary skills that actually get rewarded pretty well, because they're rare -- ability to work in a team, meet deadlines, communicate well, manage a budget, empathize with users, etc...

Or, like many other people here have suggested: keep working on your stuff. The true mediocre programmer is the one who stops learning.
employment  cs  coding 
september 2015 by kme
« earlier      
per page:    204080120160

Copy this bookmark:





to read