├── .gitignore ├── LICENSE ├── README.md ├── build └── build.py └── subscriptions.opml /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Created by https://www.gitignore.io/api/osx,python 3 | 4 | ### OSX ### 5 | *.DS_Store 6 | .AppleDouble 7 | .LSOverride 8 | 9 | # Icon must end with two \r 10 | Icon 11 | 12 | 13 | # Thumbnails 14 | ._* 15 | 16 | # Files that might appear in the root of a volume 17 | .DocumentRevisions-V100 18 | .fseventsd 19 | .Spotlight-V100 20 | .TemporaryItems 21 | .Trashes 22 | .VolumeIcon.icns 23 | .com.apple.timemachine.donotpresent 24 | 25 | # Directories potentially created on remote AFP share 26 | .AppleDB 27 | .AppleDesktop 28 | Network Trash Folder 29 | Temporary Items 30 | .apdisk 31 | 32 | 33 | ### Python ### 34 | # Byte-compiled / optimized / DLL files 35 | __pycache__/ 36 | *.py[cod] 37 | *$py.class 38 | 39 | # C extensions 40 | *.so 41 | 42 | # Distribution / packaging 43 | .Python 44 | env/ 45 | develop-eggs/ 46 | dist/ 47 | downloads/ 48 | eggs/ 49 | .eggs/ 50 | lib/ 51 | lib64/ 52 | parts/ 53 | sdist/ 54 | var/ 55 | *.egg-info/ 56 | .installed.cfg 57 | *.egg 58 | 59 | # PyInstaller 60 | # Usually these files are written by a python script from a template 61 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 62 | *.manifest 63 | *.spec 64 | 65 | # Installer logs 66 | pip-log.txt 67 | pip-delete-this-directory.txt 68 | 69 | # Unit test / coverage reports 70 | htmlcov/ 71 | .tox/ 72 | .coverage 73 | .coverage.* 74 | .cache 75 | nosetests.xml 76 | coverage.xml 77 | *,cover 78 | .hypothesis/ 79 | 80 | # Translations 81 | *.mo 82 | *.pot 83 | 84 | # Django stuff: 85 | *.log 86 | local_settings.py 87 | 88 | # Flask stuff: 89 | instance/ 90 | .webassets-cache 91 | 92 | # Scrapy stuff: 93 | .scrapy 94 | 95 | # Sphinx documentation 96 | docs/_build/ 97 | 98 | # PyBuilder 99 | target/ 100 | 101 | # IPython Notebook 102 | .ipynb_checkpoints 103 | 104 | # pyenv 105 | .python-version 106 | 107 | # celery beat schedule file 108 | celerybeat-schedule 109 | 110 | # dotenv 111 | .env 112 | 113 | # virtualenv 114 | venv/ 115 | ENV/ 116 | 117 | # Spyder project settings 118 | .spyderproject 119 | 120 | # Rope project settings 121 | .ropeproject -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2016 Maxim Pedchenko All rights reserved. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![logo](https://i.imgur.com/5mooydE.png) 2 |

3 | License: MIT 4 | Version 5 | Feeds 6 | Feeds 7 |

