-
Notifications
You must be signed in to change notification settings - Fork 0
/
alexander-todorov10.html
1381 lines (1324 loc) · 106 KB
/
alexander-todorov10.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="google-site-verification" content="XynqZtldWNBbmsynVQZremIxaaO8Wgs6AGR8UZ7KIkM">
<title>atodorov.org - Articles by Alexander Todorov</title>
<link href="http://feeds.feedburner.com/atodorov" type="application/atom+xml" rel="alternate" title="atodorov.org Full Atom Feed" />
<!-- Bootstrap Core CSS -->
<link href="http://atodorov.org/theme/css/bootstrap.min.css" rel="stylesheet">
<!-- Custom CSS -->
<link href="http://atodorov.org/theme/css/clean-blog.min.css" rel="stylesheet">
<!-- Code highlight color scheme -->
<link href="http://atodorov.org/theme/css/code_blocks/github.css" rel="stylesheet">
<!-- CSS specified by the user -->
<link href="http://atodorov.org/override.css" rel="stylesheet">
<!-- Custom Fonts -->
<link href="http://atodorov.org/theme/css/font-awesome.min.css" rel="stylesheet" type="text/css">
<link href='https://fonts.googleapis.com/css?family=Lora:400,700,400italic,700italic' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800' rel='stylesheet' type='text/css'>
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<meta property="fb:admins" content="1616937247" >
<meta property="og:locale" content="en_US">
<meta property="og:site_name" content="atodorov.org">
<meta property="og:title" content="atodorov.org - Articles by Alexander Todorov">
<meta property="og:type" content="profile">
<meta property="profile:first_name" content="Alexander">
<meta property="profile:last_name" content="Todorov">
<meta property="profile:username" content="alexander-todorov">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@atodorov_">
<meta name="twitter:title" content="atodorov.org">
<meta name="twitter:description" content="you can logoff, but you can never leave">
<meta name="twitter:image" content="http://atodorov.org//images/header_02.jpg">
</head>
<body>
<!-- Navigation -->
<nav class="navbar navbar-default navbar-custom navbar-fixed-top">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header page-scroll">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="http://atodorov.org/">atodorov.org</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right">
<li><a href="http://mrsenko.com/?utm_source=atodorov.org&utm_medium=blog&utm_campaign=menu">Mr. Senko</a></li>
</ul>
</div>
<!-- /.navbar-collapse -->
</div>
<!-- /.container -->
</nav>
<!-- Page Header -->
<header class="intro-header" style="background-image: url('/images/header_02.jpg')">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
<div class="post-heading">
<h1>Articles by Alexander Todorov</h1>
</div>
</div>
</div>
</div>
</header>
<!-- Main Content -->
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
<div class="post-preview">
<a href="http://atodorov.org/blog/2013/09/14/upcoming-talk-fedora-test-days-in-sofia/" rel="bookmark" title="Permalink to Upcoming Talk: Fedora Test Days in Sofia">
<h2 class="post-title">
Upcoming Talk: Fedora Test Days in Sofia
</h2>
</a>
<p>On September 28th I will be giving a short talk about
<a href="https://fedoraproject.org/wiki/QA/Test_Days">Fedora Test Days</a> at the regular
Linux for Bulgarians
<a href="http://www.linux-bg.org/cgi-bin/y/index.pl?page=news&key=459487176">conference</a>.
I will explain what these are and how one can participate. I will also announce
my plans and schedule to organize some
<a href="https://fedoraproject.org/wiki/QA/Fedora_20_test_days">Fedora 20 test days</a>
locally in Sofia. If you are a fan of Fedora and want to file bugs and kick
some developers' ass this is the way to do it!</p>
<p>Other talks include Alexander Shopov's „Oracle's take on NoSQL“ which I wanted
to hear since this summer and TBA talks about MicroTik routers.</p>
<p>The conference will take place on September 28th at the French Institute at
Sofia University
(see <a href="http://conf.linux-bg.org/wp-content/uploads/2009/12/su-2.png">map</a>).
It starts at 13:00 and my talk should be at the beginning. See you there!</p>
<p>PS: this post was initially written on my <a href="http://amzn.to/12y4ewJ">BlackBerry Z10</a>
with Penzus Editor - another small step in
<a href="/blog/2013/08/01/laptop-vs-smartphone-part-one/">retiring my laptop</a>.</p>
<p class="post-meta">Posted by
<a href="http://atodorov.org/author/alexander-todorov.html">Alexander Todorov</a>
on Sat 14 September 2013
</p>
<p>There are <a href="http://atodorov.org/blog/2013/09/14/upcoming-talk-fedora-test-days-in-sofia/#disqus_thread">comments</a>.</p> </div>
<div class="post-preview">
<a href="http://atodorov.org/blog/2013/09/02/bug-analysis-of-rhbz-1337/" rel="bookmark" title="Permalink to Bug Analysis Of RHBZ #1337">
<h2 class="post-title">
Bug Analysis Of RHBZ #1337
</h2>
</a>
<p>In my <a href="/blog/2013/08/23/red-hats-ebugzilla-hits-one-million-bugs/">previous post</a>
I asked the readers of this blog to pick a bug number from Red Hat's Bugzilla
so I can analyze it later.</p>
<p><a href="http://radorado.me">Radoslav Georgiev</a> decided to step up and
selected the <a href="https://en.wikipedia.org/wiki/Leet">Leet</a> bug
<a href="https://bugzilla.redhat.com/show_bug.cgi?id=1337">https://bugzilla.redhat.com/show_bug.cgi?id=1337</a></p>
<p>This is a rather old bug against kernel, in particular
against the token ring driver. There isn't much info on the bug but it seems
the issue is hardware dependent and doesn't reproduce reliably.</p>
<p>Looking at the bug status and history it looks like it was closed without
fixing it. Most likely the reason for this was there was no hardware
to test, bug was not reproduced and no customers were seeing the issue or
were willing to test and work with devel!</p>
<p>If you'd like to see my comments on other interesting bugs just post a link
to them in the comments section.</p>
<p class="post-meta">Posted by
<a href="http://atodorov.org/author/alexander-todorov.html">Alexander Todorov</a>
on Mon 02 September 2013
</p>
<p>There are <a href="http://atodorov.org/blog/2013/09/02/bug-analysis-of-rhbz-1337/#disqus_thread">comments</a>.</p> </div>
<div class="post-preview">
<a href="http://atodorov.org/blog/2013/08/23/red-hats-bugzilla-hits-one-million-bugs/" rel="bookmark" title="Permalink to Red Hat's Bugzilla Hits One Million Bugs">
<h2 class="post-title">
Red Hat's Bugzilla Hits One Million Bugs
</h2>
</a>
<p><img alt=""RHBZ 1 million"" src="/images/redhat_1mil_bugs.jpg" title="RHBZ 1 million" /></p>
<p>Red Hat's Bugzilla passed the 1 million bugs milestone yesterday!
<a href="https://bugzilla.redhat.com/show_bug.cgi?id=1000000">RHBZ #1000000</a> has been
filed by Anton Arapov, a kernel engineer and a very nice guy (I know him btw).
I've filed several bugs yesterday but the last one was #999941. A bit too short!</p>
<p>To celebrate this event I dare you to pick some bugs from Bugzilla that you find
interesting or frustrating and I will try to analyze and explain them from a
QA engineer's point of view. Since I've reported over 1000 bugs and been involved in
another close to 5000 I think I will be able to answer almost any question.</p>
<p>Challenge accepted!</p>
<p class="post-meta">Posted by
<a href="http://atodorov.org/author/alexander-todorov.html">Alexander Todorov</a>
on Fri 23 August 2013
</p>
<p>There are <a href="http://atodorov.org/blog/2013/08/23/red-hats-bugzilla-hits-one-million-bugs/#disqus_thread">comments</a>.</p> </div>
<div class="post-preview">
<a href="http://atodorov.org/blog/2013/08/23/small-but-annoying-twitter-bug/" rel="bookmark" title="Permalink to Small But Annoying Twitter Bug">
<h2 class="post-title">
Small But Annoying Twitter Bug
</h2>
</a>
<p><img alt=""Tweet Embed Bug"" src="/images/twitter_embed_bug.png" title="Tweet Embed Bug" /></p>
<p>I've been having troubles with Twitter lately but this bug is just annoying!
Where on Earth is the "code below" ? I've already
<a href="https://twitter.com/atodorov_/status/370833992074809345">reported it</a>. Let's
see how long it takes for them to fix it!</p>
<p class="post-meta">Posted by
<a href="http://atodorov.org/author/alexander-todorov.html">Alexander Todorov</a>
on Fri 23 August 2013
</p>
<p>There are <a href="http://atodorov.org/blog/2013/08/23/small-but-annoying-twitter-bug/#disqus_thread">comments</a>.</p> </div>
<div class="post-preview">
<a href="http://atodorov.org/blog/2013/08/23/how-to-find-your-red-hat-account-number/" rel="bookmark" title="Permalink to Tip: How to Find Your Red Hat Account Number">
<h2 class="post-title">
Tip: How to Find Your Red Hat Account Number
</h2>
</a>
<p><img src="/images/redhat_account_number.png" style="float:left;display:inline-block;margin-right:10px;" /></p>
<p>One thing you need to know when ordering Red Hat subscriptions is your
account number. It is available in the drop down menu at the top right
corner after you login at <a href="https://access.redhat.com">https://access.redhat.com</a>.</p>
<p>New accounts don't have an account number. It will be generated after
the first subscription activation.</p>
<p>If you need to know more about Red Hat's ordering process just ask me!</p>
<p class="post-meta">Posted by
<a href="http://atodorov.org/author/alexander-todorov.html">Alexander Todorov</a>
on Fri 23 August 2013
</p>
<p>There are <a href="http://atodorov.org/blog/2013/08/23/how-to-find-your-red-hat-account-number/#disqus_thread">comments</a>.</p> </div>
<div class="post-preview">
<a href="http://atodorov.org/blog/2013/08/13/the-rise-of-io-domains-for-well-crafted-web-services/" rel="bookmark" title="Permalink to The Rise of .io Domains for Well Crafted Web Services">
<h2 class="post-title">
The Rise of .io Domains for Well Crafted Web Services
</h2>
</a>
<p>Back in February 2013 Russell Beattie has published an article on his blog
titled
<a href="http://www.russellbeattie.com/blog/artisanal-websites-the-rise-of-io-domains-for-well-crafted-web-services">Artisanal Websites: The rise of .io domains for well crafted web services</a>
. He has compiled a great deal of sites in the .io domain space with screenshots
and links to each individual service. There are lots of interesting ones, so
go and check them out!</p>
<p>I'm glad Russell has added <a href="http://www.dif.io">Difio</a> as well!</p>
<p class="post-meta">Posted by
<a href="http://atodorov.org/author/alexander-todorov.html">Alexander Todorov</a>
on Tue 13 August 2013
</p>
<p>There are <a href="http://atodorov.org/blog/2013/08/13/the-rise-of-io-domains-for-well-crafted-web-services/#disqus_thread">comments</a>.</p> </div>
<div class="post-preview">
<a href="http://atodorov.org/blog/2013/08/07/notes-from-two-interesting-guadec-talks/" rel="bookmark" title="Permalink to Notes From Two Interesting GUADEC Talks">
<h2 class="post-title">
Notes From Two Interesting GUADEC Talks
</h2>
</a>
<p>As this year's <a href="https://www.guadec.org/">GUADEC</a> is coming to an end
I'm publishing an interesting update from
<a href="https://cz.linkedin.com/in/mullerpetr">Petr Muller</a> for
those who were not able to attend.
Petr is a Senior Quality Engineer at Red Hat. His notes were
sent to an internal QE mailing list and re-published with permission.</p>
<div class="highlight"><pre>As this year's GUADEC happened in the same building where I have my
other office, I decided to attend. I'm sharing my notes from the two
sessions I consider to be especially interesting for the audience of
this mailing list:
== How to not report your UX bug ==
Speaker: Fabiana Simões
Blog: http://fabianapsimoes.wordpress.com/
Twitter: https://twitter.com/fabianapsimoes
Do not do this stuff:
* Do not simply present a preferred solution, but describe a problem (a
difficulty you are having, etc.)
* Do not use "This sucks" idiom, not even hidden in false niceties like
"It's not user friendly"
* Do not talk for majority, when you are not entitled to ("most users
would like")
* Do not consider all UX issues as minor: an inability to do stuff is
not a minor issue
What is actually interesting for the designer in a report?
* What were you trying to do?
* Why did you want to do it?
* What did you do?
* What happened?
* What were your expectations?
More notes
* Write as much as needed
* Describe what you see, did and *how you felt*
* Print screen is your friend!
* *Give praise*
== Extreme containment measures: keeping bug reports under control ==
Speaker: Jean-Francois Fortin Tam
Homepage: http://jeff.ecchi.ca
Twitter: https://twitter.com/nekohayo
Discussed the problem lot of OS projects are having: lot of useless
(old, irrelevant, waiting for decision no one wants to make) bug/rfe
reports in their bug tracking systems. Lots of food for thought about
our own projects, internal or external. Clever applications of
principles from personal productivity systems such as GTD and Inbox Zero
for bug tracking.
The talk was mostly an applied version of this blog post, which is worth
reading:
http://jeff.ecchi.ca/blog/2012/10/08/reducing-our-core-apps-software-inventory/
</pre></div>
<p>I particularly like the UX bug reporting guide lines. Need to take those into
account when reporting UI issues. </p>
<p>I still haven't read the second blog post which also looks interesting although
not very applicable to me. After all I'm the person reporting bugs not the one
who decides what and when gets fixed.</p>
<p class="post-meta">Posted by
<a href="http://atodorov.org/author/alexander-todorov.html">Alexander Todorov</a>
on Wed 07 August 2013
</p>
<p>There are <a href="http://atodorov.org/blog/2013/08/07/notes-from-two-interesting-guadec-talks/#disqus_thread">comments</a>.</p> </div>
<div class="post-preview">
<a href="http://atodorov.org/blog/2013/08/07/the-51st-annual-meeting-of-the-association-for-computational-linguistics/" rel="bookmark" title="Permalink to The 51st Annual Meeting of the Association for Computational Linguistics">
<h2 class="post-title">
The 51st Annual Meeting of the Association for Computational Linguistics
</h2>
</a>
<p>Two hours ago I've heard on the radio about
<a href="http://acl2013.org/site/">the 51st Annual Meeting of the Association for Computational Linguistics</a>
which is held at the moment in Sofia
According to the guest speaker (a professor from Bulgarian Academy of Science) the official
program will be over today but the next two days will feature workshops and tutorials.</p>
<p>Definitely not to be missed if you are in Sofia. I'm not unfortunately :(.
If you can please visit and share what you saw with me. Thanks!</p>
<p class="post-meta">Posted by
<a href="http://atodorov.org/author/alexander-todorov.html">Alexander Todorov</a>
on Wed 07 August 2013
</p>
<p>There are <a href="http://atodorov.org/blog/2013/08/07/the-51st-annual-meeting-of-the-association-for-computational-linguistics/#disqus_thread">comments</a>.</p> </div>
<div class="post-preview">
<a href="http://atodorov.org/blog/2013/08/05/exploring-blackberry-10-environment-variables/" rel="bookmark" title="Permalink to Exploring BlackBerry 10 - Environment Variables">
<h2 class="post-title">
Exploring BlackBerry 10 - Environment Variables
</h2>
</a>
<p>Just a quick reference of environment variables as seen by the
<code>BGshellPlusFree</code> terminal app.</p>
<div class="highlight"><pre><span class="nv">APPCPU</span><span class="o">=</span>
<span class="nv">AUTOORIENTS</span><span class="o">=</span>portrait
<span class="nv">BASEFS</span><span class="o">=</span>/base
<span class="nv">BMETRICS_NAME</span><span class="o">=</span>launcher
<span class="nv">BOARDFILE</span><span class="o">=</span>/base/board.tdf
<span class="nv">BOARD_CONFIG</span><span class="o">=</span>factory_sfi
<span class="nv">BOOT_LOADER</span><span class="o">=</span>RIMBOOT
<span class="nv">BOOT_START_TIME</span><span class="o">=</span>1375381026
<span class="nv">CELLULAR_NET_IF_PREFIX</span><span class="o">=</span>cellular
<span class="nv">COVERHEIGHT</span><span class="o">=</span>396
<span class="nv">COVERWIDTH</span><span class="o">=</span>334
<span class="nv">CPU</span><span class="o">=</span>armle-v7
<span class="nv">DECKARD_DEBUG</span><span class="o">=</span>0
<span class="nv">DECKARD_DEBUG_SCRIPT</span><span class="o">=</span>0
<span class="nv">DISK_ALIMIT</span><span class="o">=</span>65536
<span class="nv">FLASHTMP</span><span class="o">=</span>/tmp
<span class="nv">FLASH_FONT_CFG_PATH</span><span class="o">=</span>/etc/system/config/flash-font.cfg
<span class="nv">FONTCONFIG_FILE</span><span class="o">=</span>/etc/fontconfig/fonts.conf
<span class="nv">GRAPHICS_ROOT</span><span class="o">=</span>/usr/lib/graphics/omap4470
<span class="nv">HEIGHT</span><span class="o">=</span>1280
<span class="nv">HMI_REMOTE</span><span class="o">=</span>FALSE
<span class="nv">HMI_VOLUME_SCALE</span><span class="o">=</span>50
<span class="nv">HOME</span><span class="o">=</span>/accounts/1000/appdata/com.BGmot.BGshellPlusFree.gYABgHVtFpaI1Xhiaw0hMuCbPNk/data
<span class="nv">IFS</span><span class="o">=</span><span class="s1">' </span>
<span class="s1">'</span>
<span class="nv">IFS_BOOT_ENV</span><span class="o">=</span>yes
<span class="nv">KSH_VERSION</span><span class="o">=</span><span class="s1">'@(#)PD KSH v5.2.14 99/07/13.2'</span>
<span class="nv">LANG</span><span class="o">=</span>C
<span class="nv">LD_LIBRARY_PATH</span><span class="o">=</span>/usr/lib/qt4/lib:app/native/lib:/usr/lib/appserv
<span class="nv">LIBIMG_CFGFILE</span><span class="o">=</span>/etc/system/config/img.conf
<span class="nv">LOCFILE</span><span class="o">=</span>/usr/share/locale/locale.file
<span class="nv">LOGDIR</span><span class="o">=</span>/var/log
<span class="nv">MAILCHECK</span><span class="o">=</span>600
<span class="nv">MHSDEVICE</span><span class="o">=</span>tiw_sap0
<span class="nv">MIN_VALID_DATE</span><span class="o">=</span>200905010000.00
<span class="nv">MIN_VALID_DATE_SEC</span><span class="o">=</span>1241136000
<span class="nv">MM_INIT</span><span class="o">=</span>/base/lib/dll/mmedia
<span class="nv">NET_PPS_ROOT</span><span class="o">=</span>/pps/services/networking
<span class="nv">OLDPWD</span><span class="o">=</span>/accounts/1000
<span class="nv">OPTIND</span><span class="o">=</span>1
<span class="nv">ORIENTATION</span><span class="o">=</span>0
<span class="nv">OS_VERSION</span><span class="o">=</span>10.1.0.1720
<span class="nv">PATH</span><span class="o">=</span>app/native:/base/bin:/base/usr/bin:/base/sbin:/base/usr/sbin:/base/usr/photon/bin:/base/scripts:/radio/bin:/radio/usr/bin:/radio/sbin:/radio/usr/sbin:/radio/scripts:/proc/boot:/base/bin:/base/sbin:/base/usr/bin:/base/usr/sbin
<span class="nv">PERIMETER</span><span class="o">=</span>personal
<span class="nv">PERIMETER_HOME</span><span class="o">=</span>/accounts/1000
<span class="nv">PERSISTENCE_DATA</span><span class="o">=</span>/
<span class="nv">PHFONT</span><span class="o">=</span>/dev/phfont
<span class="nv">PHKSCOPE</span><span class="o">=</span>1
<span class="nv">PHOTON</span><span class="o">=</span>/dev/photon
<span class="nv">PLATFORM</span><span class="o">=</span>London
<span class="nv">PLATFORM_CLASS</span><span class="o">=</span>phone
<span class="nv">PLATFORM_FAMILY</span><span class="o">=</span>
<span class="nv">PLATFORM_FAMILY_LC</span><span class="o">=</span>
<span class="nv">PLATFORM_LOWERCASE</span><span class="o">=</span>london
<span class="nv">PLATFORM_REV</span><span class="o">=</span>08
<span class="nv">PPID</span><span class="o">=</span>19493019
<span class="nv">PPSDIR</span><span class="o">=</span>/pps
<span class="nv">PS1</span><span class="o">=</span><span class="s1">'$ '</span>
<span class="nv">PS2</span><span class="o">=</span><span class="s1">'> '</span>
<span class="nv">PS3</span><span class="o">=</span><span class="s1">'#? '</span>
<span class="nv">PS4</span><span class="o">=</span><span class="s1">'+ '</span>
<span class="nv">PWD</span><span class="o">=</span>/accounts/1000/appdata/com.BGmot.BGshellPlusFree.gYABgHVtFpaI1Xhiaw0hMuCbPNk/data
<span class="nv">QML_IMPORT_PATH</span><span class="o">=</span>/base/usr/lib/qt4/imports
<span class="nv">QT_LIB_PATH</span><span class="o">=</span>/base/usr/lib/qt4/lib
<span class="nv">QT_PLUGIN_PATH</span><span class="o">=</span>/base/usr/lib/qt4/plugins
<span class="nv">QT_QPA_PLATFORM</span><span class="o">=</span>blackberry
<span class="nv">RADIOBOARDFILE</span><span class="o">=</span>/radio/radio.tdf
<span class="nv">RADIOFS</span><span class="o">=</span>/radio
<span class="nv">RADIO_BOARD_CONFIG</span><span class="o">=</span>m5730
<span class="nv">RADIO_NET_IF_LIST</span><span class="o">=</span><span class="s1">' cellular0 cellular1 cellular2 cellular3 cellular4'</span>
<span class="nv">RADIO_VERSION</span><span class="o">=</span>10.1.0.1721
<span class="nv">RAMSIZE</span><span class="o">=</span>1G
<span class="nv">RANDOM</span><span class="o">=</span>18235
<span class="nv">ROOTFS</span><span class="o">=</span>/
<span class="nv">ROTATION</span><span class="o">=</span>top_up
<span class="nv">RTC_CLOCK_OPTS</span><span class="o">=</span>
<span class="nv">RTC_CLOCK_TYPE</span><span class="o">=</span>
<span class="nv">RTC_OPTS</span><span class="o">=</span>
<span class="nv">SANDBOX</span><span class="o">=</span>/accounts/1000/appdata/com.BGmot.BGshellPlusFree.gYABgHVtFpaI1Xhiaw0hMuCbPNk
<span class="nv">SECONDS</span><span class="o">=</span>2167
SHELL
<span class="nv">STDIO_DEFAULT_BUFSIZE</span><span class="o">=</span>8192
<span class="nv">SYSNAME</span><span class="o">=</span>nto
<span class="nv">TEMP</span><span class="o">=</span>/accounts/1000/appdata/com.BGmot.BGshellPlusFree.gYABgHVtFpaI1Xhiaw0hMuCbPNk/tmp
<span class="nv">TERM</span><span class="o">=</span>ansi
<span class="nv">TMOUT</span><span class="o">=</span>0
<span class="nv">TMP</span><span class="o">=</span>/accounts/1000/appdata/com.BGmot.BGshellPlusFree.gYABgHVtFpaI1Xhiaw0hMuCbPNk/tmp
<span class="nv">TMPDIR</span><span class="o">=</span>/accounts/1000/appdata/com.BGmot.BGshellPlusFree.gYABgHVtFpaI1Xhiaw0hMuCbPNk/tmp
<span class="nv">WIDTH</span><span class="o">=</span>768
<span class="nv">WIFIDEVICE</span><span class="o">=</span>tiw_sta0
<span class="nv">WLANCHP</span><span class="o">=</span>ti1283
<span class="nv">WLANDEV</span><span class="o">=</span>london
<span class="nv">WLANDRV</span><span class="o">=</span>mcp33
<span class="nv">WLANSUPPVER</span><span class="o">=</span>08
<span class="nv">_</span><span class="o">=</span><span class="nb">set</span>
<span class="nv">uname_m</span><span class="o">=</span>OMAP4470_ES1.0_HS_London_Rev:08
</pre></div>
<p class="post-meta">Posted by
<a href="http://atodorov.org/author/alexander-todorov.html">Alexander Todorov</a>
on Mon 05 August 2013
</p>
<p>There are <a href="http://atodorov.org/blog/2013/08/05/exploring-blackberry-10-environment-variables/#disqus_thread">comments</a>.</p> </div>
<div class="post-preview">
<a href="http://atodorov.org/blog/2013/08/04/exploring-blackberry-10-application-security-model/" rel="bookmark" title="Permalink to Exploring BlackBerry 10 - Application Security Model">
<h2 class="post-title">
Exploring BlackBerry 10 - Application Security Model
</h2>
</a>
<p>BlackBerry 10 OS application security model is enforced by two major components:
<a href="https://developer.blackberry.com/native/documentation/bb10/com.qnx.doc.native_sdk.devguide/com.qnx.doc.native_sdk.devguide/topic/c_appfund_accessing_restricted_functionality.html">app permissions</a>
and
<a href="https://developer.blackberry.com/native/documentation/bb10/com.qnx.doc.native_sdk.devguide/com.qnx.doc.native_sdk.devguide/topic/accessible_folders.html">filesystem access privileges</a>.</p>
<p>Also it looks like that each app is assigned a separate group id. Below is a listing
of my currently installed apps as seen from <code>devuser</code>. An application can't execute
another apps (e.g. exec) as far as I can see. Not possible with the shell app either.</p>
<p>I think I will have to
bundle all command line tools together with a shell into a single app so the shell
is able to invoke any of the commands that are not system standard. I'm not liking this
very much!</p>
<p>$HOME is inside the app space too :(. See my other post about
<a href="/blog/2013/08/05/exploring-blackberry-10-environment-variables/">environment variables</a>.</p>
<div class="highlight"><pre><span class="nv">$ </span><span class="nb">pwd</span>
/accounts/1000
<span class="nv">$ </span>ls -l appdata/ appserv/
appdata/:
total 552
drwxr-x--- <span class="m">6</span> apps <span class="m">10143</span> <span class="m">4096</span> Jul <span class="m">25</span> 16:22 com.BGmot.BGshellPlusFree.gYABgHVtFpaI1Xhiaw0hMuCbPNk
drwxr-x--- <span class="m">6</span> apps <span class="m">10141</span> <span class="m">4096</span> Jul <span class="m">20</span> 21:34 com.catikkas.jenkins10.gYABgOZDFJiaJUObnHnYGyedaJE
drwxr-x--- <span class="m">6</span> apps <span class="m">10134</span> <span class="m">4096</span> Jul <span class="m">17</span> 09:02 com.example.Chat_1.gYABgLTE22iUbVEQqMQWh1h8qGw
drwxr-x--- <span class="m">6</span> apps <span class="m">10003</span> <span class="m">4096</span> Jul <span class="m">13</span> 01:56 com.foursquare.blackberry.gYABgBY3zYaCRi7CDRw5ChZRJ18
drwxr-x--- <span class="m">6</span> apps <span class="m">10004</span> <span class="m">4096</span> Jul <span class="m">12</span> 22:26 com.linkedin.gYABgPilB6lwL6lsxmVwDOfmbO8
drwxr-x--- <span class="m">6</span> apps <span class="m">10145</span> <span class="m">4096</span> Jul <span class="m">27</span> 22:05 com.mappau.SystemInformation.gYABgPYOA670hrzAeZ.Eg91JZFU
drwxr-x--- <span class="m">6</span> apps <span class="m">100051000</span> <span class="m">4096</span> Jul <span class="m">12</span> 23:04 com.rim.bb.app.adobeReader.gYABgAxBqJsMx5M..e.RfW5WpTU
drwxr-x--- <span class="m">6</span> apps <span class="m">10006</span> <span class="m">4096</span> Jul <span class="m">13</span> 00:06 com.rim.bb.app.facebook.gYABgDLo0nc9AhDgv2JAPixdyvQ
drwxr-x--- <span class="m">6</span> apps <span class="m">10123</span> <span class="m">4096</span> Jul <span class="m">23</span> 13:32 com.rim.bb.app.newsstand.gYABgIYcPYRGuuoXUB7e7VfgiaA
drwxr-x--- <span class="m">6</span> apps <span class="m">10116</span> <span class="m">4096</span> Jul <span class="m">13</span> 01:16 com.savvysaurus.RssSavvy.gYABgCcU_QDmZyIEIHfBoxukmi4
drwxr-x--- <span class="m">6</span> apps <span class="m">100021000</span> <span class="m">4096</span> Jul <span class="m">12</span> 22:39 com.tcs.maps.gYABgCxm2rf5o5xfFP8dPCQnlJY
drwxr-x--- <span class="m">6</span> apps <span class="m">10009</span> <span class="m">4096</span> Jul <span class="m">12</span> 22:18 com.twitter.gYABgMxtkHoH6S4G1_Ff5yu0E.I
drwxr-x--- <span class="m">6</span> apps <span class="m">10138</span> <span class="m">4096</span> Jul <span class="m">18</span> 21:27 helex.NativeFlash.gYABgHc51xjJK7eHzYQIH2y6hxA
drwxr-x--- <span class="m">6</span> apps air_services <span class="m">4096</span> Jul <span class="m">12</span> 21:57 sys.airservices
drwxr-x--- <span class="m">6</span> apps <span class="m">100131000</span> <span class="m">4096</span> Jul <span class="m">13</span> 02:24 sys.airtunes.gYABgCWWhIycHhiFjXeIyW1Qvpo
drwxr-x--- <span class="m">6</span> apps <span class="m">10014</span> <span class="m">4096</span> Jul <span class="m">12</span> 23:26 sys.android.gYABgKAOw1czN6neiAT72SGO.ns
drwxr-x--- <span class="m">6</span> apps <span class="m">10015</span> <span class="m">4096</span> Jul <span class="m">12</span> 23:26 sys.android.shell.gYABgCWpLq.7ipa6NFYT0JaLpt8
drwxr-x--- <span class="m">6</span> apps <span class="m">10016</span> <span class="m">4096</span> Jul <span class="m">12</span> 21:58 sys.appworld.gYABgNSvaLtte_snIx7wjRsOcyM
drwxr-x--- <span class="m">6</span> apps <span class="m">10017</span> <span class="m">4096</span> Jul <span class="m">12</span> 21:58 sys.bbm.gYABgLOJBR2Vz7FzS.kdgJchuag
drwxr-x--- <span class="m">6</span> apps <span class="m">100001000</span> <span class="m">4096</span> Jul <span class="m">12</span> 22:24 sys.browser.gYABgJYFHAzbeFMPCCpYWBtHAm0
drwxr-x--- <span class="m">6</span> apps <span class="m">10032</span> <span class="m">4096</span> Jul <span class="m">12</span> 23:00 sys.calculator.gYABgJidBvuZ89m_1j4PV2712.A
drwxr-x--- <span class="m">6</span> apps <span class="m">10034</span> <span class="m">4096</span> Jul <span class="m">12</span> 23:14 sys.camera.gYABgAvGHb4h9H5WeWdjQhXgeRM
drwxr-x--- <span class="m">6</span> apps <span class="m">10124</span> <span class="m">4096</span> Jul <span class="m">17</span> 10:45 sys.cfs.box.gYABgJKe3gZus2hhkRPM4zcarBU
drwxr-x--- <span class="m">6</span> apps <span class="m">10125</span> <span class="m">4096</span> Jul <span class="m">17</span> 10:45 sys.cfs.dropbox.gYABgKi0Cs_hMocaoCB7UgqkaIU
drwxr-x--- <span class="m">6</span> apps <span class="m">10126</span> <span class="m">4096</span> Jul <span class="m">15</span> 14:25 sys.cfs.webdav.todtm.gYABgGnToZvN4bqMB3xslfel.KU
drwxr-x--- <span class="m">6</span> apps <span class="m">10037</span> <span class="m">4096</span> Jul <span class="m">14</span> 22:21 sys.chat.gYABgADt.JeweQYFvYX28P5bwu0
drwxr-x--- <span class="m">6</span> apps <span class="m">10038</span> <span class="m">4096</span> Jul <span class="m">12</span> 23:07 sys.clock.gYABgKNXug.mDFoFoYHLmJofAts
drwxr-x--- <span class="m">6</span> apps <span class="m">10039</span> <span class="m">4096</span> Jul <span class="m">12</span> 22:53 sys.compass.gYABgM06vW4QuahSmSW7eBlHxb4
drwxr-x--- <span class="m">6</span> apps <span class="m">100101000</span> <span class="m">4096</span> Jul <span class="m">12</span> 22:59 sys.dxtg.launcher.gYABgHFqGG632tetjwVL_egrHHc
drwxr-x--- <span class="m">6</span> apps <span class="m">100121000</span> <span class="m">4096</span> Jul <span class="m">12</span> 22:59 sys.dxtg.sstg.gYABgLhf.C6ER6tWA.ObKMKalQU
drwxr-x--- <span class="m">6</span> apps <span class="m">100111000</span> <span class="m">4096</span> Aug <span class="m">01</span> 22:55 sys.dxtg.stg.gYABgKF.gjTVTclxOrZ0RRQcoTc
drwxr-x--- <span class="m">6</span> apps <span class="m">100871000</span> <span class="m">4096</span> Jul <span class="m">15</span> 00:40 sys.dxtg.wtg.gYABgKH0JhT7tasXrfXUyNxNaew
drwxr-x--- <span class="m">6</span> apps <span class="m">100431000</span> <span class="m">4096</span> Jul <span class="m">14</span> 23:30 sys.filepicker.gYABgBUOB4WQ4V0f7gH0kMCrcVA
drwxr-x--- <span class="m">6</span> apps <span class="m">10001</span> <span class="m">4096</span> Jul <span class="m">12</span> 21:58 sys.firstlaunch.gYABgE1L_lY.sjW85E1SCBQsrco
drwxr-x--- <span class="m">6</span> apps <span class="m">10044</span> <span class="m">4096</span> Jul <span class="m">12</span> 22:53 sys.games.gYABgCM5htxnRwx8VmvFMD0Hbj4
drwxr-x--- <span class="m">6</span> apps <span class="m">100451000</span> <span class="m">4096</span> Jul <span class="m">12</span> 23:05 sys.help.gYABgPG.Su8AzxaqqONbaanIprc
drwxr-x--- <span class="m">6</span> apps keyboard <span class="m">4096</span> Jul <span class="m">12</span> 21:57 sys.keyboard
drwxr-x--- <span class="m">6</span> apps <span class="m">100471000</span> <span class="m">4096</span> Jul <span class="m">27</span> 21:36 sys.mediaplayer.gYABgHtLSIC4bjdb005eaW5ixzU
drwxr-x--- <span class="m">6</span> apps <span class="m">10049</span> <span class="m">4096</span> Jul <span class="m">12</span> 23:00 sys.mmagic.gYABgGN_jnGTnVoC_K.mfaBq87g
drwxr-x--- <span class="m">6</span> apps nto <span class="m">4096</span> Jul <span class="m">12</span> 21:57 sys.navigator
drwxr-x--- <span class="m">6</span> apps <span class="m">100511000</span> <span class="m">4096</span> Jul <span class="m">12</span> 22:24 sys.notification_card.gYABgLyFNMkTny6ihJLjaG02jUU
drwxr-x--- <span class="m">6</span> apps <span class="m">10052</span> <span class="m">4096</span> Jul <span class="m">17</span> 10:38 sys.paymentsystem.gYABgPLIJa_bijh7gGqV5LuyCK4
drwxr-x--- <span class="m">6</span> apps <span class="m">100531000</span> <span class="m">4096</span> Jul <span class="m">12</span> 23:03 sys.perimeterbrowser.gYABgMgpl40MVrFkZvPEXRuQTGE
drwxr-x--- <span class="m">6</span> apps <span class="m">10054</span> <span class="m">4096</span> Jul <span class="m">12</span> 22:01 sys.phone.gYABgB3m3BHdGLR4aicCyzCVsYQ
drwxr-x--- <span class="m">6</span> apps <span class="m">10055</span> <span class="m">4096</span> Jul <span class="m">15</span> 00:42 sys.phone_settings.gYABgP8tnMCm3UDXaovgTHoEZB4
drwxr-x--- <span class="m">6</span> apps <span class="m">100561000</span> <span class="m">4096</span> Jul <span class="m">15</span> 21:08 sys.pictureeditor.gYABgIRm37_owYKt4P0uCEhSj.o
drwxr-x--- <span class="m">6</span> apps <span class="m">100571000</span> <span class="m">4096</span> Jul <span class="m">12</span> 22:01 sys.pictures.gYABgFZ.pCiYHqciL1zClEPjmps
drwxr-x--- <span class="m">6</span> apps <span class="m">100581000</span> <span class="m">4096</span> Jul <span class="m">15</span> 16:29 sys.picturesviewer.gYABgFKlvDBH.tdV7sGqIDZHnNY
drwxr-x--- <span class="m">6</span> apps <span class="m">10033</span> <span class="m">4096</span> Jul <span class="m">12</span> 22:10 sys.pim.calendar.gYABgG0xvpxP1jARa6DD5o.VL8A
drwxr-x--- <span class="m">6</span> apps <span class="m">10059</span> <span class="m">4096</span> Jul <span class="m">16</span> 09:15 sys.pim.calendar.viewer.eventcreate.gYABgBtmuosCGVI3YO1ImfFgbgY
drwxr-x--- <span class="m">6</span> apps <span class="m">100601000</span> <span class="m">4096</span> Jul <span class="m">12</span> 22:26 sys.pim.calendar.viewer.ics.gYABgMsLIpp41sIscDzLSeRZuIQ
drwxr-x--- <span class="m">6</span> apps <span class="m">10040</span> <span class="m">4096</span> Jul <span class="m">12</span> 22:14 sys.pim.contacts.gYABgGsAOuzqCT1fu5Zx4sqrJdY
drwxr-x--- <span class="m">6</span> apps <span class="m">100621000</span> <span class="m">4096</span> Jul <span class="m">12</span> 22:23 sys.pim.email.card.gYABgHLnJMGjgoIAsdeYM2JzUsU
drwxr-x--- <span class="m">6</span> apps <span class="m">10063</span> <span class="m">4096</span> Jul <span class="m">13</span> 01:49 sys.pim.email.composer.card.gYABgGkBKIp75QI99dsGTdrb5IE
drwxr-x--- <span class="m">6</span> apps <span class="m">10064</span> <span class="m">4096</span> Jul <span class="m">12</span> 21:58 sys.pim.messages.gYABgJ8jn83Ok_NEWYplPYozt5w
drwxr-x--- <span class="m">6</span> apps <span class="m">10065</span> <span class="m">4096</span> Jul <span class="m">12</span> 23:00 sys.pim.remember.gYABgF9PcqaN7GRKPlDPuqOyda0
drwxr-x--- <span class="m">6</span> apps <span class="m">100671000</span> <span class="m">4096</span> Jul <span class="m">12</span> 23:03 sys.printoutstogo.gYABgPMP3nxNZlNieZUDetUiQio
drwxr-x--- <span class="m">6</span> apps <span class="m">10068</span> <span class="m">4096</span> Jul <span class="m">13</span> 13:26 sys.search.gYABgPp5WMkB_07CE6wzbflslRQ
drwxr-x--- <span class="m">6</span> apps <span class="m">10069</span> <span class="m">4096</span> Jul <span class="m">12</span> 22:02 sys.settings.gYABgFXZghhSmuJ6oBTACT1DwpQ
drwxr-x--- <span class="m">6</span> apps <span class="m">10070</span> <span class="m">4096</span> Jul <span class="m">12</span> 22:01 sys.setupbuffet.gYABgCbSxd9WrFvFV8sJDoI7tlE
drwxr-x--- <span class="m">6</span> apps <span class="m">10071</span> <span class="m">4096</span> Jul <span class="m">16</span> 09:18 sys.simtoolkit_ui_app.gYABgNsM_6zxbmp668bBbRexQiA
drwxr-x--- <span class="m">6</span> apps <span class="m">10072</span> <span class="m">4096</span> Jul <span class="m">12</span> 23:05 sys.smarttags.gYABgNvWPl0Fpbeva2LkhFplXYY
drwxr-x--- <span class="m">6</span> apps <span class="m">10073</span> <span class="m">4096</span> Jul <span class="m">12</span> 22:04 sys.socialconnect.facebook.gYABgPNVFtmlTnTGF_U0dFfTvgQ
drwxr-x--- <span class="m">6</span> apps <span class="m">10074</span> <span class="m">4096</span> Jul <span class="m">12</span> 22:26 sys.socialconnect.linkedin.gYABgCUcHQzQnN9ZnpyVppfXHEQ
drwxr-x--- <span class="m">6</span> apps <span class="m">10075</span> <span class="m">4096</span> Jul <span class="m">12</span> 22:18 sys.socialconnect.twitter.gYABgB2cPvkIcyPxzQPSK9Jx89U
drwxr-x--- <span class="m">6</span> apps <span class="m">10079</span> <span class="m">4096</span> Jul <span class="m">23</span> 13:27 sys.vad.gYABgJPtEgEJTVKTkyq7_BalYto
drwxr-x--- <span class="m">6</span> apps <span class="m">100811000</span> <span class="m">4096</span> Jul <span class="m">12</span> 22:37 sys.videoplayer.gYABgEydozZr9q.ClZkrItC9LMM
drwxr-x--- <span class="m">6</span> apps <span class="m">10085</span> <span class="m">4096</span> Jul <span class="m">12</span> 22:47 sys.weather.gYABgKOf0EhVEWtCxrbBQ00sPSg
drwxr-x--- <span class="m">6</span> apps <span class="m">10086</span> <span class="m">4096</span> Jul <span class="m">12</span> 21:58 sys.zbbiocm.gYABgDZcy0Sq5cvKqkoZgR3qJps
appserv/:
total 0
dr-xr-xr-x <span class="m">2</span> root nto <span class="m">0</span> Aug <span class="m">04</span> 00:03 sys.cfs.box.gYABgJKe3gZus2hhkRPM4zcarBU
dr-xr-xr-x <span class="m">2</span> root nto <span class="m">0</span> Aug <span class="m">04</span> 00:03 sys.cfs.dropbox.gYABgKi0Cs_hMocaoCB7UgqkaIU
dr-xr-xr-x <span class="m">2</span> root nto <span class="m">0</span> Aug <span class="m">04</span> 00:03 sys.cfs.webdav.todtm.gYABgGnToZvN4bqMB3xslfel.KU
</pre></div>
<p class="post-meta">Posted by
<a href="http://atodorov.org/author/alexander-todorov.html">Alexander Todorov</a>
on Sun 04 August 2013
</p>
<p>There are <a href="http://atodorov.org/blog/2013/08/04/exploring-blackberry-10-application-security-model/#disqus_thread">comments</a>.</p> </div>
<div class="post-preview">
<a href="http://atodorov.org/blog/2013/08/03/quick-update-laptop-vs-smartphone-updated/" rel="bookmark" title="Permalink to Quick Update: Laptop vs Smartphone Updated">
<h2 class="post-title">
Quick Update: Laptop vs Smartphone Updated
</h2>
</a>
<p><a href="/blog/2013/08/01/laptop-vs-smartphone-part-one/">Smartphone hardware requirements</a>
updated with USB host mode requirement.</p>
<p class="post-meta">Posted by
<a href="http://atodorov.org/author/alexander-todorov.html">Alexander Todorov</a>
on Sat 03 August 2013
</p>
<p>There are <a href="http://atodorov.org/blog/2013/08/03/quick-update-laptop-vs-smartphone-updated/#disqus_thread">comments</a>.</p> </div>
<div class="post-preview">
<a href="http://atodorov.org/blog/2013/08/02/summer-hackathon-in-sofia/" rel="bookmark" title="Permalink to Summer Hackathon in Sofia">
<h2 class="post-title">
Summer Hackathon in Sofia
</h2>
</a>
<p><img src="/images/hackfmi/Logo_SummerHackFMI.png" alt="Summer HackFMI" style="display:block;clear:both" /></p>
<p>A <a href="http://hackfmi.com/spontanen-leten-hachathon/">summer hackathon</a>
will be held in Sofia between 16th and 22nd of August. The week prior to the
event (12th to 15th) will be full of lectures and workshops to prepare the students
for their task.</p>
<p>The goal this time is to create a new system for the Student Council organization
which will host their new website and also provide more transparency into the
organization and the work they do. The idea is initiated by the chairman of the
council which is quite surprising for me to hear. You can read his motivation
(in Bulgarian) <a href="https://github.com/Hackfmi/SummerHackathon/blob/master/motivation.md">here</a>.</p>
<p>At the moment it is agreed that the system will be written in Python and Django
and this is where I join. Together with Kiril Vladimirov I will be leading the
Python/Django lecture and workshop in one of the days, likely 14th of August.</p>
<p>The program is not yet finalized so I can't share more info. Please watch this
space for more details when they are available. </p>
<p class="post-meta">Posted by
<a href="http://atodorov.org/author/alexander-todorov.html">Alexander Todorov</a>
on Fri 02 August 2013
</p>
<p>There are <a href="http://atodorov.org/blog/2013/08/02/summer-hackathon-in-sofia/#disqus_thread">comments</a>.</p> </div>
<div class="post-preview">
<a href="http://atodorov.org/blog/2013/08/01/laptop-vs-smartphone-part-one/" rel="bookmark" title="Permalink to Laptop vs Smartphone, Part 1, Requirements">
<h2 class="post-title">
Laptop vs Smartphone, Part 1, Requirements
</h2>
</a>
<p>As some of you may know or have heard I'm in the process of ditching my
<a href="http://amzn.to/12y5hwp">Lenovo X220</a> in favor of a smartphone. The ultimate
goal is to not need a personal computer at all and use only one device for
all my processing needs. Everything else can be conveniently migrated to
the cloud. The current favorite device is <a href="http://amzn.to/12y4ewJ">BlackBerry Z10</a>
but that may change as I explore the smartphone world and my requirements.</p>
<p>This is my list of requirements, mainly for my own reference but you are welcome
to comment and give me suggestions how to migrate.</p>
<h2>Hardware</h2>
<div class="highlight"><pre>+-----------------------+--------------------+-------------------+-------------------+
| Requirement | Lenovo X220 | BlackBerry Z10 | Notes |
+-----------------------+--------------------+-------------------+-------------------+
| Network Connectivity | RJ-45, Wi-Fi, | Wi-Fi, 3G | |
| | 3G (optional) | | |
| | or USB modem | | |
+-----------------------+--------------------+-------------------+-------------------+
| Battery Life | 8 hrs idle, 9 cell | 13 days standby | TBC |
| | 5-6 hrs networking | 10 hrs talk (3G) | |
+-----------------------+--------------------+-------------------+-------------------+
| Display Size | 1366x768, 96 DPI | 1280x768, 356 PPI | |
+-----------------------+--------------------+-------------------+-------------------+
| Sunlight Readable | Very hard even at | Yes, even at | TBC |
| | full brightness | medium brightness | |
+-----------------------+--------------------+-------------------+-------------------+
| Weight | around 1,5 kg | 136g | |
+-----------------------+--------------------+-------------------+-------------------+
| Docking Capability | Integrated or USB | unknown, N/A | for desk usage |
+-----------------------+--------------------+-------------------+-------------------+
| External video/audio | VGA, 3,5mm jack | Micro HDMI, 3,5mm | presentation mode |
+-----------------------+--------------------+-------------------+-------------------+
| External Connectivity | USB 2.0 and 3.0, | micro USB 2.0, | |
| | Bluetooth | Bluetooth, NFC | |
+-----------------------+--------------------+-------------------+-------------------+
| Storage | 320GB, ~ 50G used | 16GB internal | TODO: speed test |
| | | 32GB microSD | |
+-----------------------+--------------------+-------------------+-------------------+
| RAM | 8GB | 2GB | TBC |
| | | 1GB on Dev device | |
+-----------------------+--------------------+-------------------+-------------------+
| CPU virtualization | Yes, full virt | No | loading other OS |
| | | | ** critical |
+-----------------------+--------------------+-------------------+-------------------+
| UPDATE 2013-08-03 | Yes | No, |** essential |
| USB host mode | | ETA 10.2 Aug 2013 | |
+-----------------------+--------------------+-------------------+-------------------+
</pre></div>
<p><strong>Notes:</strong></p>
<ul>
<li>
<p>I need a test for the battery life of a smartphone in use and while traveling
and connected to the Internet. Data shown is as given by manufacturer. Talking
from experience the 10 hrs talk time are roughly equivalent to 10 hrs of Internet
and apps usage. I have to charge my Z10 almost every day and I still don't use it
that actively.</p>
</li>
<li>
<p>The displays of all recent smartphones are far better than notebooks. I can read
my phone outside but haven't actually tried a direct sunlight exposure. Will do this
and update with more info.</p>
</li>
<li>
<p>Speed storage may be an issue, although I don't use storage intensive applications.
Will test this and report with more info.</p>
</li>
<li>
<p>RAM is a <strong>BIG</strong> issue. Currently my desktop utilizes around 4GB but on x86_64
objects are bigger (Python objects are 4x compared to i386). I've previously used
an old Lenovo T60 with only 2GB of RAM and i386 environment. Didn't have any issues.</p>
</li>
</ul>
<p>On Z10 the memory is not utilized in the best fashion. Something is eating away
RAM and I'm left with around 150MB of free memory after some phone use. For one
<code>/tmp</code> is mounted directly into RAM and some apps are misbehaving. I've seen a low
cost Android tablets and phones running with 512MB of RAM. Need to investigate more.</p>
<ul>
<li>
<p>Virtualization and most importantly USB pass-through is a critical issue. I have
a proprietary smart-card electronic signature device which needs to continue working.
I have no problems running a cloud instance but haven't figured out how to do USB
pass-through between local hardware and cloud instance.</p>
</li>
<li>
<p><strong>UPDATE 2013-08-03</strong>: USB host mode is essential for some docking hardware. This means that the phone
will be able to connect to external USB devices such as USB drives or cameras.
For more info read
<a href="http://forums.crackberry.com/news-rumors-f40/usb-host-mode-806937/">here</a> and
<a href="https://developer.blackberry.com/native/download/roadmap/">here</a>.</p>
</li>
</ul>
<h2>Software</h2>
<p>Here things get hairy as I use quite a lot of software.</p>
<div class="highlight"><pre><span class="o">+----------------------+---------------------+------------------------------------------------+</span>
<span class="o">|</span> <span class="nx">Linux</span> <span class="nx">Software</span> <span class="o">|</span> <span class="nx">BlackBerry</span> <span class="mi">10</span> <span class="nx">OS</span> <span class="o">|</span> <span class="nx">Notes</span> <span class="o">|</span>
<span class="o">+----------------------+---------------------+------------------------------------------------+</span>
<span class="o">|</span> <span class="nx">UPDATE</span> <span class="mi">2013</span><span class="o">-</span><span class="mi">08</span><span class="o">-</span><span class="mi">02</span> <span class="o">|</span> <span class="nx">Built</span><span class="o">-</span><span class="k">in</span> <span class="o">|</span> <span class="nx">I</span> <span class="nx">need</span> <span class="nx">to</span> <span class="nx">check</span> <span class="k">if</span> <span class="nx">BB</span> <span class="nx">encryption</span> <span class="nx">meets</span> <span class="nx">my</span> <span class="o">|</span>
<span class="o">|</span> <span class="nx">LUKS</span><span class="o">/</span><span class="nx">disk</span> <span class="nx">encryption</span> <span class="o">|</span> <span class="o">|</span> <span class="nx">enterprise</span> <span class="nx">requirements</span><span class="p">.</span> <span class="o">|</span>
<span class="o">+----------------------+---------------------+------------------------------------------------+</span>
<span class="o">|</span> <span class="nx">Bash</span> <span class="nx">shell</span> <span class="o">|</span> <span class="nx">v5</span><span class="p">.</span><span class="mf">2.14</span> <span class="mi">99</span><span class="o">/</span><span class="mi">07</span><span class="o">/</span><span class="mf">13.2</span> <span class="o">|</span> <span class="nx">I</span> <span class="nx">have</span> <span class="nx">no</span> <span class="nx">idea</span> <span class="nx">how</span> <span class="nx">compatible</span> <span class="nx">PD</span> <span class="nx">KSH</span> <span class="nx">is</span><span class="p">.</span> <span class="o">|</span>
<span class="o">|</span> <span class="o">|</span> <span class="o">|</span> <span class="nx">For</span> <span class="nx">serious</span> <span class="nx">scripting</span> <span class="nx">I</span> <span class="nx">will</span> <span class="nx">need</span> <span class="nx">Bash</span> <span class="nx">anyway</span><span class="p">.</span> <span class="o">|</span>
<span class="o">+----------------------+---------------------+------------------------------------------------+</span>
<span class="o">|</span> <span class="nx">GNU</span> <span class="nx">Coreutils</span> <span class="o">|</span> <span class="o">|</span> <span class="nx">Some</span> <span class="nx">tools</span> <span class="nx">are</span> <span class="nx">present</span> <span class="nx">but</span> <span class="nx">not</span> <span class="nx">all</span><span class="p">.</span> <span class="o">|</span>
<span class="o">|</span> <span class="o">|</span> <span class="o">|</span> <span class="nx">No</span> <span class="nx">idea</span> <span class="k">if</span> <span class="nx">GNU</span> <span class="nx">or</span> <span class="nx">other</span> <span class="nx">implementation</span> <span class="p">(</span><span class="nx">BSD</span><span class="p">)</span> <span class="o">|</span>
<span class="o">+----------------------+---------------------+------------------------------------------------+</span>
<span class="o">|</span> <span class="nx">OpenSSH</span> <span class="o">|</span> <span class="o">|</span> <span class="nx">There</span> <span class="nx">are</span> <span class="nx">some</span> <span class="nx">apps</span> <span class="nx">available</span><span class="p">,</span> <span class="nx">need</span> <span class="nx">to</span> <span class="nx">test</span> <span class="nx">UX</span> <span class="o">|</span>
<span class="o">+----------------------+---------------------+------------------------------------------------+</span>
<span class="o">|</span> <span class="nx">Serial</span> <span class="nx">console</span> <span class="o">|</span> <span class="o">|</span> <span class="nx">I</span> <span class="nx">use</span> <span class="nx">several</span> <span class="nx">on</span> <span class="nx">Linux</span><span class="p">,</span> <span class="nx">mostly</span> <span class="o">|</span>
<span class="o">|</span> <span class="nx">access</span> <span class="nx">tools</span> <span class="o">|</span> <span class="o">|</span> <span class="err">`</span><span class="nx">conserver</span><span class="o">-</span><span class="nx">client</span><span class="err">`</span><span class="p">.</span> <span class="o">|</span>
<span class="o">+----------------------+---------------------+------------------------------------------------+</span>
<span class="o">|</span> <span class="nx">Kerberos</span> <span class="nx">tools</span> <span class="o">|</span> <span class="o">|</span> <span class="nx">Internal</span> <span class="nx">apps</span> <span class="nx">I</span> <span class="nx">use</span> <span class="nx">authenticate</span> <span class="kd">with</span> <span class="nx">Kerberos</span> <span class="o">|</span>
<span class="o">+----------------------+---------------------+------------------------------------------------+</span>
<span class="o">|</span> <span class="nx">Cisco</span> <span class="nx">VPN</span> <span class="o">|</span> <span class="nx">Built</span><span class="o">-</span><span class="k">in</span> <span class="o">|</span> <span class="nx">Several</span> <span class="nx">GW</span> <span class="nx">types</span> <span class="nx">supported</span><span class="p">.</span> <span class="nx">Not</span> <span class="nx">tested</span><span class="p">.</span> <span class="o">|</span>
<span class="o">+----------------------+---------------------+------------------------------------------------+</span>
<span class="o">|</span> <span class="nx">OpenVPN</span> <span class="nx">client</span> <span class="o">|</span> <span class="nx">N</span><span class="o">/</span><span class="nx">A</span> <span class="nx">AFAIK</span> <span class="o">|</span> <span class="o">|</span>
<span class="o">+----------------------+---------------------+------------------------------------------------+</span>
<span class="o">|</span> <span class="nx">Python</span> <span class="mf">2.6</span> <span class="o">|</span> <span class="nx">Python</span> <span class="mf">2.7</span> <span class="nx">and</span> <span class="mf">3.2</span> <span class="o">|</span> <span class="err">`</span><span class="nx">devuser</span><span class="err">`</span> <span class="nx">has</span> <span class="nx">no</span> <span class="nx">permissions</span> <span class="nx">to</span> <span class="nx">run</span> <span class="nx">Python</span> <span class="mf">2.7</span> <span class="o">|</span>
<span class="o">+----------------------+---------------------+------------------------------------------------+</span>
<span class="o">|</span> <span class="nx">Ruby</span> <span class="o">|</span> <span class="o">|</span> <span class="nx">Mostly</span> <span class="k">for</span> <span class="nx">cloud</span> <span class="nx">related</span> <span class="nx">mgmt</span> <span class="nx">commands</span><span class="p">.</span> <span class="o">|</span>
<span class="o">+----------------------+---------------------+------------------------------------------------+</span>
<span class="o">|</span> <span class="nx">Firefox</span> <span class="o">|</span> <span class="nx">built</span><span class="o">-</span><span class="k">in</span> <span class="nx">Browser</span> <span class="o">|</span> <span class="nx">Missing</span> <span class="nx">plugins</span> <span class="nx">functionality</span><span class="p">.</span> <span class="o">|</span>
<span class="o">+----------------------+---------------------+------------------------------------------------+</span>
<span class="o">|</span> <span class="nx">Thunderbird</span> <span class="o">|</span> <span class="nx">BlackBerry</span> <span class="nx">Hub</span> <span class="o">|</span> <span class="nx">Messaging</span> <span class="nx">experience</span> <span class="nx">on</span> <span class="nx">BB</span> <span class="nx">is</span> <span class="nx">quite</span> <span class="nx">cool</span> <span class="nx">but</span> <span class="o">|</span>
<span class="o">|</span> <span class="nx">email</span> <span class="o">&</span> <span class="nx">RSS</span> <span class="o">|</span> <span class="nx">RSS</span> <span class="nx">Savvy</span> <span class="o">|</span> <span class="nx">missing</span> <span class="nx">multiple</span> <span class="nx">sender</span> <span class="nx">addresses</span> <span class="nx">and</span> <span class="nx">RSS</span> <span class="nx">does</span> <span class="o">|</span>
<span class="o">|</span> <span class="o">|</span> <span class="o">|</span> <span class="nx">not</span> <span class="nx">integrate</span> <span class="nx">into</span> <span class="nx">BB</span> <span class="nx">Hub</span> <span class="o">|</span>
<span class="o">+----------------------+---------------------+------------------------------------------------+</span>
<span class="o">|</span> <span class="nx">Social</span> <span class="nx">Networks</span> <span class="o">|</span> <span class="nx">Stand</span> <span class="nx">alone</span> <span class="nx">apps</span> <span class="o">|</span> <span class="nx">Integrate</span> <span class="nx">well</span> <span class="kd">with</span> <span class="nx">BlackBerry</span> <span class="nx">Hub</span><span class="p">.</span> <span class="o">|</span>
<span class="o">+----------------------+---------------------+------------------------------------------------+</span>
<span class="o">|</span> <span class="nx">Rhythmbox</span> <span class="o">|</span> <span class="nx">built</span><span class="o">-</span><span class="k">in</span> <span class="nx">player</span> <span class="o">|</span> <span class="nx">Not</span> <span class="nx">tested</span> <span class="nx">but</span> <span class="nx">I</span> <span class="nx">need</span> <span class="nx">to</span> <span class="nx">bookmark</span> <span class="nx">online</span> <span class="nx">radio</span> <span class="o">|</span>
<span class="o">|</span> <span class="nx">Totem</span> <span class="p">(</span><span class="nx">audio</span><span class="p">)</span> <span class="o">|</span> <span class="o">|</span> <span class="nx">stations</span><span class="p">.</span> <span class="o">|</span>
<span class="o">+----------------------+---------------------+------------------------------------------------+</span>
<span class="o">|</span> <span class="nx">Totem</span> <span class="p">(</span><span class="nx">video</span><span class="p">)</span> <span class="o">|</span> <span class="nx">built</span><span class="o">-</span><span class="k">in</span> <span class="nx">player</span> <span class="o">|</span> <span class="nx">Works</span> <span class="nx">fine</span><span class="p">,</span> <span class="nx">already</span> <span class="nx">watched</span> <span class="nx">MPEG</span> <span class="nx">v4</span> <span class="nx">videos</span><span class="p">.</span> <span class="o">|</span>
<span class="o">+----------------------+---------------------+------------------------------------------------+</span>
<span class="o">|</span> <span class="nx">Transmission</span> <span class="o">|</span> <span class="nx">N</span><span class="o">/</span><span class="nx">A</span> <span class="o">|</span> <span class="nx">No</span> <span class="nx">bittorrent</span> <span class="nx">client</span> <span class="nx">apps</span> <span class="nx">available</span> <span class="nx">but</span> <span class="o">|</span>
<span class="o">|</span> <span class="o">|</span> <span class="o">|</span> <span class="nx">BB</span> <span class="nx">fork</span> <span class="k">for</span> <span class="nx">Transmission</span> <span class="nx">exists</span> <span class="nx">on</span> <span class="nx">GitHub</span><span class="p">.</span> <span class="o">|</span>
<span class="o">+----------------------+---------------------+------------------------------------------------+</span>
<span class="o">|</span> <span class="nx">Evince</span> <span class="p">(</span><span class="nx">PDF</span><span class="p">)</span> <span class="o">|</span> <span class="nx">Adobe</span> <span class="nx">Reader</span> <span class="o">|</span> <span class="nx">Not</span> <span class="nx">tested</span> <span class="nx">yet</span><span class="p">.</span> <span class="o">|</span>
<span class="o">+----------------------+---------------------+------------------------------------------------+</span>
<span class="o">|</span> <span class="o">-</span> <span class="o">|</span> <span class="nx">Kindle</span> <span class="o">|</span> <span class="nx">eBook</span> <span class="nx">reader</span><span class="p">,</span> <span class="nx">Android</span> <span class="nx">version</span><span class="p">.</span> <span class="nx">Works</span> <span class="nx">fine</span><span class="p">.</span> <span class="o">|</span>
<span class="o">+----------------------+---------------------+------------------------------------------------+</span>
<span class="o">|</span> <span class="nx">Libre</span> <span class="nx">Office</span> <span class="o">|</span> <span class="nx">Docs</span> <span class="nx">To</span> <span class="nx">Go</span> <span class="o">|</span> <span class="nx">MS</span> <span class="nx">office</span> <span class="nx">compatible</span><span class="p">,</span> <span class="nx">displays</span> <span class="nx">presentations</span><span class="p">,</span> <span class="o">|</span>
<span class="o">|</span> <span class="o">|</span> <span class="o">|</span> <span class="nx">limited</span> <span class="nx">editing</span><span class="p">,</span> <span class="nx">mostly</span> <span class="nx">read</span><span class="o">-</span><span class="nx">only</span> <span class="nx">mode</span><span class="p">.</span> <span class="o">|</span>
<span class="o">+----------------------+---------------------+------------------------------------------------+</span>
<span class="o">|</span> <span class="nx">Text</span> <span class="nx">Editor</span> <span class="o">|</span> <span class="nx">Several</span> <span class="o">|</span> <span class="nx">None</span> <span class="nx">tested</span> <span class="nx">yet</span><span class="p">.</span> <span class="o">|</span>
<span class="o">+----------------------+---------------------+------------------------------------------------+</span>
<span class="o">|</span> <span class="nx">Purple</span> <span class="o">|</span> <span class="nx">Yaairc</span> <span class="o">|</span> <span class="nx">I</span> <span class="nx">need</span> <span class="nx">IRC</span> <span class="nx">and</span> <span class="nx">XMPP</span> <span class="p">(</span><span class="nx">Gtalk</span><span class="p">)</span> <span class="nx">mostly</span><span class="p">.</span> <span class="nx">Dodo</span> <span class="nx">seems</span> <span class="o">|</span>
<span class="o">|</span> <span class="o">|</span> <span class="nx">Dodo</span> <span class="o">|</span> <span class="nx">to</span> <span class="nx">have</span> <span class="nx">some</span> <span class="nx">issues</span><span class="p">,</span> <span class="nx">I</span> <span class="nx">can</span><span class="err">'</span><span class="nx">t</span> <span class="nx">receive</span> <span class="nx">messages</span><span class="p">.</span> <span class="o">|</span>
<span class="o">+----------------------+---------------------+------------------------------------------------+</span>
<span class="o">|</span> <span class="nx">Twinkle</span> <span class="p">(</span><span class="nx">SIP</span><span class="p">)</span> <span class="o">|</span> <span class="o">|</span> <span class="nx">Several</span> <span class="nx">available</span> <span class="nx">but</span> <span class="nx">not</span> <span class="nx">tested</span><span class="p">.</span> <span class="o">|</span>
<span class="o">+----------------------+---------------------+------------------------------------------------+</span>
<span class="o">|</span> <span class="nx">GIMP</span> <span class="o">|</span> <span class="o">|</span> <span class="nx">Image</span> <span class="nx">cropping</span> <span class="nx">and</span> <span class="nx">resizing</span> <span class="nx">mostly</span><span class="p">.</span> <span class="o">|</span>
<span class="o">+----------------------+---------------------+------------------------------------------------+</span>
<span class="o">|</span> <span class="nx">Inkscape</span> <span class="o">|</span> <span class="o">|</span> <span class="nx">Simple</span> <span class="nx">drawings</span> <span class="nx">and</span> <span class="nx">graphics</span><span class="p">.</span> <span class="o">|</span>
<span class="o">+----------------------+---------------------+------------------------------------------------+</span>
<span class="o">|</span> <span class="nx">CUPS</span> <span class="p">(</span><span class="nx">printing</span><span class="p">)</span> <span class="o">|</span> <span class="o">|</span> <span class="nx">Should</span> <span class="nx">be</span> <span class="nx">able</span> <span class="nx">to</span> <span class="nx">print</span> <span class="nx">stuff</span><span class="p">.</span> <span class="o">|</span>
<span class="o">+----------------------+---------------------+------------------------------------------------+</span>
<span class="o">|</span> <span class="nx">xSane</span> <span class="p">(</span><span class="nx">scanner</span><span class="p">)</span> <span class="o">|</span> <span class="o">|</span> <span class="nx">Documents</span> <span class="nx">scanning</span><span class="p">,</span> <span class="nx">can</span> <span class="k">do</span> <span class="nx">pictures</span> <span class="nx">too</span><span class="p">.</span> <span class="o">|</span>
<span class="o">+----------------------+---------------------+------------------------------------------------+</span>
</pre></div>
<p>I will describe my software use cases in details in a later update. Most important of all is
a nice text editor to write code and text (mainly this blog) and the shell tools.</p>
<h2>Roll-out Plan</h2>
<p>To make things easier I will first transition entertainment and personal
activities and later work related ones. </p>
<p>In the next few days I will start
by exploring all the hardware requirements first and update this blog with
some of the findings. Along with this I will share the personal activities
progress.</p>
<p class="post-meta">Posted by
<a href="http://atodorov.org/author/alexander-todorov.html">Alexander Todorov</a>
on Thu 01 August 2013
</p>
<p>There are <a href="http://atodorov.org/blog/2013/08/01/laptop-vs-smartphone-part-one/#disqus_thread">comments</a>.</p> </div>
<div class="post-preview">
<a href="http://atodorov.org/blog/2013/08/01/why-taking-orders-by-phone-works-for-my-start-up/" rel="bookmark" title="Permalink to Why Taking Orders By Phone Works for My Start-up">
<h2 class="post-title">
Why Taking Orders By Phone Works for My Start-up
</h2>
</a>
<p>Yesterday I've
<a href="/blog/2013/07/31/how-i-created-a-website-in-two-days-without-coding/">mentioned</a>
a start-up project called
<a href="http://obuvki41plus.com">obuvki41plus.com</a> and that it accepts phone orders
instead of online electronic orders like everyone else. I will tell you why.</p>
<p><img src="/images/phone_order.jpg" alt="Taking phone orders" style="clear:both;display:block;" />
<em>Image CC-BY <a href="http://www.flickr.com/photos/southernfoodwaysalliance/3291060837/">Southern Foodways Alliance</a></em></p>
<p><a href="http://obuvki41plus.com/">obuvki41plus.com</a> is a
re-seller business my spouse runs. It specializes in large size, elegant
ladies shoes - Europe size 41 plus, which are hard to find in Bulgaria.
There is a shopping cart component on the website which at the end redirects to
a simple page with instructions how to order via phone. Why not online
orders like everyone else? Several reasons!</p>
<p>The business target group is very limited - women who wear large shoe size
and like the proposed shoe style and can afford the higher price (quality shoes
only, sorry). On top of
that the business model is <strong>online only</strong>. The rule of thumb is to <strong>make
everything possible to lower barrier to entry for customers</strong>!
Also don't make our lives harder in doing so.</p>
<ul>
<li>
<p>Phone ordering is the easiest way for customers in Bulgaria.
I myself often prefer it because of the too many steps and too many fields
to fill-in when ordering online. The reality is that most local websites
are horribly made with respect to user experience and many users are not
that fluent with Internet as it may seem. No need to get people frustrated
if they are about to spend their money with you!</p>
</li>
<li>
<p>Phone ordering, especially in the early business stage lets you know
your customers. This is invaluable feedback for you as the owner and you
can't get that from an online ordering system. It just doesn't work,
I've tried!</p>
</li>
<li>
<p>A phone ordering system is just so easy to implement. Later that can
be scaled with some automated IVR system and a call center; Or just
migrate it to online ordering system;</p>
</li>
<li>
<p>The website in question is supposed to be no-maintenance as much
as possible. It is static HTML and no database at all. Introducing
online ordering is just too much of a technological overhead in this case;</p>
</li>
<li>
<p>Last but probably most important is customer care - not only we want to
make it easy for them to order but want to prevent frequent returns
caused by wrong product expectations or incorrect size. After all shoes
need to be tried first.</p>
</li>
</ul>
<p>So to summarize - the orders are taken in person via phone
including objection handling and questions answering. An order may consist
of up to 3 pairs of shoes which are shipped to the customer with the option
to try them out upon delivery! Buy all or just a pair - it's a customer call!
Small return fee is imposed to prevent abuse!</p>
<p>For that kind of business this seems to be the best solution so far.
I'd love to hear other owners experience and decision logic. Please use
the comments to tell us how you've organized the sales/ordering/delivery
process in your company and why so. Thanks!</p>
<p class="post-meta">Posted by
<a href="http://atodorov.org/author/alexander-todorov.html">Alexander Todorov</a>
on Thu 01 August 2013
</p>
<p>There are <a href="http://atodorov.org/blog/2013/08/01/why-taking-orders-by-phone-works-for-my-start-up/#disqus_thread">comments</a>.</p> </div>
<div class="post-preview">
<a href="http://atodorov.org/blog/2013/07/31/how-i-created-a-website-in-two-days-without-coding/" rel="bookmark" title="Permalink to How I Created a Website In Two Days Without Coding">
<h2 class="post-title">
How I Created a Website In Two Days Without Coding
</h2>
</a>
<p><img alt="header image" src="/images/logos/obuvki41plus_header.png" title="header image" /></p>
<p>This is a simple story about a website I helped create without using any
programming at all. It took me two days because of the images and the logo
design which I've commissioned to a friend.</p>
<p>The website is <a href="http://obuvki41plus.com/">obuvki41plus.com</a> which is a
re-seller business my spouse runs. It specializes in large size, elegant
ladies shoes - Europe size 41 plus (hard to find in Bulgaria),
hence the name.</p>
<h2>Required Functionality</h2>
<ul>
<li>Display a catalog of items for sale with detailed information about
each item;</li>
<li>Make it possible for people to comment and share the items;</li>
<li>Very basic shopping cart which stores the selected items and then
redirects to a page with order instructions. Actual order is made via
phone for several reasons which I will explain in
<a href="/blog/2013/08/01/why-taking-orders-by-phone-works-for-my-start-up/">another post</a>;</li>
<li>Add a feedback/contact form;</li>
<li>Look nice on mobile devices.</li>
</ul>
<h2>Technology</h2>
<ul>
<li>The website is static, all pages are simple HTML and is hosted in
Amazon S3;</li>
<li>Comments are provided by Facebook's
<a href="https://developers.facebook.com/docs/reference/plugins/comments/">Comments Box</a>
plug-in;</li>
<li>Social media buttons and tracking are provided by
<a href="https://www.addthis.com/">AddThis</a>;</li>
<li>Visitors analytics is standard and is from
<a href="http://www.google.com/analytics/">Google Analytics</a>;</li>
<li>Template is from <a href="http://pages.github.com/">GitHub Pages</a> with slight
modifications; Works on mobile too;</li>
<li>Logo is custom designed by my friend
<a href="https://www.facebook.com/aluinpoli">Polina Valerieva</a>;</li>
<li>Feedback/contact form is by <a href="https://www.uservoice.com/">UserVoice</a>;</li>
<li>Shopping cart is by <a href="http://simplecartjs.org/">simpleCart(js)</a>.
I've created a simple animation effect when pressing the "ADD TO CART"
link to visually alert the user. This is done with jQuery.</li>
</ul>
<p>I could have used some JavaScript templating engine like
<a href="http://handlebarsjs.com/">Handlebars</a> but at the time I didn't know about
it and I prefer not to write JavaScript if possible :).</p>
<h2>Colophon</h2>
<p>I did some coding after the initial release eventually.
I've transformed the website to a Django
based site which is exported as static HTML. </p>
<p>This helps me with faster deployment/management as everything is stored
in git, allows templates inheritance and also makes the site ready to
add more functionality if required.</p>
<p class="post-meta">Posted by
<a href="http://atodorov.org/author/alexander-todorov.html">Alexander Todorov</a>
on Wed 31 July 2013
</p>
<p>There are <a href="http://atodorov.org/blog/2013/07/31/how-i-created-a-website-in-two-days-without-coding/#disqus_thread">comments</a>.</p> </div>
<div class="post-preview">
<a href="http://atodorov.org/blog/2013/07/31/ui-bug-for-opensource-dot-com/" rel="bookmark" title="Permalink to UI Bug for OpenSource.com">
<h2 class="post-title">
UI Bug for OpenSource.com
</h2>
</a>
<p><img alt=""UI bug"" src="/images/opensource.com_ui_bug.png" title="UI bug" /></p>
<p>A simple bug with the Facebook like and share widget. Looks familiar?
Indeed it is! <a href="http://sofiavalley.com">SofiaValley</a> had the
<a href="/blog/2013/06/02/sofiavalley-ui-bug/">same bug</a> 2 months ago.</p>
<p>Already reported and hopefully they fix it.</p>
<p class="post-meta">Posted by
<a href="http://atodorov.org/author/alexander-todorov.html">Alexander Todorov</a>
on Wed 31 July 2013
</p>
<p>There are <a href="http://atodorov.org/blog/2013/07/31/ui-bug-for-opensource-dot-com/#disqus_thread">comments</a>.</p> </div>
<div class="post-preview">
<a href="http://atodorov.org/blog/2013/07/29/what-runs-your-startup-imagga/" rel="bookmark" title="Permalink to What Runs Your Start-up - Imagga">
<h2 class="post-title">
What Runs Your Start-up - Imagga
</h2>
</a>
<p><img src="/images/startup/imagga.png" alt="Imagga" style="float:left; margin-right:10px;" /></p>
<p><a href="http://imagga.com/">Imagga</a> is a cloud platform that helps businesses and
individuals organize their images in a fast and cost-effective way. They
develop a range of advanced proprietary image recognition and image processing
technologies, which are built into several services such as smart image
cropping, color extraction and multi-color search, visual similarity search and
auto-tagging.</p>
<p>During
<a href="/blog/2013/05/23/balkan-venture-forum-sofia-post-mortem/">Balkan Venture Forum</a>
in Sofia I sat down with Georgi Kadrev to talk about technology.
Surprisingly this hi-tech service is built on top of standard low-tech components
and lots of hard work.</p>
<h2>Main Technologies</h2>
<p>Core functionality is developed in C and C++ with the OpenCV library.
Imagga relies heavily on own image processing algorithms for their core
features. These were built as a combination of their own research activities
and publications from other researchers.</p>
<p>Image processing is executed by worker nodes configured with their own
software stack. Nodes are distributed among Amazon EC2 and other data centers.</p>
<p>Client libraries to access Imagga API are available in PHP, Ruby and Java.</p>
<p>Imagga has built several websites to showcase their technology.
<a href="http://cropp.me/">Cropp.me</a>, <a href="http://colorslike.me/">ColorsLike.me</a>,
<a href="http://www.stockpodium.com">StockPodium</a> and <a href="http://autotag.me/">AutoTag.me</a>
were built with PHP, JavaScript and jQuery above a standard LAMP stack.</p>
<p>Recently Imagga also started using GPU computing with nVidia Tesla cards.
They use C++ and Python bindings for
<a href="https://developer.nvidia.com/what-cuda">CUDA</a>.</p>
<h2>Why Not Something Else?</h2>
<blockquote>
<p>As an initially bootstrapping start-up we chose something that is basically free,
reliable and popular - that's why started with the LAMP stack. It proved to be
stable and convenient for our web needs and we preserved it.
The use of C++ is a natural choice for computational intensive tasks that we
need to perform for the purpose of our core expertise - image processing.
Though we initially wrote the whole core technology code from scratch, we later
switched to OpenCV for some of the building blocks as it is very well optimized
and continuously extended image processing library.</p>
<p>With the raise of affordable high-performance GPU processors and their availability
in server instances, we decided it's time to take advantage of this highly parallel
architecture, perfectly suitable for image processing tasks.</p>
<p>Georgi Kadrev</p>
</blockquote>
<h2>Want More Info?</h2>
<p>If you’d like to hear more from Imagga please comment below.
I will ask them to follow this thread and reply to your questions.</p>
<p class="post-meta">Posted by
<a href="http://atodorov.org/author/alexander-todorov.html">Alexander Todorov</a>
on Mon 29 July 2013
</p>
<p>There are <a href="http://atodorov.org/blog/2013/07/29/what-runs-your-startup-imagga/#disqus_thread">comments</a>.</p> </div>
<div class="post-preview">
<a href="http://atodorov.org/blog/2013/07/29/what-runs-your-startup-retidoc/" rel="bookmark" title="Permalink to What Runs Your Start-up - RETiDoc">
<h2 class="post-title">
What Runs Your Start-up - RETiDoc
</h2>
</a>
<p><img src="/images/startup/retidoc.gif" alt="RETiDoc" style="float:left; margin-right: 15px;" /></p>
<p><a href="http://retidoc.com/">RETiDoc</a> automates personal ID data entry, speeding up
customer service and eliminating costly errors. The product is based on OCR
algorithms and could be used on hardware devices scanning the ID card or
through a compact scanner box specially designed for the need. The main problem
tackled by RETiDoc is manual data entry at service providers,
which is a time consuming, low-customer satisfaction process, filled with
expensive typos and low productivity at provider’s front offices.</p>
<p>Co-founder Martin Kulov takes us behind the scenes.</p>
<h2>Main Technologies</h2>
<p>RETiDoc is the second start-up featured on this blog to rely heavily on
Microsoft technologies. Software development is done in C# using
Visual Studio and <a href="https://tfs.visualstudio.com/">Team Foundation Service</a>.</p>
<p>Microsoft Test Manager is used to organize the test process!</p>
<h2>Why Not Something Else?</h2>
<p>Unfortunately this section is missing. The original format of this blog
is for the start-up founders or head of IT to tell the readers what factors
led to selection of the named technologies. RETiDoc team is busy at the moment,
working on their product launch and don't have the time to fill-in the details.</p>
<p>Hopefully they will do so in the future.</p>
<h2>Want More Info?</h2>
<p>If you’d like to hear more from <em>RETiDoc</em> please comment below.</p>
<p class="post-meta">Posted by
<a href="http://atodorov.org/author/alexander-todorov.html">Alexander Todorov</a>
on Mon 29 July 2013
</p>
<p>There are <a href="http://atodorov.org/blog/2013/07/29/what-runs-your-startup-retidoc/#disqus_thread">comments</a>.</p> </div>
<div class="post-preview">
<a href="http://atodorov.org/blog/2013/07/20/text-to-speech-for-bulgarian/" rel="bookmark" title="Permalink to Text To Speech for Bulgarian">
<h2 class="post-title">
Text To Speech for Bulgarian
</h2>
</a>
<p>I've been exploring text-to-speech synthesizers for Bulgarian in the past
few weeks. I found only three. Here is my review and opinion about
two competitive companies, one of which lost me as a client.</p>