JSJ 277: Dojo 2 with Dylan Schiemann and Kitson Kelly

JSJ 277: Dojo 2 with Dylan Schiemann and Kitson Kelly

JSJ 277: Dojo 2 with Dylan Schiemann and Kitson KellyThis episode of JavaScript Jabber features panelists Aimee Knight, Cory House, and Charles Max Wood. They talk with Dylan Schiemann and Kitson Kelly about Dojo 2.[00:02:03] Introduction to Dylan SchiemannDylan is the CEO at Sitepen and co-founder of the Dojo Toolkit.[00:02:22] Introduction to Kitson Kitson is the CTO at Sitepen and project lead for Dojo 2.[00:02:43] Elevator Pitch for DojoDojo 1 has been around forever. Started back in 2004 as a way to solve the challenge of "I want to build something cool in a browser." Promises and web components were inspired by or created by Dojo. It's been a huge influence on the web development community.Dojo 2 is a ground up re-write with ES 2015, TypeScript and modern API's. It's a modernized framework for Enterprise applications.[00:04:29] How is Dojo different from other frameworks?There's a spectrum: small libraries like React with an ecosystem and community of things you add to it to Angular which is closer to the MV* framework with bi-directional data binding. Vue lands somewhere in the middle. Dojo 2 is also somewhere in the middle as well. It's written in TypeScript and has embraced the TypeScript experience.[00:06:00] Did the Angular 2 move influence the Dojo 2 development and vice-versa?Dojo 2 had moved to TypeScript and 2 days later Angular announced that they were going to TypeScript. Angular also moved very quickly through their BETA phase, which caused some challenges for the Angular community.With Dojo 2, they didn't start the public discussion and BETA until they knew much better what was and wasn't going to change. They've also been talking about Dojo 2 for 6 or 7 years.The update was held up by adoption of ES6 and other technologies.Dojo 1 was also responsible for a lot of the low-level underpinning that Angular didn't have to innovate on. Dojo 2 was built around a mature understanding of how web applications are built now.People doing Enterprise need a little more help and assistance from their framework. Dojo provides a much more feature rich set of capabilities.Angular could have pushed much more of TypeScript's power through to the developer experience. Dojo much more fully adopts it.It's also easier if all of your packages have the same version number.Call out to Angular 4 vs Angular 2.[00:12:44] AMD ModulesWhy use AMD instead of ES6 modules?You can use both. Dojo 2 was involved in the creation of UMD. James Burke created UMD while working on Dojo.ES6 modules and module loading systems weren't entirely baked when Dojo 2 started to reach maturity, so they went with UMD. It's only been a few months since Safari implemented the ES6 module system. Firefox and friends are still playing catchup.The Dojo CLI build tool uses webpack, so it's mostly invisible at this point.So, at this point, should I be using UMD modules? or ES6? Is there an advantage to using AMD?With TypeScript you'd use ES6 modules, but UMD modules can be loaded on the fly.[00:16:00] Are you using Grunt?Internally, for tasks we use Grunt. But for users, we have a CLI tool that wraps around Webpack.For package builds and CI, Grunt is used.[00:18:30] What is the focus on Enterprise all about?There are a lot of different challenges and complexities to building Enterprise apps. Dojo was the first framework with internationalization, large data grids, SVG charts, etc. Dojo has spend a long time getting this right. Many other systems don't handle all the edge cases.Internationalization in Angular 2 or 4 seems unfinished.Most Dojo users are building for enterprises like banks and using the features that handle large amounts of data and handle those use cases better.[00:21:05] If most application frameworks have the features you listed, is there a set of problems it excels at?The Dojo team had a hard look at whether there was a need for their framework since many frameworks allow you to build great applications. Do we want to invest into something like this?React has internationalization libraries. But you'll spend a lot of time deciding which library to use and how well it'll integrate with everything else. A tradeoff in decision fatigue.In the Enterprise, development isn't sexy. It's necessary and wants to use boring but reliable technology. They like to throw bodies at a problem and that requires reliable frameworks with easily understood decision points.Producing code right is a strong case for TypeScript and they pull that through to the end user.Many frameworks start solving a small set of problems, become popular, and then bolt on what they need to solve everything else...Dojo tried to make sure it had the entire package in a clear, easy to use way.You can build great apps with most of the big frameworks out there. Dojo has been doing this for long enough that they know where to optimize for maintainability and performance.[00:29:00] Where is Dojo's sweet spot? https://www.sitepen.com/blog/2017/06/13/if-we-chose-our-javascript-framework-like-we-chose-our-music/The biggest reason for using Dojo over the years is the data grid component.They also claim to have the best TypeScript web development experience.You may also want a component based system with the composition hassles of React.The composability of components where one team may write components that another uses is a big thing in Dojo where one person doesn't know the entire app you're working on.Theming systems is another selling point for Dojo.[00:34:10] Ending the framework warsTry Dojo out and try out the grid component and then export it to your Angular or React app.There are a lot of frameworks out there that do a great job for the people who use them. The focus is on how to build applications better, rather than beating out the competition.Sitepen has build apps with Dojo 2, Angular, React, Dojo + Redux, etc.[00:39:01] The Virtual DOM used by Dojo2 years ago or so they were looking for a Virtual DOM library that was small and written in TypeScript. They settled on http://maquettejs.org/.The more you deal with the DOM directly, the more complex your components and libraries become.Makes things simpler for cases like server side rendering getting fleshed out in BETA 3.It also allows you to move toward something like React Native and WebVR components that aren't coupled to the DOM.They moved away from RxJS because they only wanted observables and shimmed in (or polyfilled) the ES-Next implementation instead of getting the rest of the RxJS that they're not using.[00:46:40] What's coming next?They're finishing Dojo 2. They're polishing the system for build UI components and architecture and structuring the app. They plan to release before the end of the year.They're also wrapping up development on the Data Grid, which only renders what shows on the screen plus a little instead of millions of rows.[00:49:08] TestingThey've gothttp://theintern.io.It pulls together unit testing, functional testing, continuous integration hooks, accessibility testing, etc.It's rewritten in TypeScript to take advantage of modern JavaScript.The Dojo CLI uses intern as the default test framework.Kitson build the https://github.com/dojo/test-extras library to help with Dojo testing with intern.Dojo Links
- http://dojo.io
- http://github.com/dojo/meta
- http://sitepen.com/blog
- https://gitter.im/dojo/dojo2
- http://github.com/dylans
- http://twitter.com/dylans
- http://twitter.com/sitepen
- http://twitter.com/dojo
- http://github.com/kitsonk
- http://twitter.com/kitsonk
PicksCory
- https://www.farnamstreetblog.com/2017/08/amateurs-professionals
Aimee
- https://www.eventbrite.com/e/devfest-florida-2017-tickets-31833188925?discount=JSJABBER (use code 'jsjabber')
Chuck
- Taking some time off
- http://amzn.to/2j8VKRJ
- https://www.youtube.com/watch?v=vVsXO9brK7M
Dylan
- https://www.zenhub.com/
- http://halfstackconf.com
- https://www.sitepen.com/blog/2017/06/13/if-we-chose-our-javascript-framework-like-we-chose-our-music/
Kitson
- https://en.wikipedia.org/wiki/Dunbar%27s_number
Special Guests: Dylan Schiemann and Kitson Kelly.

