Skip to content

Instantly share code, notes, and snippets.

is_table_defn_updated() ->
mnesia:table_info(version1, attributes) =/= record_info(fields, version1).
upgrade_version_table() ->
case is_table_defn_updated() of
false -> ok;
true ->
NewAttrs = record_info(fields, version1),
{ atomic, ok } = mnesia:transform_table(version1, (fun transformer/1), NewAttrs)
end.
-module(kicker).
-compile(export_all).
sleeper() ->
spawn(fun() -> loop() end).
loop() ->
receive
Any ->
io:format("Message ~p~n", [Any]),
-module(migrate).
-compile(export_all).
-include("v.hrl").
gah() ->
Transformer = fun({v, Name, Parent}) ->
#vm{name = Name, parent = Parent, group = undefined}
end,
mnesia:transform_table(v, Transformer, [name, parent, group]).
%%% subscribing process
-module(subscribe_madi).
-export([test/0]).
test() ->
mnesia:subscribe({table, nick, simple}),
loop().
loop() ->
-module(foobar).
-behaviour(gen_fsm).
-define(SERVER, ?MODULE).
-export([init/1, handle_event/3, handle_sync_event/4, handle_info/3, terminate/3, code_change/4, one/2, two/2, three/2, first/0, second/0, third/0]).
-compile(export_all).
start_link() ->
gen_fsm:start_link({local, ?SERVER}, ?MODULE, [], []).
@abhijith
abhijith / swing.clj
Created December 21, 2009 18:43
miglayout swing clojure experiments
(ns swinger
(:import (java.awt BorderLayout Container Dimension))
(:import (javax.swing JButton JFrame JLabel JPanel JTextField JOptionPane JScrollPane JList ImageIcon JComboBox JSeparator JTable UIManager SwingUtilities AbstractButton JFileChooser JDialog JProgressBar JTabbedPane))
(:import (javax.swing.table AbstractTableModel))
(:import (java.awt.event MouseAdapter MouseListener KeyEvent))
(:import (java.awt Toolkit BorderLayout Dimension Color Dialog$ModalityType))
(:use (clojure.contrib
[miglayout :only (miglayout components)]
[swing-utils :only (add-action-listener add-key-typed-listener make-menubar)])))