41554 blogs · [ { "id": "01a0879d-ccea-70de-9eac-1cd1c9e99967", "title": "Hand Made Hero Day 5", "url": "https://www.lvguowei.me/post/handmakehero-day-5/", "published_at": "2018-01-03T19:56:54+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1ca339e72", "title": "Linus Talk at Aalto University", "url": "https://www.lvguowei.me/post/linus-talk-aalto/", "published_at": "2017-12-29T19:43:40+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1ca381631", "title": "Generic Programming in C", "url": "https://www.lvguowei.me/post/generic-programming-in-c/", "published_at": "2017-12-27T19:43:47+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1ca7cf83a", "title": "What the FlatMap?", "url": "https://www.lvguowei.me/post/what-the-flatmap/", "published_at": "2017-12-17T18:04:29+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1cb31c17a", "title": "Is a College Education Required for a Career in Game Design?", "url": "https://www.lvguowei.me/post/is_college_education_required_for_game/", "published_at": "2017-12-06T09:09:15+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1cb8a0e6f", "title": "SICP Quote", "url": "https://www.lvguowei.me/post/sicp-quote/", "published_at": "2017-10-06T17:05:49+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1cc0f51e4", "title": "How to write maintainable RecyclerView", "url": "https://www.lvguowei.me/post/maintainable-recyclerview/", "published_at": "2017-09-17T15:39:39+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1cc4f86b3", "title": "Use Enumset to Replace Bit Flag", "url": "https://www.lvguowei.me/post/enumset-replace-bit-flag/", "published_at": "2017-09-10T16:50:32+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1cd2b6b81", "title": "The Ultimate List of Youtube Programming Channels", "url": "https://www.lvguowei.me/post/ultimate-list-of-youtube-programming-channels/", "published_at": "2017-09-02T17:20:06+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1cd7a4a46", "title": "The Evolution of Command Pattern (III)", "url": "https://www.lvguowei.me/post/the-evolution-of-command-pattern-3/", "published_at": "2017-09-02T08:10:27+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1cdc186d4", "title": "The Evolution of Command Pattern (II)", "url": "https://www.lvguowei.me/post/the-evolution-of-command-pattern-2/", "published_at": "2017-08-27T07:41:19+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1ce848ccb", "title": "The Evolution of Command Pattern (I)", "url": "https://www.lvguowei.me/post/the-evolution-of-command-pattern/", "published_at": "2017-08-26T06:52:18+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1cf47491e", "title": "Customize Android Seekbar Color", "url": "https://www.lvguowei.me/post/customize-android-seekbar-color/", "published_at": "2017-08-23T17:50:44+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1d0236c6b", "title": "My Keyboard Collection", "url": "https://www.lvguowei.me/post/keyboard-collection/", "published_at": "2017-08-21T18:10:38+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1d08bbc6e", "title": "The Most Beautiful Program Ever Written", "url": "https://www.lvguowei.me/post/the-most-beautiful-program-ever-written/", "published_at": "2017-08-17T18:42:47+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1d09447c8", "title": "Magit Tutorial - Bisect", "url": "https://www.lvguowei.me/post/magit-tutorial-bisect/", "published_at": "2017-08-12T05:07:00+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1d142503a", "title": "Magit tutorial - Rebase (Part II)", "url": "https://www.lvguowei.me/post/magit-rebase-2/", "published_at": "2017-08-06T06:30:26+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1d1f2a67f", "title": "Magit tutorial - Rebase (Part I)", "url": "https://www.lvguowei.me/post/magit-rebase/", "published_at": "2017-08-05T12:25:20+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1d1f6b5f6", "title": "Tree Vs Iterative Fibbonacci Numbers", "url": "https://www.lvguowei.me/post/tree-vs-iterative-fib/", "published_at": "2017-07-30T17:46:36+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1d20cf740", "title": "How (Not) To Store Password", "url": "https://www.lvguowei.me/post/how-not-to-store-password/", "published_at": "2017-07-28T18:07:55+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1d2585669", "title": "About Me", "url": "https://www.lvguowei.me/about/", "published_at": "2017-07-25T00:00:00+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1d2d5e9f6", "title": "All You Need To Know About Android Espresso Testing (Part IV)", "url": "https://www.lvguowei.me/post/all-you-need-to-know-about-android-espresso-testing-4/", "published_at": "2017-07-21T15:19:35+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1d31f109a", "title": "All You Need To Know About Android Espresso Testing (Part III)", "url": "https://www.lvguowei.me/post/all-you-need-to-know-about-android-espresso-testing-3/", "published_at": "2017-07-21T13:44:41+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1d360278f", "title": "All You Need To Know About Android Espresso Testing (Part II)", "url": "https://www.lvguowei.me/post/all-you-need-to-know-about-android-espresso-testing-2/", "published_at": "2017-07-21T08:48:08+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1d3f9b0f3", "title": "How To Follow Hand Made Hero On Linux", "url": "https://www.lvguowei.me/post/how-to-follow-hand-made-hero-on-linux/", "published_at": "2017-07-20T06:06:31+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1d4738934", "title": "All You Need To Know About Android Espresso Testing (Part I)", "url": "https://www.lvguowei.me/post/all-you-need-to-know-about-android-espresso-testing/", "published_at": "2017-07-13T10:03:12+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1d49f7313", "title": "Android Emulator Problem In Arch Linux", "url": "https://www.lvguowei.me/post/android-emulator-problem-in-arch-linux/", "published_at": "2017-07-12T11:13:07+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1d57553d3", "title": "Rxjava fromCallable() Vs defer()", "url": "https://www.lvguowei.me/post/rxjava-fromcallable-vs-defer/", "published_at": "2017-07-11T14:13:32+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1d5f5cde3", "title": "Android Custom View 101 (Part V)", "url": "https://www.lvguowei.me/post/android-custom-view-101-5/", "published_at": "2017-07-09T16:26:15+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1d6e65251", "title": "Android Custom Views 101 (Part IV)", "url": "https://www.lvguowei.me/post/android-custom-view-101-4/", "published_at": "2017-07-09T13:41:23+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1d6f0699e", "title": "Android Custom Views 101 (Part III)", "url": "https://www.lvguowei.me/post/android-custom-view-101-3/", "published_at": "2017-07-08T11:47:36+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1d7afbbd0", "title": "Android Custom Views 101 (Part II)", "url": "https://www.lvguowei.me/post/android-custom-view-101-2/", "published_at": "2017-07-08T06:55:03+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1d82c1f9f", "title": "The Pleasure Of Hand Made Programs", "url": "https://www.lvguowei.me/post/the-pleasure-of-hand-made-programs/", "published_at": "2017-07-05T18:42:18+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1d8778b2d", "title": "Android Custom Views 101 (Part I)", "url": "https://www.lvguowei.me/post/android-custom-view-101/", "published_at": "2017-07-05T12:20:25+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1d934fc9b", "title": "Strategy Pattern And Lambda", "url": "https://www.lvguowei.me/post/strategy-pattern-and-lambda/", "published_at": "2017-07-03T09:01:35+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1d9dd6932", "title": "Why Synchronize?", "url": "https://www.lvguowei.me/post/why-synchronize/", "published_at": "2017-07-01T11:16:31+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1dab48193", "title": "Why we stopped using dagger", "url": "https://www.lvguowei.me/post/why-remove-dagger/", "published_at": "2017-06-27T17:40:41+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1dbacc37d", "title": "Hand Made Hero is AWESOME!", "url": "https://www.lvguowei.me/post/hand-made-hero/", "published_at": "2017-06-18T15:02:02+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1dc7c431b", "title": "An Android version of the iMessage voice note recorder", "url": "https://www.lvguowei.me/post/imessage-recorder-android-clone/", "published_at": "2017-06-12T09:22:15+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1dccfede0", "title": "Understand Clojure Transducers 1", "url": "https://www.lvguowei.me/post/understand-clojure-transducers/", "published_at": "2017-04-02T05:35:01+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1dd582fda", "title": "Android Kata View Property Animator", "url": "https://www.lvguowei.me/post/android-kata-view-property-animator/", "published_at": "2017-03-28T17:49:08+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1dda00b15", "title": "Mock Objects Demystified", "url": "https://www.lvguowei.me/post/mock-objects-dimistified/", "published_at": "2017-03-20T18:27:39+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1de04df2f", "title": "Programming Kata Day 13", "url": "https://www.lvguowei.me/post/programming-kata-day-13/", "published_at": "2017-03-06T19:02:55+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1de5bbeb0", "title": "Clojure Tail Recursion By Example", "url": "https://www.lvguowei.me/post/clojure-tail-recursion/", "published_at": "2017-02-27T18:15:18+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1df55c269", "title": "programming kata day 12", "url": "https://www.lvguowei.me/post/programming-kata-day-12/", "published_at": "2017-02-26T14:38:38+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1dff7d0cf", "title": "programming kata day 11", "url": "https://www.lvguowei.me/post/programming-kata-day-11/", "published_at": "2017-02-25T19:30:56+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1e055db4d", "title": "Named Arguments In Clojure", "url": "https://www.lvguowei.me/post/named-arguments-in-clojure/", "published_at": "2017-02-24T20:24:05+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1e0a05e82", "title": "programming kata day 10", "url": "https://www.lvguowei.me/post/programming-kata-day-10/", "published_at": "2017-02-23T18:36:33+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1e189d6c6", "title": "Programming Kata Day 9", "url": "https://www.lvguowei.me/post/programming-kata-day-9/", "published_at": "2017-02-20T18:05:17+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1e1e39b20", "title": "Programming Kata Day 8", "url": "https://www.lvguowei.me/post/programming-kata-day-8/", "published_at": "2017-02-18T11:54:42+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1e2df03e9", "title": "Programming Kata Day 7", "url": "https://www.lvguowei.me/post/programming-kata-day-7/", "published_at": "2017-02-17T18:32:20+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1e2eb4397", "title": "Programming Kata Day 6", "url": "https://www.lvguowei.me/post/programming-kata-day-6/", "published_at": "2017-02-15T18:16:33+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1e30fa613", "title": "programming kata day 5", "url": "https://www.lvguowei.me/post/programming-kata-day-5/", "published_at": "2017-02-13T19:34:13+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1e3c9f236", "title": "Perfume Shop Puzzle", "url": "https://www.lvguowei.me/post/perfume-shop-puzzle/", "published_at": "2017-02-12T14:06:17+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1e3ddcc59", "title": "Programming Kata Day 4", "url": "https://www.lvguowei.me/post/programming-kata-day-4/", "published_at": "2017-02-12T09:08:14+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1e4245d01", "title": "programming kata day 3", "url": "https://www.lvguowei.me/post/programming-kata-day-3/", "published_at": "2017-02-10T18:31:01+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1e43f12d7", "title": "Programming Kata Day 2", "url": "https://www.lvguowei.me/post/programming-kata-day-2/", "published_at": "2017-02-07T17:34:17+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1e511e75f", "title": "Programming Kata Day 1", "url": "https://www.lvguowei.me/post/programming-kata-day-1/", "published_at": "2017-02-06T18:42:29+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1e5f9ef72", "title": "Nested For Loops in Clojure", "url": "https://www.lvguowei.me/post/nested-for-loops-in-clojure/", "published_at": "2017-02-03T18:36:18+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1e6b19d5a", "title": "Why component dependency cycle is bad", "url": "https://www.lvguowei.me/post/why-component-dependency-cycle-is-bad/", "published_at": "2017-01-01T11:51:26+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1e6d2053a", "title": "My Second Android Library", "url": "https://www.lvguowei.me/post/second-android-lib/", "published_at": "2016-12-26T08:23:15+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1e6de454e", "title": "Custom ProgresBar that spins anything", "url": "https://www.lvguowei.me/post/first-android-lib/", "published_at": "2016-12-23T10:25:51+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1e76819fb", "title": "Are Stubs and Mocks Harmful?", "url": "https://www.lvguowei.me/post/stub-and-mock-harmful/", "published_at": "2016-12-18T17:53:45+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1e7cb69dc", "title": "Coffee Maker - An OOD case study", "url": "https://www.lvguowei.me/post/coffee-maker/", "published_at": "2016-12-18T07:54:57+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1e8c0c132", "title": "Use Interface Segregation Principle to Implement an Android Logger", "url": "https://www.lvguowei.me/post/interface-segregation-principle-android-logger/", "published_at": "2016-12-08T19:34:15+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1e9af0909", "title": "Expense Report Case Study", "url": "https://www.lvguowei.me/post/expense-report-case-study/", "published_at": "2016-12-06T10:16:53+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1ea30874d", "title": "Moomin", "url": "https://www.lvguowei.me/post/painting-mumin/", "published_at": "2016-12-05T16:50:50+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1eb2c16c4", "title": "Xpp", "url": "https://www.lvguowei.me/post/painting-xpp/", "published_at": "2016-12-05T16:40:50+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1eb3aeeda", "title": "Ayumi Hamasaki Portrait", "url": "https://www.lvguowei.me/post/painting-ayumi/", "published_at": "2016-12-05T16:30:50+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1eb55d9e6", "title": "Master Mind in TDD", "url": "https://www.lvguowei.me/post/master-mind-tdd/", "published_at": "2016-11-21T19:29:52+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1ebbe2c37", "title": "Payroll Case Study", "url": "https://www.lvguowei.me/post/payroll-case-study/", "published_at": "2016-11-20T12:51:39+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1ebda0b14", "title": "Finnish learning diary 10", "url": "https://www.lvguowei.me/post/finnish-learning-diary-10/", "published_at": "2016-10-16T11:11:16+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1ecd4712c", "title": "Finnish learning diary 9", "url": "https://www.lvguowei.me/post/finnish-learning-diary-9/", "published_at": "2016-10-16T06:34:04+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1edc97f9d", "title": "Replace Nested Conditional With Guard Clauses", "url": "https://www.lvguowei.me/post/replace-nested-conditional-with-guard-clauses/", "published_at": "2016-10-15T16:38:57+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1ee3d2c39", "title": "Unidirectional to Bidirectional", "url": "https://www.lvguowei.me/post/unidirectional-to-bidirectional/", "published_at": "2016-10-15T06:40:46+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1ef04eaf3", "title": "Duplicate Observed Data", "url": "https://www.lvguowei.me/post/duplicate-observed-data/", "published_at": "2016-10-15T02:35:31+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1ef0e8ab6", "title": "Choco Musk by Al Rehab", "url": "https://www.lvguowei.me/post/choco-musk-review/", "published_at": "2016-10-09T18:23:38+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1ef4b8e5d", "title": "Finnish learning diary 8", "url": "https://www.lvguowei.me/post/finnish-learning-diary-8/", "published_at": "2016-10-09T17:55:47+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1ef5636ac", "title": "Finnish learning diary 7", "url": "https://www.lvguowei.me/post/finnish-learning-diary-7/", "published_at": "2016-10-08T17:10:44+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1f02a33d8", "title": "Finnish learning diary 6", "url": "https://www.lvguowei.me/post/finnish-learning-diary-6/", "published_at": "2016-10-08T17:09:44+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1f03a9681", "title": "Do you have a good taste of what you are doing?", "url": "https://www.lvguowei.me/post/good-taste/", "published_at": "2016-10-08T11:17:40+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1f0aae9a0", "title": "matrix concentric shift", "url": "https://www.lvguowei.me/post/matrix-concentric-shift/", "published_at": "2016-10-06T16:46:09+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1f12886a0", "title": "Percy Jackson Series", "url": "https://www.lvguowei.me/post/percy-jackson/", "published_at": "2016-07-09T16:22:34+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1f1869fc8", "title": "Time and Space of Recursion", "url": "https://www.lvguowei.me/post/time-and-space-of-recursion/", "published_at": "2016-05-29T18:32:14+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1f21ee86e", "title": "Simple example of recursion", "url": "https://www.lvguowei.me/post/recursion-example/", "published_at": "2016-05-05T12:33:59+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1f2f77a18", "title": "keep it fun", "url": "https://www.lvguowei.me/post/keep-it-fun/", "published_at": "2016-05-04T17:13:51+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1f3721df4", "title": "Finnish learning diary 5", "url": "https://www.lvguowei.me/post/finnish-learning-diary-5/", "published_at": "2016-04-30T15:21:42+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1f3f5030f", "title": "Finnish learning diary 4", "url": "https://www.lvguowei.me/post/finnish-learning-diary-4/", "published_at": "2016-04-30T15:20:32+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1f494f505", "title": "Finnish learning diary 3", "url": "https://www.lvguowei.me/post/finnish-learning-diary-3/", "published_at": "2016-04-30T15:19:04+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1f50310d9", "title": "Finnish learning diary 2", "url": "https://www.lvguowei.me/post/finnish-learning-diary-2/", "published_at": "2016-04-30T15:15:04+00:00" }, { "id": "01a0879d-ccea-70de-9eac-1cd1f5c8195b", "title": "Finnish learning diary 1", "url": "https://www.lvguowei.me/post/finnish-learning-diary-1/", "published_at": "2016-04-30T06:57:12+00:00" } ] posts Claim your blog
Back to lvguowei.me
Blog · corpus.blog/blogs/lvguowei.me/posts

lvguowei.me

lvguowei.me

2018

2017

2016

5 Dec 2016