Support this podcast at —

Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

Jaksot(735)

167 JSJ TypeScript and Angular with Jonathan Turner and Alex Eagle

167 JSJ TypeScript and Angular with Jonathan Turner and Alex Eagle

02:27 - Alex Eagle IntroductionTwitter GitHubGoogle02:54 - Jonathan Turner IntroductionTwitter GitHubMicrosoft[Talk] Jonathan Turner: TypeScript and Angular 2 @ ng-conf 2015 [Talk] Jonathan Turner: TypeScript and Angular 2 @ Angular U 2015 03:30 - What is TypeScript?04:40 - Google + Microsoft = <3 (Angular Adopting TypeScript)Rob EisenbergAtScriptJonathan Turner: Angular 2: Built on TypeScript07:18 - TypeScript Accommodating AngularTC39Yehuda KatzAurelia 09:28 - Surge of Interest in Adopting a Typechecker, Type System 14:21 - Angular: Creating a New LanguageKilling Off Wasabi - Part 1 (FogBugz Article)traceur16:46 - The Angular 2 Component System and How it Uses New Annotations for Classes18:01 - Annotations and Decorators22:06 - TypeScript and Babel?; Adding New Features25:25 - Non-Angular Users Adopting TypeScriptVisual Studio Code34:55 - Tooling and Setting Modes for Linting and Static Analysis36:58 - Using Libraries Outside the TypeScript Ecosystem38:11 - Type Definition Files40:15 - Content of the Type System43:19 - Duck Typing 45:12 - Getting People to Care about TypeScript 49:16 - The Angular and TypeScript RelationshipPicks f.lux (Aimee) Jafar Husain: Functional Programming in Javascript (learnrx) (Aimee) Startup Timelines (Jamison) Friday Night Lights (Jamison) React Rally (Jamison) Evan Farrer: Unit testing isn't enough. You need static typing too. (Dave) AngularConnect (Joe) ng-click.com (Joe) mdn.io (Joe) Sonic Pi (Chuck) Error Prone (Alex) AudioScope-ng2 (Jonathan) The Nintendo World Championships (Jonathan)Special Guests: Alex Eagle and Jonathan Turner . Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

