background preloader

Light Table - a new IDE concept

Light Table - a new IDE concept
You can now try Light Table out via the Light Table Playground! Light Table's kickstarter has wrapped up! Despite the dramatic shift toward simplification in software interfaces, the world of development tools continues to shrink our workspace with feature after feature in every release. Even with all of these things at our disposal, we're stuck in a world of files and forced organization - why are we still looking all over the place for the things we need when we're coding? Why is everything just static text? Bret Victor hinted at the idea that we can do much better than we are now - we can provide instant feedback, we can show you how your changes affect a system. We can do better, and to that end, let me introduce you to Light Table is based on a very simple idea: we need a real work surface to code on, not just an editor and a project explorer. Light table is based on a few guiding principles: Let's take a look at how these things manifest themselves in Light Table. Docs everywhere

Light Table's numbers 15 Apr 2012 EDIT: Light Table is now on kickstarter! EDIT: oh, and I set up a mailing list to keep informed. All I can say is "wow"! The response to Light Table has been far more positive and far greater than I could've imagined. To put it into perspective, here are some aggregated numbers at the time of this writing: There were 105,872 unique visits to the post, just shy of 200,000 pageviews and 80,000 video plays.It has been viewed in 163 countries (there are only 204 total)The post on HN stayed on the front page for more than 48 hours (It's actually still there now) and has amassed more than 1400 points. So the big question on most people's minds is "Now what?". I was surprised at the number of people who cried out for a Kickstarter for the project. What languages will it support? The first two languages it will support are Javascript and Clojure, but the application will be written in such a way that adding new languages can happen through plugins. Can I script/extend it?

Exponential smoothing Exponential smoothing is a technique that can be applied to time series data, either to produce smoothed data for presentation, or to make forecasts. The time series data themselves are a sequence of observations. The observed phenomenon may be an essentially random process, or it may be an orderly, but noisy, process. Whereas in the simple moving average the past observations are weighted equally, exponential smoothing assigns exponentially decreasing weights over time. Exponential smoothing is commonly applied to financial market and economic data, but it can be used with any discrete set of repeated measurements. The raw data sequence is often represented by {xt}, and the output of the exponential smoothing algorithm is commonly written as {st}, which may be regarded as a best estimate of what the next value of x will be. where α is the smoothing factor, and 0 < α < 1. Background[edit] The simple moving average[edit] where the choice of an integer k > 1 is arbitrary. such that where

Clojure 1.4.0, clj-time, congomongo April 15, 2012 · No Comments Clojure 1.4.0 has been released and it includes several nice enhancements and some bug fixes. Everyone will have their favorites but mine include (in no particular order): mapv and filterv (which return vectors) and reduce-kv (can treat a vector as a collection of indexed pairs)require can take :refer and a list of symbols - or :all - so you no longer need to blanket 'use' a namespace*compiler-options* so you can disable locals clearing to improve the debugging experience= on char arguments, removing the reflection warning and improving performancewrapping exceptions in RuntimeException no longer happens so you can catch the underlying exception more easilysyntactically broken tests using clojure.test/are no longer silently pass - this bit me with a patch submitted to CongoMongo! So, yes, it's a small release (I didn't mention the new reader literals - I'm not ready to use those yet but I'm sure some people will find them very useful). Tags: clojure

A set of top Computer Science blogs they are written by computer scientists and focus on computer science research;they are of consistently high quality;I regularly read them. N.B. I have deliberately excluded blogs primarily focusing on computer science education (for another time). The Endeavour by John D. Clearly this set is incomplete — please post your computer science research blog recommendations in the comments below; I’d be particularly interested in blogs covering compilers, concurrency and computer architectures. Like this: Like Loading... Clojure1.4のReader Literalsで遊んでみた Clojure 1.4が出ました! 前々から話題になっていたReader Literalsが使えるようになったので ちょっと遊んでみました。 まずは下準備† 基本はこちらに書いてある通りです。 $ lein new myreader $ cd myreader $ vi project.clj (defproject myreader "1.0.0-SNAPSHOT" :description "FIXME: write description" :dependencies [[org.clojure/clojure "1.4.0"]]) ; 1.4.0 readerの定義は src ディレクトリ直下に data_readers.clj というファイルを作り、そこに定義します。 src/data_readers.clj { upper myreader.core/upper-case } src/myreader/core.clj (ns myreader.core) (defn upper-case [s] `(.toUpperCase s)) ここまで書いたらreplで試してみましょう。 $ lein repl #upper"hello, world";=> "HELLO, WORLD" なおreaderの定義は data-readers にbindingすることでも定義できます。 (defn upper-case2 [s] `(str "_" (.toUpperCase ~s) "_"));=> #'fuga.core/upper-case2(binding [*data-readers* {'upper fuga.core/upper-case2}] (println #upper"hello") ;=> HELLO (println (eval (read-string "#upper\"hello\"")))) ;=> _HELLO_ Gaucheのデバッグプリント† 少し使えそうなものとしてGaucheのデバッグプリント? { ? (ns myreader.core) (defn debug-print [x] `(let [res# ~x] (println "? こんなものを定義してあげると以下のようなことができます。 (map inc #? 文字列中の式を展開† イイネ! 最後に†

