197 karma · joined June 29, 2011
What is the command you're running that gives you the error "quil.Applet cannot be cast to clojure.lang.IFn" ?
1. Yoko's talk at the recent Clojure/West about ClojureBridge curriculum (https://www.youtube.com/watch?v=fiIJuthOhnk) shows that the inflection point for difficulty for students happens around functions, especially higher-order-functions. That's exactly what REPEAT is in Logo, and kids handle that just fine. So maybe clojure-turtle can be used to smooth out the learning curve in Clojure curricula?
2. My talk at Clojure/West was about programming in Clojure in other languages, which could open up accessibility to programming to non-English speakers (https://www.youtube.com/watch?v=MqjMZNwnYCY). I think translating clojure-turtle shortens the first step to reaching a new human language -- the set of constructs you need to translate is much smaller and more tangible. If Logo works for kids, it should work for anyone. For those who have seen my talk, clojure-turtle is sort of my successor to clj-thamil (programming in other languages) in the sense that they can make programming and/or Clojure more accessible to much wider audiences.
3. Logo is used to teach kids programming, and it's fun! MIT's Scratch is based on Logo -- it's a visual version of it. UC-Berkeley uses a modified version of it for its intro CS 10 class, and code.org uses a version of it in its projects to teach kids programming. So we're teaching Lisp (Logo) to beginners because it's simple (and easy), but why is it that when they get older, Lisp/Clojure is all of a sudden hard and "weird"-looking? That ought to be a short gap to bridge, right?
4. clojure-turtle uses Quil because the ClojureBridge curriculum uses it for capstone / advanced concept material. But Quil is a great choice on its own merit. Since Quil shares a codebase between Clojure & ClojureScript code, it easily compiles to Java and JS, meaning we ought to be able to make a try-X.com website out of this, too.
Let me know if you have any other feedback, thoughts, etc. about the code or anything else.
The target audience is people with prior programming experience. It's important to know the target audience, either as a writer or reviewer.
The tutorial webpage is simple and effective with a gradual progression in concept difficulty.
I hope we have more things like this! Thanks!
Even though, I haven't been involved in the contributing process for Clojure, but I thought it was interesting that Brian Goetz's keynote at the Conj 6 months ago was about stewardship, in particular, stewardship of the Java language:
https://www.youtube.com/watch?v=2y5Pv4yN0b0
It gave me a better appreciation for the differing concerns of someone using a language or contributing a patch vs. someone designing & maintaining a language.
In my day-to-day, I use languages other than Clojure, and I sorely miss the cohesive and good design. Brian Goetz's talk nails it on the head why the languages in my day-to-day are sub-optimal, even if they're currently the "new hotness"... at least for now...
'Hacker' is different because it's a term that originated with a somewhat positive connotation within and by a community, and got misinterpreted negatively later by the outside.
Yes, the duality in assigning meaning to 'hacker' internally/externally does share some similarity with a group/race-based slur that has been 're-claimed', but obviously not entirely. The n-word seems like a particularly bad choice of example, though.
I think there's going to be some efforts in the near future in the Clojure community to tackle the low-hanging fruit of improving beginners' path to mastery.
If you come from OOP school of programming and the Algol/C++/Java style of syntax (true of many popular languages these days), then Clojure does require a re-think of the programming paradigm. But it truly is worth it -- it will make you a better programmer -- and the community is friendly, smart, and always learning and improving. It's certainly a language that I think that I will grow as a programmer by being with.
http://www.theatlanticcities.com/housing/2013/10/san-francis...
The debate about whether ___Group X/Y/Z____ needs to flee is a false one -- just build more housing that will accommodate all types of people who want to stay.
To do that, the NIMBY laws and once-romanticized ideal in SF that prevent building up need to change.
Also see a previous HN post about a PNAS publication that talks about the people from current-day South India 4000 years ago (while South Indians' language is not based on Sanskrit, and 4000 years ago far predates the time period mentioned in the original post): https://news.ycombinator.com/item?id=5078076
and a workshop that I did: https://github.com/echeran/intro-clj-pres
Whether the Caltrain schedule matches the highway 17 bus's schedule is not solely the fault of Caltrain -- it's either a 2 way street, or else they're both neglecting it, unless you have proof otherwise.
I have ridden MTA (NYC) and BART when they have stopped the trains in unpredictable locations for various reasons. For short stoppages, they don't say anything, but for stoppages more than 30 secs, they typically say something.
Even if it were possible to do so in Clojure, you probably wouldn't want to. There are usually ways to do the same things in Clojure that makes your code simpler, and as a result, in much less code.
Part of the Clojure philosophy is to make things simpler, even if it isn't always 'easy' at first relative to the individual talking. Even though using a code translation tool is easy, figuring out how to use functions and macros to abstract away repetitious code blocks and patterns from your code is well worth it in the medium- and long-term.
The oceans are being acidified by absorbing CO2, which dissolves into the water. Does desalinating water solve that problem? Better yet, does it scale?? The amt of water humans need for drinking is nothing compared to the size of the ocean.
Nuclear fission is not a clean energy solution -- the waste lives on forever. Fusion is not an option at the moment, and we need to start on solutions now until/unless fusion energy happens.
The gist is that 20-something year olds come to the Bay area (or wherever else), go from graduating college to suddenly having high-paying jobs, and then they blow their money on short-term edification without thinking long-term. And so I think this type of personal planning for a future is important, too. Maybe down the road, we've accumulated a nest egg, or have enough money in the bank to bootstrap!
(Does the EBX article generalize? Yes, very much so, but my hunch is that the article raises insightful points that are definitely worth more than the generalizing or ranting that detractors might point out, for the record.)
I don't know why that obvious contradiction was never tackled. I would like to think it's because the Hollywood execs of SoCal and the ex-hippie/Silicon Valley combo of NorCal are so geographically far apart that they don't talk, but that's too simplistic, I'm sure.
What I expected to hear, but didn't in so many words:
The trend of people migrating to higher-level languages will continue. Of course, if performance is important, you'll move to C or C++ at the other pole. Read PG's "Beating the Averages".
Considering the growth of multi-core programming, there will be movement towards the high-level end of the spectrum (Lisp). The languages people will eventually end up at will be something JVM-based (so Clojure, or at least Scala), if Twitter's move from Ruby to JRuby to Scala is any indication of the failings of Python/Ruby to handle multi-threading.
Frameworks like Hadoop, and lightweight servers like Jetty, allow people to program for HPC and web servers in JVM-land while being OS-agnostic. Once the migration to high-level JVM languages takes shape, Java will be the new C -- a "high-level assembly" language.
The query that suxnoll responded to supposed that you have 400 GB of data with small deltas. But that's only possible if you're filling your harddrive with files created from random noise from /dev/random and updating all your files monthly by more random noise.
That's basically what keywords do -- they are human-readable and compile down (prob. using some hash) into some integer, and the integer is stored globally only once. The biggest savings in memory comes when using maps, and that's how & why keywords get their name.
> Which means nothing to the people who don't have it
So in the case of lactose intolerance, what's interesting, in fact, is the environmental impact of the fact that the people in the Western world are largely fine with lactose. As the PBS NewsHour story about the causes and effects of China's meat consumption habits shows, Western habits are having a significant influence in the diets of the younger generation in developing countries. The effects of large-scale pollution of water resources is horrific, and competition for water resources is, after oil, the next source of conflict in the world. So yes, it will affect everyone.
> Everyone knows this. That doesn't mean most First World people need supplements, because they don't.
Sure, First World people don't need supplements, if they have a varied diet. In North America, that's a big if. There are cultural impediments to that varied diet, even for those with the means to afford it. But for many lower-income families, and especially those living in low-income neighborhoods, they experience the "food desert" problem. And they lack the same access to quality foods as more affluent people. That is a systemic issue related to how society (via government) deals with the problem. And the economics of the prices of foods is, in some part, related to the energy requirements which is related to the 90% energy loss up each level of the food chain. There is an environmental impact there.
btw: I just threw in the names of Bittman and Pollan as representatives of the ideas of plant-based and natural diets. It's not like they invented the ideas; they're just the most recognizable cheerleaders for them at the moment.
1) eating a plant-based diet is healthier (Mark Bittman), or at the very least, eating natural things (Michael Pollan) 2) eating meat costs more, and it threatens the environment (http://www.marketplace.org/topics/sustainability/commentary/...), including in China (http://www.pbs.org/newshour/rundown/2012/11/china-meat.html) 3) for that matter, others foods besides meat that come from animals (ex: dairy) have the same effect. Roughly 75% of the world has some degree of lactose intolerance (http://en.wikipedia.org/wiki/Lactose_intolerance) 4) nutrition is more than calorie counting -- it is about getting nutrients in the diet (http://supplementsos.com/blog/how-to-actually-eat-healthily-...) Lentils play an important part as a quality, cheap source of protein. 5) there are ways to make good food affordable to the people who can least afford it (http://www.kpbs.org/news/2012/jul/28/new-mobile-food-truck-s...) In fact, the idea (or 'business model') of making necessary things affordable to the people who can least afford it as been around for 50 years (http://infinitevisionaries.com/) 6) a very important factor to incentivize people to switch diets is knowing that the food will taste good. While it might involve a slight change in cultural diet, this is absolutely possible (http://www.openthemagazine.com/article/international/the-dos...) 7) the vegetarian diet of Tamils in Tamil Nadu (India) and Tamil Eelam (Ceylon) is wide & varied, largely dairy-free, and mostly gluten free. This largely applies for the other South India states, too. The diet consists in large parts of lentils, leafy greens, vegetables, and spices. 8) in particular, the diet in Tamil Nadu/Tamil Eelam of 50 years ago should be examined, which is before the Green Revolution occurred in India. Back then, many of the healthier grains eaten in large quantities by a large swathe of people (millet, sorghum, finger millet, etc.). 9) An unintended consequence of the Green Revolution in India and China in the 1950's is that, at least in India, many of the healthier grains eaten in large quantities by a large swathe of people (millet, sorghum, finger millet, etc.) were dropped in favor of the far less nutritional white rice, which was for many just a once-in-a-while treat. In North India, the favored, newly-proliferated crop of choice was wheat. (Both rice and wheat are dreadfully water-intensive.) Brown rice doesn't exist there, but in the region, only people in Kerala and Tamil Eelam eat a red rice that is similarly nutritious. Of course, this is said to be not as nutritious as things like finger millet or "thinai" (similar to quinoa). 10) People talk about the importance of vitamin B12, and that you can only get it from animal based sources. But this diet has been around for 4,500 years, people have been just fine. (http://www.slate.com/articles/life/food/2013/01/indus_civili...) I'm sure people have been vegetarian for at least 2,000 years of that, if I judge based on the Thirukkural (2,000 year old literature of virtuous maxims, of which 10 talk about not eating meat). There are athletes and body-builders in America who are vegetarian and vegan.
So I really think that a restaurant (or at the least, food truck) should pop up selling a variety of vegan Tamil food at a very low price. This would solve so many problems. I've been thinking of this for a long while now, but I would be just happy if someone 'steals' the idea and runs with it.
(note: I'm sure there are other ways to achieve low cost, high nutrition, vegan diets in varied, tasty ways, but this is part of my birth tradition. You can treat that as a disclaimer / proof of authenticity. For me, personally, I'm fairly lactose-intolerant, and I'm wondering now that I might be gluten intolerant. I've been trying to be more vegan/vegetarian for the past 5 months, and it's helped a lot in my finances. It hasn't negatively impacted exercising. I'm hoping to see more change once I start cooking!...)
All I'm saying is that humans, as social creatures, like to feel connected to people. Different people feel comfortable with different manners of connectedness. Volunteering or traveling are not the only ways of connecting to people or broadening your mind on how the human experience can be. But to me, they represent the most direct forms.
Or inversely, you know, it's not the same to be Facebook friends with someone as it is to actually regularly spend / talk with that person. It is different to experience a place by reading about it, by visiting on a tour, and by living there for 2 months. (Which is probably why I especially think about the environmental problems of food production and food packaging -- all my time spent in Tamil Nadu / S. India over the years especially heightens my awareness of the potential to solve that problem that I wouldn't experience otherwise.)
"Growing" as a person was referring to collecting more / varied experiences... you know, the whole broaden horizons & learn-new-things thing. I don't think, however, that if I say that learning and education are inherently good things, that it would somehow imply that more educated people are 'better' than less educated people. All it means is, with all things being equal, taking advantage of an opportunity to learn is good, and the more you learn, the better.