8 Heinä 20151h 1min

166 JSJ New Relic with Wraithan and Ben Weintraub

166 JSJ New Relic with Wraithan and Ben Weintraub

02:27 - Coding House Scholarship Winners with AJ and AimeeEmily Dreisbach (50% scholarship winner)Blake Gilmore (50% scholarship winner)Berlin Sohn (100% scholarship winner)Congratulations from the panelists of JavaScript Jabber! 09:48 - Ben Weintraub IntroductionTwitter GitHub10:40 - Wraithan IntroductionTwitter GitHub Blog11:01 - Why Care About Monitoring?Insights13:08 - Mixedpanel 13:57 - How it Works on the BackendTime-series DataMySQLstatsdTracesS3CassandraInsights17:26 - New Relic’s CEO: Lew Cirne 18:37 - How the Node Agent WorksExpress.js Specifics    Transactions and Controller NamesDatabase MonitoringMongoDBOracle Support23:27 - Deciding Which Databases to SupportPostgres26:41 - Browser Monitoring32:54 - Using Zombie.js?34:11 - Tree of Causality Track.js 39:37 - Monetizing Aspect, Viewable Source/Source Available Code47:28 - PerformanceCodeGenmraleph Blog v8-perfBenchmarkingjsPerf01:00:53 - New Relic@newrelicNew Relic Blog New Relic Community ForumPicks mraleph Blog (Wraithan) v8-perf (Wraithan) The Dear Hunter: A Night on the Town (Jamison) React Rally (Jamison) caddy (AJ) Windows 10: Setup your Raspberry Pi 2 (AJ) Remote debugging protocol (Ben) Chrome Dev Tools Filmstrip View (Ben)Special Guests: Ben Weintraub and Wraithan . Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

1 Heinä 20151h 4min

165 JSJ ShopTalk with Chris Coyier and Dave Rupert

165 JSJ ShopTalk with Chris Coyier and Dave Rupert