Smooth Voxel Terrain (Part 2) « 0 FPS Last time we formulated the problem of isosurface extraction and discussed some general approaches at a high level. Today, we’re going to get very specific and look at meshing in particular. For the sake of concreteness, let us suppose that we have approximated our potential field by sampling it onto a cubical grid at some fixed resolution. generalization of Minecraft-style voxel surfaces. ). Marching Cubes By far the most famous method for extracting isosurfaces is the marching cubes algorithm. Much of the popularity of marching cubes today is due in no small part to a famous article written by Paul Bourke. Paul Bourke’s exposition is really good. This last point needs some explaining, Conceptually, marching cubes is rather simple. different possibilities, each of which is determined by the sign of the function at the 8 vertices of the cube: Some of the marching cubes special cases. Even worse, some of these cases are ambiguous! Marching Tetrahedra The Primal/Dual Classification S.F. T. .

Mocking out in Clojure with with-redefs-fn (no Midje this time) | Japila :: verba docent, exempla trahunt I made some changes in a Clojure project – librarian-clojure. The changes revolved around security in a Compojure web application. What I needed was to check whether they’re correct and hence I needed some tests with mocking involved because the functions the changes were introduced to used external sources – MongoDB and an encryption library. I didn’t mean to set up the environment, but just enough to get the task done. And it should be fast and quick. The functions are used in a web application, but neither a web container nor a Request object was necessary since Ring turns HTTP requests into…maps. I’ve been doing Java programming for years, but only recently have I been exposed to the aspects of Test-Driven Development (TDD). I’ve also been leaning quite recently towards believing that despite repeated assurances of TDD applicability to and increased quality of applications developed in Java or any object-oriented languages, TDD was simply too laborious. Be Sociable, Share! Like this:

Vim, you complete me Ever watch someone else type at a shell, spelling out every filename, even making typos and fixing them, very slowly? "Hit tab!", you yell, helpfully. I do that when watching someone use vim. The Quick Rundown Play with these to get a feel for them. imap <Tab><C-P> The Keyboard Details When using completion, a helpful menu pops up, showing all the potential matches. When you're happy with the selected word you can press ^Y; to give up entirely, press ^E. You can also insert the tokens after a completion, which is useful for when you forget that we invented abstractions 40 years ago. Scenario: paint a wall blue Given I have some paint And I have a white wall When I paint the wall blue Then I should see "success" And now you want to make a similar scenario, but for red: Scenario: paint a wall red G^X^L^X^L^X^L^Wred T^X^L The Configurations You can change all of this. set complete=. set wildmode=longest,list:longest How vim should go about replacing your text. set completeopt=menu,preview Be Smarter

Light Table by Chris Granger Here's a much higher quality video: Despite the dramatic shift toward simplification in software interfaces, the world of development tools continues to shrink our workspace with feature after feature in every release. Even with all of these things at our disposal, we're stuck in a world of files and forced organization - why are we still looking all over the place for the things we need when we're coding? Why is everything just static text? Bret Victor hinted at the idea that we can do much better than we are now - we can provide instant feedback, we can show you how your changes affect a system. We can do better, and to that end, light table is the redefinition of how we develop. Light Table is based on a very simple idea: we need a real work surface to code on, not just an editor and a project explorer. Light table is based on a few guiding principles: Let's take a look at how these things manifest themselves in Light Table. Docs everywhere Instant feedback Yes.

