Tumgik
#medium formatt
insleywinsley · 3 months
Text
Tumblr media Tumblr media Tumblr media
Ana Reservoir, 2024. ph. Insley Smullen.
Something is messed up with how I'm scanning these, the sky is all "fishtailed," as I call it. Will learn to fix and post final versions later, these are some rough drafts that I'm too excited about to not post. (I'm using a Lomography "Digitalizer" negative bed and a lightbox, photographed with a digital camera, if anyone has advice.)
10 notes · View notes
frog707 · 4 months
Text
more Kotlin progress
As mentioned, I'm teaching myself the Kotlin programming language.
I've now converted 16 small, open-source Java apps to Kotlin. I've learned a lot along the way, but the process is becoming repetitive.
Part of me feels I ought to do a "senior project" in which I write and debug a medium-sized app from scratch, so I can cross "learn Kotlin" off my to-do list. That'd be fine if I needed a medium-sized app right now, but I don't!
Recall that my motivation for studying Kotlin was to maintain Gradle build scripts. For me, writing Kotlin apps is like a side quest. It's important to keep focus!
Also, for me writing apps, Kotlin's advantages over Java are negated by the limited support for Kotlin in Apache NetBeans:
+ no auto-completion
+ no code formatter
+ no automated code inspection
+ no debugger
At some point I'll experiment with Kotlin in Intellij IDEA, but not today!
0 notes
billconrad · 2 years
Text
Bill’s Guide to Writing a Book
    I have written six books and have three more in the outline stage. However, my sales are dismal. You probably ask, “Why should I read your guide?” Good question. In my experience, it is essential to look at several sources when attempting to understand something. Then, once you know what is going on, jump into the project. So there could be value in my words because I have made many mistakes. Or this could be useless junk. This is a three-part blog; the next two will cover publishing and marketing.
    So… You have never written a book and want to write one. Where to start? Before we get into writing, there are some crucial tasks.
    1) Get a Goodreads account, an Amazon account, and an Amazon author’s account. Then post book reviews for every book you ever read on both sites. Your goal will be two per day and at least 200 reviews. Important tip. Review only the books you liked. Why? Carma and getting into the mindset of being successful. In addition, this effort will prepare you for a critical task—the book blurb. Your goal will be to get into the mindset that people will read and comment on your work. Also, it would help if you got into the philosophy of creating something people want. And finally, get into the mindset about books getting excellent reviews.
    2) Join Facebook/Twitter/popular online sites and write a short bio about yourself. If you already have an account, create a new page dedicated to your author’s activities. Post stuff about your writing, books, stories, and book-related interests. Important tip, post only light-hearted stuff. If you like/hate famous person X, keep it to yourself. Many potential book buyers love X. You want to make many book-buying contacts. Your goal will be to build hype. “Hey, just about to release my book.” “Wow! I will have to buy it!”
    3) Join a writer’s forum like the Facebook group Writers Helping Writers. Important tip. Start by reading lots of posts before posting. I recommend at least two weeks. Then post as often as you can, even if it is just a “thumbs up” to somebody else’s comments. Another excellent post is, “That makes sense.” Your goal is to get yourself out there and gain writing tips.
    4) READ A LOT. At least two hours a day. Try to read in the same area (like romance) you are thinking of publishing. This will improve your writing ability and develop style/ideas. It will also get you into the mindset you are writing for others. Read a variety of authors, including non-famous authors. Look for mistakes and think about how YOU would fix the problem.
    5) Start a blog. I have one on Goodreads, Facebook, Tumblr, and Medium. Talk about how your writing is going, what books you enjoy, and what it means to be a writer. Keep it high level. No politics or other controversial topics unless it is your thing to offend people. If so, tread lightly.
    6) Start thinking about marketing and do research in this area. This is a long, laborious, and expensive journey. “Writing a book is 99% self-marketing and 1% other.” -Me
    7) Get a computer with Internet access and Microsoft Word. You can pick up an old copy of Microsoft Word (like 2016) for $30 on eBay. Do not use OpenOffice! Despite all the evil that Microsoft is, they make a great product. This choice avoids issues like, “It looks good on the screen, but when I print, the margins do not line up.” All professional writers use Word, which is what editors, print/ebook formatters, and publishers expect. If you do not consider yourself a professional writer (or are at least trying to be one), you must ask yourself why you are undertaking this journey. Trust me, much hard work is ahead of you, and you need the right tools. In addition, you can find the answer if you have a Microsoft Word question.
    8) I strongly recommend paying for Grammarly and ProWritingAid. (Ensure you only use the Grammarly Word plug-in, not the Windows application.) These two programs will save you time, money, and adverse publicity. In addition, your blogs and book reviews should all pass through these programs. Side note. These programs may not work at all for non-Microsoft Word.
    9) BACK UP YOUR WORK EVERY DAY!! The number of times I read, “My computer got stolen, and I lost five years of work.” Get a memory stick, back up (a distinct copy) ONCE A WEEK, and put the stick in a fire-proof safe. NO EXCUSES! Install a virus checker and keep your computer updated.
    Let’s begin the writing process.
    First off, you have a BIG decision. Is this for fun or profit? If it is for fun, the pressure is off, and you can write anything you want without consequence. Who cares if you ever make a buck? Who cares about a grammar, plot, or character mistake?! However, once you go down this path, there is no turning back because you will have a trail of shoddy work. On the other hand, if you want to write for profit and fail, you can continue writing for fun with a solid foundation.
    If you intend to write for profit, you need to consider yourself a professional with a serious attitude. Also, you will need to spend big for a professional editor, copy editor, cover designer, and formatter. Stop and ask yourself if you have it inside of you.
    How much and how long will it take? At least six months and $5K+ (per book). Yes, that is a lot of money. But if you are resourceful, you can find helpers, intelligent tips, and people you can beg, but there are no shortcuts.
    Now, let’s say you use a shortcut like not having your work professionally edited. Trust me, the readers will tear you apart no matter how hard you try or how good your grammar/spelling/punctuation (or the friend you asked to check out your work). You will get 1-star reviews and harsh comments like, “A 5-year-old wrote this book.” A 1-star review is CRUSHING to an author. PAYING readers expect polished works. “If it’s worth doing, it’s worth doing correctly.” -Some famous person.
    What topic should you write about? Unfortunately, I cannot help in this area. Your story has to come from within you, and you need to be 150% passionate about it. This will be a long road, and you are wasting your time if you have no deep passion.
    Now that you have a concept write a brief paragraph about it. Go over this paragraph several times to polish it. Important tip. Keep this paragraph; you will need it later.
    Next step, show your paragraph to people and ask them what they think. If people seem apprehensive, ponder the concept. People are good at identifying a lousy concept.
    Poor children’s book example, “Wilber the farting bulldozer,” Your friends should say, “I’m not sure about this.” “Parents might not want their kids reading about a farting bulldozer.” “Not a good idea.”
    Now, do some research. If somebody has done the concept, start over. Copy concepts only get 1-star reviews, even if they are excellent. “This is just a poor Harry Potter re-write. What a rip-off! Don’t bother reading!”
    Remember, your work needs to stand out. How much? 40%. (I have discovered that 40% is an important estimate for books and life.) Another part of your concept must have a solid story foundation that is not too far away from other books you have read. Look at the various categories on Amazon.com and ask yourself, “Which category would my work be in? What books are already there? How does my idea stand up to these books? Would readers of book X like my work?” Readers will have difficulty understanding your work if your idea is too difficult to put into a standard category.
    What is your hook? What magic will make people want to “buy it now?” I often read bad book idea posts in Writers Helping Writers. “I had a messed-up life and want to write my story.” I typically reply, “What is your hook?” “My life was so bad that people will naturally want to read about me.” Writers seem to think their lives are unique. Why would I ever want to read about a nobody who had a messed-up life? Where is the hero? Why should I feel sorry for you? Where is the spunk? What did I learn? HOW DOES THIS HELP ME?!
    Here is a simple book with a great hook, Smoke Gets in Your Eyes. It is an exciting account of a funeral home worker and her life. Lots of info and insight. Did the author have a terrible childhood? Yes, but that was not the focus. Remember, your book must stand out. Side note. I gave the book a positive review on Goodreads and Amazon. More on that later.
    Now, you have a hook, and people like your summary paragraph. Next step. Does this concept have marketing potential? My advice for answering this is to post your idea to a writer’s group and ask for their marketing opinion. Even better, pay for the opinion of a professional book person who knows the publishing industry. How do you find such a person? Ask a writer’s group for advice. If your feedback is negative, tweak the concept or start over.
    Side note. The book market has radically changed. For example, in the 50-70s, western books were all the rage; now, that market is almost nonexistent. So look up your area of interest and make sure readers are interested.
    You are ready to begin when you are at least 40% sure that you have a marketable concept. Start with some basic questions. How do you see the story unfolding? When are you going to introduce your main character? How is the book structured? Get the entire plot clear in your head before picking up a pen.
    This next step is my most important piece of advice. When you have the entire plot, write an outline. This outline is for you, so do not get too wrapped up in making it look great. The goal is to develop a simple guide visually showing how the story flows. There are many book outline formats, including the flower method. You can also use post-its, a whiteboard, or 3x5 cards. I have found Visio to be an excellent method of organizing my thoughts.
    Another outlining method is a basic description like this bulky example:
They travel around Italy. [Research towns in Italy. Find one near the coast.] X find evil man H, he is in a bad way, not good at making money, confront him, argument, X feels the evil for the first time. [chapter break] Learns H has been killing many people to steal their money. X captured by evil army W, escape. H reveals he did not find the secret and said, “Damn. What would Jake do?”
    That mess was AWFUL! However, I wrote it for ME, and now I know the exact plot. And you do, too, which is the point. Notice the sample dialog, notes, and use of X, H, and W for names. Remember, the idea is to get the story’s essence and show flow. When you have completed your outline, go over it several times. Take a high-level view and pay attention to how the plot unfolds. LOOK FOR PLOT ERRORS! How did the killer get the gun? Why didn’t people hear the shot? The killer could have simply taken the subway to escape. Where was the mother during all of this?
    At this outline stage, it is easy to make VAST changes, move chapters and alter the whole plot. How about we change the main character’s gender? Should I introduce the main character later? What would happen if there were two main characters? Can a reader follow this? How big is the hook? What will improve the story? What does the reader care about? What distracts the reader? Do I have too many subplots? Is this a fun story? Is this interesting? What is the side plot?
    When you are confident, show the outline to somebody. It should be written barely well enough to get feedback. Stand firm, but do not be afraid to make bold changes.
    Once you finish your work, a significant change is complex and will have consequences. For example, change the main character from a man to a woman. You can then make a he/she mistake, and readers do not tolerate basic errors. A subtler issue occurs with the character’s mindset. “She drove her pickup truck like a bad-ass boss!!” This sentence is valid dialog, but readers would think, “A woman would not say it that way.” Readers are great at picking up flaws, and their 1-star comments will be brutal.
    Next, start a list of the characters and make a simple biography. Add notes and details.
Smith Family
Mom=Karen, Father=Joe, Son=James. Cat=Mr. Tumbles. Live at 1010 East Street. Joe looks like an angry Darth Vader.
    As you write, add facts to the biography and periodically check facts. Also, you can copy parts of your book here, like a character description, for later reference. Then, check the fact sheet while writing. Making a mistake like calling the father Joey instead of Joe. Readers HATE basic errors. Important tip, do not have two characters with the same first name. Super confusing for the reader and editor.
    To help you with this character effort, use a random name generator (available online) to develop character names. They have them for different countries, medieval times, and science fiction. My advice is to keep hitting the generate button until something pops. “Joey Potter sounds like a good name for my villain.” Do not use your family/friend names. Too confusing and can lead to issues with actual people.
    This is my dialog integration format:
Tim was happy and said, “That’s good.”
“Wow, what a great day,” Tim commented. “I will have to go to the market.”
“Wow, what a great day,” he commented. “I will have to go to the market” (Did you see the lowercase “he”)
“Big dialog paragraph ending without a quote.
“Next dialog paragraph begins with a quote.”
Small paragraph. Tim was happy and said, “That’s good.” (Only integrate small amounts of dialog into a paragraph.)
Big paragraph.
Tim was happy and said, “That’s good.” (Start with a new line after a big paragraph.)
Tim was happy and said, “That’s good.”
“Sounds great,” Sally replied.”
“I will work on that.” (No need to mention who is speaking for the following three lines. My rule is one identifier per three lines of dialog.)
    For thoughts, use italics instead of quotes, but treat them the same as above. (Except use “thought” in place of “said.”) Do not overuse the word “said.” Instead, use a variety of words. Commented, believed, inferred, questioned, or wondered. English experts may disagree with my format, but if you use this format, you will please 95% of your readers. This format will also make it much easier for editors to polish.
    Keep in mind that your dialog has to keep the story moving. Also, remember that the reader is not a mind reader, so the dialog has to make sense in the context of non-dialog. Do not get too caught up in slang, obscure words, made-up words, or inside jokes. Dialog is critical for the story, and this is where the emotions come out. “I’m sad,” Bill said in a hurt voice.
    My overall “dialog management” method is to visualize the character and imagine them speaking. Then, assign a personality in your description. For example, Bob is like Tom Hanks in the movie Castaway. Think about this movie when you write. “That’s a superb idea,” Bob said in an uplifting voice. However, in the film, Tom Hanks’s character would never say, “Golly gee, that’s goody-goody.”
    If you get stuck, exercise (I get my best ideas during bike rides), talk to people, post on writing groups, and take time off. A moderate amount of red wine also helps. Top tip. Other alcohol choices do not help. Guess how I know? Another tip is to force yourself to write for a fixed time, say, two hours daily. Big tip, learn to understand when you cannot write because forcing yourself to write leads to terrible results. Also, have some other work ready (like investigating your next book), so you can switch between the two.
    Yay, you finished your first draft!
    Read over your work and edit. Do this at least five times with no specific goal. Then make a pass for consistency, dialog, punctuation, spelling, flow, and CHECK FACTS. Now, make two read/edit passes. Trust me. This effort will make better work and save heartache. Typically, I do 20-30 editing passes. Also, use Grammarly and ProWritingAid.
    What is flow? It is how one sentence leads to the next. It is how one paragraph integrates to the next. The reader should not struggle. They should never have to stop and think about what you are saying. “Which person is talking now?” “I’m confused. Where did the killer come from?” “What does this word mean?”
    One more step. You need a title. Start brainstorming and come up with at least 20. First, cross out all the titles that already exist. Then, with a friend’s help, narrow the list to one. It should be edgy, tight, and provocative.
    Now, you have the best possible work, so give it to somebody. This is a beta read. You want them to find significant issues and make comments. (You are not looking for grammar/spelling issues. That is the job of the editor.) “This makes little sense.” “I do not think X would do this.” “Seems unrealistic.” “More explanation.” Then another five edits. There should be no plot issues, logic errors, or critical facts at this stage, and the flow is excellent.
    Next, find an editor. How? Look for their reviews and ask for a sample document that they have edited. Look at their comments, questions, notes, encouragements, suggestions, (If you do not see these additional thoughts, DO NOT USE THIS EDITOR.) and how the document improved. See if you spot missed errors. Important tip. Do not treat your editor like a garbage collector. If you know your work has errors, fix them. (Like not capitalizing a state name.) You want to give the editor the absolute best possible work so they can concentrate on genuine issues. Otherwise, they will spend time fixing the simple stuff and feel they have accomplished an impressive accomplishment.
    After the edit, review their edits, evaluate each one, and then make five more passes. At this stage, you have a polished work, which is the absolute best it can be. But there will be subtle issues that you cannot spot.
    Next, find a copy editor. This is an $$ step, but essential. A copy editor looks for the little nitpick grammar mistakes, logic issues, and checks facts. This is the final polish; you need to check their work.
    But there is an issue. You must “trust the force” and let the copy editor take control. If they make an edit and you disagree, go with their edit. This hands-off final step is super difficult. Make five more passes, but they should be super light. (On average, one word per three pages.) If you want to improve something, remember that your improvement has not been copy edited. So tread carefully and know that the professional knows better than Grammarly and ProWritingAid.
    YAY, you are done! Now for the harder part, publishing your work. Then the impossible: marketing your work.
    You’re the best -Bill
     March 26, 2023
    Hey book lovers, I published three! Please check them out.
    Interviewing Immortality is a psychological thriller about a 500-year-old woman who forces a disgraced author to interview her.
    Pushed to the Edge of Survival is a drama, romance, and science fiction story about two unlikely people surviving a shipwreck and living with the consequences.
    Cable Ties is a classic spy novel about two hunters discovering that government communications are being recorded and asking the FBI to investigate.
    These books are available in soft-cover on Amazon and eBook format everywhere.