02:43 - Dave Rupert IntroductionTwitter GitHub BlogParavel03:42 - Chris Coyier IntroductionTwitter GitHub BlogCSS-Tricks CodePen 06:24 - The ShopTalk Show and Podcasting@shoptalkshow“What do I learn next?” => “Just Build Websites!”Question & Answers Aspect23:19 - Tech Is A NichePaul Ford: What is Code? 29:51 - Balancing Technical Content for All Levels of ListenersCommunity Opinion38:42 - Learning New CSS Tricks (Writing Blog Posts)Code Golf41:54 - The Accessibility Project Adventures in Angular Episode #027: Accessibility with Marcy Sutton Anne Gibson: An Alphabet of Accessibility Issues 56:02 - Favorite & Cool EpisodesShowTalk Show Episode #091: with Jamison Dance and Merrick Christensen ShopTalk Show Episode #101: with John ResigShopTalk Show Episode #157: with Alex Russell  ShopTalk Show Episode #147: with Tom Dale ShopTalk Show Episode #123: Special Archive Episode from 2004 ShopTalk Show Episode #166: with Lisa IrishShopTalk Show Episode #161: with Eric Meyer Picks FIFA Women's World Cup (Joe) Winnipeg (Joe) The Martian by Andy Weir (Joe) Zapier (Aimee) SparkPost (Aimee) dev.modern.ie/tools/vms (AJ) remote.modern.ie (AJ) Microsoft Edge (AJ) StarFox Zero for Wii U (AJ) Hot Plate (AJ) untrusted (AJ) Skiplagged (Dave) Judge John Hodgman (Dave) Wayward Pines (Chris) Sturgill Simpson (Chris) The Economic Value of Rapid Response Time (Dave) The Adventure Zone (Dave) React Rally (Jamison) Matsuoka Shuzo: NEVER GIVE UP (Jamison) DESTROY WITH SCIENCE - Quantum Loop (Jamison) Serial Podcast (Chuck) Ruby Remote Conf (Chuck)Special Guests: Chris Coyier and Dave Rupert. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

24 Kesä 20151h 15min

164 JSJ Rendr with Spike Brehm

164 JSJ Rendr with Spike Brehm

Get your Ruby Remote Conf tickets and check out the @rubyremoteconf Twitter feed for exciting updates about the conference. 02:22 - Spike Brehm IntroductionTwitter GitHubBlogAirbnb@airbnb@airbnbnerds03:07 - rendr Isomorphic JavaScriptSingle-Page ApplicationRoutes and Controllers06:24 - Why the back and forth between server-side and client-side applications?Rendering Content for SEO (Search Engine Optimization)Spike Brehm: Building Isomorphic Apps @ JSConf.Asia 2014 (Video) Spike Brehm: Building Isomorphic Apps @ JSConf.Asia 2014 (Slides)Spike Brehm: The Evolution of Airbnb's FrontendCaching20:28 - Tools That HelpBrowserifywebpackset-cookie22:21 - Why do this? Who gets statically and dynamically rendered pages?Airbnb Mobile HydrationReactVirtual DOMDiffingDelegation30:26 - DOM and String-based TemplatingHandlebars.jsExpress.jsMounting33:11 - Use CasesMeteorAsana36:08 - Why does Isomorphic JavaScript get so much hate?Charlie Robbins: Scaling Isomorphic Javascript Code Michael Jackson: Universal JavaScriptPicks The Paleolithic Diet (Aimee) Programming Throwdown (Aimee) Listen to other people’s views (Chuck) AJ O'Neal: Access web pages through your home network via SSH (AJ) AJ O'Neal: Reverse VPN: turn any private device into public cloud server (AJ) Alt (Spike) Tame Impala (Spike)Special Guest: Spike Brehm. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

17 Kesä 201554min

163 JSJ Flow with Jeff Morrison and Avik Chaudhuri

163 JSJ Flow with Jeff Morrison and Avik Chaudhuri