8 | 9 | ## Hi Community 10 | My name is Max and I am an iOS developer. 11 | 12 | I am interested in Swift, Objective-C and iOS. And to be aware of every innovation in rapidly changing world of programming, you have to watch every blog about iOS. But what if don't know what you should start from? I've prepared for you a list of necessary rss feeds. 13 | 14 | ## Getting started 15 | 1. Download any RSS client. I recommend to use Feedly or Reeder. 16 | 17 | * Feedly - https://feedly.com 18 | * Reeder - http://reederapp.com 19 | 20 | 2. Get my [OPML](https://raw.githubusercontent.com/rgnlax/Feeds-for-iOS-Developer/master/subscriptions.opml) and import it! 21 | 22 | ## Feeds 23 | List of feeds: 24 | 25 | * Blog – Under The Bridge 26 | http://www.alexcurylo.com 27 | * Developer Economics 28 | https://www.developereconomics.com 29 | * Martin Fowler 30 | https://martinfowler.com 31 | * Mobile Development News, from Realm 32 | https://realm.io 33 | * The Clean Code Blog 34 | http://blog.cleancoder.com/ 35 | * Adoption Curve Dot Net 36 | http://adoptioncurve.net/ 37 | * AppCoda 38 | http://www.appcoda.com 39 | * Artsy Engineering 40 | http://artsy.github.io/ 41 | * Clean Swift 42 | http://clean-swift.com 43 | * Cocoa at Tumblr 44 | https://cocoa.tumblr.com/ 45 | * Cocoa Controls 46 | http://www.cocoacontrols.com 47 | * Cocoanetics 48 | https://www.cocoanetics.com 49 | * Florian Kugler 50 | http://floriankugler.com/ 51 | * Grok Swift 52 | http://grokswift.com/ 53 | * Indie iOS Focus Weekly 54 | https://indieiosfocus.curated.co/issues 55 | * iOS App Development - Medium 56 | https://medium.com/ios-os-x-development?source=rss----8c21b9314eea---4 57 | * iOS Dev Weekly 58 | http://iosdevweekly.com/issues 59 | * iOS Goodies 60 | http://ios-goodies.com/ 61 | * iOS-Blog 62 | http://www.ios-blog.co.uk 63 | * JetBrains AppCode Blog 64 | https://blog.jetbrains.com/objc 65 | * Khanlou 66 | http://khanlou.com/ 67 | * Krzysztof Zabłocki 68 | http://merowing.info/ 69 | * Little Bites of Cocoa 70 | https://littlebitesofcocoa.com 71 | * Making App Pie 72 | https://makeapppie.com 73 | * Maniac Dev 74 | https://maniacdev.com 75 | * Masilotti.com 76 | http://masilotti.com/ 77 | * Natasha The Robot 78 | https://www.natashatherobot.com 79 | * NSBlog 80 | http://www.mikeash.com/pyblog/ 81 | * NSHipster 82 | http://nshipster.com 83 | * Ole Begemann: iOS Development 84 | https://oleb.net/blog/ 85 | * Peter Steinberger 86 | http://petersteinberger.com/ 87 | * Ray Wenderlich 88 | https://www.raywenderlich.com 89 | * Structure and Interpretation of Computer Programmers 90 | http://www.sicpers.info 91 | * Subjective-C 92 | http://subjc.com/ 93 | * Swift Blog - Apple Developer 94 | https://developer.apple.com/swift/blog/ 95 | * Swift Pearls - Articles 96 | http://michalciurus.github.io 97 | * Swifter 98 | http://en.swifter.tips/ 99 | * Use Your Loaf 100 | http://useyourloaf.com/blog/rss/index.xml 101 | * ⌘U 102 | http://modocache.io 103 | * MacRumors: Mac News and Rumors 104 | https://www.macrumors.com 105 | 106 | ## Contributing 107 | Pull requests are welcomed from anyone who wants to add new source feed for our community. If you know one useful source - go ahead and add it! 108 | 109 | ## License 110 | MIT License 111 | 112 | Copyright (c) 2016 Maxim Pedchenko All rights reserved. 113 | 114 | Permission is hereby granted, free of charge, to any person obtaining a copy 115 | of this software and associated documentation files (the "Software"), to deal 116 | in the Software without restriction, including without limitation the rights 117 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 118 | copies of the Software, and to permit persons to whom the Software is 119 | furnished to do so, subject to the following conditions: 120 | 121 | The above copyright notice and this permission notice shall be included in all 122 | copies or substantial portions of the Software. 123 | 124 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 125 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 126 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 127 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 128 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 129 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 130 | SOFTWARE. 131 | -------------------------------------------------------------------------------- /build/build.py: -------------------------------------------------------------------------------- 1 | import sys 2 | reload(sys) 3 | sys.setdefaultencoding('UTF8') 4 | 5 | import opml 6 | from alphabet_detector import AlphabetDetector 7 | ad = AlphabetDetector() 8 | 9 | def write_markdown(feeds): 10 | with open("output.md", "w") as f: 11 | f.write("count = {}".format(len(feeds))) 12 | for item in feeds: 13 | f.writelines("\n* %s\n%s" % (item.get("title"), item.get("htmlUrl"))) 14 | 15 | def filter(outline): 16 | sections = [] 17 | 18 | for section in outline: 19 | for feed in section: 20 | if ad.is_latin(feed.text.decode('utf-8')): 21 | sections.append(feed) 22 | return sections 23 | 24 | 25 | def main(): 26 | with open("Subscriptions.opml", "r") as f: 27 | outline = filter(opml.parse(f)) 28 | feeds = [] 29 | 30 | for feed in outline: 31 | feeds.append({"title": feed.text, "htmlUrl": feed.htmlUrl}) 32 | write_markdown(feeds) 33 | 34 | 35 | if __name__ == '__main__': 36 | main() -------------------------------------------------------------------------------- /subscriptions.opml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | iOS Developer Subscriptions 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 | --------------------------------------------------------------------------------