0 notes
rickyhusband · 5 years
Text
Tumblr media Tumblr media Tumblr media
gonna put miscellaneous art related things on here too. heres some expired medium formatt film i found today. got all 3 for 2$.
1 note · View note
billpoole · 5 years
Photo
Tumblr media
Five weeks since the solstice, and sister sun is moving south. This photo is from a few weeks back, when she smiled more generously on the back garden. #garden #bnw #onfilm #filmphotography #film #filmisnotdead #analog #analogphotography #ishootfilm #blackandwhite #blackandwhitephotography #hasselblad #group6x6 #medium formatt #kodakfilm #tmy #tmy400 — view on Instagram https://ift.tt/31ejLIk
1 note · View note
t-baba · 5 years
Photo
Tumblr media
The state of JS package management, 1 million npm packages, and new JS features
#440 — June 7, 2019
Read on the Web
JavaScript Weekly
On the Economics of Package Management — An essay version of C J Silverio’s talk from JSConfEU ▶️ (watch it if you have 35 minutes to spare). She was ousted as CTO of npm, Inc. last year but is back with a history of the JavaScript package ecosystem, a discussion of who really ‘owns’ it, and a suggestion for a new way forward oriented around Entropic, a new, agnostic, federated package registry.
C J Silverio
Several New JS Features are Getting Closer with 'Optional Chaining' Now at Stage 2 — New JavaScript features go through various stages before they become official and this ?. operator to let you make chained property or function calls optional has taken another step forward. In related news, Array.isTemplateObject has also just gone to stage 2, top-level await to stage 3, and BigInt is now at stage 4.
Ecma TC39
⚛️ The NEW Complete Intro to React... Now, with Hooks — Much more than an intro, you’ll build a real-world app with the latest features in React including 🎣 hooks, effects, context, and portals.
Frontend Masters sponsor
Are Long JavaScript Tasks Delaying Your 'Time to Interactive'? — Chrome DevTools can now visualize ‘Long Tasks’ (code that causes the main thread to freeze, breaking the user experience) making it easier to debug and optimize away any problems.
Addy Osmani
Switch from Medium to Your Own Blog in a Few Minutes — Would’t it be great if more people we linked to were using their own blog instead of Medium? (Yes.) Here’s an example of the end result, but you can tweak it to your own tastes.
Mathieu Dutour
Just Write Code: Cloudflare Improves the Developer Experience of their Workers Serverless JavaScript Platform — Workers, Cloudflare’s globally distributed serverless platform, gets a CLI developer tool, the ability to run apps on workers.dev without using your own domain, new docs, and a free tier to make it easier to try it out.
Rita Kozlov (Cloudflare)
Quick bytes:
There are now 1 million npm packages.
GitHub has added support for using GitHub repos as 'repository templates'. Mark a repo as a template and then it can be used to quickly generate new repositories. Could be handy for boilerplate projects.
At this week's WWDC event, Apple unveiled the forthcoming new Mac Pro and it's a beast of a machine. You'll need incredibly deep pockets, however.
The npm Security Team foiled a plot to steal cryptocurrency via a malicious package.
💻 Jobs
JavaScript Developer at X-Team (Remote) — Join the most energizing community for developers. Work from anywhere with the world's leading brands.
X-Team
Front End Engineer (Manchester, UK) — Join our friendly team creating beautiful applications loved by customers around the world. Excellent work/life balance & benefits.
Capsule
Land a New Dev Job on Vettery — Vettery specializes in tech roles and is completely free for job seekers.
Vettery
📘 Tutorials, Opinions, and Videos
8 Useful JavaScript Tricks — You all seem to love a good list’o’tips article, and this one is not bad at all, particularly if you consider yourself at beginner to intermediate level.
Milos Protic
Unpacking Hoisting — “Hoisting is old and confused terminology,” said Allen Wirfs-Brock recently. Dr. Axel has some ideas on how to better think about declarations.
Dr. Axel Rauschmayer
Automate Your Code Reviews — Codacy flags errors in your code so you can fix them quickly, directly from your current workflow. Get started today.
Codacy sponsor
Best Practices for Building a Large Scale React App — A few concepts worth keeping in mind to make neater, larger scale apps over time.
Aman Khalid
How to Render a Dynamic Tree Diagram with SVG and Vue.js — What’s involved in creating a dynamic tree diagram using cubic bezier curve paths and Vue for data reactivity.
Krutie Patel
An introduction to the MediaRecorder API — The MediaRecorder API is a browser API that you can use to record audio and video in the browser. Here’s how.
Phil Nash (Twilio)
How To Use jQuery With Angular (When You Absolutely Have To) — For, like, when you really have to.. as “when it comes to integrating jQuery in Angular, things get a little weird.”
Aditya Modi
Angular 8: A Brief Summary of What's New
Alligator
Building Web Apps with MERN Stack and Google Cloud Platform
MongoDB sponsor
Enabling Modern JavaScript on npm — Modern JavaScript syntax lets you do more with less code, but how much of the JavaScript we ship to users is actually ‘modern’ and are we transpiling too much?
Jason Miller
🔧 Code and Tools
PixelMatch 5.0: The Simplest and Fastest Pixel-Level Image Comparison Library — Give it two images, it’ll highlight the differences.
Mapbox
Nerv: A Fast IE8- and React 16-Compatible React Alternative — Nerv bills itself as a tinier, faster React alternative that supports modern React 16 features. v1.4.0 just dropped.
Li Weitao
inline-loops.macro: A Babel Macro to Inline Iterators to Native Loops for Performance — Provides methods like map, reduce and find and compiles these down to allegedly faster loop-driven alternatives.
Tony Quetano
Get Reliable JavaScript Tests with Gauge and Taiko — New open source test automation framework by ThoughtWorks.
Gauge sponsor
Pinker.js: A Library for Rendering Code and Class UML Diagrams
Without Haste
PDFKit: A PDF Generation Library for Node and The Browser
GitHub
tinydate: A Tiny and Fast Reusable Date Formatter — e.g. tinydate('Current time: [{HH}:{mm}:{ss}]') .. which returns an object you can call at any time (or supply a time of your own to format).
Luke Edwards
ms: Tiny Millisecond Conversion Utility — For example: ms('2 days') returns 172800000. A new version has just dropped fixing some bugs.
ZEIT
by via JavaScript Weekly http://bit.ly/2Wx0hkg
0 notes
mbaljeetsingh · 4 years
Text
How to Build an Ionic 5 Calendar with Modal & Customisation
Having a calendar component in your Ionic app could be an essential element for your whole app experience, and while there’s not a standard solution, there are a lot of free components we can use.
In this post we will use one of the best calendar components for Ionic called ionic2-calendar. Don’t worry about the name – it was updated for all versions and works fine with Ionic 5 as well!
We will integrate the component into our app and also create a simple modal so you could use the calendar sort of like a date picker as well!
Getting Started
First of all we need a new Ionic app and install the calendar. We also generate another page that we will later use for our modal:
ionic start ionCalendar blank --type=angular cd ./ionCalendar npm install ionic2-calendar ionic g page pages/calModal
To use the calendar, you need to import it into the according page module. If you also want to localisee it for a specific language, you can use the registerLocaleData from Angular and import the language package you need. In my example I simply used the German language, but there are many more available!
Go ahead and change your home/home-module.ts to this now:
import { NgModule, LOCALE_ID } from '@angular/core'; import { CommonModule } from '@angular/common'; import { IonicModule } from '@ionic/angular'; import { FormsModule } from '@angular/forms'; import { HomePage } from './home.page'; import { HomePageRoutingModule } from './home-routing.module'; import { NgCalendarModule } from 'ionic2-calendar'; import { CalModalPageModule } from '../pages/cal-modal/cal-modal.module'; import { registerLocaleData } from '@angular/common'; import localeDe from '@angular/common/locales/de'; registerLocaleData(localeDe); @NgModule({ imports: [ CommonModule, FormsModule, IonicModule, HomePageRoutingModule, NgCalendarModule, CalModalPageModule ], declarations: [HomePage], providers: [ { provide: LOCALE_ID, useValue: 'de-DE' } ] }) export class HomePageModule {}
That’s the only thing you need to do upfront for your calendar component!
Creating a Basic Calendar
To setup the calendar you need an array of events (which you could e.g. load from your API) and some basic settings for the calendar like the mode and the currentDate, which basically marks today in your calendar.
The mode specifies the view of the calendar, and you can select between month, week and day view.
Let’s go through the basic functions we add to our class:
next/back: Move the calendar view to the next month/week/day based on the current mode using the viewchild we added
onViewTitleChanged: Will be called by the calendar and reflects the current title of your view. This could also be customised with a special formatter as well!
onEventSelected: Called when you click on an entry in the calendar. In our case we simply present an alert with the information of the event.
createRandomEvents: Fill the calendar with some dummy data for testing, copied from the demo code.
removeEvents: Removes all events
You can either completely set the eventSource array to a new value, or otherwise also push single events to the source. We will see how the second part later in combination with our modal.
For now though go ahead and change the home/home.page.ts to:
import { CalendarComponent } from 'ionic2-calendar/calendar'; import { Component, ViewChild, OnInit, Inject, LOCALE_ID } from '@angular/core'; import { AlertController, ModalController } from '@ionic/angular'; import { formatDate } from '@angular/common'; import { CalModalPage } from '../pages/cal-modal/cal-modal.page'; @Component({ selector: 'app-home', templateUrl: 'home.page.html', styleUrls: ['home.page.scss'], }) export class HomePage implements OnInit { eventSource = []; viewTitle: string; calendar = { mode: 'month', currentDate: new Date(), }; selectedDate: Date; @ViewChild(CalendarComponent) myCal: CalendarComponent; constructor( private alertCtrl: AlertController, @Inject(LOCALE_ID) private locale: string, private modalCtrl: ModalController ) {} ngOnInit() {} // Change current month/week/day next() { this.myCal.slideNext(); } back() { this.myCal.slidePrev(); } // Selected date reange and hence title changed onViewTitleChanged(title) { this.viewTitle = title; } // Calendar event was clicked async onEventSelected(event) { // Use Angular date pipe for conversion let start = formatDate(event.startTime, 'medium', this.locale); let end = formatDate(event.endTime, 'medium', this.locale); const alert = await this.alertCtrl.create({ header: event.title, subHeader: event.desc, message: 'From: ' + start + '<br><br>To: ' + end, buttons: ['OK'], }); alert.present(); } createRandomEvents() { var events = []; for (var i = 0; i < 50; i += 1) { var date = new Date(); var eventType = Math.floor(Math.random() * 2); var startDay = Math.floor(Math.random() * 90) - 45; var endDay = Math.floor(Math.random() * 2) + startDay; var startTime; var endTime; if (eventType === 0) { startTime = new Date( Date.UTC( date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate() + startDay ) ); if (endDay === startDay) { endDay += 1; } endTime = new Date( Date.UTC( date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate() + endDay ) ); events.push({ title: 'All Day - ' + i, startTime: startTime, endTime: endTime, allDay: true, }); } else { var startMinute = Math.floor(Math.random() * 24 * 60); var endMinute = Math.floor(Math.random() * 180) + startMinute; startTime = new Date( date.getFullYear(), date.getMonth(), date.getDate() + startDay, 0, date.getMinutes() + startMinute ); endTime = new Date( date.getFullYear(), date.getMonth(), date.getDate() + endDay, 0, date.getMinutes() + endMinute ); events.push({ title: 'Event - ' + i, startTime: startTime, endTime: endTime, allDay: false, }); } } this.eventSource = events; } removeEvents() { this.eventSource = []; } }
With that in place we are ready for a basic view of our calendar.
We add some buttons to later trigger our modal and also the dummy functions to fill and clear the array of events.
Besides that we can use a cool segment from Ionic to easily switch between the three different calendar modes, which works by simply changing the mode property!
Additionally we add the helper functions to move left and right in the calendar (which also simply works by sliding the view!) and in the center the title of the current view that we see, which will be updated once we change to another month (or week, or day..).
The calendar itself has a lot of properties that we can or should set. The ones we use are:
eventSource: The array of events which will be displayed
calendarMode: The view mode as described before
currentDate: The today date
onEventSelected: Called when we click on a day with event
onTitleChanged: Triggered when we change the view
start/step: Additional settings for the different views
Now we can go ahead with our home/home.page.html and change it to:
<ion-header> <ion-toolbar color="primary"> <ion-title> Ionic Calendar </ion-title> <ion-buttons slot="end"> <ion-button (click)="openCalModal()"> <ion-icon name="add" slot="icon-only"></ion-icon> </ion-button> </ion-buttons> </ion-toolbar> </ion-header> <ion-content> <ion-segment [(ngModel)]="calendar.mode"> <ion-segment-button value="month"> <ion-label>Month</ion-label> </ion-segment-button> <ion-segment-button value="week"> <ion-label>Week</ion-label> </ion-segment-button> <ion-segment-button value="day"> <ion-label>Day</ion-label> </ion-segment-button> </ion-segment> <ion-row> <ion-col size="6"> <ion-button (click)="createRandomEvents()" expand="block" fill="outline"> Add random events </ion-button> </ion-col> <ion-col size="6"> <ion-button (click)="removeEvents()" expand="block" fill="outline"> Remove all events </ion-button> </ion-col> </ion-row> <ion-row> <!-- Move back one screen of the slides --> <ion-col size="2"> <ion-button fill="clear" (click)="back()"> <ion-icon name="arrow-back" slot="icon-only"></ion-icon> </ion-button> </ion-col> <ion-col size="8" class="ion-text-center"> <h2></h2> </ion-col> <!-- Move forward one screen of the slides --> <ion-col size="2"> <ion-button fill="clear" (click)="next()"> <ion-icon name="arrow-forward" slot="icon-only"></ion-icon> </ion-button> </ion-col> </ion-row> <calendar [eventSource]="eventSource" [calendarMode]="calendar.mode" [currentDate]="calendar.currentDate" (onEventSelected)="onEventSelected($event)" (onTitleChanged)="onViewTitleChanged($event)" startHour="6" endHour="20" step="30" startingDayWeek="1" > </calendar> </ion-content>
The standard calendar should work now, and you can also see how it looks per default with some random events!
Adding Events with Calendar Modal
Although the component is meant for something else, I thought it might look cool inside a custom modal as some sort of date picker – and it does!
Therefore we will add a new function to our page that presents our modal and catches the onDidDismiss event, in which we might get back a new event that we then add to our eventSource.
Here we can see the different of pushing an event – we also need to call loadEvents() on the calendar component in order to update the data!
Since we assume that we add an all-day event in our example, I manually set the end time to one day later here. Feel free to use custom times or add another ion-datetime to the modal in your example to pick an exact time!
Now go ahead and change the home/home.page.ts to:
async openCalModal() { const modal = await this.modalCtrl.create({ component: CalModalPage, cssClass: 'cal-modal', backdropDismiss: false }); await modal.present(); modal.onDidDismiss().then((result) => { if (result.data && result.data.event) { let event = result.data.event; if (event.allDay) { let start = event.startTime; event.startTime = new Date( Date.UTC( start.getUTCFullYear(), start.getUTCMonth(), start.getUTCDate() ) ); event.endTime = new Date( Date.UTC( start.getUTCFullYear(), start.getUTCMonth(), start.getUTCDate() + 1 ) ); } this.eventSource.push(result.data.event); this.myCal.loadEvents(); } }); }
We’ve also added a custom class to the modal to make it stand out more like an overlay. To use the styling, we need to declare it inside the global.scss like this:
.cal-modal { --height: 80%; --border-radius: 10px; padding: 25px; }
Now we got a nice looking modal and only need some more input fields and the calendar component once again.
Like before, we need to add it first of all to the module file, so in our case change the cal-modal/cal-modal.module.ts to:
import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { FormsModule } from '@angular/forms'; import { IonicModule } from '@ionic/angular'; import { CalModalPageRoutingModule } from './cal-modal-routing.module'; import { CalModalPage } from './cal-modal.page'; import { NgCalendarModule } from 'ionic2-calendar'; @NgModule({ imports: [ CommonModule, FormsModule, IonicModule, CalModalPageRoutingModule, NgCalendarModule ], declarations: [CalModalPage] }) export class CalModalPageModule {}
Since we now don’t want to display any events, we need only a handful of functions.
We need an empty event object that will be passed back to our initial page inside the dismiss() function of the modal, and we need to react to the view title changes and click events on a time slot.
To store it correctly, we also need to transform the data we get inside the onTimeSelected() to a real date object!
Now open the cal-modal/cal-modal-page.ts and change it to:
import { Component, AfterViewInit } from '@angular/core'; import { ModalController } from '@ionic/angular'; @Component({ selector: 'app-cal-modal', templateUrl: './cal-modal.page.html', styleUrls: ['./cal-modal.page.scss'], }) export class CalModalPage implements AfterViewInit { calendar = { mode: 'month', currentDate: new Date() }; viewTitle: string; event = { title: '', desc: '', startTime: null, endTime: '', allDay: true }; modalReady = false; constructor(private modalCtrl: ModalController) { } ngAfterViewInit() { setTimeout(() => { this.modalReady = true; }, 0); } save() { this.modalCtrl.dismiss({event: this.event}) } onViewTitleChanged(title) { this.viewTitle = title; } onTimeSelected(ev) { this.event.startTime = new Date(ev.selectedTime); } close() { this.modalCtrl.dismiss(); } }
The last missing piece is the modal view with some items as input fields and the calendar component just like before, but this time without any events!
You might have noticed the strange modalReady variable already. I couldn’t make the calendar work correctly when deployed to a device, since I assume the view wasn’t rendered correctly and something internally broke.
By hiding it until the view has finished loading we can easily fix this, and in reality you actually won’t even notice it!
Warp up the implementation with the code for the cal-modal/cal-modal.page.html:
<ion-toolbar color="primary"> <ion-buttons slot="start"> <ion-button (click)="close()"> <ion-icon name="close" slot="icon-only"></ion-icon> </ion-button> </ion-buttons> <ion-title></ion-title> <ion-buttons slot="end"> <ion-button (click)="save()"> <ion-icon name="checkmark" slot="icon-only"></ion-icon> </ion-button> </ion-buttons> </ion-toolbar> <ion-content> <ion-item> <ion-label position="stacked">Title</ion-label> <ion-input tpye="text" [(ngModel)]="event.title"></ion-input> </ion-item> <ion-item> <ion-label position="stacked">Description</ion-label> <ion-input tpye="text" [(ngModel)]="event.desc"></ion-input> </ion-item> <calendar *ngIf="modalReady" [calendarMode]="calendar.mode" [currentDate]="calendar.currentDate" (onTitleChanged)="onViewTitleChanged($event)" (onTimeSelected)="onTimeSelected($event)" lockSwipes="true" > </calendar> </ion-content>
Now you are able to open the modal, set a date and some information and our initial page will create the event and add it to the source for the calendar!
Customising the Calendar View
Because the last time we used the component a lot of you asked about customisation, let’s add a few more things today.
First, we might wanna get rid of the list below the month view in our modal, since the calendar has no events in that place anyway.
There’s no setting to hide it (at least I didn’t find it) but we can hide the list by using the correct CSS class and access the encapsulated calendar component like this in our cal-modal/cal-modal.page.scss:
:host ::ng-deep { .monthview-container { height: auto !important; } .event-detail-container { display: none; } }
Using CSS is one way to customise it, and another great way to change the appearance of the calendar is using custom templates for specific parts of the calendar.
Let’s for example change the look and color of a cell inside the calendar so it has a more rounded, different color and also shows the number of events on that specific date.
We could do this by creating a template and passing it to the monthviewDisplayEventTemplate property of the calendar like this inside the home/home.page.html:
<calendar [eventSource]="eventSource" [calendarMode]="calendar.mode" [currentDate]="calendar.currentDate" (onEventSelected)="onEventSelected($event)" (onTitleChanged)="onViewTitleChanged($event)" startHour="6" endHour="20" step="30" startingDayWeek="1" [monthviewDisplayEventTemplate]="template" > </calendar> <ng-template #template let-view="view" let-row="row" let-col="col"> <div [class.with-event]="view.dates[row*7+col].events.length"> <div class="indicator-container"> <div class="event-indicator" *ngFor="let e of view.dates[row*7+col].events"></div> </div> </div> </ng-template>
As you can see we also added our own CSS rules in there, which we could now define either for our own template or additionally some rules for the calendar itself (following the style like we did in the modal) right inside the home/home.page.scss:
.indicator-container { padding-left: 0.5rem; padding-bottom: 0.4rem; } .event-indicator { background: var(--ion-color-success); width: 5px; height: 5px; border-radius: 5px; display: table-cell; } :host ::ng-deep { .monthview-primary-with-event { background-color: white !important; } .monthview-selected { background-color: var(--ion-color-success) !important; } } .with-event { background-color: var(--ion-color-primary); border-radius: 15px; }
Now the view looks a lot different, and this hopefully gives you an idea how you can customise basically every part of this great component!
Conclusion
There are not a lot of components that exist since years and get updates for all major Ionic versions, but this calendar is one of them. Kudos again to the creator!
If you are looking for an alternative, also check out my post on the Angular calendar.
You can also find a video version of this tutorial below.
youtube
The post How to Build an Ionic 5 Calendar with Modal & Customisation appeared first on Devdactic.
via Devdactic https://ift.tt/2VMWq05
0 notes
smsbee · 5 years
Link
Bulk SMS BD
SMS BEE Provides For You can send Bulk SMS to your clients, blog user, student or customer easily from Bangldesh using our SMS service. Bulk SMS BD have our Own SMS Gateway and Data Center in Bangladesh with 100% Real time and professional support. We are One of the most Lowest Pricef bulk SMS service provider who use dedicated direct route to send SMS within Bangladesh. We respect and obay all the rules of Bangladesh Government, Thus we request you to read our terms and conditions properly before purchasing any of our services. We have SMS API, Wordpress plugin and native excel spread sheet to SMS sending feature to make your sms sending experience awesome & Easyest. Bulk SMS BEE For You can also format number and send SMS from excel, CSV or any other file using our easy mobile number formatter tool. After opening your account on www.SMS-BEE.com you will get 5 SMS free to test our services. these free sms can be send all over Bangladesh. .
General Features
100% Legal, Real Number, Dedicated Number Send SMS in Bangladeshi Number to get more reliability and trust Easy Control Panel With Order Summery Access Token, OTP, API, Wordpress Plugin and Lots of Developers Option Bulk sms, Group SMS, Delivery Status and a lots of features available 24/7 Expert Support over Call/ticket/live chat
BULK SMS BD SERVICE FEATURES :
100% Legal, Real Number, Dedicated Number Send SMS in Bangladeshi Number to get more reliability and trusted Easy Control Panel With Order Summery Access Token, API, Wordpress Plugin and Lots of Developers Option Bulk SMS, Group SMS, Delivery Status and a lots of features available 24/7 Expert Support over Call/Email/ticket/live chat
Dedicated Number for your SMS Gateway
Send SMS through your Dedicated Number! Bulk SMS BD supports using a dedicated number for your bulk SMS. There is a one time setup fee of BDT 2,500/-. Bulk SMS BD cost for number is fixed BDT 0.20/- with a minimum purchase of 20,000 SMS.
Smart Telephone System for Business
SMS BEE also Provides Bulk SMS BD for Business Phone System in Bangladesh. Unlimited Extensions with Cloud based SMS System at a low Price in monthly cost. No equipment/voice server or dedicated data line necessary. It is a mini Marketing Solution for small to medium size business. For more details please visit SMS BEE or Helpline: 01999473767
Corporate Bulk SMS BD
A Customer Always Want friendly Bulk SMS BD solution that understand you need Reach your targeted client base with SMS BEE Secure, reliable & robust Corporate Bulk SMS
SMS BEE is introducing Corporate Bulk SMS BD for the first time in Bangladesh, a dynamic SMS based communication solution targeted towards the Business Clients by which they can send SMS from Targeted Customers own location integrated with their applications with high speed modality. This SMS Marketing solution able to cater your customized SMS based communication need in an efficient manner. Bulk SMS BEE has a vision to position itself as the Total Solutions Provider in the Bangladesh Business Market. SMS BEE Corporate Bulk SMS BD is one of the prominent initiatives taken to accomplish this vision.
Corporate Bulk SMS BD Offers:
Up to 5 Masking facility from a single business user account (11 Digit) Sends upto 3 SMS or 459 character supports in one go Send upto 50k push SMS at a time Support dynamic SMS sending API Based solution (integration with Client Database) GUI at client end Flat tariff for on-net & off-net subscribers DND (Do Not Disturb) option integration Only SMS BEE corporate clients are eligible to avail this service Business Gains: Multiple Branding Affordable Flat price slabs Cost effective Solution at ZERO investment
The end result is Business efficiency and profitability.
0 notes
scottdavenportphoto · 5 years
Text
Rode Wireless Go Review
I’ve been a long time user of the Rode SmartLav lapel mic. I use it all the time recording field audio and video. I’ve been in the market for a wireless microphone system. When Rode announced the Wireless Go microphone system at the National Association of Broadcasters (NAB) show, I jumped on it immediately. Slim form factor, simple setup, and a name I trust.
Summary
I recommend the Rode Wireless Go. I’m happy with the form factor, quality, and audio results. Key wins for me:
Transmitter & receiver are pre-paired out of the box. You’re up and running in minutes.
Super-slim form factor
Flexibility with the built-in microphone or external mic (like the SmartLav)
Good range in the field
US$199
The only gotcha is maintaining line of sight between the transmitter and receiver. This is called out on Rode’s website. I was a little surprised at the sensitivity to line of sight. Watch the video for more.
What’s In The Box
The Wireless Go system has everything you need for a wireless audio setup.
Wireless transmitter w/ built-in microphone
Wireless receiver
Audio cable
Two USB charging cables
Carrying pouch
Setup
The setup is fast and simple. The transmitter and receiver come pre-paired out of the box. It is literally turn on the devices and you are up and running. Of course, if you need to re-pair the transmitter and receiver, you can do that, too.
The receiver clip fits into a standard camera shoe. The audio cabling to the mic input jack on your camera is self explanatory. Even on my Sony A6400, the footprint of the receiver is small and unobtrusive. The dB display on the receiver is a nice touch. Although there is no audio monitoring, you get a basic level display to gage audio strength and volume. The receiver gain also has low, medium, and high settings for simple gain adjustments.
The transmitter is equally small. It has a built in microphone so the system is ready to use out of the box. The transmitter is light and easily clips on to a pocket or collar. While the transmitter can clip to a t-shirt collar, I found that to feel a little awkward. Thankfully, the transmitter also has a standard audio input jack. You can use the Wireless Go system with an external microphone, such as the Rode SmartLav. That’s how I use it. I find the lapel mic more comfortable and I prefer the audio quality.
Usage & Performance
I was up and running with the system in a few minutes. The audio quality using both the built-in microphone and an external microphone are very, very good. I preferred the audio quality of my SmartLav mic cabled to the Wireless Go transmitter. I also preferred being able to more precisely place the lapel mic.
Overall, the system performed very well in the field. Watch the video for more details. I conducted a few tests and in all cases the system performed as advertised. Rode says the Wireless Go has a range of 70m. I reached about 50m in my tests and as long as I had line of sight between the transmitter and receiver, the audio came through strongly.
Any Gotchas?
Line of sight between the transmitter and receiver is very important. If your subject goes behind something, or turns away from the camera shielding the transmitter from the receiver with their body, there are audio drops. I would also appreciate a brightness control on the receiver. In brighter scenes, it is hard to view the level output.
One other item to be aware of is the receiver will obscure the LCD on cameras with flip-up screens. This is not a knock on the Wireless Go. It’s a fact of life for flip-up screens like the Sony A6400. I knew this would be a limitation when I bought my A6400, so it is not a surprise. The ultra-slim form factor of the Rode Wireless Go lets me continue to use the flip-up screen for basic composition.
One last item… buy your Rode equipment from an authorized dealer, like B&H Photo. Rode has warnings on their website about knock-off products sold through Amazon and other sources popular in the US.
Landscape Photography Workshops
Photo Gear I Use
Sony A7Rii
Sony A6400
Sony FE 16-35mm F4 ZA OSS
Sony FE 24-70mm F4 ZA OSS
Sony FE 70-200mm F4 G OSS
Really Right Stuff Tripods
Formatt-Hitech Filters
MindShift Camera Bags
The entire list is in The Gear Box.
0 notes
fingitore · 6 years
Text
Recommended read on @Medium: “Auto formatters for Python 👨‍💻🤖” https://t.co/51EqikQw8o
Recommended read on @Medium: “Auto formatters for Python 👨‍💻🤖” https://t.co/51EqikQw8o
— Paolo D'Onorio De Meo (@paolodonorio) September 24, 2018
from Twitter https://twitter.com/paolodonorio September 24, 2018 at 10:27PM via IFTTT
0 notes
qwertsypage · 7 years
Text
The Node.js Community was amazing in 2017! Here's the proof:
Let me just start by stating this:
2017 was a great year for the Node.js Community!
Our favorite platform has finally matured to be widely adopted in the enterprise, also, a lot of great features have been merged into the core, like async/await & http2, just to mention a few.
The world runs on node ✨🐢🚀✨ #NodeInteractive http://pic.twitter.com/5PwDC2w1mE
— Franziska Hinkelmann (@fhinkel) October 4, 2017
Not only the developers who contribute to Node make this platform so great, but those who create learning materials around it were also exceptional.
In our final article of 2017, we collected a bunch of longreads which were created by the Node community. We used data from Reddit, Hacker News, Twitter & Medium to search for the most read, most shared & liked stuff out there. We intentionally omitted articles written by RisingStack (except 1, couldn't resist) - if you're interested in those, please visit our top15 of 2017 post!
I'm sure we left a bunch of amazing articles out - so if you'd like to get attention to an exceptional one you read, please let us know in the comments section.
Also, keep in mind that this post is not a classic "best of" list, just a collection that shows how amazing the Node community was in 2017! I figured that a big shoutout to the developers who constantly advocate & teach Node would be a great way to say goodbye to this year.
So, here come the proof I promised in the title:
1. We have insanely useful community curated lists:
If you'd like to gain useful knowledge quickly, you can count on the Node community. These lists were created in 2017, and contain so much best practices & shortcuts that you can definitely level up your skills by going through them.
The largest Node.JS best practices list is curated from the top ranked articles and always updated.
Awesome Node.js is an extensive list of delightful Node packages & resources.
The Modern JS Cheatsheet contains knwledge needed to build modern projects.
These lists have over 300 contributors & gained around 50K stars on GitHub!
Also, we recommend to check out these articles written by Yoni Goldberg & Azat Mardan which will help you to become a better developer:
Node.JS production best practices
10 Node.js Best Practices: Enlightenment from the Node Gurus
2. There are actually insightful Case Studies available!
One of the best articles on using Node.js was written by Scott Nonnenberg in April. The author summarized his Node experiences from the past 5 years, discussing basic concepts, architectural issues, testing, the Node ecosystem & the reason why you shouldn't use New Relic.
"I’ve already shared a few stories, but this time I wanted to focus on the ones I learned the hard way. Bugs, challenges, surprises, and the lessons you can apply to your own projects!" - Scott
..
Also, did you know that Node.js Helps NASA to Keep Astronauts Safe? It's hard to come up with something cooler than that.
NASA choose Node.js for the following reasons:
The relative ease of developing data transfer applications with JavaScript, and the familiarity across the organization with the programming language, which keeps development time and costs low.
Node.js’ asynchronous event loop for I/O operations makes it the perfect solution for a cloudbased database system that sees queries from dozens of users who need data immediately.
The Node.js package manager, npm, pairs incredibly well with Docker to create a microservices architecture that allows each API, function and application to operate smoothly and independently.
To learn more, read the full case study!
Also, shoutout to the Node Foundation who started to assemble and distribute these pretty interesting use-case whitepapers on a regular basis!
3. Node.js Authentication & Security was well covered in 2017:
When it comes to building Node.js apps (or any app..) security is crucial to get right. This is the reason why "Your Node.js authentication tutorial is (probably) wrong" written by micaksica got so much attention on HackerNoon.
tl;dr: The author went on a search of Node.js/Express.js authentication tutorials. All of them were incomplete or made a security mistake in some way that can potentially hurt new users. His post explores some common authentication pitfalls, how to avoid them, and what to do to help yourself when your tutorials don’t help you anymore.
If you plan on reading only one security related article (..but why would you do that?!), this is definitely one of the best ones!
..
Also, we recommend to check out the Damn Vulnerable NodeJS Application github page, which aims to demonstrate the OWASP Top 10 Vulnerabilities and guides you on fixing and avoiding these vulnerabilities.
..
Other great articles which were receiving a lot of praise were Securing Node.js RESTful APIs with JSON Web Tokens by Adnan Rahic, and Two-Factor Authentication with Node.js from David Walsh.
4. API development with Node.js has been made even more easy:
One of the main strengths of Node.js is that you can build REST APIs with it in a very efficient way! There are a lot of articles covering that topic, but these were definitely the most popular ones:
RESTful API design with Node.js walks beginners through the whole process in a very thorough, easy to understand way.
Build a Node.js API in Under 30 Minutes achieves the same result, but it uses ES6 as well.
10 Best Practices for Writing Node.js REST APIs (written by us) goes a little further and includes topics like naming your routes, authentication, black-box testing & using proper cache headers for these resources.
5. We're constantly looking under the hood of Node.js.
Luckily, the Node/JS community delivers when you want to go deeper, in fact there were so many interesting deep-dives that it was really hard to pick out the best ones, but one can try! These articles are really insightful:
Understanding Node.js Event-Driven Architecture
What you should know to really understand the Node.js Event Loop
Node.js Streams: Everything you need to know
How JavaScript works: inside the V8 engine + 5 tips on how to write optimized code
ES8 was Released and here are its Main New Features
6 Reasons Why JavaScript’s Async/Await Blows Promises Away (Tutorial)
What were the best articles that peeked under the hood of JS/Node in your opinion? Share them in the comments!
6. Awesome new Tools were made in 2017:
Two of the most hyped tools of the year were Prettier & Fastify!
In case you don't know, prettier is a JavaScript formatter that works by compiling your code to an AST, and then pretty-printing the AST.
The result is good-looking code that is completely consistent no matter who wrote it. This solves the problem of programmers spending a lot of time manually moving around code in their editor and arguing about styles.
Fastify was introduced by Matteo Collina, Node.js core technical commitee member during Node Interactive 2017 in Vancouver.
Fastify is a new web framework inspired by Hapi, Restify and Express. Fastify is built as a general-purpose web framework, but it shines when building extremely fast HTTP APIs that use JSON as the data format.
..just to mention a few.
7. There are Amazing Crash Courses Available for Free
If you'd like to start learning Node, you can count on the commmunity to deliver free, high-quality resources that can speed up your journey!
One particular author - Adnan Rahić - received a huge amount of praise for releasing crash courses for different topics on Medium. Here they are:
A crash course on testing with Node.js
A crash course on Serverless with Node.js
We hope Adnan will continue this series and create crash courses on other areas of Node as well!
8. Miscallaneus Topics are Covered as Well
What do we mean under miscallaneus topics? Well, those are topics that go beyond the "traditional" use cases of Node.js, where the authors describe something interesting & fun they built with it.
For example there were exceptional articles released that used the OpenCV library for either face recognition or just regular object recognition.
Chatbots were a hype topic too, and there was no shortage of blogposts describing how to build them using different languages.
Building A Simple AI Chatbot With Web Speech API And Node.js was one of the most praised articles. In this post Tomomi Imura walked us through building a chat-bot which can be controlled by voice. Yep, it's pretty cool.
We also recommend to check out Developing A Chatbot Using Microsoft's Bot Framework, LUIS And Node.js too, which is the first part of a series dealing with the topic.
What other fun projects did you see? Add them to the comments section!
9. The community can attend great conferences, like Node Interactive!
Node Interactive Vancouver was a major event which provided great opportunities for it's attendees to meet with fellow developers & learn a lot about their favorite subject.
Fortunately every prezentation is available on YouTube, so you can get up-to-date even if you couldn't participate this year (just like us.)
The 10 most watched right now are:
Node.js Performance and Highly Scalable Micro-Services by Chris Bailey
New DevTools Features for JavaScript by Yang Guo
The V8 Engine and Node.js by Franzi Hinkelmann
High Performance JS in V8 by Peter Marshall
The Node.js Event Loop: Not So Single Threaded by Bryan Hughes
Welcome and Node.js Update by Mark Hinkle
Take Your HTTP Server to Ludicrous Speed by Matteo Collina
WebAssembly and the Future of the Web by Athan Reines
High Performance Apps with JavaScript and Rust by Amir Yasin
TypeScript - A Love Tale with JavaScript by Bowden Kelly
Of course this list is just the tip of the iceberg, since there are 54 videos upladed on the Node Foundations' YouTube channel, and most of them are really insightful and fun to watch.
10. Node.js is finally more sought after than Java!
Although Ryan Dahl recently stated in an interview that..
for a certain class of application, which is like, if you're building a server, I can't imagine using anything other than Go.
.. we have no reason to doubt the success of Node.js!
Mikeal Rogers, one of the core organizers of NodeConf, community manager & core contributor at the Node Foundation stated that Node.js will overtake Java within a year in a NewStack interview this summer!
We are now at about 8 million estimated users and still growing at about 100 percent a year. We haven’t passed Java in terms of users yet, but by this time next year at the current growth, we will surpass. - Mikeal.
Mikeal is not alone with his opinion. There is hard data available to prove that Node is becoming more sought after than Java.
According to the data gathered by builtinnode, the demand for Node.js developers has already surpassed the demand for Java devs by the summer of 2017 in the Who is Hiring section of Hacker News!
Since Node was already adopted and is being advocated by the greatest tech companies on Earth, there's no doubt that it will remain a leading technology for many years ahead!
We hope that the Node community will continue to thrive in 2018 as well, and produce a plethora of exellent tools & tutorials.
At RisingStack, we'll keep on advocating & educating Node in 2018 as well, for sure! If you're interested in the best content we produced in 2017, take a look!
The Node.js Community was amazing in 2017! Here's the proof: published first on http://ift.tt/2w7iA1y
0 notes
iyarpage · 7 years
Text
The Node.js Community was amazing in 2017! Here's the proof:
Let me just start by stating this:
2017 was a great year for the Node.js Community!
Our favorite platform has finally matured to be widely adopted in the enterprise, also, a lot of great features have been merged into the core, like async/await & http2, just to mention a few.
The world runs on node ✨🐢🚀✨ #NodeInteractive http://pic.twitter.com/5PwDC2w1mE
— Franziska Hinkelmann (@fhinkel) October 4, 2017
Not only the developers who contribute to Node make this platform so great, but those who create learning materials around it were also exceptional.
In our final article of 2017, we collected a bunch of longreads which were created by the Node community. We used data from Reddit, Hacker News, Twitter & Medium to search for the most read, most shared & liked stuff out there. We intentionally omitted articles written by RisingStack (except 1, couldn't resist) - if you're interested in those, please visit our top15 of 2017 post!
I'm sure we left a bunch of amazing articles out - so if you'd like to get attention to an exceptional one you read, please let us know in the comments section.
Also, keep in mind that this post is not a classic "best of" list, just a collection that shows how amazing the Node community was in 2017! I figured that a big shoutout to the developers who constantly advocate & teach Node would be a great way to say goodbye to this year.
So, here come the proof I promised in the title:
1. We have insanely useful community curated lists:
If you'd like to gain useful knowledge quickly, you can count on the Node community. These lists were created in 2017, and contain so much best practices & shortcuts that you can definitely level up your skills by going through them.
The largest Node.JS best practices list is curated from the top ranked articles and always updated.
Awesome Node.js is an extensive list of delightful Node packages & resources.
The Modern JS Cheatsheet contains knwledge needed to build modern projects.
These lists have over 300 contributors & gained around 50K stars on GitHub!
Also, we recommend to check out these articles written by Yoni Goldberg & Azat Mardan which will help you to become a better developer:
Node.JS production best practices
10 Node.js Best Practices: Enlightenment from the Node Gurus
2. There are actually insightful Case Studies available!
One of the best articles on using Node.js was written by Scott Nonnenberg in April. The author summarized his Node experiences from the past 5 years, discussing basic concepts, architectural issues, testing, the Node ecosystem & the reason why you shouldn't use New Relic.
"I’ve already shared a few stories, but this time I wanted to focus on the ones I learned the hard way. Bugs, challenges, surprises, and the lessons you can apply to your own projects!" - Scott
..
Also, did you know that Node.js Helps NASA to Keep Astronauts Safe? It's hard to come up with something cooler than that.
NASA choose Node.js for the following reasons:
The relative ease of developing data transfer applications with JavaScript, and the familiarity across the organization with the programming language, which keeps development time and costs low.
Node.js’ asynchronous event loop for I/O operations makes it the perfect solution for a cloudbased database system that sees queries from dozens of users who need data immediately.
The Node.js package manager, npm, pairs incredibly well with Docker to create a microservices architecture that allows each API, function and application to operate smoothly and independently.
To learn more, read the full case study!
Also, shoutout to the Node Foundation who started to assemble and distribute these pretty interesting use-case whitepapers on a regular basis!
3. Node.js Authentication & Security was well covered in 2017:
When it comes to building Node.js apps (or any app..) security is crucial to get right. This is the reason why "Your Node.js authentication tutorial is (probably) wrong" written by micaksica got so much attention on HackerNoon.
tl;dr: The author went on a search of Node.js/Express.js authentication tutorials. All of them were incomplete or made a security mistake in some way that can potentially hurt new users. His post explores some common authentication pitfalls, how to avoid them, and what to do to help yourself when your tutorials don’t help you anymore.
If you plan on reading only one security related article (..but why would you do that?!), this is definitely one of the best ones!
..
Also, we recommend to check out the Damn Vulnerable NodeJS Application github page, which aims to demonstrate the OWASP Top 10 Vulnerabilities and guides you on fixing and avoiding these vulnerabilities.
..
Other great articles which were receiving a lot of praise were Securing Node.js RESTful APIs with JSON Web Tokens by Adnan Rahic, and Two-Factor Authentication with Node.js from David Walsh.
4. API development with Node.js has been made even more easy:
One of the main strengths of Node.js is that you can build REST APIs with it in a very efficient way! There are a lot of articles covering that topic, but these were definitely the most popular ones:
RESTful API design with Node.js walks beginners through the whole process in a very thorough, easy to understand way.
Build a Node.js API in Under 30 Minutes achieves the same result, but it uses ES6 as well.
10 Best Practices for Writing Node.js REST APIs (written by us) goes a little further and includes topics like naming your routes, authentication, black-box testing & using proper cache headers for these resources.
5. We're constantly looking under the hood of Node.js.
Luckily, the Node/JS community delivers when you want to go deeper, in fact there were so many interesting deep-dives that it was really hard to pick out the best ones, but one can try! These articles are really insightful:
Understanding Node.js Event-Driven Architecture
What you should know to really understand the Node.js Event Loop
Node.js Streams: Everything you need to know
How JavaScript works: inside the V8 engine + 5 tips on how to write optimized code
ES8 was Released and here are its Main New Features
6 Reasons Why JavaScript’s Async/Await Blows Promises Away (Tutorial)
What were the best articles that peeked under the hood of JS/Node in your opinion? Share them in the comments!
6. Awesome new Tools were made in 2017:
Two of the most hyped tools of the year were Prettier & Fastify!
In case you don't know, prettier is a JavaScript formatter that works by compiling your code to an AST, and then pretty-printing the AST.
The result is good-looking code that is completely consistent no matter who wrote it. This solves the problem of programmers spending a lot of time manually moving around code in their editor and arguing about styles.
Fastify was introduced by Matteo Collina, Node.js core technical commitee member during Node Interactive 2017 in Vancouver.
Fastify is a new web framework inspired by Hapi, Restify and Express. Fastify is built as a general-purpose web framework, but it shines when building extremely fast HTTP APIs that use JSON as the data format.
..just to mention a few.
7. There are Amazing Crash Courses Available for Free
If you'd like to start learning Node, you can count on the commmunity to deliver free, high-quality resources that can speed up your journey!
One particular author - Adnan Rahić - received a huge amount of praise for releasing crash courses for different topics on Medium. Here they are:
A crash course on testing with Node.js
A crash course on Serverless with Node.js
We hope Adnan will continue this series and create crash courses on other areas of Node as well!
8. Miscallaneus Topics are Covered as Well
What do we mean under miscallaneus topics? Well, those are topics that go beyond the "traditional" use cases of Node.js, where the authors describe something interesting & fun they built with it.
For example there were exceptional articles released that used the OpenCV library for either face recognition or just regular object recognition.
Chatbots were a hype topic too, and there was no shortage of blogposts describing how to build them using different languages.
Building A Simple AI Chatbot With Web Speech API And Node.js was one of the most praised articles. In this post Tomomi Imura walked us through building a chat-bot which can be controlled by voice. Yep, it's pretty cool.
We also recommend to check out Developing A Chatbot Using Microsoft's Bot Framework, LUIS And Node.js too, which is the first part of a series dealing with the topic.
What other fun projects did you see? Add them to the comments section!
9. The community can attend great conferences, like Node Interactive!
Node Interactive Vancouver was a major event which provided great opportunities for it's attendees to meet with fellow developers & learn a lot about their favorite subject.
Fortunately every prezentation is available on YouTube, so you can get up-to-date even if you couldn't participate this year (just like us.)
The 10 most watched right now are:
Node.js Performance and Highly Scalable Micro-Services by Chris Bailey
New DevTools Features for JavaScript by Yang Guo
The V8 Engine and Node.js by Franzi Hinkelmann
High Performance JS in V8 by Peter Marshall
The Node.js Event Loop: Not So Single Threaded by Bryan Hughes
Welcome and Node.js Update by Mark Hinkle
Take Your HTTP Server to Ludicrous Speed by Matteo Collina
WebAssembly and the Future of the Web by Athan Reines
High Performance Apps with JavaScript and Rust by Amir Yasin
TypeScript - A Love Tale with JavaScript by Bowden Kelly
Of course this list is just the tip of the iceberg, since there are 54 videos upladed on the Node Foundations' YouTube channel, and most of them are really insightful and fun to watch.
10. Node.js is finally more sought after than Java!
Although Ryan Dahl recently stated in an interview that..
for a certain class of application, which is like, if you're building a server, I can't imagine using anything other than Go.
.. we have no reason to doubt the success of Node.js!
Mikeal Rogers, one of the core organizers of NodeConf, community manager & core contributor at the Node Foundation stated that Node.js will overtake Java within a year in a NewStack interview this summer!
We are now at about 8 million estimated users and still growing at about 100 percent a year. We haven’t passed Java in terms of users yet, but by this time next year at the current growth, we will surpass. - Mikeal.
Mikeal is not alone with his opinion. There is hard data available to prove that Node is becoming more sought after than Java.
According to the data gathered by builtinnode, the demand for Node.js developers has already surpassed the demand for Java devs by the summer of 2017 in the Who is Hiring section of Hacker News!
Since Node was already adopted and is being advocated by the greatest tech companies on Earth, there's no doubt that it will remain a leading technology for many years ahead!
We hope that the Node community will continue to thrive in 2018 as well, and produce a plethora of exellent tools & tutorials.
At RisingStack, we'll keep on advocating & educating Node in 2018 as well, for sure! If you're interested in the best content we produced in 2017, take a look!
The Node.js Community was amazing in 2017! Here's the proof: published first on http://ift.tt/2fA8nUr
0 notes
yllphets-blog · 7 years
Text
Zo maak je je pc écht leeg
Harde schijven hebben af en toe een upgrade nodig omdat ze te weinig opslagruimte hebben of niet meer naar behoren werken. Oude apparaten kun je op zolder bewaren, maar voor de meeste apparaten krijg je wellicht nog een paar tientjes. Je moet dan wel zorgen dat je alles van je apparaat grondig wist. In dit artikel lees hoe je je harde schijf leegmaakt.
01 Schijf formatteren
Een traditionele harde schijf bestaat uit één of meerdere platters: ronde schijven die eruit zien als dikke cd’s. Een platter is een stuk glas of aluminium dat met een laagje metaal is bedekt. Harde schijven met weinig opslagruimte hebben één platter, grotere schijven hebben er twee of meer. Op elke platter zitten duizenden sectoren die gevuld kunnen worden met data. Naarmate er meer naar de schijf geschreven wordt en er bestanden vanaf gehaald worden, ontstaan er gaten die later weer opgevuld kunnen worden met delen van nieuwe bestanden. Een harde schijf zou deze gaten meteen kunnen opschonen, defragmenteren heet dit, maar dit gaat ten koste van de snelheid.
Een veelgemaakte denkfout is dat het formatteren van een harde schijf betekent dat alle aanwezige data gewist worden, zodat de schijf opnieuw gebruikt kan worden. In feite worden niet alle sectoren gewist. Alleen de referenties naar de bestanden worden weggehaald. Eigenlijk zeg je tegen de harde schijf dat alle bestaande sectoren beschouwd mogen worden als vrije ruimte en nieuwe bestanden dus naar alle sectoren op de schijf geschreven mogen worden. Hoe meer je vervolgens met de schijf doet, hoe meer oude bestanden verdwijnen omdat ze dan plaatsmaken voor nieuwe bestanden. Maar wil je de pc met schijf verkopen, dan is het noodzakelijk dat je je gegevens goed wist. Alleen formatteren en Windows opnieuw installeren is dus niet genoeg. Dan worden uiteraard al je instellingen gewist, maar sommige gegevens kunnen eenvoudig worden teruggehaald met herstelsoftware.
01 Een harde schijf bestaat uit één of meerdere platters, deze bestaan weer uit duizenden sectoren waar data worden opgeslagen.
Autorisaties
De meeste software kan maar op een paar computers tegelijkertijd geactiveerd zijn. Ga je een computer verkopen, deactiveer dan eerst de software op die computer. In de meeste gevallen kan dit ook later nog via een online gereedschap, maar het is handig om wel vooraf per programma even na te lopen of dit mogelijk is. In het programma kies je om de huidige pc te deactiveren, zodat je op je nieuwe pc weer een autorisatie kunt toevoegen. Ook bij aangeschafte muziek kan dit het geval zijn. In iTunes kun je bijvoorbeeld bij iTunes Store voor Trek machtiging voor deze computer in kiezen.
Bij veel programma’s kun je een activering online intrekken, bij sommige programma’s moet je dit lokaal doen voordat je de schijf formatteert.
02 Overschrijven
Als je een schijf wilt verkopen, moet je er dus voor zorgen dat je sectoren worden overschreven met nieuwe, nutteloze informatie. Dit is dan ook precies wat gebeurt bij een ‘grondige formattering’. Het programma dat je hiervoor gebruikt, herschrijft meerdere keren je harde schijf met willekeurige data of met een patroon aan enen en nullen. Hoe vaker je dit doet tijdens het formatteren, hoe zekerder je kunt zijn dat bestanden niet teruggevonden kunnen worden.
Er is een aantal niveaus, waarbij de Gutmann-methode het meest complex is. Hierbij wordt een schijf 35 keer overschreven met verschillende algoritmes per overschrijfbeurt. Dit systeem is voor de meeste toepassingen veel te uitvoerig en daarom zijn er mildere overschrijfprocessen. De Amerikaanse defensie gebruikt standaard een zevenvoudige overschrijfmethode, maar voor huis-, tuin- en keukengebruik is een twee- of drievoudige overschrijving voldoende. Voor Windows kun je gebruikmaken van de bekende software CCleaner. Gebruik je dit programma nog niet, klik dan hier op Download Free Version en worstel je door de pagina’s die je tóch een betaalde versie willen laten downloaden. Eenmaal geïnstalleerd, klik je op Tools / Drive Wiper en zet je een vinkje voor de naam van de schijf die je wilt formatteren.
Zorg dat je achter Wipe de optie Entire Drive (all data will be erased) hebt geselecteerd. Achter Security bepaal je vervolgens hoe vaak de schijf moet worden overschreven met willekeurige data. Advance Overwrite (3 passes) is voor de meeste toepassingen echt voldoende en zal ervoor zorgen dat er bijna geen dataherstel mogelijk is. De optie Complex Overwrite (7 passes) wordt geadviseerd voor harde schijven van defensie en is voor de standaardgebruiker overkill. De laatste optie Very Complex Overwrite (35 passes) is alleen zinvol als je toegang tot kernkoppen hebt en veel tijd over hebt, aangezien dit wel een paar dagen kan duren. Klik op Wipe om het proces te beginnen.
02 De Guttman-methode is het meest complex, voor thuisgebruik is dit overkill.
03 Schijf formatteren op een Mac
Op de Mac is het veilig formatteren van schijven standaard in macOS ingebakken. Open Programma’s / Hulpprogramma’s en start Schijfhulpprogramma. Selecteer de externe schijf die je wilt formatteren en klik op Wis. Klik op Beveiligingsopties en kies het beveiligingsniveau. Je hebt vier opties, de veiligste methode (rechteroptie) staat voor het zeven keer overschrijven van data. De beveiligingsopties zijn niet zichtbaar als je een interne schijf wilt formatteren.
03 Op de Mac kun je je schijven veilig formatteren met verschillende veiligheidsniveau’s.
Eraser
Om een usb-stick te formatteren, kun je het gratis programma Eraser downloaden. Eraser heeft een heleboel functies aan boord, zo kun je ook individuele bestanden veilig wissen van een medium, ook van reguliere harde schijven.
Eraser kun je bijvoorbeeld gebruiken om een usb-stick te wissen.
04 SSD
Een SSD werkt anders dan een normale harde schijf en de levensduur ervan hangt in grote mate af van het aantal lees- en schrijfcyclussen. Als je een programma als CCleaner gebruikt om de schijf een paar keer compleet te overschrijven, verkort je dus direct de levensduur van je SSD. Om data op een SSD compleet te verwijderen, moet je een zogenoemde ATA Secure Erase doen. Dit geeft een korte voltagepiek aan de SSD waardoor alle sectoren worden teruggezet naar de beginstand. Alsof de SSD even kortsluiting heeft gehad en zijn geheugen permanent gewist is. Om zo’n ATA Secure Erase te geven, moet je op zoek naar een speciaal gereedschap op de website van de fabrikant van jouw SSD. Voor Samsung is dit bijvoorbeeld de software Samsung Magician.
Een andere optie is om je complete SSD schijf te versleutelen voordat je hem gaat formatteren. Vervolgens formatteer je de SSD vanaf een andere pc en versleutel je de SSD nog een keer. Dit zorgt ervoor dat je eerste versleuteling, die normaal gesproken op de SSD zelf wordt opgeslagen, wordt overschreven. Op deze manier zijn je oude data niet meer toegankelijk. Versleutelen doe je in Windows 10 Pro en Enterprise via BitLocker, dit vind je bij Configuratiescherm / Systeem en Beveiliging. In andere Windows-versies gebruik je bijvoorbeeld de gratis tool VeraCrypt. In macOS vind je FileVault bij Instellingen / Beveiliging en Privacy.
04 In Samsung Magician kun je een SSD volledig wissen door voor de optie Secure Erase te kiezen. Verwijderde data zijn niet meer te herstellen.
05 Opstartschijf formatteren
Een opstartschijf kun je niet vanuit het eigen besturingssysteem formatteren, je moet dus je harde schijf uit de pc halen en in een externe behuizing stoppen om hem te kunnen formatteren. Een andere optie is om een herstelmedium van je Windows-systeem te maken en vervolgens van je pc op te starten met dit medium. Nu kun je je C-schijf formatteren alsof het een externe schijf is, je besturingssysteem draai je immers van het andere medium.
Data herstellen
Wil je gegevens herstellen van een schijf die je per ongeluk hebt gewist of wil je weten wat er nog van je oude bestanden te traceren is, dan moet je een dataherstelprogramma installeren. Een gratis en eenvoudig programma waarmee je dit kunt proberen is Recuva. Veel andere programma’s kosten geld, maar bieden bijna allemaal een gratis versie aan waarmee je je schijf kunt scannen. Je kunt dan een overzicht zien van de bestanden die teruggevonden werden. Om de bestanden daadwerkelijk terug te kunnen halen, moet je de betaalde versie aanschaffen. Een goed programma is bijvoorbeeld Disk Drill, dit programma is beschikbaar voor zowel Windows als macOS. Een gratis en zeer krachtig programma is DMDE, maar dit programma vereist wel dat je de documentatie goed doorleest.
Aanbevolen producten:
51J0497 42T4690 42T4691 42T4689 Batterij – Nieuwe accu voor Lenovo 51J0497 42T4690 42T4691 42T4689
6-87-C480S-4P4 C4500BAT-6 Batterij – Koop Clevo 6-87-C480S-4P4 laptop batterij
6-87-W370S-4271 W370BAT-8 Batterij – Koop CLEVO 6-87-W370S-4271 laptop batterij
6-87-W540S- 427 Batterij – Koop Clevo 6-87-W540S- 427 laptop batterij
807957-001 HSTNN-LB6V 6EZRVC2GW8WPWI HS04 Batterij – Koop HP 807957-001 laptop batterij
0 notes
findmyfreelance · 7 years
Text
Blog formatting (Wordpress layout, image editing) position
Blog formatting (WordPress layout, image editing) position
We are looking for a blog formatter. This is a freelance position that offers a steady stream of work (5-10 hours/week). Responsibilities include: Uploading copy and images into WordPress. Following brand style guidelines to ensure posts a        APPLY HERE: Blog formatting (WordPress layout, image editing) position
View On WordPress
0 notes
t-baba · 7 years
Photo
Tumblr media
#342: Why Reddit Chose TypeScript
This week's JavaScript news — Read this e-mail on the Web
JavaScript Weekly
Issue 342 — July 7, 2017
A Set of Best Practices for JavaScript Projects
British design studio Hive has collected together guidelines for working on JS projects.
Hive
Why Reddit Chose TypeScript
Reddit felt that TypeScript was the best option for typed front-end development.
Upvoted
Components will make you a better web developer
Building with reusable, isolated components will make your work clean & maintainable. Component IO offers ready-to-use website components that work everywhere. Use the live online content & code editor to improve your workflow.
Component IO   Sponsor
Gatsby 1.0: A Static Site Generator for React
A powerful React-based static site generator. v1 can integrate with CMSs like Wordpress, and Drupal, and supports route-based code splitting, service workers, offline support, etc.
Kyle Mathews
Ink: Like A React, But For Building CLI Apps
Provides React’s component-based UI building experience, but for CLI apps. An intriguing idea.
Vadim Demedes
AC-D3: Library for Building Audiovisual Charts in D3
Bring the power of embedded videos to D3 visualizations.
Michals, Worrel and Nunns
Jobs
Front End Engineer at EDITED (London)Join us to impact how the world's biggest retailers operate by making a web app with great UX and DX using React, Redux and Glamor EDITED
Full-stack Javascript Developer at X-Team (Remote)We are 100% remote. We'll work with you 1-on-1 to motivate and fund you to learn, grow and build a legacy. Join X-Team. X-Team
Can't find the right job? Want companies to apply to you? Try Hired.com.
In Brief
'Prettier' Code Formatter Reaches Version 1.5 news Introduces GraphQL, CSS-in-JS and JSON support. Prettier
Integrate TypeScript in Your Vue Project tutorial Alex Jover Morales
Build a Simple Realtime App with Vue.js 2.0 and Pusher tutorial Olayinka Omole
Experimenting with the Background Fetch API tutorial Phil Nash
Pattern Matching with TypeScript tutorial Manuel Alabor
Get Started with Rust, WebAssembly, and Webpack tutorial Ian J Sikes
Intro to 'date-fns', a Lightweight JS Date Library tutorial A simple, functional alternative to Moment.js. SitePoint
Building a Realtime Dashboard Powered by Laravel and Vue.js tutorial Freek Van der Herten
Much faster way to debug code than with breakpoints or console.log  This wallaby.js feature allows to inspect the result of any JavaScript expression execution in your editor. Wallaby.js  Sponsor
Why Use SemVer / Semantic Versioning? opinion And how it has ‘changed the way we write JavaScript’. The npm Blog
Comparing and Contrasting React and Angular opinion Dan Halverson
8 Habits of a Happy Node Hacker (2017 Edition) opinion Just in case you’re not a Node Weekly reader :-) Jeremy Morrell
Evan You on the State of Vue in 2017 video VueConf
How to Get Started and Build Something with GraphQL video Xavier Cazalot
Spend less time coding, more time shipping 🚀  Build interactive features, like notifications, in minutes with just a few lines of code. Pusher  Sponsor
14 'Live Search' jQuery Plugins tools SitePoint
bundlesize: Keep Your Bundle Size in Check tools Siddharth Kshetrapal
webpack-common-shake: A CommonJS Tree Shaker Plugin for WebPack tools Fedor Indutny
math-random-polyfill: A 'More Random' Browser Polyfill for Math.random() code David Anson
consolemock: A Small Dev Utility for Testing Console Logs code Thomas Marek
share-this: Medium-like Text Selection Sharing Without Dependencies code Massimo Artizzu
Try Codeship Basic: Simple hosted CI that works out of the box  Codeship  Sponsor
Curated by Peter Cooper and published by Cooperpress.
Like this? You may also enjoy: FrontEnd Focus : Node Weekly : React Status
Stop getting JavaScript Weekly : Change email address : Read this issue on the Web
© Cooperpress Ltd. Office 30, Lincoln Way, Louth, LN11 0LS, UK
by via JavaScript Weekly http://ift.tt/2u02V3p
0 notes
nickpol · 7 years
Video
Prisming on the Sony A6300 | S-LOG2 | AVCHD | Canon 85mm f/1.8 | Formatt-Hitech Firecrest ND | Tiffen UltraContrast 1 | Impulz from Doug Stanford on Vimeo.
Shot on the Sony A6300 with a prism mounted on a Smallrig articulating arm, stabilized with Smallrig rosette handle kit. ProRes download link: http://bit.ly/PrismingA6300
Sony a6300 Canon 85mm f/1.8 S-Log2 Exposed 1 Stop over @ 120fps 1/250 f2 Formatt Hitech Firecrest ND 1.2+.9 Tiffen UltraContrast 1 Graded in Resolve with the VisionColor Impulz Kodak 5307 FC LUT Noise Reduction in Resolve with Neat Video v4 Gorilla Grain 35mm Medium Clean
0 notes