03:32 - Jeff Morrison IntroductionTwitter GitHubFacebook03:46 - Avik Chaudhuri IntroductionTwitter GitHub LinkedInFacebook04:27 - Flow @flowtype [GitHub] flow05:36 - Static Type CheckingDynamic vs Static Type Languages09:52 - Flow and Unit TestingJest12:39 - Gradual Typing 15:07 - Type Inference 17:50 - Keeping Up with New Features in JavaScriptBabel20:49 - Generators24:46 - Working on Flow28:27 - Flow vs TypeScriptInference SupportTony Hoare: Null References: The Billion Dollar Mistake35:41 - Putting the “Java” Back in JavaScriptServer/Client OverviewPrototyping45:26 - Flow and the JavaScript Community46:43 - React Support48:39 - Documentationgh-pages (link to the docs)IRC Channel for Flow: #flowtype on webchat.freenode.netPicks Nolan Lawson: We have a problem with promises (Aimee) Jim 'N Nick's BBQ Restaurant (Aimee) Frank McSherry: Scalability! But at what COST? (Jamison) Frank McSherry: Bigger data; same laptop (Jamison) Greg Wilson: What We Actually Know About Software Development, and Why We Believe It's True (Jamison) Marron: Time-Travel Debugging for JavaScript/HTML Applications (Jeff) Real World OCaml (Jeff) Muse (Jeff) Shtetl-Optimized (Avik) Chef's Table (Avik)Special Guests: Avik Chaudhuri and Jeff Morrison. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

10 Kesä 20151h 2min

162 JSJ ESLint with Jamund Ferguson

162 JSJ ESLint with Jamund Ferguson

02:15 - Jamund Ferguson IntroductionTwitter GitHubBlogPayPalJamund Ferguson: JavaScript Linting for Code Quality & ESLint Overview02:47 - Lint (Background)JSLintDouglas CrockfordJSHintESLint[GitHub] eslintNicholas Zakas[Gitter] eslint04:48 - Keeping ESLint Up-to-date​​Esprima Ariya Hidayatespree Babelbabel-eslintES6 (ECMAScript 6)08:09 - Abstract Syntax Tree (ASTs)Jamund Ferguson: Don’t be scared of abstract syntax trees MinificationUglifyJS13:28 - Using Lint ToolsContext SwitchingAspects to Linting:Code StandardizationCatching Bad MistakesJSCS (JavaScript Code Style)“Extends”20:42 - Are there a downsides to linting?The Social Problem23:40 - Establishing RulesBikesheddingConsistency25:12 - Cool ESLint Featureshandle-callback-errNot Throwing LiteralsNo Restricted ModulesJamund Ferguson: Error Handling in Node.js @ MountainWest JavaScript 2014 30:45 - How ESLint Works Internallyeslint-plugin-angularConfiguration and Defaults40:07 - Getting Started with Linting43:03 - Autofixer 44:41 - Plugins46:47 - Linter Feedback From the PanelPicks Mozilla (AJ) We Will All Be Game Programmers (Aimee) Search Inside Yourself: The Unexpected Path to Achieving Success, Happiness (and World Peace) by Chade-Meng Tan (Aimee) Good Mythical Morning (Dave) Salt Lake City (Dave) BB King Calls This One Of His Best Performances (Jamison) json-server (Jamison) Austenland (Joe) Supergirl (Joe) A Short History of Nearly Everything by Bill Bryson (Jamund) The Book of Mormon (Jamund)     Special Guest: Jamund Ferguson. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

3 Kesä 201558min

161 JSJ Rust with David Herman

161 JSJ Rust with David Herman

