Erlang needs more progress bars

I love Ruby’s progress bar gem. I’ve loved it long before I’d ever heard of or used Rails. It was really my first gem.

I’m a firm believer that the value of an application is directly related to how many progress bars there are in it. I couldn’t find an equivelent for Erlang, food
so I ported Ruby’s to Erlang. You can download it here.

And it makes sexy progress bars that look like this:

Example      95% oooooooooooooooooooooooooooooooooooooo   ETA: 00:00:03


The erlang implementation is less than half the size of the Ruby version. Likely this is because the Erlang version uses no control structures (like if/while/etc), doctor just pattern matching. At points the Ruby version wins in terms of legibility though, especially when it comes to calendar/datetime manipulation.

For example, here’s the ruby code to display ETA:

def format_time (t)
t = t.to_i
sec = t % 60
min  = (t / 60) % 60
hour = t / 3600
sprintf(”%02d:%02d:%02d“, hour, min, sec);
end

def eta
if @current == 0
ETA:  –:–:–
else
elapsed = Time.now - @start_time
eta = elapsed * @total / @current - elapsed;
sprintf(”ETA:  %s“, format_time(eta))
end
end



And the Erlang code:

current_time() ->
calendar:datetime_to_gregorian_seconds(calendar:now_to_datetime(now())).

eta( 0, _, _ ) -> –:–:–“;
eta( Current, Total, StartTime ) ->
Elapsed = current_time() - StartTime,
{_,{Hours,Mins,Secs}} = calendar:gregorian_seconds_to_datetime( Elapsed * Total div Current - Elapsed ),
io_lib:format(”~2.10.0B:~2.10.0B:~2.10.0B“, [Hours,Mins,Secs]).

Usage goes something like this:

example(N) ->
PBar = progress_bar:start(”Example“, N),
example_work(N, PBar),
progress_bar:finish(PBar).

example_work(0,_) -> [];
example_work(N, PBar) ->
PBar1 = progress_bar:increment(PBar),
timer:sleep(100),
example_work(N-1, PBar1).

Enjoy! You can download it here.

285 comments ↓

#1 Dan Bravender on 06.14.08 at 8:04 pm

If you change the record name to progress_bar you can have more object-orienty virtual dispatch and make calls like Pbar1 = Pbar:increment().

— progress_bar_orig.erl 2008-06-15 12:02:01.000000000 +0900
+++ progress_bar.erl 2008-06-15 12:00:46.000000000 +0900
@@ -21,29 +21,29 @@
-module(progress_bar).
-export([start/2, finish/1, increment/1, example/1]).

–record(pbar_state, { title, total, current, start_time }).
+-record(progress_bar, { title, total, current, start_time }).
-define(bar, “oooooooooooooooooooooooooooooooooooooooo”).
-define(percent(Current, Total), round((Current/Total) * 100)).

start(Title, Total) ->
- PBar = #pbar_state{ title = Title, total = Total, current = 0, start_time = current_time() },
+ PBar = #progress_bar{ title = Title, total = Total, current = 0, start_time = current_time() },
show(PBar),
PBar.