New Project :: Fluidui.com FluidUI.com (Fluid UI) uses cookies and saves data on our servers in order to provide the Fluid UI service. This data is gathered in order to provide the relevant functionality for your account. The purpose of this article is to inform you what information we store, when we request it and why we need it. Your email address is used to create a unique identifier for your account when you sign up. Third party services providers Fluid UI also uses a number of third party services providers in order to provide the Fluid UI service: Google Google Analytics is used to anonymously track who is visiting our site, how long they are staying and where they are coming from in order to allow us to improve how we sell the Fluid UI service. Accessing or deleting your data

Where is Lisping headed? Where is Lisping headed? Lisping is in the App Store, initial sales and feedback are extremely encouraging, and the first update to fix an issue with unicode, add support for the retina display, and improve inline comments is on its way through the approval process. This begs the question - what comes next? where is Lisping headed? One of my first priorities is support for other Lisps, specifically Clojure. Lisping's appearance will become configurable in the next few updates. Soon after that I will experiment with iPhone/iPod Touch devices and make Lisping a universal application. Stepping back a bit, Slide To Code is heading towards a Python development environment.

About The OpenVDB library comprises a hierarchical data structure and a suite of tools for the efficient manipulation of sparse, time-varying, volumetric data discretized on three-dimensional grids. It is based on VDB, which was developed by Ken Museth at DreamWorks Animation, and it offers an effectively infinite 3D index space, compact storage, fast data access, and a collection of algorithms specifically optimized for the data structure for common tasks such as filtering, CSG, compositing, numerical simulation, sampling, and voxelization from other geometric representations. The technical details of VDB are described in the paper "VDB: High-Resolution Sparse Volumes with Dynamic Topology". OpenVDB is maintained by DreamWorks Animation and was developed primarily by Ken Museth Peter Cucka Mihai Aldén David Hill Features and Tools Efficient Data Structure Fast Voxel Access OpenVDB features fast (constant-time) random and sequential access to voxels. Conversion Tools Level Set Tools Filters

ClojureでJekyllライクなブログジェネレータ「misaki」を作ったった エイプリルフールに被ってしまいましたが、 ClojureでJekyllライクなブログジェネレータを作りました。 misaki / Jekyll inspired static site generator 当ブログはJekyllを使ってGitHub Pages上で運用しているのですが、 jekyll --server のファイル変更から反映までの遅さ(何か手があるのかもしれないですが) とClojurianで主にClojureのブログなのにrubyで運用してるのが納得いかなかったので(rubyは好きですが) 作ってみました。 "misaki" という名前は Jekyll が人名なので同じく人の名前にしたかったのと "美しく咲く" というがちょっと綺麗かなぁという軽いのりで付けてます。 あ、でも伊東美咲は好きです。綺麗なお姉さん好きです。 サンプルの実行† 以下のコマンドでGitHubからとってこれます。 $ git clone $ cd misaki $ lein run sample ローカルサーバが起動するので にアクセスしましょう。 なおサンプルと同じものをデモページとしてこちらにも公開しています。 自分のブログを作る† 1からファイルを用意しても良いのですが、面倒だと思うのでサンプルをコピーして ローカルサーバを起動させましょう。 $ cp -pir sample your_blog $ lein run your_blog ローカルサーバの起動中は watchtower でテンプレートファイルを監視しているので変更すれば自動的にHTMLへのコンパイルが走ります。 デフォルトではコピーしたディレクトリ配下の "_template" 内にテンプレート(.clj)、ポストファイル(_post)、レイアウトファイル(_layout)が 配置されているので、そのあたりを編集しつつブラウザで確認という流れで作っていくことになります。 $ vi your_blog/_template/index.html.clj なおテンプレートなどディレクトリ構成の詳細はドキュメントの Directory Structure を参照してください。 テンプレートサンプル† ; @key value 最後に†

How to use FF Chartwell Primarily suitable for Adobe Creative Suite, FF Chartwell for print uses OpenType ligatures to transform strings of numbers automatically into charts. The data remains in a text box, allowing for easy updates and styling. It’s really simple to use; you just type a series of numbers like: ‘10+13+37+40’, turn on Stylistic Alternates or Stylistic Set 1 and a graph is automatically created. To help get you started using FF Chartwell we’ve created this video tutorial and here are some simple steps: ONE — Firstly always make sure the letter spacing is set to “0” (zero) TWO — Using the values 0-100, type the values, then use “+” to combine them into one chart. THREE — Want to bring a bit of color to your work? FOUR — Turn on Stylistic Alternates or Stylistic Set 1 and enjoy! To see the original data all you need to do is turn off Stylistic Set or Stylistic Alternates.

Related: