-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.html
976 lines (630 loc) · 76.7 KB
/
index.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
<!DOCTYPE html>
<html>
<head>
<!-- hexo-inject:begin --><!-- hexo-inject:end --><meta charset="utf-8">
<title>Morris' Blog</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta property="og:type" content="website">
<meta property="og:title" content="Morris' Blog">
<meta property="og:url" content="http://morris821028.github.io/index.html">
<meta property="og:site_name" content="Morris' Blog">
<meta property="og:locale" content="en">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Morris' Blog">
<link rel="publisher" href="108158678174364350000">
<link rel="alternative" href="/atom.xml" title="Morris' Blog" type="application/atom+xml">
<meta name="google-site-verification" content="5mRgj8NanEMpGZuNfHNJNmH90RgNlrnJXsFlTaKD6Gs" />
<link rel="shortcut icon" href="/img/f.ico">
<link href="//fonts.googleapis.com/css?family=Source+Code+Pro" rel="stylesheet" type="text/css">
<script src="/js/jquery-2.1.0.min.js"></script>
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="http://cdn.oesmith.co.uk/morris-0.5.1.css">
<script src="//cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js"></script>
<script src="http://cdn.oesmith.co.uk/morris-0.5.1.min.js"></script>
<!-- <link rel="import" href="/bower_components/app-layout/app-layout.html"> --><!-- hexo-inject:begin --><!-- hexo-inject:end -->
</head>
<body>
<!-- hexo-inject:begin --><!-- hexo-inject:end --><div id="container">
<div id="wrap">
<header id="header">
<div id="banner"><div id="banner-right"></div></div>
<div id="header-outer" class="outer">
<div id="header-title" class="inner">
<h1 id="logo-wrap">
<a href="/" id="logo">Morris' Blog</a>
</h1>
</div>
<div id="header-inner" class="inner">
<nav id="main-nav">
<a id="main-nav-toggle" class="nav-icon"></a>
<a class="main-nav-link" href="/"><i class=icon-home title='Home'></i></a>
<a class="main-nav-link" href="/about"><i class=icon-user title='About'></i></a>
<a class="main-nav-link" href="/archives"><i class=icon-archive title='Archives'></i></a>
<a class="main-nav-link" href="/tags"><i class=icon-tags title='Tags'></i></a>
<a class="main-nav-link" href="/picture"><i class=icon-camera title='Pictures'></i></a>
<a class="main-nav-link" href="/works"><i class=icon-trophy title='Works'></i></a>
</nav>
<nav id="sub-nav">
<a id="nav-rss-link" class="nav-icon" href="/atom.xml" title="RSS Feed"></a>
<a id="nav-search-btn" class="nav-icon" title="Search"></a>
</nav>
<div id="search-form-wrap">
<form action="//google.com/search" method="get" accept-charset="UTF-8" class="search-form"><input type="search" name="q" class="search-form-input" placeholder="Search"><button type="submit" class="search-form-submit"></button><input type="hidden" name="sitesearch" value="http://morris821028.github.io"></form>
</div>
</div>
</div>
</header>
<div class="outer">
<section id="main">
<article id="post-work/company-ghost-story-16" class="article article-type-post" itemscope itemprop="blogPost">
<div class="article-meta">
<a href="/2023/10/09/work/company-ghost-story-16/" class="article-date">
<time datetime="2023-10-09T02:00:00.000Z" itemprop="datePublished">2023-10-09</time>
</a>
<div class="article-category">
<a class="article-category-link" href="/categories/工作應用/">工作應用</a>/<a class="article-category-link" href="/categories/工作應用/鬼故事/">鬼故事</a>
</div>
</div>
<div class="article-inner ">
<header class="article-header">
<h1 itemprop="name">
<a class="article-title" href="/2023/10/09/work/company-ghost-story-16/">Company Ghost Story 公司鬼故事 16</a>
</h1>
</header>
<footer class="article-footer">
<a data-url="http://morris821028.github.io/2023/10/09/work/company-ghost-story-16/" data-id="clni4s49702lbewvn1o9l39g8" class="article-share-link">Share</a>
<a href="http://morris821028.github.io/2023/10/09/work/company-ghost-story-16/#disqus_thread" class="article-comment-link">Comments</a>
<ul class="article-tag-list"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/鬼故事/">鬼故事</a></li></ul>
</footer>
<div class="article-entry article-index" itemprop="articleBody">
<div class="toggle-content">
<h2 id="新人面談"><a href="#新人面談" class="headerlink" title="新人面談"></a>新人面談</h2><p>找人來面試,如果像某些公司只有聊天,恐怕會忽略下面的狀況。</p>
<p>根據碩士研究的主題進行用人判定</p>
<ul>
<li>研究 GPU 的人不懂圖像渲染模型</li>
<li>研究資安的人不懂 AES</li>
<li>研究編碼壓縮的人不懂進制轉換</li>
<li>研究機器學習的人不懂線性變換</li>
</ul>
<p>不排除公司薪水福利差。即便是台清交成的學生,也只能找來有限度的研究能力人才。</p>
<h2 id="研究報告"><a href="#研究報告" class="headerlink" title="研究報告"></a>研究報告</h2><ul>
<li>報告描述沒有單位<ul>
<li>記憶體單位是什麼?MB?GB?</li>
<li>時間單位是什麼?秒?毫秒?</li>
</ul>
</li>
<li>比較結果沒有參考對象<ul>
<li>相較於哪一個版本的?版本號是多少?</li>
<li>使用哪一個環境的?32 位元?64 位元?</li>
</ul>
</li>
<li>文章標題沒有結構性 H1, H2, H3, …</li>
<li>先描述結果,但定義放最後面。</li>
<li>實驗組合結果,項目描述只有數據單位。</li>
</ul>
<p>不排除公司薪水福利差。即便是台清交成的學生,論文可能都是教授親自寫的、實驗教授做的。</p>
<h2 id="基礎學問"><a href="#基礎學問" class="headerlink" title="基礎學問"></a>基礎學問</h2><figure class="highlight"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line"><span class="comment">// pow(2, x) = y</span></div><div class="line">Given y, find a upper integer x, satisfy pow(2, x) <= y.</div></pre></td></tr></table></figure>
<p>拿到兩個自然對數的實作 (<code>log(y)/log(2)</code>)。滿心好奇卻得到一個說法「浮點數除法沒有誤差」。那多問一句「取自然對數沒有誤差嗎?」我內心浮上答案驗證了事實「沒有」這個要牽扯說學校沒教嗎?某方面來說,道理過不去。</p>
<h2 id="雜湊"><a href="#雜湊" class="headerlink" title="雜湊"></a>雜湊</h2><blockquote>
<p>雜湊任何操作都是常數 <span>$\mathcal{O}(1)$</span><!-- Has MathJax -->。</p>
</blockquote>
<ol>
<li>知道什麼是攤銷複雜度嗎?<span>$\text{amortized} \; \mathcal{O}(1)$</span><!-- Has MathJax -->。</li>
<li>拿到第一個元素是 <span>$\mathcal{O}(1)$</span><!-- Has MathJax -->?</li>
</ol>
<figure class="highlight java"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div></pre></td><td class="code"><pre><div class="line">HashSet<Integer> hash = <span class="keyword">new</span> HashSet<>(input);</div><div class="line"><span class="keyword">while</span> (!hash.isEmpty()) {</div><div class="line"> hash.remove(hash.iterator().next());</div><div class="line">}</div></pre></td></tr></table></figure>
<p>這都不好說。實作方式千奇百種,上述看起來簡單,在 Java 裡面卻是 <span>$\mathcal{O}(n^2)$</span><!-- Has MathJax -->。</p>
</div>
<div class="toggle-input article-more-link"><a>Read More +</a></div>
</div>
</div>
</article>
<article id="post-note/diary-20230402" class="article article-type-post" itemscope itemprop="blogPost">
<div class="article-meta">
<a href="/2023/04/02/note/diary-20230402/" class="article-date">
<time datetime="2023-04-02T02:28:28.000Z" itemprop="datePublished">2023-04-02</time>
</a>
<div class="article-category">
<a class="article-category-link" href="/categories/手札日記/">手札日記</a>
</div>
</div>
<div class="article-inner ">
<header class="article-header">
<h1 itemprop="name">
<a class="article-title" href="/2023/04/02/note/diary-20230402/">同舟共濟</a>
</h1>
</header>
<footer class="article-footer">
<a data-url="http://morris821028.github.io/2023/04/02/note/diary-20230402/" data-id="clni4s47k02jgewvnfss0wdnu" class="article-share-link">Share</a>
<a href="http://morris821028.github.io/2023/04/02/note/diary-20230402/#disqus_thread" class="article-comment-link">Comments</a>
</footer>
<div class="article-entry article-index" itemprop="articleBody">
<div class="toggle-content">
<h2 id="工作狀況"><a href="#工作狀況" class="headerlink" title="工作狀況"></a>工作狀況</h2><p>2022 下半年度,仍專注台積電 3Dblox 業務上。那時還是個機密計畫,要處理的功能堆積如山,以至於不能發表些相關言論。技術債的問題使得功能開發一度卡關,再加上每年 TSMC OIP 時程壓力,交作業的壓力非常緊繃,即使過了十月份的 OIP,年底便要開始規劃下一年的目標,一堆文書作業流程,新產品的人員組織架構不完整,各種身兼多職的問題。</p>
<p>忙著忙著,一轉眼就過了半年以上。七月正式接了管理職,過渡時期的因素仍無法掌握舊有成員,大部分的決策仍是倚靠大主管來處理。在美國無限 QE 的經濟影響下資金氾濫,製造業大賺一筆,附屬的軟韌體設計也大發分紅一筆,台灣好幾個半導體產業分紅都發了好幾百萬。面對下屬對薪資的期望,只能說直搖頭,不是實業的 EDA 實在難以做什麼大調整。抱怨四起,也只能不斷地向上反應,那大概就是無奈的產業類型差距。</p>
<p>招聘部份,更是難以找到合適的人選,花了大筆的時間,看入眼的仍然沒幾個。看入眼的人才,則無法提供它們想要的薪資 (至少在我們部門是這樣)。剛做起管理職,招聘人才的部分不斷地懷疑自己,其他部門都亂收一通,參考他們面試的紙本測試,發現連基礎概念都沒通過,完全不是同一級的領悟能力,被給予的評價卻是不錯的。最後,原則堅持住,找不到合適的就給它缺下去。</p>
<p>挨過了 2022,團隊越來越多人,管理變得棘手,重新審核團隊成員的時間點到了。去年還沒有仔細想過會發生什麼,但這樣的要求確實有它的原因在。事實上,在二月的時候送走一位員工,這是第一次在法律顧問以及人力資源部門間周旋,被拉去參與這些討論。重新審視了一次,公司之所以是公司、管理之所以管理的道理。有時候這就是公司的文化,如果價值觀相符,那的確待起來也舒服。不符,就去找合適的窩。</p>
<p>在這過程思考了很多,能理解「管理職只會下命令」的那一種仇怨心態。因為曾是純技術職,也維護了許多功能,還是在許多技術層面提供協助,不得不的時候得下去救援。這幾年來,我清楚明白主管打從技術不會任何一段程式實作,只能給實作方向。被當作最強的許願池,薪水也寥寥無幾,說要多討厭大公司就有多討厭,那些一進去就是高薪的工作,實質能力怎麼樣子,打個疑惑於此。這幾年所做的一切,待時間驗證後,過了很久才驗證其重要性。</p>
<p>爬到這個位置,一開始並不是自己想要的。的確,我曾說有很想要做的事情,想要打造自己滿意的產品,避開所有不該有的危害。也許,這也是一個原因,想找幫手的來協助,自然就被帶去做管理。「有些事情即使自己能做,也不能去做」的原則,即使是找了幫手,也是要訓練到位,這也是為了「如果哪天不在這間公司,也有人會頂這個位置」</p>
<p>上述聽起來有點矛盾,對吧?大多數人都很怕因能力雷同被替換掉,卻忘了管理風險一事。公司規範出國出差,超過五人不能在同一個航班。有時候眼界的不同,決策上就是不一樣。直覺與事實相悖,就像一種 anti-pattern。所以廣為人知的「技術上留一手」的策略,某方面是種毒害。設想一下,抱怨別人的程式寫得亂七八糟,是不是對方也留一手,最後的結果就是大家都留一手,合作無比痛苦。</p>
<p>曾經替工作做了許多技術分享,能理解其原理的人很少,只是當個案看待。最後,故技重施的情況有多少次?有人理解的話,接下來的日子就能少了麻煩事,自己再往更深入的領域專研。若拿自己的同事當對手,忘了真正的對手在這大樓之外。若公司競爭輸了,大家被裁員下去,自身技術也停留在那些麻煩事,也沒有更深入的能力,就有點本末倒置。反過來說,同事若從你那學了點,知道你有可學可用之處。即便這艘船沉了,也會在下個機會拉你一把。所以,自身價值的定位與信心,是值得深思的議題。然而這一切的假設,就是建立在信任層面。</p>
<p>持續地在擦屁股作業,不斷地教育那些菜鳥,把自己的時間花在未來能幫到自己的人身上。如果越幫越忙的話,那還真的是得處理一下。管五個人,平均每天花一個小時在一個人身上,每天就這樣五個小時沒了,還要跟其他部門的合作,討論實作方式,擦屁股的時候還要自己開個會教怎麼寫,真的是懷疑人生。<del>倒不如少一個人,自己加薪算了。</del>今年要怎麼讓團隊還有口飯吃呢?以前解的問題都是別人提出來的,現在得想一下怎麼撐下去。</p>
<h2 id="生活狀況"><a href="#生活狀況" class="headerlink" title="生活狀況"></a>生活狀況</h2><p>車子在七月中到了,車有關的瑣事都遇過,如擦撞、板金、召回、保養、罰單等。之後再面對這些事,小事一樁。經歷過了,聊天還多了一些話題。體驗一下以前人都做過的事情,在三十歲前敢開上路,已經是超出預期的事實。想想忙碌到沒時間體驗的學長們,提前花錢學這一技能,不後悔。十二月中女友新冠確診,開車跑一趟到她公司載電腦回家工作。開去挑裝潢家具,開去挑窗簾,搬家到台北的時候開了好幾趟。</p>
<p>一月完成了裝潢並且入住,是一個忙碌階段。在現實中抓 BUG,水電油漆的小缺失,部份完成的衛浴設備,六日還得忙上這些。陸陸續續地,補上家俱家電,三不五時就在收貨。附近採買的點也摸透了,買蛋的地方 … 摸透了但買不到。偶爾開車去趟 costco 採買送進台北,那就是一個完美的周末。遊戲動畫也都少碰了,資產維護的時間變多了。也許,爸媽的這個年紀也都是這樣的吧。看看同學、朋友、學長,看起來又不太相同。</p>
<h2 id="工作題外話"><a href="#工作題外話" class="headerlink" title="工作題外話"></a>工作題外話</h2><p>競技程式比賽那些經典演算法用不到的?最近用得可兇了,最鄰近點對,最短路、最大流、獨立集、生成樹都有。想透過 ChatGPT/OpenAI 得到解答?的確可以,公司網路不給你用。至於 ChatGPT 給的解答行嗎?老實說,最後我還是砍光團隊寫的,按表操課實在有侷限。自己研究了一番,找到的相關論文後,實作替換掉一開始給的答案,運行效率才勉強達到目標。</p>
<p>工作還要看學術論文,略為痛苦。<del>那只有大學畢業能不能錄取 …</del></p>
</div>
<div class="toggle-input article-more-link"><a>Read More +</a></div>
</div>
</div>
</article>
<article id="post-note/diary-20220620" class="article article-type-post" itemscope itemprop="blogPost">
<div class="article-meta">
<a href="/2022/06/20/note/diary-20220620/" class="article-date">
<time datetime="2022-06-20T02:28:28.000Z" itemprop="datePublished">2022-06-20</time>
</a>
<div class="article-category">
<a class="article-category-link" href="/categories/手札日記/">手札日記</a>
</div>
</div>
<div class="article-inner ">
<div class="article-gallery">
<div class="article-gallery-photos">
<a class="article-gallery-img fancybox" href="https://i.imgur.com/kU0BzGq.jpg" rel="gallery_clni4s47u02jsewvnl998p6x3">
<img src="https://i.imgur.com/kU0BzGq.jpg" itemprop="image">
</a>
</div>
</div>
<header class="article-header">
<h1 itemprop="name">
<a class="article-title" href="/2022/06/20/note/diary-20220620/">維護作業</a>
</h1>
</header>
<footer class="article-footer">
<a data-url="http://morris821028.github.io/2022/06/20/note/diary-20220620/" data-id="clni4s47u02jsewvnl998p6x3" class="article-share-link">Share</a>
<a href="http://morris821028.github.io/2022/06/20/note/diary-20220620/#disqus_thread" class="article-comment-link">Comments</a>
</footer>
<div class="article-entry article-index" itemprop="articleBody">
<div class="toggle-content">
<h2 id="工作近況"><a href="#工作近況" class="headerlink" title="工作近況"></a>工作近況</h2><p>上半年 Q2 即將結束,打雜工作也逐漸到了尾聲,不斷地在產品使用的細節上著墨,使用者介面、顯示效果、錯誤反饋,這些基礎工作差不多是大家不願意做的打雜。一點一滴的累積,將缺少的細節設計遞補上,減少溝通成本,能不透過研發部門或文件來除錯,就可以擺脫三不五時 Microsoft Teams 響起,不然老是向其他部門請求技術支援,卻又老是打回來問我,那訊息可說是回應不完。</p>
<p>有時候,交代工作下去給底下的人,彼此覺得很難開發,老是花一大把的時間去改寫,互相抱怨也是浪費彼此時間。工作包山包海,功能日新增強,操作複雜到開發人員也不堪負荷,解決之道便是改善流程。將每一步拆分得當,可讓操作複雜度下降,連帶介面效能也會有所改善,可謂製程的精隨,相關人員也能專注在自身的開發項目上。少了改寫時間,也不用處理那些過度工程的討論。</p>
<p>五月中開始討論調薪、人員調度、組織等問題,非常時刻就沒有寫扣的時間。作為管理職要了解每一個員工的特質,還要去協調職涯規劃,將適任與不適任的工作再次分配。處理這些事情時,都會想著人類無法難控制。實務上不需要技術狂熱分子,唯有解決當前之急,才有辦法去研發長遠目標。若老是想著造火箭,而過程中的技術卻不能應用在相關項目上,就變成了純燒錢的項目,時候一到就會被檢討。</p>
<p><img src="https://i.imgur.com/iugfeEG.jpg" alt="「本來依靠他人這件事本身就不現實」"></p>
<p>沒能力看懂別人寫的、沒能力分析別人或自身的錯誤、沒能力選擇合適的工具,這普遍的現象卻發生在菜鳥與老鳥身上,要說這世代的的問題?還是團隊並沒有朝著同一個目標前進?這幾個月都在挑戰認知,與以往自己奮力向前的情況不同。當一般開發人員,倒也是輕鬆自在,要求自身比要求他人簡單多了。</p>
<p>持續新進的菜鳥中,還遇到有人跑來問我是不是寫部落格的 Morris,沒想到隔了五年的落差,還有人認識我這個離開戰場的老屁股。思維逐漸工程化,設計算法偏向通用的限制,要去吹毛求疵的數學遊戲,看起來已經操不動了。</p>
<p>最後一個消息,工作將於七月升職為 T5 Senior Software Engineering Manager,相較於去年升 T4 Principal 與 Manager,只是換名稱的同一個位階,吃力不討好的工作,還是做了一年。升職速度與加薪幅度還是不如預期,不過幾個月來的努力有被上頭看見,那就算是一件好事,不需自己寫報告去做 promotion。</p>
<h2 id="資產維護作業"><a href="#資產維護作業" class="headerlink" title="資產維護作業"></a>資產維護作業</h2><p>資產維護作業,簡稱「打掃」連假不知道要忙什麼?那就是打掃莫屬。接著,又花了幾個星期去看大台北的房子,</p>
<blockquote>
<p>Q:浴室怎麼沒有面盆 (板橋)<br>房仲:報告先生,因為漏水無法解決,拆了</p>
<p>Q:不要機械車位 (板橋)<br>房仲:這只有左右移動的,不是一般機械車位</p>
<p>Q:要坡道平面 (板橋)<br>房仲:B1 到 B2 汽車搭電梯,但還是平面車位</p>
<p>Q:這頂天櫃子怎麼都無法全開,全部卡到消防偵測器 (新店)<br>房仲:…</p>
<p>Q:為什麼屋主沒有車位權狀,一直在繳車位管理費 (信義區)<br>房仲:屋主找不到權狀,也不知道有沒有車位</p>
<p>Q:為什麼老華廈物件,土地持份不到三坪 (中正區)<br>房仲:當時權狀處理複雜,沒有完全過戶成功</p>
</blockquote>
<p>荒唐指數滿點,挑老屋得評估的項目實在太多,修繕成本先抓兩百萬上去。永慶各種推薦的 A 案雷又雷,還浪費時間去看。可謂好的房仲幫你省時間,爛的房仲帶你看事故。</p>
<p>伴隨著兩幅一千片拼圖的拼圖耗時半年完成,女友的台北尋房故事也告一段落,六月初開始試住一周,有一種重返頂加租房的苦日子,在冷氣熱浪的台北市,走在路上都有一種荒漠感。而空當昏暗的房裡,有著歲月的味道。</p>
<p>繁雜的工作之餘,逛廚具、家電、裝潢,再與設計師商量。當初買房都沒這麼煩惱過,再次體驗,看看薪水一般怎麼變成喜歡的樣子。不知道哪一天,薪水也能讓我在台北買房無壓力。</p>
</div>
<div class="toggle-input article-more-link"><a>Read More +</a></div>
</div>
</div>
</article>
<article id="post-work/company-ghost-story-15" class="article article-type-post" itemscope itemprop="blogPost">
<div class="article-meta">
<a href="/2022/06/19/work/company-ghost-story-15/" class="article-date">
<time datetime="2022-06-19T02:00:00.000Z" itemprop="datePublished">2022-06-19</time>
</a>
<div class="article-category">
<a class="article-category-link" href="/categories/工作應用/">工作應用</a>/<a class="article-category-link" href="/categories/工作應用/鬼故事/">鬼故事</a>
</div>
</div>
<div class="article-inner ">
<header class="article-header">
<h1 itemprop="name">
<a class="article-title" href="/2022/06/19/work/company-ghost-story-15/">Company Ghost Story 公司鬼故事 15</a>
</h1>
</header>
<footer class="article-footer">
<a data-url="http://morris821028.github.io/2022/06/19/work/company-ghost-story-15/" data-id="clni4s49d02liewvn9gsfdfjm" class="article-share-link">Share</a>
<a href="http://morris821028.github.io/2022/06/19/work/company-ghost-story-15/#disqus_thread" class="article-comment-link">Comments</a>
<ul class="article-tag-list"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/鬼故事/">鬼故事</a></li></ul>
</footer>
<div class="article-entry article-index" itemprop="articleBody">
<div class="toggle-content">
<h2 id="Redundant-Debug-Message"><a href="#Redundant-Debug-Message" class="headerlink" title="Redundant Debug Message"></a>Redundant Debug Message</h2><figure class="highlight java"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div></pre></td><td class="code"><pre><div class="line"><span class="class"><span class="keyword">class</span> <span class="title">Placement</span> </span>{</div><div class="line"> Image image = <span class="keyword">new</span> BufferedImage(<span class="number">1024</span>, <span class="number">768</span>); <span class="comment">// unused</span></div><div class="line">}</div></pre></td></tr></table></figure>
<h2 id="Naming"><a href="#Naming" class="headerlink" title="Naming"></a>Naming</h2><figure class="highlight java"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line"><span class="class"><span class="keyword">class</span> <span class="title">Colorizer</span> </span>{ setDrawDevice(Device), removeDrawDevice(Device)}</div><div class="line"><span class="comment">// setDisplay(Device, boolean)</span></div></pre></td></tr></table></figure>
<h2 id="Inheritance"><a href="#Inheritance" class="headerlink" title="Inheritance"></a>Inheritance</h2><figure class="highlight java"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line"><span class="class"><span class="keyword">class</span> <span class="title">XXXPanel</span> </span>{ <span class="function">Panel <span class="title">getPanel</span><span class="params">()</span></span>; }</div><div class="line"><span class="comment">// why not extends Panel</span></div></pre></td></tr></table></figure>
<h2 id="String-Equal"><a href="#String-Equal" class="headerlink" title="String Equal"></a>String Equal</h2><figure class="highlight java"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line"><span class="keyword">if</span> (input.contains(<span class="string">"yes"</span>))</div><div class="line"><span class="comment">// ???, equals???</span></div></pre></td></tr></table></figure>
<h2 id="Key-in-Condition"><a href="#Key-in-Condition" class="headerlink" title="Key in Condition"></a>Key in Condition</h2><figure class="highlight java"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div></pre></td><td class="code"><pre><div class="line"><span class="function"><span class="keyword">void</span> <span class="title">drawTick</span><span class="params">(Color axisColor)</span> </span>{</div><div class="line"> <span class="keyword">if</span> (color.equals(Color.RED))</div><div class="line"> dx++;</div><div class="line"> <span class="keyword">else</span></div><div class="line"> dy++;</div><div class="line">}</div><div class="line"><span class="comment">// Color as key? why not pass enum Axis</span></div></pre></td></tr></table></figure>
<h2 id="Out-of-Knowledge-in-Library"><a href="#Out-of-Knowledge-in-Library" class="headerlink" title="Out-of-Knowledge in Library"></a>Out-of-Knowledge in Library</h2><figure class="highlight java"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div></pre></td><td class="code"><pre><div class="line"><span class="class"><span class="keyword">class</span> <span class="title">AbstractTableViewRenderer</span> </span>{</div><div class="line"> EDA_DIE_ONLY_RENDER dieRender;</div><div class="line">}</div><div class="line"><span class="comment">// don't put your shit on UI library</span></div></pre></td></tr></table></figure>
<h2 id="Over-overloading-for-Lambda"><a href="#Over-overloading-for-Lambda" class="headerlink" title="Over-overloading for Lambda"></a>Over-overloading for Lambda</h2><figure class="highlight java"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div></pre></td><td class="code"><pre><div class="line"><span class="class"><span class="keyword">class</span> <span class="title">AbstractTableView</span> </span>{</div><div class="line"> <span class="function"><span class="keyword">public</span> <span class="keyword">void</span> <span class="title">with</span><span class="params">(MouseInterface)</span></span></div><div class="line"><span class="function"> <span class="keyword">public</span> <span class="keyword">void</span> <span class="title">with</span><span class="params">(TextInterface)</span></span></div><div class="line"><span class="function"> <span class="keyword">public</span> <span class="keyword">void</span> <span class="title">with</span><span class="params">(IconInterface)</span></span></div><div class="line"><span class="function">}</span></div><div class="line"><span class="function"><span class="comment">// overloading is not for heterogeneous</span></span></div></pre></td></tr></table></figure>
<h2 id="Oversize"><a href="#Oversize" class="headerlink" title="Oversize"></a>Oversize</h2><figure class="highlight java"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line"><span class="keyword">long</span> degree; <span class="comment">// [0, 360)</span></div><div class="line"><span class="comment">// oooooooooooooover-size</span></div></pre></td></tr></table></figure>
<h2 id="Missing-Else"><a href="#Missing-Else" class="headerlink" title="Missing Else"></a>Missing Else</h2><figure class="highlight java"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div></pre></td><td class="code"><pre><div class="line"><span class="keyword">if</span> (geom <span class="keyword">instanceof</span> Circle) { renderAsBall((Circle) geom); }</div><div class="line"><span class="keyword">else</span> <span class="keyword">if</span> (geom <span class="keyword">instanceof</span> Oblong) { <span class="keyword">if</span> (type == ball) renderAsCylinder(geom);} <span class="comment">// new feature</span></div><div class="line"><span class="keyword">else</span> renderAsPoly(geom.toPoly());</div><div class="line"><span class="comment">// fuckup, default as polygon, where is your else</span></div></pre></td></tr></table></figure>
<figure class="highlight java"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div></pre></td><td class="code"><pre><div class="line">setProperty(Object dbo, String name, Object val) {</div><div class="line"> <span class="keyword">if</span> (<span class="string">"group"</span>.equals(name)) Group.set(dbo, val);</div><div class="line">}</div><div class="line"><span class="comment">// where is your else and exception</span></div></pre></td></tr></table></figure>
<h2 id="OK-then-Action"><a href="#OK-then-Action" class="headerlink" title="OK, then Action"></a>OK, then Action</h2><figure class="highlight java"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div></pre></td><td class="code"><pre><div class="line">buttonOK.setOnAction(e -> apply());</div><div class="line"><span class="function"><span class="keyword">void</span> <span class="title">apply</span><span class="params">()</span> </span>{...; rebuildModel();}</div><div class="line">slider.setOnChange(e -> rebuildModel()); <span class="comment">// new feature</span></div><div class="line"><span class="comment">// our performance is gone by you</span></div></pre></td></tr></table></figure>
<h2 id="Listener"><a href="#Listener" class="headerlink" title="Listener"></a>Listener</h2><figure class="highlight java"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div></pre></td><td class="code"><pre><div class="line"><span class="function"><span class="keyword">void</span> <span class="title">setDisplay</span><span class="params">(...)</span> </span>{</div><div class="line"> fireProperytChange(<span class="string">"SetDisplay"</span>);</div><div class="line">}</div><div class="line"><span class="comment">// ... property is display, not the method name</span></div></pre></td></tr></table></figure>
<h2 id="Time-consuming-Message"><a href="#Time-consuming-Message" class="headerlink" title="Time-consuming Message"></a>Time-consuming Message</h2><figure class="highlight java"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">Object.requireNotNull(number, <span class="string">"The number is not illegal by "</span> format + <span class="string">" with"</span> + ... context);</div><div class="line"><span class="comment">// don't compose the error message, construct it on demand.</span></div></pre></td></tr></table></figure>
<h2 id="Time-consuming-Render"><a href="#Time-consuming-Render" class="headerlink" title="Time-consuming Render"></a>Time-consuming Render</h2><figure class="highlight java"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div></pre></td><td class="code"><pre><div class="line"><span class="class"><span class="keyword">class</span> <span class="title">ListRenderer</span> </span>{</div><div class="line"> <span class="function"><span class="keyword">void</span> <span class="title">render</span><span class="params">(ListItem e)</span> </span>{</div><div class="line"> ImageIO.read(getImagePath(e.getValue().getType()));</div><div class="line"> }</div><div class="line">}</div></pre></td></tr></table></figure>
<h2 id="Crazy-UI-Design"><a href="#Crazy-UI-Design" class="headerlink" title="Crazy UI Design"></a>Crazy UI Design</h2><figure class="highlight"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div></pre></td><td class="code"><pre><div class="line">|------------------|</div><div class="line">| Chooser |</div><div class="line">+------------------+</div><div class="line">| [ComboBox] | # 10^6 objects</div><div class="line">| [Cancel] [OK] |</div><div class="line">+------------------+</div><div class="line"># tell me, how do you pick</div></pre></td></tr></table></figure>
</div>
<div class="toggle-input article-more-link"><a>Read More +</a></div>
</div>
</div>
</article>
<article id="post-note/diary-20220327" class="article article-type-post" itemscope itemprop="blogPost">
<div class="article-meta">
<a href="/2022/03/27/note/diary-20220327/" class="article-date">
<time datetime="2022-03-27T04:28:28.000Z" itemprop="datePublished">2022-03-27</time>
</a>
<div class="article-category">
<a class="article-category-link" href="/categories/手札日記/">手札日記</a>
</div>
</div>
<div class="article-inner ">
<div class="article-gallery">
<div class="article-gallery-photos">
<a class="article-gallery-img fancybox" href="https://i.imgur.com/OBZKUgU.jpg" rel="gallery_clni4s47q02jnewvnlvatt26f">
<img src="https://i.imgur.com/OBZKUgU.jpg" itemprop="image">
</a>
</div>
</div>
<header class="article-header">
<h1 itemprop="name">
<a class="article-title" href="/2022/03/27/note/diary-20220327/">規劃 ‧ 生活</a>
</h1>
</header>
<footer class="article-footer">
<a data-url="http://morris821028.github.io/2022/03/27/note/diary-20220327/" data-id="clni4s47q02jnewvnlvatt26f" class="article-share-link">Share</a>
<a href="http://morris821028.github.io/2022/03/27/note/diary-20220327/#disqus_thread" class="article-comment-link">Comments</a>
</footer>
<div class="article-entry article-index" itemprop="articleBody">
<div class="toggle-content">
<h2 id="工作近況"><a href="#工作近況" class="headerlink" title="工作近況"></a>工作近況</h2><p>產品整合事業越做越大,跨產品的問題也越來越複雜,合作關係要牽涉各種不同層級的人。正可謂辦公室政治,彼此都不願意付出額外的資源應付,開會顯得明爭暗鬥。</p>
<p>即便很理所當然的修改項目,也指點出代碼要怎麼修正,溝通上盡是不滿意的答覆。望著其他部門的資源調度,重複且冗餘的決策滿是困惑,不知風險評估與商業價值到底是怎麼看待的。</p>
<p>解決多產品整合使用,遇到應用層級的架構問題,一度被歸類在我們這邊,開會一直被檢討。花了好幾陣子分析,得知問題壓根不在我們這邊,即使不牽涉我們的產品,問題早就存在很久。結果,即便圖文解說,還在互踢皮球,老是被問無關緊要的問題,明明闡述操作方法 A 出事,結果一直被說方法 B 沒問題,那樣的鬼打牆。不想解決非常態性問題是人之常情,上頭明確要求要解決的項目,跟我辯也沒用。</p>
<p>錄取新人上,除了面試人選上的問題,也得花時間在處理薪資結構上,看著 MTK、TSMC 那樣的分紅獎勵,聽著同事下屬們的抱怨,自己也是求償無門,分紅也不是說有就有。不自覺地感傷了起來,心灰意冷。</p>
<p>若每一年多少能拿到 RSU 股票,那心情估計也不是的問題,老說新產品上檯面賣錢,薪資上也沒有什麼變化。升主管會立即調薪?可以調到嚇死人的價碼?大部分的人還是有很大的幻想,當真正面對的時候,就會知道公司運作可不是那一回事。</p>
<p><img src="https://i.imgur.com/ZMVwrnv.jpg" alt=""></p>
<p>自然也會想朝著其他產業投石問路,整包的薪資價碼看起來不錯,也值得一談。但是海的另一側是可以去的地方嗎?考慮到國情要素、家人的顧慮,好像不值得冒風險去做。就好像高薪的博奕產業,總會與自身的價值倫理產生衝突。</p>
<h2 id="購車狀況"><a href="#購車狀況" class="headerlink" title="購車狀況"></a>購車狀況</h2><p>過年前回花蓮處理銀行事務,銀行行長順便諮詢訂車折扣,最後問了整個東部營業所。一想到台北的營業所,看起來生意太好,服務品質也隨之下降,NX 改車型也沒準確做到,導致延誤交車。詢問年底交車能不能折扣,只說一句「沒有」,只好改營業所訂車,那時願意給折扣。即便折扣多了一些,一開始就不老實給優惠,我看來是回老鄉訂車給認識的朋友賺吧。以免省了小錢,花了大錢。</p>
<p>礙於駕車技術有限、非通勤需求、以及其餘個人需求,老是被補了一刀「小車」,至於那一台車到底值不值得,這部分也得釋懷了。只有這樣的薪水,也不能妄想什麼。比起紙上談兵,勇於實踐,即便完美解法與現實不符,認清事實地踏實生活。</p>
<h2 id="大台北尋屋"><a href="#大台北尋屋" class="headerlink" title="大台北尋屋"></a>大台北尋屋</h2><p>跟著女友跑了好幾輪的台北看屋,新莊、板橋、新店、中正、中山都走遍了一輪。現在看房還得在大樓下面領號碼牌,像極了上摩天大樓欣賞風景。這麼多人可以隨手拋出個三千萬,殺都不殺價?相較於當時買林口房子的狀況,有著截然不同的處理方式。每一間都動輒兩、三千萬,高樓大廈與複雜的交通,頓覺得山上買房特別簡單。</p>
<p>一開始習慣住台北的人,估計也離不開那裏的生活型態。身為一個鄉下野孩子,恨不得離開台北。那些的生活娛樂,並不能給予什麼心靈滋潤,更有機會被房貸弄上身心枷鎖。不少案子,有著獨特的生活起居規劃、高額的基礎開銷、複雜的格局、繁多的設施、夾在無法交流的人群中,有一種說不過去的窒息感。即便這樣,房子還是炙手可熱,內心的各種批判顯得格格不入。</p>
<p>賣房的各種社會成功人士,因婚姻問題、新置產等問題而脫手老房。再看到房屋價碼上,一年漲三百萬,甚至有的屋主多喊漲一千萬。若一部分人這樣賺錢的,認真工作也不過投資。那長期下來,就是更加剝削其他人的未來價值,窮還是選擇窮的生活方式。</p>
<p>一房精實、兩房務實、三房踏實、四房絕食</p>
</div>
<div class="toggle-input article-more-link"><a>Read More +</a></div>
</div>
</div>
</article>
<article id="post-note/diary-20220103-encrypt" class="article article-type-post" itemscope itemprop="blogPost">
<div class="article-meta">
<a href="/2022/01/03/note/diary-20220103-encrypt/" class="article-date">
<time datetime="2022-01-03T07:28:28.000Z" itemprop="datePublished">2022-01-03</time>
</a>
<div class="article-category">
<a class="article-category-link" href="/categories/手札日記/">手札日記</a>
</div>
</div>
<div class="article-inner ">
<header class="article-header">
<h1 itemprop="name">
<a class="article-title" href="/2022/01/03/note/diary-20220103-encrypt/">《批改娘串起得那段經歷·玖 冬暄》</a>
</h1>
</header>
<footer class="article-footer">
<a data-url="http://morris821028.github.io/2022/01/03/note/diary-20220103-encrypt/" data-id="clni4s47b02j7ewvnihjoqb5p" class="article-share-link">Share</a>
<a href="http://morris821028.github.io/2022/01/03/note/diary-20220103-encrypt/#disqus_thread" class="article-comment-link">Comments</a>
</footer>
<div class="article-entry article-index" itemprop="articleBody">
您必須輸入密碼,才能查閱此文章
<p class="article-more-link">
<a href="/2022/01/03/note/diary-20220103-encrypt/#more">Read More</a>
</p>
</div>
</div>
</article>
<article id="post-note/diary-20220102-encrypt" class="article article-type-post" itemscope itemprop="blogPost">
<div class="article-meta">
<a href="/2022/01/02/note/diary-20220102-encrypt/" class="article-date">
<time datetime="2022-01-02T07:28:28.000Z" itemprop="datePublished">2022-01-02</time>
</a>
<div class="article-category">
<a class="article-category-link" href="/categories/手札日記/">手札日記</a>
</div>
</div>
<div class="article-inner ">
<header class="article-header">
<h1 itemprop="name">
<a class="article-title" href="/2022/01/02/note/diary-20220102-encrypt/">《批改娘串起得那段經歷·捌 風暴》</a>
</h1>
</header>
<footer class="article-footer">
<a data-url="http://morris821028.github.io/2022/01/02/note/diary-20220102-encrypt/" data-id="clni4s47e02jbewvnl93ob8op" class="article-share-link">Share</a>
<a href="http://morris821028.github.io/2022/01/02/note/diary-20220102-encrypt/#disqus_thread" class="article-comment-link">Comments</a>
</footer>
<div class="article-entry article-index" itemprop="articleBody">
您必須輸入密碼,才能查閱此文章
<p class="article-more-link">
<a href="/2022/01/02/note/diary-20220102-encrypt/#more">Read More</a>
</p>
</div>
</div>
</article>
<article id="post-note/diary-20220101-encrypt" class="article article-type-post" itemscope itemprop="blogPost">
<div class="article-meta">
<a href="/2022/01/01/note/diary-20220101-encrypt/" class="article-date">
<time datetime="2022-01-01T07:28:28.000Z" itemprop="datePublished">2022-01-01</time>
</a>
<div class="article-category">
<a class="article-category-link" href="/categories/手札日記/">手札日記</a>
</div>
</div>
<div class="article-inner ">
<header class="article-header">
<h1 itemprop="name">
<a class="article-title" href="/2022/01/01/note/diary-20220101-encrypt/">《批改娘串起得那段經歷·柒 暗潮》</a>
</h1>
</header>
<footer class="article-footer">
<a data-url="http://morris821028.github.io/2022/01/01/note/diary-20220101-encrypt/" data-id="clni4s47402ixewvn1qsw5m7w" class="article-share-link">Share</a>
<a href="http://morris821028.github.io/2022/01/01/note/diary-20220101-encrypt/#disqus_thread" class="article-comment-link">Comments</a>
</footer>
<div class="article-entry article-index" itemprop="articleBody">
您必須輸入密碼,才能查閱此文章
<p class="article-more-link">
<a href="/2022/01/01/note/diary-20220101-encrypt/#more">Read More</a>
</p>
</div>
</div>
</article>
<article id="post-note/diary-20220101" class="article article-type-post" itemscope itemprop="blogPost">
<div class="article-meta">
<a href="/2022/01/01/note/diary-20220101/" class="article-date">
<time datetime="2022-01-01T04:28:28.000Z" itemprop="datePublished">2022-01-01</time>
</a>
<div class="article-category">
<a class="article-category-link" href="/categories/手札日記/">手札日記</a>
</div>
</div>
<div class="article-inner ">
<div class="article-gallery">
<div class="article-gallery-photos">
<a class="article-gallery-img fancybox" href="https://i.imgur.com/RxKOarU.jpg" rel="gallery_clni4s47g02jdewvnt4xu5jgb">
<img src="https://i.imgur.com/RxKOarU.jpg" itemprop="image">
</a>
</div>
</div>
<header class="article-header">
<h1 itemprop="name">
<a class="article-title" href="/2022/01/01/note/diary-20220101/">二八 ‧ 年尾</a>
</h1>
</header>
<footer class="article-footer">
<a data-url="http://morris821028.github.io/2022/01/01/note/diary-20220101/" data-id="clni4s47g02jdewvnt4xu5jgb" class="article-share-link">Share</a>
<a href="http://morris821028.github.io/2022/01/01/note/diary-20220101/#disqus_thread" class="article-comment-link">Comments</a>
</footer>
<div class="article-entry article-index" itemprop="articleBody">
<div class="toggle-content">
<h2 id="工作近況"><a href="#工作近況" class="headerlink" title="工作近況"></a>工作近況</h2><p>產品需求步入穩定,緊急的要求逐漸變少,但零星的硬體環境問題變多,這一類也不知道要怎麼交付給什麼人,只能硬著頭皮去做,甚至到自己要客制化 JDK 去解決問題,問題並不難,但網路上能用的資源很少,大部分只是花個時間解決那幾行程式小毛病。在 EDA 的場景下,大多的應用都不會接觸到如此大量資料、互動性高的桌面應用、有限的工作環境、穩定的作業系統。因此,相關資料少之又少,只能透過不斷地抽象化問題去找答案。</p>
<h3 id="面試情況"><a href="#面試情況" class="headerlink" title="面試情況"></a>面試情況</h3><p><img src="https://i.imgur.com/pUyJASL.jpg" alt=""></p>
<p>陸陸續續收了不少來自 104 的履歷,普遍性都只是刷題達人。若問起最近讀了什麼書,當有一部分人答起《Cracking the Coding Interview》,都會懷疑只是剛好命中書中的內容,以至於在隨後問起簡單的問題時,大多都會想往極為教科書上的標準答案去想,現實世界並不是如此,有時只需要先把功能做出來,至於有沒有完美的複雜度,那又是另一個回事。別因為想不到完美的解法,而感到困惑,有信心地拿出自己擁有的武器解決問題,就只是這樣的要求。</p>
<p>有時不考慮看最後碩士的成績單,碩士班課程很多並不用寫程式,大多科目都像機器學習、人工智慧、深度學習、區塊鏈等,在高階語言流程上玩弄。對於 EDA 工作環境的話,那些毫無用武之地,這個產業就像傳統產業,已經有著二、三十年的歷史。調閱大學成績單,滿是基礎科目在及格邊緣的案例,在這樣的情況下,信任度便是問號。除了履歷上所列出的條目,沒有其他作品或著作,要在短短時間內認識一個人,只有推薦制度比較可靠。最終,基本上都會拒絕從 104 來的人選。也有收到一些經驗老道的特殊案例,許多四、五十歲的老大哥,工作經驗與年齡不符,好幾份工作都沒有超過三個月,原來世道如此險惡。</p>
<h3 id="管理體驗"><a href="#管理體驗" class="headerlink" title="管理體驗"></a>管理體驗</h3><p>持續督促同事,那些應該在碩士班學習到的能力,基礎的寫作能力與閱讀能力,細心與自我研究,並超出管理指定的工作項目。不時,常常感慨「難道,以前我是這樣子的嗎?」對此毫無印象,也許是自己老了,也許時代變了,那都不得而知了。並非自願升上管理階級,但轉換職位的過程中,還是得下去寫比較複雜的部份、做一些技術指導,並不是只動一張嘴工作。許多管理階級要做的文書作業—評鑑評分制度,也開始接踵而來,處理請假事宜、採購設備等。</p>
<h2 id="學校聯繫"><a href="#學校聯繫" class="headerlink" title="學校聯繫"></a>學校聯繫</h2><p>接連收到幾次來自高中母校的電話,由以前資訊老師聯繫過來,想要我指導學弟相關程式問題,看著十年前拋出的程式設計問題,現在的學弟還能從中練習成長,原來以前的我做了不少事,而學校老師也還記得我。那些滿滿的黑歷史文章,看起來相當稚嫩。</p>
<p>年末時,有高中同學被班級導師邀回去分享經驗,而我這忙碌的小社畜自然不在其中,沒有這麼多悠哉的時間進行回校講座。過年也被老爸提前抓回去,說是要跟花中學弟一對一經驗談,同樣是考大學的成績不好,那時面臨到的極大壓力,要怎麼一路走過來,現在的我也沒有好的答案,至於我現在算不算過得好,心中仍沒有個底,畢竟每個人都不盡相同。</p>
<p>這回收到老師的邀請,要在二零二二的一月底寒訓回去跟資訊組的學弟妹們分享,至於為什麼合併花女一起,似乎只能在當下明白了。目前投影片的部分也準備了 <a href="https://morris821028.github.io/slides/ToHighSchool/hlhs/">連接</a>,標題還在構思、內容還持續充實。沒有辦法像其他講者一樣,做著潮流項目 (如 NFT、比特幣、區塊鏈、機器學習、深度學習或人工智慧),只有一些老老的工作項目,倍感突兀。</p>
<h2 id="生活歷程"><a href="#生活歷程" class="headerlink" title="生活歷程"></a>生活歷程</h2><p>處理完房子也過了快一年,大老婆還沒有娶,便開始著手小老婆,在十二月初跑去台北的 Lexus 營業所訂下了 NX 休旅車,最後考慮一次買到 NX 350 f sport,交車時間估計可以直接推到明年的生日禮物,恰好能持續堅持零貸款的生活原則。很多人也許會覺得為什麼要一次買這麼貴,想了想人生就這麼短,顧自己生命安全為主,也不要後悔做一些折衷的行為,好好地體驗人生。那為什麼不買歐系車?在臺灣水土不服的機率太大,還是買相近環境的車款吧,就像我們不該買俄羅斯產的汽車一樣,因為他們肯定沒有考慮散熱的設計,若是跑來這副熱帶島嶼國家,肯定毛病不少。</p>
<p>九月多邂逅了一個妹子,這中間的點點滴滴都在《批改娘串起得那段經歷》系列文中,有歡樂有哀愁,等到時機成熟,才會公開出來。在年尾慶生旅遊時,稱說「若寫到了二十篇,就跟我求婚」話可不能說這麼滿的,二十篇這個 KPI 要說難不難呢?不幸地,下一秒話就被收回了。</p>
<p><img src="https://i.imgur.com/Lfn0kxt.jpg" alt="「在互相幫助的日子裡漸漸萌生戀情」—《無職轉生》"></p>
</div>
<div class="toggle-input article-more-link"><a>Read More +</a></div>
</div>
</div>
</article>
<article id="post-note/clove-letter" class="article article-type-post" itemscope itemprop="blogPost">
<div class="article-meta">
<a href="/2022/01/01/note/clove-letter/" class="article-date">
<time datetime="2022-01-01T02:28:28.000Z" itemprop="datePublished">2022-01-01</time>
</a>
<div class="article-category">
<a class="article-category-link" href="/categories/手札日記/">手札日記</a>
</div>
</div>
<div class="article-inner ">
<header class="article-header">
<h1 itemprop="name">
<a class="article-title" href="/2022/01/01/note/clove-letter/">《獻給某工程師的情書》</a>
</h1>
</header>
<footer class="article-footer">
<a data-url="http://morris821028.github.io/2022/01/01/note/clove-letter/" data-id="clni4s44q02fuewvn99ko5i3x" class="article-share-link">Share</a>
<a href="http://morris821028.github.io/2022/01/01/note/clove-letter/#disqus_thread" class="article-comment-link">Comments</a>
</footer>
<div class="article-entry article-index" itemprop="articleBody">
<div class="toggle-content">
<p>「有些情書,是無法唸出來的。」—《獻給某工程師的情書》</p>
<h2 id="背景"><a href="#背景" class="headerlink" title="背景"></a>背景</h2><p>近十多年前,看了一段來自 Matrix67 的一篇<a href="http://www.matrix67.com/blog/archives/1598" target="_blank" rel="external">文章</a>,並寫下了<a href="https://mypaper.pchome.com.tw/zerojudge/post/1323303122" target="_blank" rel="external">紀錄</a>。那時,正值大二的我,對於 IOCCC 和 C 語言不夠了解,只做為一個基礎的認識並且記錄下,總幻想著以後有個機會用用。如今,在這個年底,一場邂逅,讓我想起了那好久好久以前的構思。</p>
<p><img src="https://i.imgur.com/F6xk5VD.jpg" alt="木製卡片之一"></p>
<p>並且做成了一張木製卡片,最後挑了兩家廠商去做,擔心顯示的字型與雷雕技術之間造成難以成色的問題,因此在挑選字型時,也是偏向工業用字型。至於,被抱怨「編譯不起來」,那又是另一個故事了。</p>
<h2 id="規格介紹"><a href="#規格介紹" class="headerlink" title="規格介紹"></a>規格介紹</h2><h3 id="編譯"><a href="#編譯" class="headerlink" title="編譯"></a>編譯</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">gcc main.c -o main</div><div class="line">./main</div></pre></td></tr></table></figure>
<h3 id="限制"><a href="#限制" class="headerlink" title="限制"></a>限制</h3><ul>
<li>這封情書只能容納 84 個字元</li>
<li>字元只能以 ASCII 的形式儲存</li>
<li>只能有 32 種不同字元。</li>
<li>ASCII 值會被忽略 < 36,即不可視字元以及特殊符號 <code>!"#</code></li>
</ul>
<h2 id="原理說明"><a href="#原理說明" class="headerlink" title="原理說明"></a>原理說明</h2><figure class="highlight c"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div></pre></td><td class="code"><pre><div class="line"> <span class="meta">#<span class="meta-keyword">include</span> <span class="meta-string"><stdio.h></span></span></div><div class="line"> main(h ,_,s) <span class="keyword">char</span>*s;{<span class="keyword">return</span></div><div class="line"> h<<span class="number">1</span>?main(*s,s[-h],<span class="string">"=a-1kj3gnm:q\</span></div><div class="line"><span class="string">ebh_cf*<r.d>i^+?,()[0qTyrjuvcde'8\</span></div><div class="line"><span class="string">h,Mk2polw-s1.t main("</span>)&&s[-h]&&main</div><div class="line">(h<span class="number">-1</span>,_,s):h/<span class="number">2</span>?_==*s?<span class="built_in">putchar</span>(<span class="number">32</span>[s])</div><div class="line"> :_%<span class="number">115</span><<span class="number">36</span>||main(h,_,s+<span class="number">1</span>):main(</div><div class="line"> <span class="number">0</span>,h,<span class="string">"q>.#::##+b#:#(#k###+\</span></div><div class="line"><span class="string"> ##h?.)+####b?(##rr###\</span></div><div class="line"><span class="string"> ##?#,1#?r#<#g:#^#\</span></div><div class="line"><span class="string"> q?d?_#<kk##)#\</span></div><div class="line"><span class="string"> ##>i#=fe#\</span></div><div class="line"><span class="string"> ####"</span>)</div><div class="line"> ;}</div></pre></td></tr></table></figure>
<p>還原排版一下</p>
<figure class="highlight c"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div></pre></td><td class="code"><pre><div class="line"><span class="meta">#<span class="meta-keyword">include</span> <span class="meta-string"><stdio.h></span></span></div><div class="line">main(h ,_,s) <span class="keyword">char</span>*s; {</div><div class="line"> <span class="keyword">return</span></div><div class="line"> h<<span class="number">1</span> ?</div><div class="line"> main(*s,s[-h],<span class="string">"=a-1kj3gnm:qebh_cf*<r.d>i^+?,()[0qTyrjuvcde'8h,Mk2polw-s1.t main("</span>)</div><div class="line"> &&s[-h]&&main(h<span class="number">-1</span>,_,s) : </div><div class="line"> h/<span class="number">2</span> ? </div><div class="line"> _==*s ? <span class="built_in">putchar</span>(<span class="number">32</span>[s]) : _%<span class="number">115</span><<span class="number">36</span>||main(h,_,s+<span class="number">1</span>) : </div><div class="line"> main(<span class="number">0</span>,h,<span class="string">"q>.#::##+b#:#(#k###+##h?.)+####b?(##rr#####?#,1#?r#<#g:#^#q?d?_#<kk##)###>i#=fe#####"</span>);</div><div class="line">}</div></pre></td></tr></table></figure>
<ol>
<li><code>main(h, _, s) char*s;</code> 是主程式的進入點,相當於常見的 <code>main(int argc, char *argv[])</code>,因此 <code>h = argc</code> 也就是一開始程式的進入參數個數。</li>
<li><code>./main</code> 執行時,傳進去的 <code>h = argc = 1</code></li>
<li><code>h</code> <ol>
<li>負號時,作為加密訊息的字元索引值 ()。<code>s[-h]&&main(h-1,_,s)</code> 則表示加密訊息非空,繼續推進下一個解析字元位置。</li>
<li>正數時,只標記狀態為 <strong>解密表格索引</strong></li>
</ol>
</li>
<li><code>_</code> 作為當前加密訊息的字元</li>
<li><code>s</code> 作為傳遞資料的磁帶</li>
</ol>
<p>暗碼對照表</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">encode: =a-1kj3gnm:qebh_cf*<r.d>i^+?,()[</div><div class="line">decode: 0qTyrjuvcde'8h,Mk2polw-s1.t main(</div></pre></td></tr></table></figure>
<p>加密訊息</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">q>.#::##+b#:#(#k###+##h?.)+####b?(##rr#####?#,1#?r#<#g:#^#q?d?_#<kk##)###>i#=fe#####</div></pre></td></tr></table></figure>
<p>忽略 <code>#</code> 字元後,第一個 <code>q</code> 要去找 encode row 所在的位置</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div></pre></td><td class="code"><pre><div class="line">encode: =a-1kj3gnm:qebh_cf*<r.d>i^+?,()[</div><div class="line">decode: 0qTyrjuvcde'8h,Mk2polw-s1.t main(</div><div class="line"> ^this, get `'`</div></pre></td></tr></table></figure>
<p>第二個 <code>></code> 要去找 encode row 所在的位置</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div></pre></td><td class="code"><pre><div class="line">encode: =a-1kj3gnm:qebh_cf*<r.d>i^+?,()[</div><div class="line">decode: 0qTyrjuvcde'8h,Mk2polw-s1.t main(</div><div class="line"> ^this, get `s`</div></pre></td></tr></table></figure>
<p>第三個 <code>.</code> 要去找 encode row 所在的位置</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div></pre></td><td class="code"><pre><div class="line">encode: =a-1kj3gnm:qebh_cf*<r.d>i^+?,()[</div><div class="line">decode: 0qTyrjuvcde'8h,Mk2polw-s1.t main(</div><div class="line"> ^this, get `w`</div></pre></td></tr></table></figure>
<h2 id="產生器"><a href="#產生器" class="headerlink" title="產生器"></a>產生器</h2><script text="javascript">
function clove_convert(n){var e='/* == Modified by morris821028.github.io == */\n\n #include <stdio.h>\n main(h ,_,s) char*s;{return\n h<1?main(*s,s[-h],"=a-1kj3gnm:q\\\nebh_cf*<r.d>i^+?,()[0qTyrjuvcde\'8\\\nh,Mk2polw-s1.t main(")&&s[-h]&&main\n(h-1,_,s):h/2?_==*s?putchar(32[s])\n :_%115<36||main(h,_,s+1):main(\n 0,h,"````````````````````\\\n `````````````````````\\\n `````````````````\\\n `````````````\\\n `````````\\\n ````")\n ;}',r=new Array("a","2","c","d","e","'","8","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","-","y","T"," ",",",".","1","M","0"),h=new Array("(","f","n","m",":","q","e","b",")","j","c","r",",","[","<","*","a","k",">","+","3","g",".","d","1","-","?","h","^","i","_","="),t=(new Array("s","t","u","v","w","x","y","z","{","|","}","~","!","#"),0),a=0,o="",c=n;for(i=0;i<e.length;i++)if("`"==e.charAt(i)){if(t<c.length&&(Math.random()<c.length/88||c.length-t>=84-a)){var s=c.charAt(t);for(j=0;j<=r.length;j++){if(s==r[j]){s=h[j];break}j==r.length&&(s=" ")}o+=s,t++}else o+="#";a++}else o+=e.charAt(i);document.getElementById("clove_output").value=o}
</script>
<input id="clove_input_t1" style="font-family:tahoma; font-size:12px; width:480px;" value="'sweetheart, with all my love.' - Morris1028">
<input type="button" style="margin-left:18px;" value="Say it!" onclick="clove_convert(document.getElementById('clove_input_t1').value)">
<hr>
<textarea id="clove_output" cols="48" rows="17" readonly="readonly" style="font-family:'Courier New';font-size:12px; line-height: 1.2;"></textarea>
</div>
<div class="toggle-input article-more-link"><a>Read More +</a></div>
</div>
</div>
</article>
<nav id="page-nav">
<span class="page-number current">1</span><a class="page-number" href="/page/2/">2</a><a class="page-number" href="/page/3/">3</a><span class="space">…</span><a class="page-number" href="/page/87/">87</a><a class="extend next" rel="next" href="/page/2/">Next »</a>
</nav>
</section>
<aside id="sidebar">
<!-- <div id="ukagaka_panel"></div> -->
<div class="widget-wrap">
<h3 class="widget-title">Categories</h3>
<div class="widget">
<ul class="category-list"><li class="category-list-item"><a class="category-list-link" href="/categories/學校課程/">學校課程</a><span class="category-list-count">115</span><ul class="category-list-child"><li class="category-list-item"><a class="category-list-link" href="/categories/學校課程/介面設計/">介面設計</a><span class="category-list-count">5</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/學校課程/作業系統/">作業系統</a><span class="category-list-count">6</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/學校課程/即時系統/">即時系統</a><span class="category-list-count">3</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/學校課程/大學專題/">大學專題</a><span class="category-list-count">2</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/學校課程/巨量資料/">巨量資料</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/學校課程/平行程式/">平行程式</a><span class="category-list-count">43</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/學校課程/敏捷方法/">敏捷方法</a><span class="category-list-count">3</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/學校課程/數位影像生成/">數位影像生成</a><span class="category-list-count">4</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/學校課程/編譯器/">編譯器</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/學校課程/自然語言/">自然語言</a><span class="category-list-count">5</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/學校課程/虛擬實境/">虛擬實境</a><span class="category-list-count">4</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/學校課程/計算型智慧/">計算型智慧</a><span class="category-list-count">3</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/學校課程/計算幾何/">計算幾何</a><span class="category-list-count">6</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/學校課程/計算機圖學/">計算機圖學</a><span class="category-list-count">2</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/學校課程/資料庫系統/">資料庫系統</a><span class="category-list-count">4</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/學校課程/資訊安全/">資訊安全</a><span class="category-list-count">9</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/學校課程/通識課程/">通識課程</a><span class="category-list-count">14</span></li></ul></li><li class="category-list-item"><a class="category-list-link" href="/categories/工作應用/">工作應用</a><span class="category-list-count">40</span><ul class="category-list-child"><li class="category-list-item"><a class="category-list-link" href="/categories/工作應用/Java/">Java</a><span class="category-list-count">5</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/工作應用/Meme/">Meme</a><span class="category-list-count">10</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/工作應用/其他/">其他</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/工作應用/可持久化/">可持久化</a><span class="category-list-count">8</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/工作應用/鬼故事/">鬼故事</a><span class="category-list-count">16</span></li></ul></li><li class="category-list-item"><a class="category-list-link" href="/categories/手札日記/">手札日記</a><span class="category-list-count">62</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/網頁設計/">網頁設計</a><span class="category-list-count">15</span><ul class="category-list-child"><li class="category-list-item"><a class="category-list-link" href="/categories/網頁設計/About-This-Blog/">About This Blog</a><span class="category-list-count">7</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/網頁設計/HTML5/">HTML5</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/網頁設計/JQuery/">JQuery</a><span class="category-list-count">4</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/網頁設計/Markdown/">Markdown</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/網頁設計/NodeJs/">NodeJs</a><span class="category-list-count">2</span></li></ul></li><li class="category-list-item"><a class="category-list-link" href="/categories/解題區/">解題區</a><span class="category-list-count">633</span><ul class="category-list-child"><li class="category-list-item"><a class="category-list-link" href="/categories/解題區/Latex/">Latex</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/解題區/出題解題/">出題解題</a><span class="category-list-count">23</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/解題區/解題區-POJ/">解題區 - POJ</a><span class="category-list-count">3</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/解題區/解題區-UVa/">解題區 - UVa</a><span class="category-list-count">483</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/解題區/解題區-Zerojudge/">解題區 - Zerojudge</a><span class="category-list-count">77</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/解題區/解題區-其他題目/">解題區 - 其他題目</a><span class="category-list-count">45</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/解題區/解題區-未解題目/">解題區 - 未解題目</a><span class="category-list-count">1</span></li></ul></li><li class="category-list-item"><a class="category-list-link" href="/categories/雜言筆記/">雜言筆記</a><span class="category-list-count">4</span></li></ul>
</div>
</div>
<div class="widget-wrap">
<h3 class="widget-title">Recents</h3>
<div class="widget">
<ul>
<li>
<a class="text" href="/2023/10/09/work/company-ghost-story-16/">
<i class="icon-file-o"></i>
Company Ghost Story 公司鬼故事 16</a>
</li>
<li>
<a class="text" href="/2023/04/02/note/diary-20230402/">
<i class="icon-file-o"></i>
同舟共濟</a>
</li>
<li>
<a class="text" href="/2022/06/20/note/diary-20220620/">
<i class="icon-file-o"></i>
維護作業</a>
</li>
<li>
<a class="text" href="/2022/06/19/work/company-ghost-story-15/">
<i class="icon-file-o"></i>
Company Ghost Story 公司鬼故事 15</a>
</li>
<li>
<a class="text" href="/2022/03/27/note/diary-20220327/">
<i class="icon-file-o"></i>
規劃 ‧ 生活</a>
</li>
<li>
<a class="text" href="/2022/01/03/note/diary-20220103-encrypt/">
<i class="icon-file-o"></i>
《批改娘串起得那段經歷·玖 冬暄》</a>
</li>
<li>
<a class="text" href="/2022/01/02/note/diary-20220102-encrypt/">
<i class="icon-file-o"></i>
《批改娘串起得那段經歷·捌 風暴》</a>
</li>
<li>
<a class="text" href="/2022/01/01/note/diary-20220101-encrypt/">
<i class="icon-file-o"></i>
《批改娘串起得那段經歷·柒 暗潮》</a>
</li>
<li>
<a class="text" href="/2022/01/01/note/diary-20220101/">
<i class="icon-file-o"></i>
二八 ‧ 年尾</a>
</li>
<li>
<a class="text" href="/2022/01/01/note/clove-letter/">
<i class="icon-file-o"></i>
《獻給某工程師的情書》</a>
</li>
</ul>
</div>
</div>
<div class="widget-wrap">
<h3 class="widget-title">Links</h3>
<div class="widget">
<ul>
<li><a href="http://mypaper.pchome.com.tw/zerojudge" target="_blank" title="Old Blog"><i class="icon-star"></i> Morris' Blog (pchome)</a></li>
</ul>
</div>
</div>
<script src="/js/jquery-ui.js"></script>
<script src="/js/ukagaka/jquery.morris.ukagaka.resource.js"></script>
<script src="/js/ukagaka/typed.js"></script>
</aside>
</div>
<footer id="footer">
<div class="outer">
<div class="social-group">
<a href="https://github.com/morris821028" target="_blank" title="github"><i class="icon-github"></i></a>
<a href="https://www.facebook.com/Morris1028" target="_blank" title="facebook"><i class="icon-facebook-sign"></i></a>
<a href="http://uhunt.felix-halim.net/id/46705" target="_blank" title="uhunt" ><span class="icon-uhunt">UVa<span></a>
</div>
<div id="footer-info" class="inner">
Powered by <a href="http://hexo.io/" target="_blank">Hexo</a> and Theme by <a href="https://github.com/morris821028/hexo-theme-landscape" target="_blank" title="landscape">landscape</a> © 2023 Shiang-Yun Yang
</div>
</div>
</footer>
</div>
<nav id="mobile-nav">
<a href="/" class="mobile-nav-link"><i class=icon-home ></i>  Home</a>
<a href="/about" class="mobile-nav-link"><i class=icon-user ></i>  About</a>
<a href="/archives" class="mobile-nav-link"><i class=icon-archive ></i>  Archives</a>
<a href="/tags" class="mobile-nav-link"><i class=icon-tags ></i>  Tags</a>
<a href="/picture" class="mobile-nav-link"><i class=icon-camera ></i>  Pictures</a>
<a href="/works" class="mobile-nav-link"><i class=icon-trophy ></i>  Works</a>
</nav>
<script>
var disqus_shortname = 'morris1028';
(function(){
var dsq = document.createElement('script');
dsq.type = 'text/javascript';
dsq.async = true;
dsq.src = '//go.disqus.com/count.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<link rel="stylesheet" href="/fancybox/jquery.fancybox.css">
<script src="/fancybox/jquery.fancybox.pack.js"></script>
<script src="/js/jquery.lazyload.js"></script>
<script src="/js/jquery.als-1.6.js"></script>
<script src="/js/script.js"></script>
</div><!-- hexo-inject:begin --><!-- Begin: Injected MathJax -->
<script type="text/x-mathjax-config">
MathJax.Hub.Config({"tex2jax":{"inlineMath":[["$","$"],["\\(","\\)"]],"skipTags":["script","noscript","style","textarea","pre","code"],"processEscapes":true},"TeX":{"equationNumbers":{"autoNumber":"AMS"}}});
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Queue(function() {
var all = MathJax.Hub.getAllJax(), i;
for(i=0; i < all.length; i += 1) {
all[i].SourceElement().parentNode.className += ' has-jax';
}
});
</script>
<script type="text/javascript" src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<!-- End: Injected MathJax -->
<!-- hexo-inject:end -->
</body>
</html>