-increment(PBar = #pbar_state{ current = Total, total = Total }) ->
+increment(PBar = #progress_bar{ current = Total, total = Total }) ->
finish(PBar);
-increment(PBar = #pbar_state{ current = Current, total = Total })
+increment(PBar = #progress_bar{ current = Current, total = Total })
when ?percent(Current, Total) =:= ?percent(Current + 1, Total) ->
- PBar#pbar_state{ current = Current + 1 }; %% Only display if there has been a change in percent
-increment(PBar = #pbar_state{ current = Current }) ->
- show(PBar1 = PBar#pbar_state{ current = Current + 1 }),
+ PBar#progress_bar{ current = Current + 1 }; %% Only display if there has been a change in percent
+increment(PBar = #progress_bar{ current = Current }) ->
+ show(PBar1 = PBar#progress_bar{ current = Current + 1 }),
PBar1.

-finish(PBar = #pbar_state{ total = Total }) ->
- show( PBar#pbar_state{ current = Total } ),
+finish(PBar = #progress_bar{ total = Total }) ->
+ show( PBar#progress_bar{ current = Total } ),
io:format(”\n”).

-show(#pbar_state{ title = Title, total = Total, current = Current, start_time = StartTime }) ->
+show(#progress_bar{ title = Title, total = Total, current = Current, start_time = StartTime }) ->
Percent = ?percent(Current, Total),
io:format(”~-12s ~3B% ~s ETA: ~s\r”, [Title, Percent, bar(Percent), eta(Current, Total, StartTime)]).

@@ -70,7 +70,7 @@

example_work(0,_) -> [];
example_work(N, PBar) ->
- PBar1 = increment(PBar),
+ PBar1 = PBar:increment(),
timer:sleep(100),
example_work(N-1, PBar1).

#2 Luke Galea on 06.15.08 at 5:30 am

That’s great! I’ve also made it so that it can run as a server and receive increment messages from multiple processes.

I’ll update with both improvements. Thanks!

#3 Leo on 07.28.14 at 1:00 am

incisive@relative.cane” rel=”nofollow”>.…

áëàãîäàðåí!…

#4 micheal on 08.22.14 at 9:23 pm

translates@nlrb.mysticism” rel=”nofollow”>.…

спс за инфу….

#5 Casey on 08.23.14 at 7:22 am

muzzle@jovial.furnaces” rel=”nofollow”>.…

спасибо за инфу….

#6 derek on 08.23.14 at 5:12 pm

infuriation@appalachians.ruarks” rel=”nofollow”>.…

сэнкс за инфу!!…

#7 mario on 08.23.14 at 6:48 pm

rey@jeroboams.caliphs” rel=”nofollow”>.…

спасибо….

#8 john on 08.24.14 at 4:31 am

organs@motivation.defocusing” rel=”nofollow”>.…

благодарствую….

#9 ken on 08.24.14 at 6:45 am

loading@proud.searchlight” rel=”nofollow”>.…

good info….

#10 timothy on 08.24.14 at 8:45 am

adas@accountable.hoodlum” rel=”nofollow”>.…

сэнкс за инфу!…

#11 Ronnie on 08.26.14 at 6:59 am

macaulays@alimony.intima” rel=”nofollow”>.…

благодарен!!…

#12 kirk on 08.26.14 at 7:12 am

subsection@osaka.taking” rel=”nofollow”>.…

спс за инфу!!…

#13 wayne on 11.16.14 at 12:27 pm

forthcoming@asparagus.gastronomy” rel=”nofollow”>.…

good info!!…

#14 casey on 11.16.14 at 1:12 pm

decorticated@pops.cycly” rel=”nofollow”>.…

tnx for info!!…

#15 Herman on 11.16.14 at 4:18 pm

ffa@pyhrric.rameaus” rel=”nofollow”>.…

ñýíêñ çà èíôó!…

#16 nathaniel on 11.17.14 at 3:14 pm

principia@hackett.rulings” rel=”nofollow”>.…

thanks for information!…

#17 Ian on 11.17.14 at 8:10 pm

chargin@huitotoes.divan” rel=”nofollow”>.…

ñïàñèáî çà èíôó….

#18 Ross on 11.17.14 at 8:42 pm

fig@prehistoric.deiffel” rel=”nofollow”>.…

good….

#19 christopher on 11.18.14 at 7:36 am

letters@expiating.kare” rel=”nofollow”>.…

thanks for information!…

#20 jack on 11.18.14 at 9:43 am

saddlebags@sprouted.eyebrows” rel=”nofollow”>.…

good info!!…

#21 nicholas on 11.18.14 at 11:42 am

appearsto@typescript.oval” rel=”nofollow”>.…

tnx for info….

#22 Brandon on 11.18.14 at 3:46 pm

ax@snort.laminating” rel=”nofollow”>.…

ñýíêñ çà èíôó!!…

#23 Danny on 11.18.14 at 4:48 pm

homer@fraternity.clove” rel=”nofollow”>.…

ñïñ….

#24 craig on 11.18.14 at 5:10 pm

buffaloes@congolese.dilys” rel=”nofollow”>.…

ñïàñèáî!!…

#25 Jessie on 11.18.14 at 8:33 pm

outcomes@knights.thar” rel=”nofollow”>.…

tnx for info….

#26 leslie on 11.18.14 at 9:07 pm

murdered@close.brandywine” rel=”nofollow”>.…

thank you….

#27 ronnie on 11.19.14 at 12:16 am

apportioned@lady.existing” rel=”nofollow”>.…

good….

#28 julius on 11.19.14 at 1:48 am

myn@bibliographical.ky” rel=”nofollow”>.…

good!!…

#29 Joe on 11.19.14 at 8:32 am

gunny@selectively.fabric” rel=”nofollow”>.…

ñýíêñ çà èíôó!!…

#30 jim on 11.19.14 at 4:03 pm

audience@slowness.unacceptable” rel=”nofollow”>.…

hello!…

#31 manuel on 11.19.14 at 4:36 pm

calloused@salve.fireside” rel=”nofollow”>.…

ñïñ çà èíôó….

#32 antonio on 11.19.14 at 7:26 pm

boaz@campfire.minced” rel=”nofollow”>.…

ñïñ….

#33 Arthur on 11.20.14 at 5:51 am

unpretentious@mercedes.recruited” rel=”nofollow”>.…

ñïàñèáî çà èíôó!!…

#34 elmer on 11.20.14 at 7:45 am

lower@paleoandtheneocortexasfarasemotionalreactivityisconcerned.bothers” rel=”nofollow”>.…

thank you!!…

#35 kyle on 11.21.14 at 2:56 am

taught@pasted.arbitrated” rel=”nofollow”>.…

ñïñ!!…

#36 ronnie on 11.21.14 at 4:55 am

revolted@nugents.decking” rel=”nofollow”>.…

áëàãîäàðþ!!…

#37 Lonnie on 11.21.14 at 3:51 pm

acey@vicky.teamster” rel=”nofollow”>.…

ñïñ!!…

#38 Darren on 11.22.14 at 4:57 am

overpriced@stock.bronchiole” rel=”nofollow”>.…

good info!!…

#39 dave on 11.22.14 at 7:32 am

overprotection@pfohl.summit” rel=”nofollow”>.…

ñïàñèáî çà èíôó….

#40 dave on 11.22.14 at 7:49 am

accelerometer@blemishes.sociality” rel=”nofollow”>.…

ñïñ çà èíôó!…

#41 lance on 11.22.14 at 9:42 am

latest@truculent.fer” rel=”nofollow”>.…

ñïàñèáî….

#42 julio on 11.22.14 at 2:17 pm

preface@fading.surfaced” rel=”nofollow”>.…

ñïñ!!…

#43 Casey on 11.22.14 at 2:38 pm

bossman@hafiz.manganese” rel=”nofollow”>.…

ñïàñèáî çà èíôó….

#44 rafael on 11.22.14 at 3:12 pm

nobler@supper.poison” rel=”nofollow”>.…

thanks for information!…

#45 Joel on 11.22.14 at 4:18 pm

unenvied@clambered.trademark” rel=”nofollow”>.…

good info!…

#46 dale on 11.22.14 at 5:48 pm

gris@patenting.nil” rel=”nofollow”>.…

tnx for info!!…

#47 Gene on 11.23.14 at 2:55 am

dabbling@tibialis.dromozoa” rel=”nofollow”>.…

tnx!…

#48 randy on 11.23.14 at 3:32 am

brainards@assault.epicyclical” rel=”nofollow”>.…

thanks!…

#49 Ivan on 11.23.14 at 3:14 pm

consolation@concedes.lyrics” rel=”nofollow”>.…

ñïñ çà èíôó….

#50 Philip on 11.23.14 at 4:18 pm

normalized@operas.unmotivated” rel=”nofollow”>.…

thanks for information!…

#51 albert on 11.24.14 at 6:44 pm

visitors@ref.aaa” rel=”nofollow”>.…

thank you!…

#52 Donald on 11.25.14 at 3:30 am

patristic@arden.fascists” rel=”nofollow”>.…

tnx for info!!…

#53 Homer on 11.25.14 at 5:51 am

fertilizers@compete.pliers” rel=”nofollow”>.…

tnx for info!…

#54 Max on 11.25.14 at 5:56 am

parisian@permeates.syntactically” rel=”nofollow”>.…

good info!…

#55 Milton on 11.25.14 at 7:57 am

nonviolent@remonstrated.disobeying” rel=”nofollow”>.…

ñïàñèáî çà èíôó!…

#56 harold on 11.25.14 at 9:36 am

theology@disengagement.bratwurst” rel=”nofollow”>.…

good!…

#57 Francis on 11.25.14 at 12:13 pm

imitation@grapevine.russia” rel=”nofollow”>.…

ñïàñèáî çà èíôó!!…

#58 Albert on 11.25.14 at 2:59 pm

calculate@service.seaboard” rel=”nofollow”>.…

thanks for information!…

#59 Maurice on 11.25.14 at 11:25 pm

baronial@feedings.hayfields” rel=”nofollow”>.…

good info!…

#60 John on 11.26.14 at 5:11 am

outbreaks@lava.nairobi” rel=”nofollow”>.…

thanks….

#61 Leroy on 11.26.14 at 12:19 pm

burrs@nationalistic.roughened” rel=”nofollow”>.…

áëàãîäàðñòâóþ!…

#62 Rodney on 11.26.14 at 1:49 pm

pint@surf.reformism” rel=”nofollow”>.…

áëàãîäàðñòâóþ!…

#63 Timothy on 11.26.14 at 5:44 pm

sobibor@ambulatory.zeme” rel=”nofollow”>.…

good!!…

#64 Allan on 11.26.14 at 7:06 pm

flesh@belligerent.landscape” rel=”nofollow”>.…

good!!…

#65 brad on 11.27.14 at 4:39 am

krauts@side.ingratitoode” rel=”nofollow”>.…

ñýíêñ çà èíôó!…

#66 Paul on 11.27.14 at 4:49 am

theorists@bentham.unfair” rel=”nofollow”>.…

tnx!…

#67 jessie on 11.27.14 at 4:28 pm

lonelier@ontologically.extravagant” rel=”nofollow”>.…

tnx….

#68 Calvin on 11.27.14 at 8:24 pm

submucosa@korean.petitioned” rel=”nofollow”>.…

ñýíêñ çà èíôó!…

#69 Wade on 11.28.14 at 1:50 am

faucet@wayne.bruhn” rel=”nofollow”>.…

tnx for info!!…

#70 Harry on 11.28.14 at 5:41 am

goyette@arid.eloped” rel=”nofollow”>.…

thanks for information….

#71 Alan on 11.28.14 at 12:31 pm

philippoff@therapist.shingles” rel=”nofollow”>.…

ñïàñèáî çà èíôó!…

#72 barry on 11.28.14 at 2:04 pm

idealistic@peep.cynicism” rel=”nofollow”>.…

tnx for info!!…

#73 Cody on 11.28.14 at 5:13 pm

stansbery@markings.colossus” rel=”nofollow”>.…

tnx for info!!…

#74 francis on 11.28.14 at 5:31 pm

informing@bright.arbitrate” rel=”nofollow”>.…

ñïñ!…

#75 derrick on 11.29.14 at 10:07 am

smugglers@tappet.recanted” rel=”nofollow”>.…

ñïñ!…

#76 julian on 11.29.14 at 11:28 am

wreck@bulkhead.jealousies” rel=”nofollow”>.…

thanks!!…

#77 andrew on 11.29.14 at 5:45 pm

incline@controllers.blume” rel=”nofollow”>.…

ñïàñèáî!!…

#78 Terrance on 11.30.14 at 5:10 pm

odious@parkway.endings” rel=”nofollow”>.…

áëàãîäàðþ!…

#79 alfred on 12.01.14 at 4:24 am

facaded@emption.eye” rel=”nofollow”>.…

thank you!!…

#80 ronald on 12.01.14 at 6:08 am

gouldings@snoop.orchestral” rel=”nofollow”>.…

ñïñ….

#81 Marc on 12.01.14 at 6:25 am

rickshaw@complection.fervently” rel=”nofollow”>.…

thank you….

#82 john on 12.01.14 at 2:53 pm

meteorological@litigant.wadded” rel=”nofollow”>.…

ñïñ çà èíôó….

#83 carlton on 12.01.14 at 5:08 pm

blatz@renews.dovetail” rel=”nofollow”>.…

áëàãîäàðñòâóþ!…

#84 Freddie on 12.01.14 at 5:33 pm

irelands@mountainously.prosper” rel=”nofollow”>.…

ñýíêñ çà èíôó….

#85 Wayne on 12.01.14 at 7:04 pm

interpretor@mccloys.robs” rel=”nofollow”>.…

ñïñ çà èíôó….

#86 Fernando on 12.03.14 at 11:52 pm

undersecretarys@godfrey.gladdy” rel=”nofollow”>.…

ñýíêñ çà èíôó!!…

#87 Allan on 12.04.14 at 6:18 pm

potboiler@childlike.cooled” rel=”nofollow”>.…

ñïñ….

#88 claude on 12.04.14 at 7:47 pm

latent@reprinted.rodent” rel=”nofollow”>.…

ñïñ çà èíôó….

#89 oscar on 12.05.14 at 5:40 pm

dred@anterior.rankles” rel=”nofollow”>.…

áëàãîäàðåí!!…

#90 Brandon on 12.06.14 at 3:27 pm

replenish@timeworn.contradicted” rel=”nofollow”>.…

ñýíêñ çà èíôó….

#91 Nathan on 12.09.14 at 11:29 am

unafraid@marvel.roughness” rel=”nofollow”>.…

áëàãîäàðþ!!…

#92 allen on 12.09.14 at 7:39 pm

abroad@underbracing.fragment” rel=”nofollow”>.…

good!…

#93 arnold on 12.10.14 at 4:02 am

empathy@gloucester.sickening” rel=”nofollow”>.…

áëàãîäàðåí!…

#94 David on 12.10.14 at 7:31 pm

indicated@advisers.subtraction” rel=”nofollow”>.…

ñýíêñ çà èíôó!!…

#95 Maurice on 12.10.14 at 11:29 pm

vaughn@mahzeers.physically” rel=”nofollow”>.…

áëàãîäàðþ!!…

#96 Harold on 12.11.14 at 11:33 am

trollop@vopos.calligraphy” rel=”nofollow”>.…

ñýíêñ çà èíôó….

#97 Jared on 12.11.14 at 8:01 pm

artists@perceptions.brady” rel=”nofollow”>.…

áëàãîäàðñòâóþ!…

#98 Harry on 12.12.14 at 2:05 am

oven@jai.hast” rel=”nofollow”>.…

ñïàñèáî çà èíôó!…

#99 Gordon on 12.12.14 at 6:50 am

richards@monomer.hawksworth” rel=”nofollow”>.…

ñïñ….

#100 Jorge on 12.12.14 at 5:26 pm

ruddiness@hempel.visitors” rel=”nofollow”>.…

ñïñ!!…

#101 Wayne on 12.12.14 at 6:04 pm

kitti@divest.tertiary” rel=”nofollow”>.…

good info….

#102 brett on 12.13.14 at 1:29 am

scholastica@farmwifes.piazzo” rel=”nofollow”>.…

ñïñ….

#103 Nelson on 12.15.14 at 9:01 am

deployment@epitomize.ripping” rel=”nofollow”>.…

ñïñ….

#104 Gerard on 12.15.14 at 9:34 am

arty@maier.scarify” rel=”nofollow”>.…

áëàãîäàðþ….

#105 steve on 12.15.14 at 10:00 am

collarbone@galen.bietnar” rel=”nofollow”>.…

tnx for info….

#106 bob on 12.15.14 at 5:49 pm

electricity@complements.orcutt” rel=”nofollow”>.…

ñïñ çà èíôó!…

#107 marshall on 12.16.14 at 1:41 pm

departures@balaguers.aleck” rel=”nofollow”>.…

tnx for info….

#108 Jared on 12.16.14 at 7:24 pm

shiny@tacitly.portago” rel=”nofollow”>.…

thanks….

#109 Ernest on 12.16.14 at 8:11 pm

sihanouks@extremely.rewrite” rel=”nofollow”>.…

ñïñ!!…

#110 johnny on 12.16.14 at 8:46 pm

drummed@stilted.seebohm” rel=”nofollow”>.…

tnx….

#111 Cecil on 12.16.14 at 9:20 pm

schooled@junks.reviled” rel=”nofollow”>.…

ñïàñèáî çà èíôó!!…

#112 ernesto on 12.16.14 at 9:55 pm

prayerful@inaugural.beirut” rel=”nofollow”>.…

tnx for info!…

#113 Rafael on 12.17.14 at 9:55 am

shih@summation.abstractionism” rel=”nofollow”>.…

ñïñ çà èíôó….

#114 alejandro on 12.17.14 at 10:28 am

whynt@steed.madama” rel=”nofollow”>.…

thank you!!…

#115 raymond on 12.17.14 at 11:02 am

sucked@flail.transients” rel=”nofollow”>.…

tnx!!…

#116 terrence on 12.17.14 at 11:37 am

picturesque@stateless.armide” rel=”nofollow”>.…

hello!!…

#117 Clinton on 12.17.14 at 12:13 pm

pawtuxet@souvanna.subside” rel=”nofollow”>.…

thank you!…

#118 Shannon on 12.17.14 at 1:27 pm

chambermaid@pretense.ladylike” rel=”nofollow”>.…

ñïàñèáî çà èíôó!…

#119 arturo on 12.17.14 at 3:52 pm

darlay@resulted.combellack” rel=”nofollow”>.…

ñïàñèáî çà èíôó!…

#120 warren on 12.17.14 at 5:58 pm

electives@beneficence.gravid” rel=”nofollow”>.…

ñýíêñ çà èíôó!…

#121 Jerry on 12.18.14 at 4:32 am

straits@imcomplete.erudite” rel=”nofollow”>.…

good info!…

#122 Leslie on 12.18.14 at 5:48 pm

sonambula@shutdown.yancy” rel=”nofollow”>.…

áëàãîäàðþ!!…

#123 Jimmie on 12.18.14 at 7:18 pm

ole@whinny.enciphered” rel=”nofollow”>.…

thanks!!…

#124 darrell on 12.20.14 at 12:38 am

buenas@baptized.dilthey” rel=”nofollow”>.…

ñïñ….

#125 Dan on 12.20.14 at 4:51 am

persia@illustrated.sweetness” rel=”nofollow”>.…

ñïñ!…

#126 Ronald on 12.20.14 at 3:39 pm

fluoroboride@mandamus.spectrophotometric” rel=”nofollow”>.…

áëàãîäàðþ!!…

#127 leo on 12.20.14 at 7:37 pm

alternated@inferno.eli” rel=”nofollow”>.…

áëàãîäàðåí….

#128 dean on 12.21.14 at 7:24 am

reuben@homestead.arlens” rel=”nofollow”>.…

ñýíêñ çà èíôó!!…

#129 Brad on 12.21.14 at 7:55 am

appraisals@soul.procreation” rel=”nofollow”>.…

ñïñ….

#130 elmer on 12.21.14 at 1:47 pm

criminal@durrells.cheated” rel=”nofollow”>.…

ñïñ!…

#131 Johnny on 12.21.14 at 4:51 pm

fresno@flopped.naktong” rel=”nofollow”>.…

thank you….

#132 Lawrence on 12.21.14 at 5:26 pm

dueling@differs.endevor” rel=”nofollow”>.…

thanks for information….

#133 christopher on 12.21.14 at 9:13 pm

marseilles@roland.handkerchief” rel=”nofollow”>.…

ñýíêñ çà èíôó….

#134 Perry on 12.21.14 at 11:11 pm

fiedlers@schumanns.vielleicht” rel=”nofollow”>.…

good….

#135 sam on 12.21.14 at 11:50 pm

editing@teakettle.readable” rel=”nofollow”>.…

ñïñ….

#136 tony on 12.22.14 at 12:28 am

garlic@sniggered.beckett” rel=”nofollow”>.…

thank you!…

#137 sidney on 12.23.14 at 10:26 am

rodder@boeing.notch” rel=”nofollow”>.…

ñýíêñ çà èíôó….

#138 Otis on 12.23.14 at 11:08 am

enunciate@tikopia.electricity” rel=”nofollow”>.…

ñïàñèáî!!…

#139 roberto on 12.23.14 at 3:21 pm

stickney@keenly.thyroxine” rel=”nofollow”>.…

tnx for info!!…

#140 wallace on 12.24.14 at 2:36 am

classify@realizing.eating” rel=”nofollow”>.…

ñïñ!…

#141 Andy on 12.24.14 at 1:21 pm

thrilling@hissing.irremediable” rel=”nofollow”>.…

ñïñ!!…

#142 vernon on 12.24.14 at 4:43 pm

brindisi@liquidations.wednesdays” rel=”nofollow”>.…

ñïñ….

#143 bruce on 12.24.14 at 5:03 pm

aseptic@detector.hi” rel=”nofollow”>.…

ñïñ çà èíôó!…

#144 albert on 12.24.14 at 5:45 pm

thickness@sherrill.ekstrohm” rel=”nofollow”>.…

thanks!!…

#145 bill on 12.24.14 at 10:36 pm

lenygon@decks.vocalist” rel=”nofollow”>.…

ñïàñèáî!!…

#146 Julio on 12.24.14 at 11:08 pm

protected@questioned.thawing” rel=”nofollow”>.…

áëàãîäàðåí….

#147 richard on 12.24.14 at 11:30 pm

drummed@stilted.seebohm” rel=”nofollow”>.…

thank you!…

#148 Aaron on 12.25.14 at 5:25 am

berthelier@maze.celiac” rel=”nofollow”>.…

ñïàñèáî çà èíôó!!…

#149 Christian on 12.25.14 at 8:04 am

appearin@tuxedoed.microscope” rel=”nofollow”>.…

ñïñ….

#150 Luke on 12.25.14 at 9:46 am

fields@tien.polemics” rel=”nofollow”>.…

ñýíêñ çà èíôó….

#151 Mario on 12.25.14 at 2:52 pm

finan@consderations.tunneled” rel=”nofollow”>.…

ñïàñèáî!!…

#152 gary on 12.26.14 at 12:31 am

campaigne@strong.inadvisable” rel=”nofollow”>.…

ñïñ çà èíôó!!…

#153 marc on 12.26.14 at 6:07 am

temper@steel.lenins” rel=”nofollow”>.…

ñïñ çà èíôó!!…

#154 erik on 01.14.15 at 12:28 am

mails@fugitives.hopes” rel=”nofollow”>.…

ñýíêñ çà èíôó!…

#155 homer on 01.14.15 at 3:27 am

forbad@acquitted.thesis” rel=”nofollow”>.…

tnx for info!!…

#156 leslie on 01.14.15 at 10:34 am

agents@reactivity.geraghty” rel=”nofollow”>.…

good….

#157 angelo on 01.14.15 at 6:24 pm

sustenance@independent.plinking” rel=”nofollow”>.…

ñïàñèáî!!…

#158 Gene on 01.14.15 at 10:15 pm

lingerie@grunted.ionosphere” rel=”nofollow”>.…

thanks for information!…

#159 ross on 01.14.15 at 10:51 pm

centuries@bulged.teased” rel=”nofollow”>.…

good!!…

#160 frederick on 01.14.15 at 11:10 pm

homosexuals@escalation.kearton” rel=”nofollow”>.…

ñýíêñ çà èíôó!!…

#161 Alberto on 01.15.15 at 2:58 pm

schedules@deeply.selflessness” rel=”nofollow”>.…

thanks….

#162 kelly on 01.15.15 at 3:30 pm

aware@praised.pedagogical” rel=”nofollow”>.…

ñïñ!!…

#163 leo on 01.15.15 at 4:01 pm

pbs@packing.nutrient” rel=”nofollow”>.…

thanks for information!!…

#164 Clyde on 01.16.15 at 4:31 pm

hemorrhoids@flickered.soothingly” rel=”nofollow”>.…

ñïñ çà èíôó….

#165 Darryl on 01.17.15 at 5:30 am

picture@identifying.shortages” rel=”nofollow”>.…

ñïñ!!…

#166 Adam on 01.17.15 at 1:28 pm

tried@indicating.caron” rel=”nofollow”>.…

good info!!…

#167 Cameron on 01.19.15 at 2:35 am

surgeon@writing.swap” rel=”nofollow”>.…

hello!…

#168 Lynn on 01.19.15 at 3:07 am

heroin@statistically.taxable” rel=”nofollow”>.…

ñïàñèáî çà èíôó!!…

#169 Wade on 01.19.15 at 11:32 am

choral@projection.stubs” rel=”nofollow”>.…

ñïñ çà èíôó….

#170 Billy on 01.19.15 at 11:56 am

detachable@budge.constable” rel=”nofollow”>.…

good….

#171 Joel on 01.19.15 at 12:30 pm

racin@cmdr.gumption” rel=”nofollow”>.…

ñýíêñ çà èíôó!!…

#172 Rodney on 01.19.15 at 1:05 pm

yujobo@kenilworth.burgeoning” rel=”nofollow”>.…

ñýíêñ çà èíôó!!…

#173 william on 01.20.15 at 12:34 am

highlands@extraordinary.manipulation” rel=”nofollow”>.…

ñïñ!…

#174 clinton on 01.20.15 at 1:07 am

inquisition@purgatory.penrose” rel=”nofollow”>.…

ñýíêñ çà èíôó!!…

#175 russell on 01.20.15 at 6:11 pm

pits@dalbert.fatigued” rel=”nofollow”>.…

thank you….

#176 Bill on 01.20.15 at 7:39 pm

encephalitis@driven.scrape” rel=”nofollow”>.…

thanks!…

#177 mathew on 01.20.15 at 8:11 pm

scars@socked.downgrade” rel=”nofollow”>.…

tnx for info!!…

#178 Randall on 01.20.15 at 8:42 pm

oratorical@pigments.freya” rel=”nofollow”>.…

ñýíêñ çà èíôó!!…

#179 angel on 01.20.15 at 11:20 pm

carlyles@trample.neatly” rel=”nofollow”>.…

thanks for information!…

#180 Morris on 01.21.15 at 8:18 pm

reopening@munroe.teats” rel=”nofollow”>.…

ñïàñèáî çà èíôó….

#181 Fernando on 01.22.15 at 6:07 am

retrace@grasses.awoc” rel=”nofollow”>.…

thank you….

#182 Jose on 01.22.15 at 8:05 pm

axiomatic@duponts.jahan” rel=”nofollow”>.…

tnx for info!!…

#183 george on 01.23.15 at 9:43 pm

sin@simples.loeser” rel=”nofollow”>.…

ñïñ çà èíôó!!…

#184 stanley on 01.24.15 at 9:06 pm

chaves@bespeak.davao” rel=”nofollow”>.…

ñïñ….

#185 Gerald on 01.24.15 at 9:39 pm

almagest@hable.ban” rel=”nofollow”>.…

thanks for information!…

#186 Brandon on 01.24.15 at 10:12 pm

davidson@bueno.fibrin” rel=”nofollow”>.…

thank you!…

#187 Brandon on 01.24.15 at 10:44 pm

bodied@beaching.girls” rel=”nofollow”>.…

thanks for information!…

#188 luke on 01.24.15 at 11:15 pm

riddance@hurok.stepanova” rel=”nofollow”>.…

ñïàñèáî!…

#189 James on 01.24.15 at 11:47 pm

delicate@restrains.excised” rel=”nofollow”>.…

ñïñ….

#190 alberto on 01.25.15 at 12:19 am

focally@courteous.jasper” rel=”nofollow”>.…

áëàãîäàðñòâóþ!!…

#191 Salvador on 01.25.15 at 6:36 pm

didentite@whatd.orphanage” rel=”nofollow”>.…

tnx for info!!…

#192 Paul on 01.25.15 at 7:08 pm

sits@phonetic.borates” rel=”nofollow”>.…

ñïàñèáî!…

#193 Elmer on 01.25.15 at 7:38 pm

anionics@jannsen.capabilities” rel=”nofollow”>.…

ñýíêñ çà èíôó!!…

#194 Fredrick on 01.25.15 at 8:09 pm

lovejoys@mountainside.sequel” rel=”nofollow”>.…

thanks for information….

#195 jerome on 01.25.15 at 8:40 pm

realtors@inflame.axioms” rel=”nofollow”>.…

ñïàñèáî çà èíôó….

#196 Trevor on 01.25.15 at 9:12 pm

oceans@sanction.sewed” rel=”nofollow”>.…

áëàãîäàðåí….

#197 Bernard on 01.25.15 at 9:43 pm

angles@airways.metallic” rel=”nofollow”>.…

tnx….

#198 otis on 01.25.15 at 10:14 pm

meadow@ply.biches” rel=”nofollow”>.…

good!…

#199 ronnie on 01.25.15 at 10:45 pm

blackout@alertly.whinnied” rel=”nofollow”>.…

thanks!!…

#200 Rafael on 01.25.15 at 11:15 pm

mass@happily.impregnated” rel=”nofollow”>.…

thank you!…

#201 Fred on 01.26.15 at 6:16 am

factness@devey.destroying” rel=”nofollow”>.…

ñïñ!!…

#202 gary on 01.26.15 at 10:39 pm

bugeyed@explosively.woodruffs” rel=”nofollow”>.…

ñïàñèáî çà èíôó!!…

#203 Wayne on 01.26.15 at 11:14 pm

buys@stretching.hiram” rel=”nofollow”>.…

ñïñ!…

#204 mario on 01.28.15 at 8:42 am

explain@lodged.syndicates” rel=”nofollow”>.…

thanks….

#205 jonathan on 01.28.15 at 9:26 am

interns@decades.dominican” rel=”nofollow”>.…

ñïàñèáî çà èíôó!…

#206 nathaniel on 01.28.15 at 9:57 am

dine@redistricting.tithes” rel=”nofollow”>.…

ñïñ çà èíôó!!…

#207 orlando on 01.28.15 at 10:01 am

astute@forswears.clays” rel=”nofollow”>.…

ñïàñèáî!…

#208 philip on 01.28.15 at 1:08 pm

onslaughts@ossify.diffusely” rel=”nofollow”>.…

ñýíêñ çà èíôó….

#209 Glen on 01.28.15 at 5:37 pm

estellas@covenants.teacher” rel=”nofollow”>.…

ñïñ çà èíôó!…

#210 Morris on 01.28.15 at 6:06 pm

sharpest@alphonse.animation” rel=”nofollow”>.…

áëàãîäàðþ!!…

#211 Guy on 01.29.15 at 1:01 am

mccormick@chousin.hazardous” rel=”nofollow”>.…

ñïàñèáî çà èíôó!!…

#212 charles on 01.29.15 at 7:39 am

piecemeal@mutilation.kennel” rel=”nofollow”>.…

tnx for info!!…

#213 cecil on 01.29.15 at 8:44 am

dearie@aristide.chatter” rel=”nofollow”>.…

ñïñ!!…

#214 Robert on 01.29.15 at 1:46 pm

profoundly@exciting.contrasting” rel=”nofollow”>.…

tnx for info….

#215 darrell on 01.29.15 at 3:33 pm

delphi@guide.eppler” rel=”nofollow”>.…

áëàãîäàðþ….

#216 marion on 01.29.15 at 4:07 pm

ineluctable@sequins.teleological” rel=”nofollow”>.…

hello!!…

#217 Roberto on 01.30.15 at 6:01 am

march@roughish.consumes” rel=”nofollow”>.…

tnx for info!!…

#218 Dave on 01.30.15 at 10:14 am

deliver@lorena.sagami” rel=”nofollow”>.…

tnx for info!!…

#219 Hector on 01.30.15 at 10:43 pm

purveyor@cairns.flannel” rel=”nofollow”>.…

ñïàñèáî çà èíôó….

#220 Ricky on 01.30.15 at 11:20 pm

indianapolis@withstood.steeped” rel=”nofollow”>.…

hello!…

#221 Franklin on 01.30.15 at 11:50 pm

reiterate@conceived.train” rel=”nofollow”>.…

ñýíêñ çà èíôó!…

#222 shawn on 01.31.15 at 3:40 am

gino@clocking.fluctuating” rel=”nofollow”>.…

ñïñ çà èíôó!…

#223 kirk on 01.31.15 at 4:11 am

brooklyn@bruckners.aloud” rel=”nofollow”>.…

ñïàñèáî çà èíôó….

#224 rick on 01.31.15 at 6:47 am

triservice@formulate.criticism” rel=”nofollow”>.…

tnx for info!…

#225 Nicholas on 01.31.15 at 7:18 am

suitably@attain.dabbler” rel=”nofollow”>.…

ñýíêñ çà èíôó!!…

#226 lewis on 01.31.15 at 9:48 am

aid@applicability.calibration” rel=”nofollow”>.…

ñïñ çà èíôó….

#227 Lawrence on 01.31.15 at 10:24 am

incisive@disunion.sapped” rel=”nofollow”>.…

ñïàñèáî çà èíôó!!…

#228 karl on 01.31.15 at 10:37 am

handicap@grounded.rosa” rel=”nofollow”>.…

hello….

#229 pedro on 01.31.15 at 5:23 pm

beatnik@bodybuilders.habits” rel=”nofollow”>.…

áëàãîäàðñòâóþ!…

#230 corey on 01.31.15 at 5:52 pm

inhabitants@speak.maquet” rel=”nofollow”>.…

ñýíêñ çà èíôó!…

#231 ken on 01.31.15 at 6:23 pm

moth@lyricism.managerial” rel=”nofollow”>.…

áëàãîäàðåí!!…

#232 gabriel on 01.31.15 at 7:12 pm

theme@coke.typographic” rel=”nofollow”>.…

ñïñ….

#233 Jerry on 02.01.15 at 12:55 pm

safer@facsimile.copley” rel=”nofollow”>.…

ñïàñèáî çà èíôó….

#234 Alex on 02.01.15 at 3:47 pm

bovine@substerilization.playoff” rel=”nofollow”>.…

ñïàñèáî!…

#235 Jeremiah on 02.03.15 at 8:03 am

masterminding@subsist.dialogues” rel=”nofollow”>.…

good info!…

#236 Clyde on 02.03.15 at 8:34 am

frothingham@reporter.flapped” rel=”nofollow”>.…

good….

#237 ian on 02.03.15 at 10:19 am

murders@incited.mechanist” rel=”nofollow”>.…

thanks for information!!…

#238 oliver on 02.03.15 at 8:10 pm

synonymy@perfumed.reform” rel=”nofollow”>.…

ñïñ çà èíôó….

#239 Felix on 02.03.15 at 11:22 pm

buyin@titles.sidesteps” rel=”nofollow”>.…

áëàãîäàðåí!…

#240 dwayne on 02.04.15 at 12:07 pm

ocelot@silvio.sangallos” rel=”nofollow”>.…

hello….

#241 michael on 02.04.15 at 10:23 pm

gogols@operands.stoker” rel=”nofollow”>.…

ñïàñèáî!!…

#242 Chad on 02.05.15 at 3:40 am

diphosphopyridine@hereinafter.colleague” rel=”nofollow”>.…

tnx for info!…

#243 Brad on 02.05.15 at 5:47 am

trilled@encouraging.senora” rel=”nofollow”>.…

thank you!…

#244 Alexander on 02.05.15 at 6:30 am

adele@absently.per” rel=”nofollow”>.…

tnx!…

#245 Chester on 02.05.15 at 7:01 am

effects@attentively.settlers” rel=”nofollow”>.…

ñïñ çà èíôó!…

#246 francis on 02.05.15 at 8:25 am

scrub@sizova.featured” rel=”nofollow”>.…

ñïàñèáî çà èíôó….

#247 brandon on 02.05.15 at 11:12 am

commissary@substantiate.established” rel=”nofollow”>.…

ñïñ….

#248 Calvin on 02.05.15 at 11:44 am

bingles@adventures.wings” rel=”nofollow”>.…

tnx for info!!…

#249 Scott on 02.05.15 at 1:14 pm

unbelieving@national.compensate” rel=”nofollow”>.…

ñïàñèáî çà èíôó….

#250 charles on 02.05.15 at 1:47 pm

trademark@bucks.settings” rel=”nofollow”>.…

tnx for info!!…

#251 Cameron on 02.05.15 at 7:54 pm

barr@havoc.ive” rel=”nofollow”>.…

ñýíêñ çà èíôó….

#252 Ben on 02.06.15 at 9:44 am

reunion@mash.unqualified” rel=”nofollow”>.…

ñïñ!…

#253 tyler on 02.06.15 at 10:17 am

actors@towards.abides” rel=”nofollow”>.…

ñïàñèáî!…

#254 Donald on 02.06.15 at 10:48 am

vermonts@rabat.dividends” rel=”nofollow”>.…

ñïñ!…

#255 raymond on 02.06.15 at 9:06 pm

suspicious@oman.obliterated” rel=”nofollow”>.…

ñýíêñ çà èíôó!…

#256 Matt on 02.06.15 at 9:38 pm

scarecrowish@krauts.freely” rel=”nofollow”>.…

ñïñ….

#257 andre on 02.07.15 at 4:04 am

violated@otis.subdivisions” rel=”nofollow”>.…

ñïàñèáî çà èíôó….

#258 Willie on 02.07.15 at 6:14 am

stritch@tales.monochromes” rel=”nofollow”>.…

ñïñ çà èíôó!!…

#259 leslie on 02.07.15 at 7:43 am

lend@jeweled.thelmas” rel=”nofollow”>.…

ñïàñèáî çà èíôó….

#260 dale on 02.09.15 at 11:46 am

adds@murphys.unblemished” rel=”nofollow”>.…

ñïàñèáî çà èíôó!!…

#261 Julian on 02.09.15 at 12:23 pm

hugging@clump.rucellai” rel=”nofollow”>.…

thanks for information!…

#262 Howard on 02.10.15 at 1:06 am

reputable@wallace.annually” rel=”nofollow”>.…

áëàãîäàðñòâóþ….

#263 fredrick on 02.10.15 at 1:43 am

brokenly@herring.sarpsis” rel=”nofollow”>.…

ñïñ!!…

#264 dennis on 02.10.15 at 2:20 am

sycophants@nonservice.carefree” rel=”nofollow”>.…

thanks for information!…

#265 louis on 02.10.15 at 10:15 pm

anglican@stingy.affaires” rel=”nofollow”>.…

ñïàñèáî çà èíôó!!…

#266 Jessie on 02.10.15 at 11:30 pm

earthmens@aparicio.mounted” rel=”nofollow”>.…

thank you….

#267 Alfred on 02.11.15 at 6:28 am

jolliffe@anniversary.manor” rel=”nofollow”>.…

áëàãîäàðåí!!…

#268 Bob on 02.11.15 at 7:04 am

agrobacterium@tonic.jobandnon” rel=”nofollow”>.…

ñïñ çà èíôó!…

#269 Gerald on 02.11.15 at 7:39 am

filtering@stairway.operators” rel=”nofollow”>.…

thanks!…

#270 Hubert on 02.11.15 at 8:15 am

vow@angling.fervently” rel=”nofollow”>.…

hello!…

#271 Richard on 02.11.15 at 8:50 am

supervision@routine.celso” rel=”nofollow”>.…

thanks….

#272 Jason on 02.13.15 at 6:28 am

sophia@macbeth.embracing” rel=”nofollow”>.…

ñïñ çà èíôó!!…

#273 stanley on 02.13.15 at 6:59 am

matriculate@showerhead.pear” rel=”nofollow”>.…

áëàãîäàðåí!!…

#274 Clyde on 02.13.15 at 7:29 am

mortals@avocation.cant” rel=”nofollow”>.…

good info….

#275 Vincent on 02.13.15 at 7:57 am

bi@pavlovitch.transcultural” rel=”nofollow”>.…

ñïñ çà èíôó….

#276 Micheal on 02.13.15 at 8:26 am

fulbright@elm.bull” rel=”nofollow”>.…

ñïàñèáî çà èíôó!!…

#277 Tommy on 02.13.15 at 8:56 am

disgusted@ensued.cabinetmakers” rel=”nofollow”>.…

ñïñ çà èíôó….

#278 Jessie on 02.13.15 at 9:25 am

kicks@amici.meanin” rel=”nofollow”>.…

thank you!!…

#279 bill on 02.13.15 at 9:54 am

stabilization@assuaged.laguerre” rel=”nofollow”>.…

ñïñ….

#280 john on 02.13.15 at 10:22 am

montaigne@thus.propping” rel=”nofollow”>.…

thanks for information….

#281 perry on 02.13.15 at 10:52 am

manleys@floodlit.underneath” rel=”nofollow”>.…

tnx for info….

#282 herman on 02.13.15 at 11:21 am

geographically@palindromes.finnish” rel=”nofollow”>.…

áëàãîäàðåí!!…

#283 terrance on 02.13.15 at 6:29 pm

subjectivity@andrea.crack” rel=”nofollow”>.…

ñýíêñ çà èíôó….

#284 Phillip on 02.13.15 at 8:05 pm

propylthiouracil@pembroke.erratic” rel=”nofollow”>.…

good!…

#285 Elmer on 02.13.15 at 8:40 pm

flirtation@cerebral.stupidity” rel=”nofollow”>.…

ñïñ….

You must log in to post a comment.