02:52 - David Herman IntroductionTwitter BlogJavaScript Jabber Episode #54: JavaScript Parsing, ASTs, and Language Grammar w/ David Herman and Ariya HidayatJavaScript Jabber Episode #44: Book Club! Effective JavaScript with David HermanEffective JavaScript by David Herman@effectivejsTC39Mozilla03:50 - The Rust Programming Language[GitHub] rust06:31 - “Systems Programming Without Fear”07:38 - High vs Low-level Programming LanguagesGarbage Collection and DeallocationMemory SafetyPerformance and Control Over Performance11:44 - Stack vs Heap Memory Etymology of "Foo" RAII (Resource Acquisition Is Initialization)16:52 - The Core of RustOwnershipType System24:23 - Segmentation Fault (Seg Faults)27:51 - How much should programmers care about programming languages? Andrew Oppenlander: Rust FFI (Embedding Rust in projects for safe, concurrent, and fast code anywhere.)32:43 - Concurrency and Multithreaded Programming35:06 - Rust vs Go 37:58 - servo 40:27 - asm.jsemscripten42:19 - Cool Apps Built with RustSkylightWit.ai45:04 - What hardware architectures does the Rust target?45:46 - Learning RustRust for Rubyists by Steve KlabnikPicks Software Engineering Radio (Dave) How Will You Measure Your Life? by Clayton M. Christensen (Dave) The Presidents of the United States of America (Dave) Design Patterns in C (AJ) Microsoft Edge Dev Blog: Bringing Asm.js to Chakra and Microsoft Edge (AJ) The Web Platform Podcast: Episode 43: Modern JavaScript with ES6 & ES7 (AJ) Firefox Fame Phone (AJ) iTunes U CS106A (Programming Methodology) (Aimee) Valerian Root on Etsy (Aimee) The Dear Hunter - Live (Jamison) Designing Data-Intensive Applications by Martin Kleppmann (Jamison) Fogus: Perlis Languages (Jamison) Galactic Civilizations III (Joe) Visual Studio Code (Joe) Tessel 2 (Dave) Event Driven: How to Run Memorable Tech Conferences by Leah Silber (Dave) Plush Hello Kitty Doll (Dave)Special Guest: David Herman. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

27 Touko 20151h 5min

160 JSJ Stormpath with Robert Damphousse

160 JSJ Stormpath with Robert Damphousse

02:24 - Robert Damphousse Introduction02:40 - OAuthOpenIDJWT07:15 - Stormpath@gostormpath[GitHub] StormpathBlog08:38 - Authorization Information Storage11:29 - Stormpath Authentication vs OAuth AuthenticationResource Owner Password Credentials Grant14:43 - Caching 15:41 - Building Backends as a Service?18:21 - Security19:12 - Using CassandraStormpath in Planet Cassandra: 50k Accounts Imported in Under 200ms20:27 - Use Cases22:27 - Authentication as a Service 23:40 - 2FA (Two Factor Authentication)?24:07 - REST APIsLaunch a SaaS – and Battle Your Robot – With Stormpath25:39 - Making Complete AppsFullContactFirebase26:33 - Security (Cont’d)27:34 - In-Between Layer (Authentication API)28:40 - Browser-Based vs Mobile Application Use29:44 - Angular, React, Flux, 32:02 - React Native?33:05 - Stormpath Life Expectancy35:09 - Customers36:12 - Active Directory, LDAP (Lightweight Directory Access Protocol) 37:05 - Support and PricingPicksPutting the "fun" back in "funeral"! Celebrating the death of old IE browsers on January 12! (Dave) Giant Star Wars LEGO Super Star Destroyer Shattered at 1000 fps | Battle Damage (Dave) GitLab (Dave) Allen Pike: JavaScript Framework Fatigue (Aimee) The Cult of Work You Never Meant to Join (Aimee) Serial (AJ) HotPlate (AJ) Design Patterns in C (AJ) OAuth3 (AJ) JS Remote Conf Videos (Chuck) Ruby Remote Conf (Chuck) Traction: Get a Grip on Your Business by Gino Wickman (Chuck) Startups For the Rest of Us (Chuck) The Guest House: A Poem (Robert) The Hiring Post (Robert) Front-end Job Interview Questions (Robert)Special Guest: Robert Damphousse. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

20 Touko 201550min

Suosittua kategoriassa Liike-elämä ja talous

sijotuskasti
psykopodiaa-podcast
mimmit-sijoittaa
rss-rahapodi
ostan-asuntoja-podcast
rss-lahtijat
herrasmieshakkerit
taloudellinen-mielenrauha
io-techin-tekniikkapodcast
oppimisen-psykologia
hyva-paha-johtaminen
rahapuhetta
rss-rahamania
rss-h-asselmoilanen
inderespodi
rss-neuvottelija-sami-miettinen
pomojen-suusta
rss-startup-ministerio
rss-bisnesta-bebeja
rss-vaikuttavan-opettajan-vierella