#and also machine learning stuff is much easier to apply in Python which is another boon in its favor
Explore tagged Tumblr posts
Text
Ok but like⊠I hate to be that guy, but R has libraries for literally everything data sci/stats related you could need. I was doing stats hw earlier, (yes I know general stats isnât exactly the same as bio informatics) and for literally every problem, the solution was literally 1 line of R code, and it took like 2 mins to identify the proper function and apply it.
I'm the best language for bioinformatics and if you even mention R I will murder you in your sleep
#I will give it that python is much easier to write code in if what u need doesnât already have a prebuilt library#which probably is a huge pro for python for bioinformatics specifically#because I imagine that R probably has fewer (but still many) libraries for bio informatics than it does for general stats#and also machine learning stuff is much easier to apply in Python which is another boon in its favor#but R also has machine learning stuff#also python wishes it was R so badly that it literally has a whole library dedicated to mimicking R#(yes this is about pandas)#also like#I wouldnât be very upset being murdered in my sleep
176 notes
·
View notes
Text
How I learned to learn
I taught myself HTML and CSS when I was 11 years old. Two years later, I sat down at the same family computer where I learned HTML and CSS and taught myself Python. Four years after that, I learned back-end web development with Node with the help of a mentor. Two years after that, I learned React with the help of a friend in the open source community. And so on and so on.
Although I attended a rigorous preparatory high school and an even-more-rigorous university, my most fulfilling learning experiences happened while I was at my desk, not a classroom or lecture hall. Independent learning has been the entry point and hallmark of my career in tech. This is true not just for me and for the particular industry I'm in. As the world at large progresses at an increasingly fast rate, independent learning is gonna be a necessary skill for keeping up with the world.
At this point, I think it's important to define what I mean when I say "independent learning." Independent learning is not solitary learning. Independent learning, in my mind, is learning that happens separate from an academic institution like a university or boot camp. It's the kind of learning that happens when you pick up a non-fiction book or read a tutorial about a new programming framework or watch a YouTube video on the how to screw back a loose kitchen cabinet. Independent learning can be passive, you can learn without the intention of doing so by reading a news article linked to from social media or listening to the radio (if anybody does that anymore). Independent learning can also be active, you make an intention to learn a particular topic and seek out the necessary resources.
Most of the independent learning that I have experienced over the past decade has been "active independent learning." I made the choice to learn about a particular topic, whether it was machine learning or knitting, and sought out the necessary resources. I've picked up a thing or two about being a successful, intent independent learner and I'm going to share them here.
Learning your (anti-)learning style
Like many young people, I've spent a large percentage of my life up to this point in a classroom or lecture hall. In those situations, I had little choice over which teaching style the instructor used to deliver their material. I've seen everything from deadpan lectures on quantum mechanics to animated and flexible lectures on human anthropology. After a few years, I quickly figured out that there were few forms of lecture that worked for me. While on my learning journey, I found a lot of resources that recommended learning what my learning style was. I found that figuring out what learning styles didn't work for me was far more effective. It helped me know what kinds of material to avoid and where to best spend my valuable time.
Side-note: I think exploring the negative space in life is an oft-neglected task. Often times, figuring out what doesn't work is just as useful as figuring out what does.
Learning the right stuff
When you're learning a new topic, there's a lot of noise in the information that you gather. Even if the general subject matter is relevant to your interests and goals, there are a lot of unnecessary details that you might capture in the learning process. The best way to figure out what the right things to learn are is to ask someone with experience in the field. Reaching out to mentors via Twitter or local meet-ups or in the office is a great way to find people willing to guide you through the process.
Lather, rinse, and repeat
Application is the best way to solidify learning and defragment the brain. If you're working in tech, you're likely learning a new programming language or framework. My favorite way to reinforce learning is to rebuild something that has been built before in that new language or framework. Whether it's building an Instagram clone with a new web framework or porting a user land package from one language to another, applying what I learn in a practical way helps me organize the information that I picked up.
Getting comfortable with failure
As I mentioned earlier, I attend a preparatory high school. I was one of those "gifted" kids that had a pretty easy time grasping the concepts that was taught at a typical elementary school and even a little more advanced high school. All that changed when I started college. Suddenly, I was a little fish in a big pond. I had some of my first encounters with some truly difficult subject matter. For the first time in my life, I experienced failure in an educational context. At the start of college, I had trouble getting comfortable with that failure. I took it personally. But eventually, I failed enough times to where I didn't fall into a brutal pit of self-degradation whenever I didn't grasp a concept immediately. This comfort made it much easier for me to propel myself deeper into my learning and to bounceback from failure.
One of my priorities in my learning, and in life in general, is to get comfortable with failure (and to even go out and seek it at times). Sometimes, a rocky road is the only one worth traveling on.
Finally, I think it's important to internalize the fact that you have a lifetime to learn how to learn. Learning is one of the few things that we do consistently throughout our whole lives. It's part of what makes us human. For as much as we learn and discover about things outside us, we learn as much about ourselves.
5 notes
·
View notes
Text
Moving part #5: API
I'm building an online video game, and I already made a few technical decisions. I know what frameworks I will use for the front-end (React/Bootstrap), where the assets will be hosted (S3/CloudFront), and how authentication and authorization will work (Cognito). Now I have to figure out how the back-end will work.
In the context of a video game like this one, the back-end will most likely be a bunch of web services that the front-end will interact with to get or send data. Even though my ideas for the game are still quite vague, it seems likely that the bulk of the exchanges will be centered around obtaining or updating the state of specific game elements (player, scene, objects, etc.) which means that a typical REST API should work fine.
While the front-end is expected to drive the exchanges, it's also possible that the back-end will need to send notifications to the front-end on occasion. For that kind of stuff, I don't think I would use browser notifications, but rather something like WebSocket.
REST API and microservices
Fundamentally, a microservice-inspired approach means that rather than have one big web application with many endpoints, the API is a collection of small independent applications, each with one or two endpoints. It also means that rather than have a big database in the back that all the endpoints tap into, persistence is self-contained in each service; if a service needs something from another service, it uses the REST endpoint like everyone else rather than grab stuff directly from the database and/or use shared components.
What I like about this design is that it allows me to focus on one small part of the system at a time, without having to re-test everything when I make a breaking change in a database table or in a library. It limits the blast radius, so to speak, which is hugely convenient especially for a small team (just me!) working part-time on a project, which can lead to losing focus or forgetting about a specific dependency. With microservices, I can also use different technologies - even different programming languages - across different services.
The pros and cons of microservices can be discussed ad nauseam, as, like most things, they do not constitute a silver bullet. But microservices are easier to scale and maintain, and that alone is good enough for my use case.
I've been in this business a long time, and I noticed that some developers, even seasoned ones, don't "get" microservices; they just can't move past cross-cutting concerns (ex: loggers) or can't wrap their mind around using API endpoints rather than access a shared database directly. They'll typically quote the DRY principle and constantly try to work around the architecture because they assume it's "not done right".

I realized over the years that when dealing with stubborn developers who can't let go of old ways to do things, the only solution is to level down and build monolithic applications, otherwise the end result is a Rube Goldberg machine with horrifying stuff like some services acting as massive controllers or using stateful caching to work around the lack of a shared database. Microservices are amazing, as long as every contributor to the project understands how they work; otherwise it's a one-way ticket to hell.
Thankfully I'm working alone on this project so I don't have to deal with this kind of problem.
This concludes my rant about microservices!
Hosting the API
I already know that the static assets will be hosted in S3/CloudFront and that authentication will be done with Cognito. This means that the solution relies heavily on AWS already, but technically there's nothing forcing me to use AWS for the API. The exchange of data between the browser and the API is not tied to the source of the static assets, and the JWT that are passed around include all the information the API provider needs to verify credentials.
This gives me with the freedom to choose between the two ways that work well for building a microservice architecture: containers or serverless (although technically serverless runs on containers, we just don't see them).
Containers
A container is not like a small virtual machine; it's more like a way to package a script using an archive format that abstracts everything that is not relevant for the script itself. For instance, a container could be a Python script that comes with the Python interpreter and all the relevant libraries, but not much else. When a container is running, the process it launches (like that Python interpreter) is visible on the host system; that's different from VMs. Containers are based on images, which are like templates; a running container may or may not change the files included in its template (which has performance implications).
Containers are great because they allow you to decompose a service in smaller components that you can scale differently. For instance, you can a container that runs your Python code and another one that hosts the database; at any time you can scale up the overall service by adding more instances of the Python container while keeping just one instance of the database container.
The main problem with containers is that they are fundamentally not distributed - they are meant to run on a same host. This design allows for a highly simplified way to have interactions between containers and remove the need for endless configuration files, but it doesn't horizontally scale and it doesn't allow for high-availability.
Sophisticated solutions like Kubernetes, Rancher or Nomad can address these limitations, but they are not trivial to implement and typically require additional operational elements (monitoring, etc).
Service mesh
When containers are used to implement a microservice architecture, a common approach is to attach a reverse proxy to each instance of a service; that reverse proxy abstracts the communication with other services in some way (for instance by obtaining routing information from a central inventory), allowing each service to behave as if the other services were running on the same host. This removes the need to handle stuff like SSL or connection strings inside each service.
One of the cool things about a service mesh is that rather than drive the deployment of components in a top-down manner, the services register themselves in the mesh when they become operational (similar to how DHCP operates). This allows for really sophisticated deployment and scaling scenarios that are not strangled by a central bottleneck.
Serverless
Serverless takes things a step further by removing the notion of container entirely. With the Serverless approach, a microservice is composed of one of more functions that are deployed individually. Under the hood, each "function" is a container but all the plumbing is handled by the Serverless platform.
Typically, a microservice has one or more dedicated data persistence mechanisms (like a database) and is made available to other parts of the system via an API gateway where stuff like authorization or throttling is handled.
For instance, on AWS, a microservice will typically correspond to a Lambda application composed of one or more functions, one or more DynamoDB tables, and one or more integrations in an API gateway.
Serverless is great but there is one downside that is, in essence, an amplification of the downside of cloud computing: when things run on-demand, there's a start-up delay, and if you can't live with the start-up delay, you have to provision capacity ahead of time (which means it's no longer on-demand). Cloud vendors are working hard to solve this problem, and no doubt that some fancy machine learning magic is being implemented to minimize this downside, but as of 2021 it still exists.
Which is best?
As of 2021:
nothing scales better than a service mesh
nothing is easier to maintain than Serverless
and:
nothing is easier to create from scratch than a monolithic application
nothing is easier to maintain in the long term than a microservice application
and:
as the solution grows it becomes increasingly more difficult to switch between those architectures
At this point in time, anyone who comes up with the "best" architecture that applies to everything is either a liar or an incompetent (usually both).
The architecture must take into account all kinds of factors, including short-term capabilities and long-term opportunities. For instance, since I'm working on this game on my own, any time spent working on deployment or maintenance takes away from adding cool stuff in the game itself, but if the game suddenly takes off and becomes a big hit, offering a smooth experience to users may become a very expensive problem to solve if the initial design is not scalable.
I have some more thinking to do.
0 notes
Text
5 Steps to Learning Python the Right Way
1. Figure Out What Motivates You to Learn Python
Before you start diving into learning Python online, itâs worth asking yourself why you want to learn it. This is because itâs going to be a long and sometimes painful journey. Without enough motivation, you probably wonât make it through. Make no mistake, even when you skip the âcliff of boring,â learning Python is still challenging.
 Plus, motivation matters! I slept through high school and college programming classes when I had to memorize syntax and I wasnât motivated. On the other hand, when I needed to use Python to build a website to automatically score essays, I stayed up nights studying to finish it.
 In other words: itâs much easier to learn something when you have a reason to learn.
 Figuring out what motivates you will help you figure out an end goal, and a path that gets you there without boredom. You donât have to figure out an exact project, just a general area youâre interested in as you prepare to learn Python.
 Pick an area youâre interested in, such as:
 Data science / Machine learning
Mobile apps
Websites
Games
Hardware / Sensors / Robots
Scripts to automate your work
  Yes, you can make robots using Python! From the Raspberry Pi Cookbook.
 Figure out one or two areas that interest you, and that youâre willing to stick with. Youâll be gearing your learning towards them, and eventually will be building projects in those areas, so choose things youâre actually interested in.
 2. Learn the Basic Syntax
Unfortunately, this step canât be skipped. You have to learn the very basics of Python syntax before you dive deeper into your chosen area. You want to spend as little time as possible on this, as it isnât very motivating. I personally made it about 30% into the Codecademy Python tutorials, which was enough.
 Here are some good resources to help you learn the basics:
 Codeacademy â does a good job of teaching basic syntax, and builds on itself well.
Learn Python the Hard Way â a book that teaches Python concepts from the basics to more in-depth programs.
Dataquest â Python Programming Fundamentals â I started Dataquest to make learning Python and data science easier. Dataquest teaches Python syntax in the context of learning data science. For example, youâll learn about for loops while analyzing weather data. This course, and our intermediate Python course, are both free. We also have a lot of free Python tutorials.
The Python Tutorial â the tutorial on the main Python site.
I canât emphasize enough that you should only spend the minimum amount of time possible on basic syntax. The quicker you can get to working on projects, the faster you will learn. You can always refer back to the syntax when you get stuck later. You should ideally only spend a couple of weeks on this phase, and definitely no more than a month.
 3. Make Structured Projects
Once youâve learned the basic syntax, itâs possible to start making projects on your own. Projects are a great way to learn, because they let you apply your knowledge. Unless you apply your knowledge, it will be hard to retain it. Projects will push your capabilities, help you learn new things, and help you build a portfolio to show to potential employers.
 However, very freeform projects at this point will be painful â youâll get stuck a lot, and need to refer to documentation. Because of this, itâs usually better to make more structured projects until you feel comfortable enough to make projects completely on your own. Many learning resources offer structured projects, and these projects let you build interesting things in the areas you care about while still preventing you from getting stuck.
 If youâre interested in learning Python for data science, each of our data science courses ends with a structured guided project that helps you apply your new skills creatively without totally dropping you into the deep end.
 But you may be interested in Python because you want to make a game, or work in robotics, or do something else, so letâs take a look at some other great resources for finding structured projects you can dig into:
 Data Science / Machine Learning
Dataquest â As mentioned previously, our courses teach interactively by asking you to write real code to analyze real-world data, and each course ends with a guided project.
Python for Data Analysis â A book written by the author of a major Python data analysis library, itâs a good introduction to analyzing data in Python, and it will help you learn some of the skills youâll need for building data science projects.
Scikit-learn documentation â Scikit-learn is the main Python machine learning library. It has some great documentation and tutorials you can work through to get a feel for how itâs used.
CS109 â A Harvard class that teaches Python for data science. They have some of their projects and other materials online, and you can give them a try even if youâre not enrolled in the course.
Building Mobile Apps
Kivy guide â Kivy is a tool that lets you make mobile apps with Python. They have a guide on how to get started.
Websites
Flask tutorial â Flask is a popular web framework for Python. This is the introductory tutorial.
Bottle tutorial â Bottle is another web framework for Python. This is how to get started with it.
How To Tango With Django â A guide to using Django, a complex Python web framework.
Games
Codecademy â Has ineractive lessons that walk you through making a couple of simple games.
Pygame tutorials â Pygame is a popular Python library for making games, and this is a list of tutorials for it.
Making games with Pygame â A book that teaches you how to make games in Python.
Invent your own computer games with Python â Another book that walks you through how to make several games using Python.
  An example of a game you can make with Pygame. This is Barbie Seahorse Adventures 1.0, by Phil Hassey.
 Hardware / Sensors / Robots
Using Python with Arduino â Learn how to use Python to control sensors connected to an Arduino.
Learning Python with Raspberry Pi â Build hardware projects using Python and a Raspberry Pi. The sky is really the limit here, but this page will give you some ideas for places to start.
Learning Robotics using Python â A book that will help you learn how to build robots using Python.
Raspberry Pi Cookbook â Another book thatâs focused on helping your learn how to build robots using a Raspberry Pi and Python.
Scripts to Automate Your Work
Automate the Boring Stuff with Python â A classic Python book that will help you learn how to automate everyday tasks using Python.
Once youâve done a few structured projects in your own area, you should be able to move into working on your own totally unique projects. And because youâll have been experimenting and working in your area of interest as you worked through those structured projects, youâll probably have some cool ideas. But, before you dive completely into a passion project, itâs important to spend some time learning how to solve problems.
 4. Work on Projects on Your Own
Once youâve completed some structured projects, itâs time to work on your own unique projects. On your journey to learn Python, itâs hard to know how much youâve really learned until you step out and try to build something on your own. Youâll still be consulting resources and learning new concepts as you work, but youâll be working on whatever you want to work on.
 Before you dive into working on your own projects, you should feel comfortable debugging errors and problems with your programs. Here are some resources that will help:
 StackOverflow â A community question and answer site where people discuss programming issues. You can find Python-specific questions here. You can ask your own questions if you need to, but often a search will reveal that someone else has already asked your question and gotten a good answer for it.
Google â Believe it or not, this is the most commonly used tool of every experienced programmer. Very useful when trying to resolve errors. Hereâs an example.
Pythonâs official documentation â This is a good place to find reference material on Python.
Once you have a solid handle on debugging issues, you itâs time to dive into your own projects. Work on things that interest you. For example, I was interested in the idea of automated stock trading. Thatâs what motivated me, so I started working on tools to trade stocks automatically very soon after I learned the basics of Python programming.
 Here are some tips for finding interesting projects:
 Extend the projects you were working on previously, and add more functionality.
Go to Python meetups in your area, and find people who are working on interesting projects.
Find open source packages to contribute to.
See if any local nonprofits are looking for volunteer developers.
Find projects other people have made, and see if you can extend or adapt them. Github is a good place to find these.
Browse through other peopleâs blog posts to find interesting project ideas.
Think of tools that would make your every day life easier, and build them.
Remember to start very small. Itâs often useful to start with things that are very simple so you can gain confidence. Itâs better to start a small project you actually finish than a huge project that never gets done.
 Itâs also useful to find other people to work with for more motivation.
 If you really canât think of any good project ideas, here are some in each area weâve discussed:
 Data Science / Machine Learning
A map that visualizes election data by state.
An algorithm that predicts the weather where you live.
A tool that predicts the stock market.
An algorithm that automatically summarizes news articles.
  You could make a more interactive version of this map. From RealClearPolitics.
 Mobile Apps
An app to track how far you walk every day.
An app that sends you weather notifications.
A realtime location-based chat app.
Websites
A site that helps you plan your weekly meals.
A site that allows users to review video games.
A note-taking platform.
Games
A location-based mobile game, where you capture territory.
A game where players must write code to solve puzzles.
Hardware / Sensors / Robots
Build sensors that monitor your house remotely (temperature, moisture, CO2 levels, etc).
Build a smarter alarm clock.
Create a self-driving robot that detects obstacles.
Scripts to Automate Your Work
A script to automate data entry.
A tool to scrape data from a website you frequent.
A script that reminds you to stand up once every hour.
The first project I built on my own was adapting my automated essay scoring algorithm from R to Python. It didnât end up looking pretty, but it gave me a sense of accomplishment, and started me on the road to building my skills.
 Remeber, there arenât really any wrong answers here. The key is just to pick something and do it. If you get too hung up on picking the perfect project, thereâs a risk that youâll never make one.
 5. Keep Working on Progressively Harder Projects
Once youâve finished the first one, keep increasing the difficulty and scope of your projects. If youâre completely comfortable with what youâre building, that means itâs time to try something harder. That could mean starting a new and more difficult project, adding complexity to your current project, or taking on an entirely different sort of challenge.
 Here are some ideas for increasing the difficulty of your projects to ensure that youâre still progressing in your learning:
 Try teaching a novice how to build a project you made. Nothing forces you to really learn a subject quite like having to teach it
Can you scale up your tool? Can it work with more data, or can it handle more traffic?
Can you make your program run faster?
Can you make your tool useful for more people?
How would you commercialize what youâve made?[Source]-https://www.dataquest.io/blog/learn-python-the-right-way/
 Advanced level Python Certification Course with 100% Job Assistance Guarantee Provided. We Have 3 Sessions Per Week And 90 Hours Certified Basic Python Classes In Thane Training Offered By Asterix Solution
0 notes
Text
THE MOST AMBITIOUS STUDENTS WILL AT THIS POINT BE ASKING: WHY WAIT TILL YOU GRADUATE
VisiCalc, the first spreadsheet. Think about your own experience: most links you follow lead to something lame. That was a social step no one with a 50% chance of winning, or no one will dominate server-based software.1 16% false positives means that it is, it will at least encourage a habit of impatience about the things you most want to do. Finally, they didn't bias against false positives. The startup is the opinion of one's peers is the most extreme case is developing programming languages, which doesn't pay at all, because people start to use it in different ways. The founders can't enrich themselves without also enriching the investors.2 But if it's a question, because now their honor was on the right track when people complain that you're unqualified, or that you've done something inappropriate. You may not at first make more than you spend.3
And PR firms give them what they want to be able to reach most of the time not to defend yourself. It would be like programming in a language with prefix syntax, any function you define is effectively an operator.4 And this tradition had so long to develop that nontechnical people like managers and VCs got to be about 15? These techniques are mostly orthogonal to Bill's; an optimal solution might incorporate both. They can practically read one another's minds. In 1976, everyone looked down on by everyone, including themselves.5 The 20th best player, causing him not to make the team, and his place to be taken by the 21st best player will be only slightly worse than the 20th best player, causing him not to make discoveries about statics. Which means that what matters is who you are, not when you do it like a label. There is always room for new stuff.6 And it applies to startups too. To anyone who has worked for the government knows, the important thing is not to be the one to discover its replacement. You'd think.
You may not realize they're startup ideas. And anyone who has worked on spam filters, this will seem a perverse decision. Most painters start with a blurry sketch and gradually refine it.7 For users, Web-based and desktop software is that you shouldn't relax just because you don't want to want, we consider technological progress good.8 But so do people who inherit money, and that means it has to be designed to suit human weaknesses, I don't mean you should release something minimal.9 My mother doesn't really need a desktop computer, you can just turn off the service. In a startup, and I'll be rich. I was someone else.10 So if you make it clear you're going to invest in startups, as there are in any domain, but they are an order of magnitude less important than solving the real problem. What made oil paint so exciting, when it first became popular in the fifteenth century, was that you could easily convince yourself that they all started from the same phenomenon.
Design by committee is a big pitfall, and not just how to make, and not just for humans, but for startups there's a unique problem: by definition the founders of successful startups don't need to be support for it at the language level. You can do this in software too. In fact, because bugs were rare and you had to look at a piece of shit; those fools will love it.11 It might help if they were sentient adversariesâas if you're a quiet, law-abiding citizen most of the work is so interesting that this is concealed, because what other people have the attitude that they're going to give this startup thing a shot for three months, and if one group is a minority in some population, pairs of them will amount to anything.12 One is to work somewhere that has a lot more than you realize.13 It would certainly be convenient, and mandatory type declarations are incompatible with a toplevel, then no language that makes type declarations mandatory could be convenient to program in.14 Back when desktop computers arrived, IBM was the giant that everyone was afraid of. As soon as we heard they'd been supporting themselves by selling Obama and McCain branded breakfast cereal, they were all essentially mechanics and shopkeepers at first. If you're an amateur mathematician and think you've solved a famous open problem, better go back and check. This article is derived from a talk at BBN Labs. How fast does a company have to grow to be considered startups. Most users probably don't.
More people are starting startups, people who wanted to buy them, however limited. If you're sufficiently perceptive you can grasp these things while you're still in school is to learn how startups work. You could combine one of these chips with some memory 256 bytes in the first Altair, and front panel switches, and you'd have a working computer. In an opera it's common for one person to write the application in the same way that not drinking anything would teach you how much an expert can know about it right away so that we could hire someone whose job was just to worry aboutânot even Google.15 It's a live thing, running on your servers right now. The world of startups.16 Give the Programmer as Much Control as Possible.17
Why should there be any limit to the number of new customers, but the difficulty of coming up with an idea for a small team of good, trusted programmers than it would take to write it yourself, then all that code is doing nothing but make your manual thick.18 Big companies try to hire the right person for the job.19 So in the future should not depend much on how you deal with html.20 And anyone who has worked on software. I explained before, this is a kind of axiom from which most of the time, will take whatever choice requires least work.21 As far as I know there's no word for something we like too much.22 The weak point of the top hackers are using languages far removed from C and C. If you regard someone judging you will work hard to judge you correctly, you can find and fix most bugs as soon as they appear.
The main reason PR firms exist is that reporters are lazy. They'll happen within server farms. Scientific ideas are not spiky and isolated. You can't just sit there. Traditional long distance carriers, for example, by improving access to education.23 The philosophy's there, but these are likely to be filled by freeware. As for building something users love will have an easier time raising money than one who knows every trick in the book but has a flat usage graph.24 But in retrospect you're probably better off studying something moderately interesting with someone who's good at it than something very interesting with someone who's good at it than something very interesting with someone who isn't. In the startup world want to believe that. And once you've written the software, our Web server was the same desktop machine we used for development, connected to the Internet, all have the same spam probability, the threshold of. Can universities teach students about startups? PR firm $16,000 a month.
The first time I wrote that paragraph, instead of learn a lot about computer security says the single most important step is to log everything. It's not as if all the opportunities to start companies are going to be the most important thing in the world of startups is not the criteria they use but that they always bit me.25 At one end of the scale you have fields like math and physics, where nearly all the teachers are among the best practitioners. You can tell how hard it can be wrong, so long as you can compete with delegation by working on larger horizontal slicesâby both writing and illustrating your book, for example, because Paypal is now responsible for 43% of their sales and probably more of their growth. That would be kind of amusing.26 In software this kind of lonely squirming to avoid it will increasingly be the fate of anyone who wants to get things done, with no excuses. If you start a startup that depends on deals with big companies to exist, it often feels like they're trying to avoid. One of the defining qualities of kids is that when you sit down to work with. A lot of people like her. I think we will, with server-based software never ships.27 First there'd be a huge ideological squabble over who to choose. If that kind of risk doesn't pay, venture investing, as we did, using a desktop computer, and there was a lot of startup ideas, but that they can consume a whole day, but that was the right way to write the application in the same language as the underlying operating systemâmeaning C and C: Perl, Python, and even make major changes, as you would in a program you were writing for yourself.
Notes
Other investors might assume that P spam and legitimate mail volume both have distinct daily patterns. But it could be mistaken, and the founders of Hewlett Packard said it first, and one or two, because there are few who can say they're not ready to raise money, the police treat people more equitably. Copyright owners tend to be is represented by Milton.
What makes most suburbs so demoralizing is that so many companies that an eminent designer is any good at sniffing out any red flags about the topic. You may not be far from the other reason it used to be, and that injustice is what approaches like Brightmail's will degenerate into once spammers are pushed into using mad-lib techniques to generate series A in the past, it's not the original text would in 1950 have been a good grade you had a demonstration of the kleptocracies that formerly dominated all the red counties. Few non-sectarian schools.
I agree and in a cubicle except late at night, and cook on lowish heat for at least 3 or 4 YC alumni who I believe Lisp Machine Lisp was the fall of 2008 the terms they were going to call them whitelists because it is very common, to a VC who read a new search engine is low. The Socialist People's Democratic Republic of X is probably 99% cooperation. What drives the most useless investors are also the 11% most susceptible to charisma. Since I now believe that successful founders is the most surprising things I've learned about VC inattentiveness.
Actually no one knows how many computers the worm might have infected ten percent of them was Webvia; I was insaneâthey could then tell themselves that they probably don't notice even when I first met him, but I call it procrastination when someone works hard and doesn't get paid much. That's very cheap, 1/50th of a company changes people.
As Paul Buchheit points out, if we think your idea of happiness from many older societies. It doesn't end every semester like classes do.
But that turned out the words out of their hands thus tended to make up startup ideas is many times larger than the type of mail, I had no idea what's happening till they also influence one another indirectly through the window for years while they may then, depending on how much he liked his work.
Most were wrong, but those specific abuses. It did.
The Roman commander specifically ordered that he had more fun in college. At the time required to notice them. Vii. Some of the best case.
A web site is different from deciding to move from London to Silicon Valley. I see a lot about some of them, not bogus.
Your Brain, neurosurgeon Frank Vertosick recounts a conversation reaches a certain threshold. The knowledge whose utility drops sharply as soon as no one trusts that. The reason you don't go back and forth. In my current filter, dick has a similar logic, one variant of the good groups, just monopolies they create rather than given by other Lisp dialects: Here's an example of applied empathy.
1300, with identifying details changed. By Paleolithic standards, technology evolved at a Demo Day by encouraging people to claim retroactively I said yes. Give us 10 million and we'll tell you alarming things, like speculators, that good art fifteenth century European art. It seems more accurate predictor of high school you're led to believe is that you decide the price of an audience of investors caring either.
The golden age of economic inequality.
Some graffiti is quite impressive anything becomes art if you tell them to act. I did when I was writing this, but that we should be designed to live in a wide variety of situations. Thanks to Daniel Sobral for pointing this out.
Sam Altman wrote: One year at Startup School David Heinemeier Hansson encouraged programmers who would have undesirable side effects. Though Balzac made a Knight of the technically dynamic, massively capitalized and highly organized corporations on the cover. If near you doesn't mean you suck. If you're part of your universities is significantly better than the others to act through subordinates.
That's very cheap, 1/10 success rate for startups, the effort that would scale. 92. She ventured a toe in that water a while we can respond by simply removing whitespace, periods, commas, etc.
Well, almost.
What drives the most successful ones tend not to make Europe more entrepreneurial and more tentative. When I catch egregiously linkjacked posts I replace the actual amount of stock.
Among other things, a day job. Investors are often mistaken about that danger.
Your mileage may vary.
But a company has ever been. So far, I should add that none of your universities is significantly lower, about 28%. I was not in the technology everyone was going to kill bad comments to solve are random, the rest of the magazine they'd accepted it for you? If I paint someone's house, the mean annual wage in the usual way of doing that even this can give an inaccurate picture.
I'm not saying option pools themselves will go on to study, because for times over a certain way, I asked some founders who are good presenters, but this advantage isn't as obvious because it has no competitors.
Someone proofreading a manuscript could probably improve filter performance by incorporating prior probabilities. There are some whose definition of property.
It rarely arises, and VCs will offer you an asking price. To be safe either a don't use Oracle. The situation is analogous to the hour Google was founded, wouldn't offer to be good employees either.
There are people who currently make that their buying power meant lower prices for you, they have to talk to, but only because like an in-house VC fund. Heirs will be regarded in the evolution of the most, it's probably good grazing. Many of these titles vary too much.
Angels and super-angels will snap up stars that VCs play such games, but there are no discrimination laws about starting businesses.
I write out loud at least 3 or 4 YC alumni who I believe Lisp Machine Lisp was the season Dallas premiered. I'm not saying, incidentally, because they were beaten by iTunes and Hulu. Reporters sometimes call us VCs, I want to approach a specific firm, the number of big companies to build their sites. If a man has good corn or wood, or a complete bust.
What you're too busy to feel uncomfortable.
#automatically generated text#Markov chains#Paul Graham#Python#Patrick Mooney#software#alumni#demonstration#experience#cook#player#engine#paint#C#sup#cooperation#someone#company#time#whitelists#server#team#speculators#power#machine#neurosurgeon#type#idea
0 notes
Text
2018 Staff Favorites
Last year, the team here at CSS-Tricks compiled a list of our favorite posts, trends, topics, and resources from around the world of front-end development. We had a blast doing it and found it to be a nice recap of the industry as we saw it over the course of the year. Well, we're doing it again this year!
With that, here's everything that Sarah, Robin, Chris and I saw and enjoyed over the past year.
Sarah
Good code review
There are a few themes that cross languages, and one of them is good code review. Even though Nina Zakharenko gives talks and makes resources about Python, her talk about code review skills is especially notable because it applies across many disciplines. Sheâs got a great arc to this talk and I think her deck is an excellent resource, but you can take this a step even further and think critically about your own team, what works for it, and what practices might need to be reconsidered.
I also enjoyed this sarcastic tweet that brings up a good point:
When reviewing a PR, itâs essential that you leave a comment. Any comment. Even the PR looks great and you have no substantial feedback, find something trivial to nitpick or question. This communicates intelligence and mastery, and is widely appreciated by your colleagues.
â Andrew Clark (@acdlite) May 19, 2018
I've been guilty myself of commenting on a really clean pull request just to say something, and itâs healthy for us as a community to revisit why we do things like this.
Sophie Alpert, manager of the React core team, also wrote a great post along these lines right at the end of the year called Why Review Code. Itâs a good resource to turn to when you'd like to explain the need for code reviews in the development process.
The year of (creative) code
So many wonderful creative coding resources were made this year. Creative coding projects might seem frivolous but you can actually learn a ton from making and playing with them. Matt DesLauriers recently taught a course called Creative Coding with Canvas & WebGL for Frontend Masters that serves as a good example.
CodePen is always one of my favorite places to check out creative work because it provides a way to reverse-engineer the work of other people and learn from their source code. CodePen has also started coding challenges adding yet another way to motivate creative experiments and collective learning opportunities. Marie Mosley did a lot of work to make that happen and her work on CodePen's great newsletter is equally awesome.
You should also consider checking out Monica Dinculescu's work because she has been sharing some amazing work. There's not one, not two, but three (!) that use machine learning alone. Go see all of her Glitch projects. And, for what it's worth, Glitch is a great place to explore creative code and remix your own as well.
GitHub Actions
I think hands-down one of the most game-changing developments this year is GitHub Actions. The fact that you can manage all of your testing, deployments, and project issues as containers chained in a unified workflow is quite amazing.
Containers are a great for actions because of their flexibility â youâre not limited to a single kind of compute and so much is possible! I did a writeup about GitHub Actions covering the feature in full. And, if you're digging into containers, you might find the dive repo helpful because it provides a way to explore a docker image and layer contents.
Actions are still in beta but you can request access â theyâre slowly rolling out now.
UI property generators
I really like that weâre automating some of the code that we need to make beautiful front-end experiences these days. In terms of color thereâs color by Adobe, coolors, and uiGradients. There are even generators for other things, like gradients, clip-path, font pairings, and box-shadow. I am very much here for all for this. These are the kind of tools that speed up development and allow us to use advanced effects, no matter the skill level.
Robin
Ire Aderinokunâs blog
Ire has been writing a near constant stream of wondrous articles about front-end development on her blog, Bits of Code, over the past year, and itâs been super exciting to keep up with her work. It seems like she's posting something I find useful almost every day, from basic stuff like when hover, focus and active states apply to accessibility tips like the aria-live attribute.
"The All Powerful Front-end Developer"
Chris gave a talk this year about the ways the role of front-end development are changing... and for the better. It was perhaps the most inspiring talk I saw this year. Talks about front-end stuff are sometimes pretty dry, but Chris does something else here. He covers a host of new tools we can use today to do things that previously required a ton of back-end skills. Chris even made a website all about these new tools which are often categorized as "Serverless."
Even if none of these tools excite you, I would recommend checking out the talk â Chrisâs enthusiasm is electric and made me want to pull up my sleeves and get to work on something fun, weird and exciting.
youtube
Future Fonts
The Future Fonts marketplace turned out to be a great place to find new and experimental typefaces this year. Obviously is a good example of that. But the difference between Future Fonts and other marketplaces is that you can buy fonts that are in beta and still currently under development. If you get in on the ground floor and buy a font for $10, then that shows the developer the interest in a particular font which may spur more features for it, like new weights, widths or even OpenType features.
Itâs a great way to support type designers while getting a ton of neat and experimental typefaces at the same time.
React Conf 2018
The talks from React Conf 2018 will get you up to speed with the latest React news. Itâs interesting to see how React Hooks let you "use state and other React features without writing a class."
youtube
It's also worth calling out that a lot of folks really improved our Guide to React here on CSS-Tricks so that it now contains a ton of advice about how to get started and how to level up on both basic and advanced practices.
The Victorian Internet
This is a weird recommendation because The Victorian Internet is a book and it wasnât published this year. But! Itâs certainly the best book I've read this year, even if itâs only tangentially related to web stuff. It made me realize that the internet weâre building today is one thatâs much older than I first expected. The book focuses on the laying of the Transatlantic submarine cables, the design of codes and the codebreakers, fraudsters that used the telegraph to find their marks, and those that used it to find the person theyâd marry. I really canât recommend this book enough.
amzn_assoc_tracking_id = "csstricks-20"; amzn_assoc_ad_mode = "manual"; amzn_assoc_ad_type = "smart"; amzn_assoc_marketplace = "amazon"; amzn_assoc_region = "US"; amzn_assoc_design = "enhanced_links"; amzn_assoc_asins = "B07JW5WQSR"; amzn_assoc_placement = "adunit"; amzn_assoc_linkid = "162040592X";
Figma
The browser-based design tool Figma continued to release a wave of new features that makes building design systems and UI kits easier than ever before. Iâve been doing a ton of experiments with it to see how it helps designers communicate, as well as how to build more resilient components. Itâs super impressive to see how much the tools have improved over the past year and Iâm excited to see it improve in the new year, too.
Geoff
Buzz about third party scripts
It seems there was a lot of chatter this year about the impact of third party scripts. Whether itâs the growing ubiquity of all-things-JavaScript or whatever, this topic covers a wide and interesting ground, including performance, security and even hard costs, to name a few.
My personal favorite post about this was Paulo Mioniâs deep dive into the anatomy of a malicious script. Sure, the technical bits are a great learning opportunity, but what really makes this piece is the way it reads like a true crime novel.
Gutenberg, Gutenberg and more Gutenberg
There was so much noise leading up to the new WordPress editor that the release of WordPress 5.0 containing it felt anti-climactic. No one was hurt or injured amid plenty of concerns, though there is indeed room for improvement.
Lara Schneck and Andy Bell teamed up for a hefty seven-party series aimed at getting developers like us primed for the changes and itâs incredible. No stone is left unturned and it perfectly suitable for beginners and experts alike.
Solving real life issues with UX
I like to think that I care a lot about users in the work I do and that I do my best to empathize so that I can anticipate needs or feelings as they interact with the site or app. That said, my mind was blown away by a study Lucas Chae did on the search engine experience of people looking for a way to kill themselves. I mean, depression and suicide are topics that are near and dear to my heart, but I never thought about finding a practical solution for handling it in an online experience.
So, thanks for that, Lucas. It inspired me to piggyback on his recommendations with a few of my own. Hopefully, this is a conversation that goes well beyond 2018 and sparks meaningful change in this department.
The growing gig economy
Freelancing is one of my favorite things to talk about at great length with anyone and everyone who is willing to talk shop and thatâs largely because Iâve learned a lot about it in the five years Iâve been in it.
But if you take my experience and quadruple it, then you get a treasure trove of wisdom like Adam Coti shared in his collection of freelancing lessons learned over 20 years of service.
Freelancing isnât for everyone. Neither is remote work. Adamâs advice is what I wish I had going into this five years ago.
Browser ecology
I absolutely love the way Rachel Nabors likens web browsers to a biological ecosystem. Itâs a stellar analogy and leads into the long and winding history of browser evolution.
Speaking of history, Jason Hoffmanâs telling of the history about browsers and web standards is equally interesting and a good chunk of context to carry in your back pocket.
These posts were timely because this year saw a lot of movement in the browser landscape. Microsoft is dropping EdgeHTML for Blink and Google ramped up its AMP product. 2018 felt like a dizzying year of significant changes for industry giants!
Chris
All the best buzzwords: JAMstack, Serverless, & Headless
"Donât tell me how to build a front end!" we, front-end developers, cry out. We are very powerful now. We like to bring our own front-end stack, then use your back-end data and APIs. As this is happening, weâre seeing healthy things happen like content management systems evolving to headless frameworks and focus on what they are best at: content management. Weâre seeing performance and security improvements through the power of static and CDN-backed hosting. Weâre seeing hosting and server usage cost reductions.
But weâre also seeing unhealthy things we need to work through, like front-end developers being spread too thin. We have JavaScript-focused engineers failing to write clean, extensible, performant, accessible markup and styles, and, on the flip side, we have UX-focused engineers feeling left out, left behind, or asked to do development work suddenly quite far away from their current expertise.
GraphQL
Speaking of powerful front-end developers, giving us front-end developers a well-oiled GraphQL setup is extremely empowering. No longer do we need to be roadblocked by waiting for an API to be finished or data to be massaged into some needed format. All the data you want is available at your fingertips, so go get and use it as you will. This makes building and iterating on the front end faster, easier, and more fun, which will lead us to building better products. Apollo GraphQL is the thing to look at here.
While front-end is having a massive love affair with JavaScript, there are plenty of front-end developers happily focused elsewhere
This is what I was getting at in my first section. There is a divide happening. Itâs always been there, but with JavaScript being absolutely enormous right now and showing no signs of slowing down, people are starting to fall through the schism. Can I still be a front-end developer if Iâm not deep into JavaScript? Of course. Iâm not going to tell you that you shouldnât learn JavaScript, because itâs pretty cool and powerful and you just might love it, but if youâre focused on UX, UI, animation, accessibility, semantics, layout, architecture, design patterns, illustration, copywriting, and any combination of that and whatever else, youâre still awesome and useful and always will be. Hugs. đ€
Just look at the book Refactoring UI or the course Learn UI Design as proof there is lots to know about UI design and being great at it requires a lot of training, practice, and skill just like any other aspect of front-end development.
Shamelessly using grid and custom properties everywhere
I remember when I first learned flexbox, it was all I reached for to make layouts. I still love flexbox, but now that we have grid and the browser support is nearly just as good, I find myself reaching for grid even more. Not that itâs a competition; they are different tools useful in different situations. But admittedly, there were things I would have used flexbox for a year ago that I use grid for now and grid feels more intuitive and more like the right tool.
I'm still swooning over the amazing illustrations Lynn Fisher did for both our grid and flexbox guides.
Massive discussions around CSS-in-JS and approaches, like Tailwind
These discussions can get quite heated, but there is no ignoring the fact that the landscape of CSS-in-JS is huge, has a lot of fans, and seems to be hitting the right notes for a lot of folks. But itâs far from settled down. Libraries like Vue and Angular have their own framework-prescribed way of handling it, whereas React has literally dozens of options and a fast-moving landscape with libraries popping up and popular ones spinning down in favor of others. It does seem like the feature set is starting to settle down a little, so this next year will be interesting to watch.
Then there is the concept of atomic CSS on the other side of the spectrum, and interesting in that doesnât seem to have slowed down at all either. Tailwind CSS is perhaps the hottest framework out there, gaining enough traction that Adam is going full time on it.
What could really shake this up is if the web platform itself decides to get into solving some of the problems that gave rise to these solutions. The shadow DOM already exists in Web Components Land, so perhaps there are answers there? Maybe the return of <style scoped>? Maybe new best practices will evolve that employ a single-stylesheet-per-component? Who knows.
Design systems becoming a core deliverable
There are whole conferences around them now!
youtube
Iâve heard of multiple agencies where design systems are literally what they make for their clients. Not websites, design systems. I get it. If you give a team a really powerful and flexible toolbox to build their own site with, they will do just that. Giving them some finished pages, as polished as they might be, leaves them needing to dissect those themselves and figure out how to extend and build upon them when that need inevitably arrives. I think it makes sense for agencies, or special teams, to focus on extensible component-driven libraries that are used to build sites.
Machine Learning
Stuff like this blows me away:
I made a music sequencer! In JavaScript! It even uses Machine Learning to try to match drums to a synth melody you create!
âšđ§ https://t.co/FGlCxF3W9p pic.twitter.com/TTdPk8PAwP
â Monica Dinculescu (@notwaldorf) June 28, 2018
Having open source libraries that help with machine learning and that are actually accessible for regular olâ developers to use is a big deal.
Stuff like this will have real world-bettering implications:
đ„ I think I used machine learning to be nice to people! In this proof of concept, Iâm creating dynamic alt text for screenreaders with Azureâs Computer Vision API. đ«https://t.co/Y21AHbRT4Y pic.twitter.com/KDfPZ4Sue0
â Sarah Drasner (@sarah_edo) November 13, 2017
And this!
Well that's impressive and dang useful. https://t.co/99tspvk4lo Cool URL too.
(Remove Image Background 100% automatically â in 5 seconds â without a single click) pic.twitter.com/k9JTHK91ff
â CSS-Tricks (@css) December 17, 2018
OK, OK. One more
You gotta check out the Unicode Pattern work (more) that Yuan Chuan does. He even shared some of his work and how he does it right here on CSS-Tricks. And follow that name link to CodePen for even more. This <css-doodle> thing they have created is fantastic.
See the Pen Seeding by yuanchuan (@yuanchuan) on CodePen.
The post 2018 Staff Favorites appeared first on CSS-Tricks.
2018 Staff Favorites published first on https://deskbysnafu.tumblr.com/
0 notes
Text
2018 Staff Favorites
Last year, the team here at CSS-Tricks compiled a list of our favorite posts, trends, topics, and resources from around the world of front-end development. We had a blast doing it and found it to be a nice recap of the industry as we saw it over the course of the year. Well, we're doing it again this year!
With that, here's everything that Sarah, Robin, Chris and I saw and enjoyed over the past year.
Sarah
Good code review
There are a few themes that cross languages, and one of them is good code review. Even though Nina Zakharenko gives talks and makes resources about Python, her talk about code review skills is especially notable because it applies across many disciplines. Sheâs got a great arc to this talk and I think her deck is an excellent resource, but you can take this a step even further and think critically about your own team, what works for it, and what practices might need to be reconsidered.
I also enjoyed this sarcastic tweet that brings up a good point:
When reviewing a PR, itâs essential that you leave a comment. Any comment. Even the PR looks great and you have no substantial feedback, find something trivial to nitpick or question. This communicates intelligence and mastery, and is widely appreciated by your colleagues.
â Andrew Clark (@acdlite) May 19, 2018
I've been guilty myself of commenting on a really clean pull request just to say something, and itâs healthy for us as a community to revisit why we do things like this.
Sophie Alpert, manager of the React core team, also wrote a great post along these lines right at the end of the year called Why Review Code. Itâs a good resource to turn to when you'd like to explain the need for code reviews in the development process.
The year of (creative) code
So many wonderful creative coding resources were made this year. Creative coding projects might seem frivolous but you can actually learn a ton from making and playing with them. Matt DesLauriers recently taught a course called Creative Coding with Canvas & WebGL for Frontend Masters that serves as a good example.
CodePen is always one of my favorite places to check out creative work because it provides a way to reverse-engineer the work of other people and learn from their source code. CodePen has also started coding challenges adding yet another way to motivate creative experiments and collective learning opportunities. Marie Mosley did a lot of work to make that happen and her work on CodePen's great newsletter is equally awesome.
You should also consider checking out Monica Dinculescu's work because she has been sharing some amazing work. There's not one, not two, but three (!) that use machine learning alone. Go see all of her Glitch projects. And, for what it's worth, Glitch is a great place to explore creative code and remix your own as well.
GitHub Actions
I think hands-down one of the most game-changing developments this year is GitHub Actions. The fact that you can manage all of your testing, deployments, and project issues as containers chained in a unified workflow is quite amazing.
Containers are a great for actions because of their flexibility â youâre not limited to a single kind of compute and so much is possible! I did a writeup about GitHub Actions covering the feature in full. And, if you're digging into containers, you might find the dive repo helpful because it provides a way to explore a docker image and layer contents.
Actions are still in beta but you can request access â theyâre slowly rolling out now.
UI property generators
I really like that weâre automating some of the code that we need to make beautiful front-end experiences these days. In terms of color thereâs color by Adobe, coolors, and uiGradients. There are even generators for other things, like gradients, clip-path, font pairings, and box-shadow. I am very much all for this. These are the kind of tools that speed up development and allow us to use advanced effects, no matter the skill level.
Robin
Ire Aderinokunâs blog
Ire has been writing a near constant stream of wondrous articles about front-end development on her blog, Bits of Code, over the past year, and itâs been super exciting to keep up with her work. It seems like she's posting something I find useful almost every day, from basic stuff like when hover, focus and active states apply to accessibility tips like the aria-live attribute.
"The All Powerful Front-end Developer"
Chris gave a talk this year about the ways the role of front-end development are changing... and for the better. It was perhaps the most inspiring talk I saw this year. Talks about front-end stuff are sometimes pretty dry, but Chris does something else here. He covers a host of new tools we can use today to do things that previously required a ton of back-end skills. Chris even made a website all about these new tools which are often categorized as "Serverless."
Even if none of these tools excite you, I would recommend checking out the talk â Chrisâs enthusiasm is electric and made me want to pull up my sleeves and get to work on something fun, weird and exciting.
youtube
Future Fonts
The Future Fonts marketplace turned out to be a great place to find new and experimental typefaces this year. Obviously is a good example of that. But the difference between Future Fonts and other marketplaces is that you can buy fonts that are in beta and still currently under development. If you get in on the ground floor and buy a font for $10, then that shows the developer the interest in a particular font which may spur more features for it, like new weights, widths or even OpenType features.
Itâs a great way to support type designers while getting a ton of neat and experimental typefaces at the same time.
React Conf 2018
The talks from React Conf 2018 will get you up to speed with the latest React news. Itâs interesting to see how React Hooks let you "use state and other React features without writing a class."
youtube
It's also worth calling out that a lot of folks really improved our Guide to React here on CSS-Tricks so that it now contains a ton of advice about how to get started and how to level up on both basic and advanced practices.
The Victorian Internet
This is a weird recommendation because The Victorian Internet is a book and it wasnât published this year. But! Itâs certainly the best book I've read this year, even if itâs only tangentially related to web stuff. It made me realize that the internet weâre building today is one thatâs much older than I first expected. The book focuses on the laying of the Transatlantic submarine cables, the design of codes and the codebreakers, fraudsters that used the telegraph to find their marks, and those that used it to find the person theyâd marry. I really canât recommend this book enough.
amzn_assoc_tracking_id = "csstricks-20"; amzn_assoc_ad_mode = "manual"; amzn_assoc_ad_type = "smart"; amzn_assoc_marketplace = "amazon"; amzn_assoc_region = "US"; amzn_assoc_design = "enhanced_links"; amzn_assoc_asins = "B07JW5WQSR"; amzn_assoc_placement = "adunit"; amzn_assoc_linkid = "162040592X";
Figma
The browser-based design tool Figma continued to release a wave of new features that makes building design systems and UI kits easier than ever before. Iâve been doing a ton of experiments with it to see how it helps designers communicate, as well as how to build more resilient components. Itâs super impressive to see how much the tools have improved over the past year and Iâm excited to see it improve in the new year, too.
Geoff
Buzz about third party scripts
It seems there was a lot of chatter this year about the impact of third party scripts. Whether itâs the growing ubiquity of all-things-JavaScript or whatever, this topic covers a wide and interesting ground, including performance, security and even hard costs, to name a few.
My personal favorite post about this was Paulo Mioniâs deep dive into the anatomy of a malicious script. Sure, the technical bits are a great learning opportunity, but what really makes this piece is the way it reads like a true crime novel.
Gutenberg, Gutenberg and more Gutenberg
There was so much noise leading up to the new WordPress editor that the release of WordPress 5.0 containing it felt anti-climactic. No one was hurt or injured amid plenty of concerns, though there is indeed room for improvement.
Lara Schneck and Andy Bell teamed up for a hefty seven-party series aimed at getting developers like us primed for the changes and itâs incredible. No stone is left unturned and it perfectly suitable for beginners and experts alike.
Solving real life issues with UX
I like to think that I care a lot about users in the work I do and that I do my best to empathize so that I can anticipate needs or feelings as they interact with the site or app. That said, my mind was blown away by a study Lucas Chae did on the search engine experience of people looking for a way to kill themselves. I mean, depression and suicide are topics that are near and dear to my heart, but I never thought about finding a practical solution for handling it in an online experience.
So, thanks for that, Lucas. It inspired me to piggyback on his recommendations with a few of my own. Hopefully, this is a conversation that goes well beyond 2018 and sparks meaningful change in this department.
The growing gig economy
Freelancing is one of my favorite things to talk about at great length with anyone and everyone who is willing to talk shop and thatâs largely because Iâve learned a lot about it in the five years Iâve been in it.
But if you take my experience and quadruple it, then you get a treasure trove of wisdom like Adam Coti shared in his collection of freelancing lessons learned over 20 years of service.
Freelancing isnât for everyone. Neither is remote work. Adamâs advice is what I wish I had going into this five years ago.
Browser ecology
I absolutely love the way Rachel Nabors likens web browsers to a biological ecosystem. Itâs a stellar analogy and leads into the long and winding history of browser evolution.
Speaking of history, Jason Hoffmanâs telling of the history about browsers and web standards is equally interesting and a good chunk of context to carry in your back pocket.
These posts were timely because this year saw a lot of movement in the browser landscape. Microsoft is dropping EdgeHTML for Blink and Google ramped up its AMP product. 2018 felt like a dizzying year of significant changes for industry giants!
Chris
All the best buzzwords: JAMstack, Serverless, & Headless
"Donât tell me how to build a front end!" we, front-end developers, cry out. We are very powerful now. We like to bring our own front-end stack, then use your back-end data and APIs. As this is happening, weâre seeing healthy things happen like content management systems evolving to headless frameworks and focus on what they are best at: content management. Weâre seeing performance and security improvements through the power of static and CDN-backed hosting. Weâre seeing hosting and server usage cost reductions.
But weâre also seeing unhealthy things we need to work through, like front-end developers being spread too thin. We have JavaScript-focused engineers failing to write clean, extensible, performant, accessible markup and styles, and, on the flip side, we have UX-focused engineers feeling left out, left behind, or asked to do development work suddenly quite far away from their current expertise.
GraphQL
Speaking of powerful front-end developers, giving us front-end developers a well-oiled GraphQL setup is extremely empowering. No longer do we need to be roadblocked by waiting for an API to be finished or data to be massaged into some needed format. All the data you want is available at your fingertips, so go get and use it as you will. This makes building and iterating on the front end faster, easier, and more fun, which will lead us to building better products. Apollo GraphQL is the thing to look at here.
While front-end is having a massive love affair with JavaScript, there are plenty of front-end developers happily focused elsewhere
This is what I was getting at in my first section. There is a divide happening. Itâs always been there, but with JavaScript being absolutely enormous right now and showing no signs of slowing down, people are starting to fall through the schism. Can I still be a front-end developer if Iâm not deep into JavaScript? Of course. Iâm not going to tell you that you shouldnât learn JavaScript, because itâs pretty cool and powerful and you just might love it, but if youâre focused on UX, UI, animation, accessibility, semantics, layout, architecture, design patterns, illustration, copywriting, and any combination of that and whatever else, youâre still awesome and useful and always will be. Hugs. đ€
Just look at the book Refactoring UI or the course Learn UI Design as proof there is lots to know about UI design and being great at it requires a lot of training, practice, and skill just like any other aspect of front-end development.
Shamelessly using grid and custom properties everywhere
I remember when I first learned flexbox, it was all I reached for to make layouts. I still love flexbox, but now that we have grid and the browser support is nearly just as good, I find myself reaching for grid even more. Not that itâs a competition; they are different tools useful in different situations. But admittedly, there were things I would have used flexbox for a year ago that I use grid for now and grid feels more intuitive and more like the right tool.
I'm still swooning over the amazing illustrations Lynn Fisher did for both our grid and flexbox guides.
Massive discussions around CSS-in-JS and approaches, like Tailwind
These discussions can get quite heated, but there is no ignoring the fact that the landscape of CSS-in-JS is huge, has a lot of fans, and seems to be hitting the right notes for a lot of folks. But itâs far from settled down. Libraries like Vue and Angular have their own framework-prescribed way of handling it, whereas React has literally dozens of options and a fast-moving landscape with libraries popping up and popular ones spinning down in favor of others. It does seem like the feature set is starting to settle down a little, so this next year will be interesting to watch.
Then there is the concept of atomic CSS on the other side of the spectrum, and interesting in that doesnât seem to have slowed down at all either. Tailwind CSS is perhaps the hottest framework out there, gaining enough traction that Adam is going full time on it.
What could really shake this up is if the web platform itself decides to get into solving some of the problems that gave rise to these solutions. The shadow DOM already exists in Web Components Land, so perhaps there are answers there? Maybe the return of <style scoped>? Maybe new best practices will evolve that employ a single-stylesheet-per-component? Who knows.
Design systems becoming a core deliverable
There are whole conferences around them now!
youtube
Iâve heard of multiple agencies where design systems are literally what they make for their clients. Not websites, design systems. I get it. If you give a team a really powerful and flexible toolbox to build their own site with, they will do just that. Giving them some finished pages, as polished as they might be, leaves them needing to dissect those themselves and figure out how to extend and build upon them when that need inevitably arrives. I think it makes sense for agencies, or special teams, to focus on extensible component-driven libraries that are used to build sites.
Machine Learning
Stuff like this blows me away:
I made a music sequencer! In JavaScript! It even uses Machine Learning to try to match drums to a synth melody you create!
âšđ§ https://t.co/FGlCxF3W9p pic.twitter.com/TTdPk8PAwP
â Monica Dinculescu (@notwaldorf) June 28, 2018
Having open source libraries that help with machine learning and that are actually accessible for regular olâ developers to use is a big deal.
Stuff like this will have real world-bettering implications:
đ„ I think I used machine learning to be nice to people! In this proof of concept, Iâm creating dynamic alt text for screenreaders with Azureâs Computer Vision API. đ«https://t.co/Y21AHbRT4Y pic.twitter.com/KDfPZ4Sue0
â Sarah Drasner (@sarah_edo) November 13, 2017
And this!
Well that's impressive and dang useful. https://t.co/99tspvk4lo Cool URL too.
(Remove Image Background 100% automatically â in 5 seconds â without a single click) pic.twitter.com/k9JTHK91ff
â CSS-Tricks (@css) December 17, 2018
OK, OK. One more
You gotta check out the Unicode Pattern work (more) that Yuan Chuan does. He even shared some of his work and how he does it right here on CSS-Tricks. And follow that name link to CodePen for even more. This <css-doodle> thing they have created is fantastic.
See the Pen Seeding by yuanchuan (@yuanchuan) on CodePen.
The post 2018 Staff Favorites appeared first on CSS-Tricks.
đSiliconWebX | đCSS-Tricks
0 notes
Text
[Udemy] Android Game Development Using Python: Build 12 Apps & Games
Build 12 Cool Projects -- 2048 game, Flappy Bird, Credit Card Validation, Scientific Calculator etc. with Python!! What Will I Learn?  Will learn about android game development with Kivy & Python Will learn about all of features in Python 3.6 Will learn about advanced programming with Python Will learn to make great games and any apps with Python Will cover advance stuffs pf Programming --iterators, generators, decorators & closure Will learn about Pygame module Will learn about GUI with Python Will learn about Object Oriented Programming Principles Will learn to make real world projects with python Will learn to make simple AI with Python that can be implemented in any games Will learn about lambda functions and some higher order functions Will learn about implementation of decorators with Python Will learn about basics game fundamentals Will learn about Lifecycle of android app development with python Requirements Computer with any OS and Internet connection No Programming Experience Required Description Welcome to Python Programming world: most popular language skill to have in 2018. You are going to learn every bit of python language in this course so that you can apply your knowledge in real world apps. You will learn: 1. Android game and app development with Kivy+Python 2. Python basics and advance 3. Important pygame module Questions that most beginners ask me : Is Python A Good First Programming Language To Learn? Even though it has not yet been adopted as a first language by many computer science programs, Python is widely seen by industry experts as a great first programming language when learning to code and its extensive use in SpaceX to automate and handle technologies to launch rockets, Instagram, Google to support their backends and Many companies to support and execute ML and Deep Learning Algorithms; Its undoubtedly No.1 Programming Language to learn. For starters, the syntax of Python is simpler than that of most other major programming languages, with fewer exceptions and special cases. It also tends to use plain English keywords in place of the system of punctuation that has to be memorized in other languages, making it easier to learn to code. Given these conventions, Python code tends to appear as less of a "jumble" to newcomers than it does in comparable languages. Another great feature of Python is the ubiquity of its use. While Python is optimized for development on Linux and Unix systems, interpreters are available for just about every major operating system. All implementations of Python are supported by an excellent standard library, which means that new students can very quickly move on to creating actual functional programs that are useful. Additionally, the standard implementation of Python, CPython, is free and open source. What Type Of Jobs Are Available To Python Programmers? In the job market, if you observe the trends; Python is often looked as a strong language to support some primary language that is more broadly used like C or Java. But Lately, with the evolution of ML and Deep Learning Algorithms; it is highly demanded skill to have in 2018 and later. There are a variety of jobs that one can get focusing exclusively on Python development, however. Many of these jobs will be in building and improving the internal tools that a company uses to create its finished marketable products, rather than working on the finished product itself. One specific economic sector where the presence of Python programming is particularly strong is the geospatial industry. This is a critical industry that deals in navigational tools such as GPS, radar and light measurements. If you're interested in web applications, Python is a better choice for development (working with the back-end or server side) rather than design (creating the actual finished front-end that site visitors interact with). As mentioned previously, Google employed Python for many components of its search engine, and it is quite widely used in the data mining industry. Finally, Python can also be used for game development. Some famous examples of games developed either entirely or in large part with Python include EVE Online, Civilization IV, the Battlefield game series and the Mount & Blade games. The popular development environment Blender is written in Python.  TOPICS TO BE COVERED IN THIS COURSE: Installing Python Running Python Code Strings Lists Dictionaries Tuples Sets Number Data Types Print Formatting Functions Scope args/kwargs Built-in Functions Debugging and Error Handling Modules External Modules Object Oriented Programming Inheritance Polymorphism Encapsulation Advanced Methods Copy Module Decorators Iterators Android development with Kivy Closures and much more! PROJECTS  Minor Projects (Basic to advance): Password generator Domain Formatting Star Pattern Stop timer Tic Tac Toe Simple word count Scientific calculator Rock Paper Scissors Credit card Validator Punctuation removal Major Projects: Flappy Bird 2048 game  Who is the target audience? Anyone who wants to learn coding through game development Anyone who wants to learn coding for their academics Anyone who wants to learn Python to excel their carrer in Machine Learning and Data Science source https://ttorial.com/android-game-development-using-python-build-12-apps-games
0 notes
Text
Writing a PhD thesis
A grandiose title page.
I finished writing my PhD thesis a few weeks ago. It sort of fizzled out at the end - lots of little, irritating tasks to do even after all the writing it done. Before I started writing, and as I was writing, I often looked for blog posts and other material on how to write a thesis, and so, whilst itâs still fresh in my mind, and in the hope that someone else may benefit or at least be entertained, here are my thoughts:
There seem to be two types of issues when writing a thesis, technical and actually writing it. The technical stuff is a bit drier, so Iâll leave the details of how I edited the text until the end. Spoiler alert - it involves a lot of latex and pythons.
Writing
Drawing images is fun and took up a lot of time.
I started writing in August, and came up with an outline of my thesis in the forms of section headings in chapters. Sergey (my advisor) and I discussed this layout and made some minor changes, but the biggest changes came during the writing process. Often, they were frustrating and set me back by weeks, as Sergey found a different, better way to present the arguments and data. I resented some of this âextraâ work at the time, but it definitely made the thesis better overall.
Sergeyâs particular trick, which I learned and then began to apply in advance, is to go from a narrative format (I did this experiment, then this experiment, then this experiment) to a textbook format (we know these things, and these things, and these things). This usually means taking data and presenting it in figures in contrast to other data. The text then discusses the similarities and differences. If this seems obvious and straightforwards, then youâre well on the path to being a good scientist! To me it was difficult, because it was only after writing the narrative version that I began to spot the similarities and difference between different data sets.
I didnât write the chapters in order. On Sergeyâs advice, I started with a description of the diagnostics I used, before going on to write about the results, then a discussion of the results, followed by the conclusion. I went then back to write the preliminary work, only including what I needed to buttress the rest of the thesis, before finishing off by writing the introduction and theory section.
I would usually try and make all of the figures I needed as I went along, in contrast to others who have told me they made all the figures they wanted on Monday and then spent the rest of the week writing about them. My problem is that as I wrote I would usually change the figures, and then have to go back and revise the old ones, and so writing about the figures as I went along allowed me to spot these necessary changes and implement them quickly.
I never wrote at home. An office environment is an excellent place to focus, and aside from one attempt to write half a chapter on the Oxford Tube as it careened around some side roads, avoiding an accident on the M40, I rarely wrote outside of an office. Without a mouse and a large screen itâs difficult to do the drawings I need in Illustrator, and without the drawings I have nothing to write about.
For the first four months I had trouble focusing, with interruptions to help in the lab, preparing for conferences and spending too much time reading the news. It took four months therefore to write three chapters out of seven. I returned from my Christmas break and surveyed the path ahead of me. My funding runs out on March 1st, and I have four chapters to write in two months. Shit.

Look at that death stare - Sibelius probably wrote a thesis at some point. By fi:Daniel Nyblin (1856â1923) - What We Hear in Music, Anne S. Faulkner, Victor Talking Machine Co., 1913., Public Domain
So I got serious. To drown out the noise I made long playlists of symphonic music (mostly Sibelius and Bruckner) which I would listen to without pause. At lunch Iâd eat at my desk, watching cartoons online. I worked a strict 8:15 am to 5 pm for six weeks, bouldering three nights a week and slightly alarming my office mates and colleagues. In six days I had first drafts of three chapters, and set my sights on the final one. Sergey was slightly overwhelmed by the amount of work I was asking him to look through, and initially just skimmed through to look at the figures, which as you are gathering, are a major part of my work.
I began to relax and enjoy writing again, but I decided to keep the pressure on and finish as soon as possible so that I didnât have to think about it any more. I was almost entirely done by 24th Jan, eighteen days after I got back to work. All that was left was a few days of ensuring copyright notices were appended, checking spelling in the bibliography and writing the acknowledgements.
Writing a thesis was a lot harder than I had anticipated. Initially, I thought that it would be fun or at least tolerable, and the fact that everyone else I had spoken to thought otherwise just indicated they didnât have the right attitude. This was spectacularly naive, as I began to fully appreciate within the first month, where I would find myself drinking more and more low quality espresso in a desperate attempt to convert caffeine into words. I canât really think of a way to make the experience more pleasant - certainly several people Iâve spoken to have had the same pattern of taking ages on the first few chapters and finishing up the last few very quickly, so perhaps thatâs a consolation to bear in mind.
Technical Stuff
I wrote my thesis in Latex, one file per chapter, using includes. This means quicker compile times as you only need to compile each chapter at any time. I used Daniel Wagnerâs template to ensure my margins etc. were compliant, and I chose Palatino as a font so that my math text matched nicely. I used one sentence per line to make error finding easier, and this made it straightforwards to use git to manage my thesis (private repo on github). Having version control like git was really useful, especially when reworking large parts of the text.
Figures were done using Illustrator, with one file per chapter and using artboards the width of my text. Latex can include specific pages of a PDF as figures, so I produced one PDF per chapter. Figures with data were done solely in python with matplotlib, and I had several long jupyter notebooks with all the necessary code. These figures were usually saved as PDFs unless PNG gave a drastically smaller filesize. Matplotlib was set to output figures the width of the text, which meant that I could specific eg. size 10 font and know it would exactly match that in the text.
Landscape triptych - to get the best viewing side, this fills an entire A4 page.
I spent a while writing a neat script to handle figures that fill entire landscape page. The latex file can either produce a print version, in which the figure is rotated onto a portrait page, or a digital version in which the page is rotated (a lot easier for reading on a screen!).
I took a while playing with Biblatex to get [Surname, YEAR] as the citation key, which was DEFINITELY WORTH IT. I also defined plenty of macros for things like x=X mm or JxB which kept cropping up. If Iâd done this earlier on I wouldâve saved a lot of time.
I definitely learned a lot whilst writing this thesis about Latex, Illustrator, Python and Matplotlib. Looking back there are quite a few things Iâd do differently, but making those mistakes was part of the process and probably character building or some tosh like that.
Iâm not submitting my thesis for another few weeks as Iâd stop being a student and lose my lab insurance before starting my post doc in March, so for now I just help out in the lab and pretend that Iâm a post doc already.
0 notes
Text
90% off #Docker Compose in Depth â $10
Learn Docker containerization in depth using Dockerâs Compose Tool
All Levels,  â 2 hours,  52 lecturesÂ
Average rating 4.2/5 (4.2 (54 ratings) Instead of using a simple lifetime average, Udemy calculates a courseâs star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.)
Course requirements:
Students should have a cursory understanding of Docker, including how to create images and run containers Students should have access to a development machine with Docker installed This course is not appropriate for students with no prior experience with Docker
Course description:
Docker has taken the development world by storm in recent years, being the first effective tool that wraps up a piece of software in a complete file system package, installs it on a server, and runs it repeatedly. However, until recently it was difficult to do this with micro-architectures composed of numerous containers that all need to work in conjunction with one another. Enter Docker Compose, the handiest tool to hit the tech world since Docker. Hereâs everything you need to knowâŠ
Learn Docker Compose Inside Out
Define multi-container application environments Create flexible, customisable environments and networks Transform an existing application into a fully Docker-ised environment Enhance your Docker experience
Make Your Docker Experience Even More Stress-Free
This Docker Compose online course will make you a DC expert, learning the tool from top to bottom. It has been specifically designed for those that already know Docker, so youâll skip the baby steps and dive straight in. First youâll cover the basic features using a sample environment, gaining an understanding of restarts, dependencies, and persisting the database with a volume.
After that youâll progress to networks. Youâll take an in-depth look at isolating containers, aliases and container names, links, using external networks, and how updates affect networking. Then itâs on to the really good stuff; a section each is dedicated to volumes, logging, the Compose CLI, and âComposing Composeâ (donât worry, it wonât be as complicated as it sounds by the time you get there). Finally youâll learn about Compose in Production.
The course is organised into logical sections so you can progress at your pace and in your own time. By the end, youâll apply what youâve learned to create a large environment for a sample legacy system, using all of the features covered in previous sections. Youâll then have the skills and confidence needed to go forth and create your own flexible application environments with Docker Compose.
About Docker Compose
Docker Compose is a useful tool from the people at Docker. It makes defining and running application environments made up of multiple Docker containers even easier and more efficient. Up until now, starting any more than one or two Docker containers was extremely complicated. With Docker Compose, the entire process just got infinitely better.Â
Full details Define multi-container application environments using Docker Compose Create flexible environments that intelligently build Dockerfiles and/or pull a Docker images from a remote repository Customize environments via environment variables Partition environments into logical pieces, running them in isolation or in aggregate Utilize volumes to persist data and share it between containers Control the startup order of containers Create customized, isolated networks for part or all of an environment
Full details This course is aimed at developers looking to understand and implement application environments using Docker The ideal student is looking to transform an existing âad hocâ application into a fully Dockerized environment. Students may also be interested in this course if their goal is simply to understand Docker Compose from top to bottom Students with no intention of Dockerizing a multi-container application or seeking only to understand Docker itself may not get much out of this course
Full details
Reviews:
âEverything is clear explained. Prety much to go ahead yourself. Whatâs rally missing â is clustering exaples for master-slave service configurations, which i was expecting at the end of this cource, but it is absolutely not a stopping point! Lots of useful real life examples made me able to deep dive faster. Thanks a lot!â (Andrey Maksimov)
âVery nice information! I wish there would be a walk-through of more real world multi-container examples like that of âwordpress + mysqlâ⊠i.e. âsimple express server + mongodbâ or âsimple express server + mailhogâ or âsimple express server + redisâ. So far though, I have learned quite a bit and I recommend the course even if you think you know the ins and out of compose already.â (Prasath Soosaithasan)
âTutorâs voice sounds a little loose. And concepts are not so clearly stated.â (Leonardo Otero)
 About Instructor:
Stone River eLearning
At Stone River eLearning, technology is all we teach. If youâre interested in programming, development or design â we have it covered. Check out our huge catalog of courses and join the over 370,000 students currently taking Stone River eLearning courses. We currently offer 100+ different technology training courses on our Stone River eLearning website and are adding new courses on hot and trending topics every month. A subscription option is available for those with a real passion for learning.
Instructor Other Courses:
Python BeautifulSoup Stone River eLearning, 200,000+ Happy Udemy Students (0) $10 $50 Learn iPython: The Full Python IDE Python NumPy: Scientific computing with Python âŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠ Stone River eLearning coupons Development course coupon Udemy Development course coupon Programming Languages course coupon Udemy Programming Languages course coupon Docker Compose in Depth Docker Compose in Depth course coupon Docker Compose in Depth coupon coupons
The post 90% off #Docker Compose in Depth â $10 appeared first on Udemy CupĂłn/ Udemy Coupon/.
from Udemy CupĂłn/ Udemy Coupon/ http://coursetag.com/udemy/coupon/90-off-docker-compose-in-depth-10/ from Course Tag https://coursetagcom.tumblr.com/post/156224674573
0 notes
Text
5 Steps to Learning Python the Right Way
Python is an important programming language that any developer should know. Many programmers use this language to build websites, create learning algorithms, and perform other important tasks. But trying to learn Python can be intimidating, frustrating, and difficult, especially if youâre not sure how to approach it.
 One of the things that I found most frustrating when I was learning Python was how generic all the learning resources were. I wanted to learn how to make websites using Python, but it seemed like every learning resource wanted me to spend two long, boring, months on Python syntax before I could even think about doing what interested me.
 This mismatch made learning Python quite intimidating for me. I put it off for months. I got a couple of lessons into the Codecademy tutorials, then stopped. I looked at Python code, but it was foreign and confusing:
 from django.http import HttpResponse
def index(request):
  return HttpResponse("Hello, world. You're at the polls index.")
The code above is from the tutorial for Django, a popular Python website development framework.
 Experienced programmers will often throw snippets like the above at you. âItâs easy!â, theyâll promise. But even a few seemingly simple lines of code can be incredibly confusing. For instance, why is one line indented? Whatâs django.http? Why are some things in parentheses? Understanding how everything fits together when you donât know much Python can be very hard.
 The problem is that you need to understand the building blocks of the Python language to build anything interesting. The above code snippet creates a view, which is one of the key building blocks of a website using the popular MVC architecture. If you donât know how to write the code to create a view, it isnât really possible to make a dynamic website.
 Most tutorials and Python courses assume that you need to learn all of Python syntax before you can start doing anything interesting. This is what leads to months spent just on syntax, when what you really want to be doing is analyzing data, or building a website, or creating an autonomous drone.
 More often than not, spending all that time learning rote syntax leads to your motivation ebbing away, and to you just calling the whole thing off. I like to think of this as the âcliff of boringâ. Many courses well tell you that you need to be able to climb the âcliff of boringâ to make it to the âland of interesting stuff you work onâ (better name pending).
 But thatâs not the only way to learn Python!
 After facing the âcliff of boringâ a few times and walking away, I found a process that worked better for me. Specifically, I found a way to blend learning the basics with building interesting things. In a way, I walked around the âcliff of boringâ and headed straight for the top. I spent as little time as possible learning the basics, then immediately dove into creating things that interested me.
 In this blog post, Iâll show you step by step how to replicate this process, regardless of why you want to learn Python. It all starts with finding your motivation
 1. Figure Out What Motivates You to Learn Python
Before you start diving into learning Python online, itâs worth asking yourself why you want to learn it. This is because itâs going to be a long and sometimes painful journey. Without enough motivation, you probably wonât make it through. Make no mistake, even when you skip the âcliff of boring,â learning Python is still challenging.
 Plus, motivation matters! I slept through high school and college programming classes when I had to memorize syntax and I wasnât motivated. On the other hand, when I needed to use Python to build a website to automatically score essays, I stayed up nights studying to finish it.
 In other words: itâs much easier to learn something when you have a reason to learn.
 Figuring out what motivates you will help you figure out an end goal, and a path that gets you there without boredom. You donât have to figure out an exact project, just a general area youâre interested in as you prepare to learn Python.
 Pick an area youâre interested in, such as:
 Data science / Machine learning
Mobile apps
Websites
Games
Hardware / Sensors / Robots
Scripts to automate your work
  Yes, you can make robots using Python! From the Raspberry Pi Cookbook.
 Figure out one or two areas that interest you, and that youâre willing to stick with. Youâll be gearing your learning towards them, and eventually will be building projects in those areas, so choose things youâre actually interested in.
 2. Learn the Basic Syntax
Unfortunately, this step canât be skipped. You have to learn the very basics of Python syntax before you dive deeper into your chosen area. You want to spend as little time as possible on this, as it isnât very motivating. I personally made it about 30% into the Codecademy Python tutorials, which was enough.
 Here are some good resources to help you learn the basics:
 Codeacademy â does a good job of teaching basic syntax, and builds on itself well.
Learn Python the Hard Way â a book that teaches Python concepts from the basics to more in-depth programs.
Dataquest â Python Programming Fundamentals â I started Dataquest to make learning Python and data science easier. Dataquest teaches Python syntax in the context of learning data science. For example, youâll learn about for loops while analyzing weather data. This course, and our intermediate Python course, are both free. We also have a lot of free Python tutorials.
The Python Tutorial â the tutorial on the main Python site.
I canât emphasize enough that you should only spend the minimum amount of time possible on basic syntax. The quicker you can get to working on projects, the faster you will learn. You can always refer back to the syntax when you get stuck later. You should ideally only spend a couple of weeks on this phase, and definitely no more than a month.
 3. Make Structured Projects
Once youâve learned the basic syntax, itâs possible to start making projects on your own. Projects are a great way to learn, because they let you apply your knowledge. Unless you apply your knowledge, it will be hard to retain it. Projects will push your capabilities, help you learn new things, and help you build a portfolio to show to potential employers.
 However, very freeform projects at this point will be painful â youâll get stuck a lot, and need to refer to documentation. Because of this, itâs usually better to make more structured projects until you feel comfortable enough to make projects completely on your own. Many learning resources offer structured projects, and these projects let you build interesting things in the areas you care about while still preventing you from getting stuck.
 If youâre interested in learning Python for data science, each of our data science courses ends with a structured guided project that helps you apply your new skills creatively without totally dropping you into the deep end.
 But you may be interested in Python because you want to make a game, or work in robotics, or do something else, so letâs take a look at some other great resources for finding structured projects you can dig into:
 Data Science / Machine Learning
Dataquest â As mentioned previously, our courses teach interactively by asking you to write real code to analyze real-world data, and each course ends with a guided project.
Python for Data Analysis â A book written by the author of a major Python data analysis library, itâs a good introduction to analyzing data in Python, and it will help you learn some of the skills youâll need for building data science projects.
Scikit-learn documentation â Scikit-learn is the main Python machine learning library. It has some great documentation and tutorials you can work through to get a feel for how itâs used.
CS109 â A Harvard class that teaches Python for data science. They have some of their projects and other materials online, and you can give them a try even if youâre not enrolled in the course.
Building Mobile Apps
Kivy guide â Kivy is a tool that lets you make mobile apps with Python. They have a guide on how to get started.
Websites
Flask tutorial â Flask is a popular web framework for Python. This is the introductory tutorial.
Bottle tutorial â Bottle is another web framework for Python. This is how to get started with it.
How To Tango With Django â A guide to using Django, a complex Python web framework.
Games
Codecademy â Has ineractive lessons that walk you through making a couple of simple games.
Pygame tutorials â Pygame is a popular Python library for making games, and this is a list of tutorials for it.
Making games with Pygame â A book that teaches you how to make games in Python.
Invent your own computer games with Python â Another book that walks you through how to make several games using Python.
  An example of a game you can make with Pygame. This is Barbie Seahorse Adventures 1.0, by Phil Hassey.
 Hardware / Sensors / Robots
Using Python with Arduino â Learn how to use Python to control sensors connected to an Arduino.
Learning Python with Raspberry Pi â Build hardware projects using Python and a Raspberry Pi. The sky is really the limit here, but this page will give you some ideas for places to start.
Learning Robotics using Python â A book that will help you learn how to build robots using Python.
Raspberry Pi Cookbook â Another book thatâs focused on helping your learn how to build robots using a Raspberry Pi and Python.
Scripts to Automate Your Work
Automate the Boring Stuff with Python â A classic Python book that will help you learn how to automate everyday tasks using Python.
Once youâve done a few structured projects in your own area, you should be able to move into working on your own totally unique projects. And because youâll have been experimenting and working in your area of interest as you worked through those structured projects, youâll probably have some cool ideas. But, before you dive completely into a passion project, itâs important to spend some time learning how to solve problems.
 4. Work on Projects on Your Own
Once youâve completed some structured projects, itâs time to work on your own unique projects. On your journey to learn Python, itâs hard to know how much youâve really learned until you step out and try to build something on your own. Youâll still be consulting resources and learning new concepts as you work, but youâll be working on whatever you want to work on.
 Before you dive into working on your own projects, you should feel comfortable debugging errors and problems with your programs. Here are some resources that will help:
 StackOverflow â A community question and answer site where people discuss programming issues. You can find Python-specific questions here. You can ask your own questions if you need to, but often a search will reveal that someone else has already asked your question and gotten a good answer for it.
Google â Believe it or not, this is the most commonly used tool of every experienced programmer. Very useful when trying to resolve errors. Hereâs an example.
Pythonâs official documentation â This is a good place to find reference material on Python.
Once you have a solid handle on debugging issues, you itâs time to dive into your own projects. Work on things that interest you. For example, I was interested in the idea of automated stock trading. Thatâs what motivated me, so I started working on tools to trade stocks automatically very soon after I learned the basics of Python programming.
 Here are some tips for finding interesting projects:
 Extend the projects you were working on previously, and add more functionality.
Go to Python meetups in your area, and find people who are working on interesting projects.
Find open source packages to contribute to.
See if any local nonprofits are looking for volunteer developers.
Find projects other people have made, and see if you can extend or adapt them. Github is a good place to find these.
Browse through other peopleâs blog posts to find interesting project ideas.
Think of tools that would make your every day life easier, and build them.
Remember to start very small. Itâs often useful to start with things that are very simple so you can gain confidence. Itâs better to start a small project you actually finish than a huge project that never gets done.
 Itâs also useful to find other people to work with for more motivation.
 If you really canât think of any good project ideas, here are some in each area weâve discussed:
 Data Science / Machine Learning
A map that visualizes election data by state.
An algorithm that predicts the weather where you live.
A tool that predicts the stock market.
An algorithm that automatically summarizes news articles.
  You could make a more interactive version of this map. From RealClearPolitics.
 Mobile Apps
An app to track how far you walk every day.
An app that sends you weather notifications.
A realtime location-based chat app.
Websites
A site that helps you plan your weekly meals.
A site that allows users to review video games.
A note-taking platform.
Games
A location-based mobile game, where you capture territory.
A game where players must write code to solve puzzles.
Hardware / Sensors / Robots
Build sensors that monitor your house remotely (temperature, moisture, CO2 levels, etc).
Build a smarter alarm clock.
Create a self-driving robot that detects obstacles.
Scripts to Automate Your Work
A script to automate data entry.
A tool to scrape data from a website you frequent.
A script that reminds you to stand up once every hour.
The first project I built on my own was adapting my automated essay scoring algorithm from R to Python. It didnât end up looking pretty, but it gave me a sense of accomplishment, and started me on the road to building my skills.
 Remeber, there arenât really any wrong answers here. The key is just to pick something and do it. If you get too hung up on picking the perfect project, thereâs a risk that youâll never make one.
 5. Keep Working on Progressively Harder Projects
Once youâve finished the first one, keep increasing the difficulty and scope of your projects. If youâre completely comfortable with what youâre building, that means itâs time to try something harder. That could mean starting a new and more difficult project, adding complexity to your current project, or taking on an entirely different sort of challenge.
 Here are some ideas for increasing the difficulty of your projects to ensure that youâre still progressing in your learning:
 Try teaching a novice how to build a project you made. Nothing forces you to really learn a subject quite like having to teach it
Can you scale up your tool? Can it work with more data, or can it handle more traffic?
Can you make your program run faster?
Can you make your tool useful for more people?
How would you commercialize what youâve made?[Source]-https://www.dataquest.io/blog/learn-python-the-right-way/
 Advanced level python classes in thane with 100% Job Assistance Guarantee Provided. We Have 3 Sessions Per Week And 90 Hours Certified Basic Python Classes In Thane Training Offered By Asterix Solution
0 notes
Text
2018 Staff Favorites
Last year, the team here at CSS-Tricks compiled a list of our favorite posts, trends, topics, and resources from around the world of front-end development. We had a blast doing it and found it to be a nice recap of the industry as we saw it over the course of the year. Well, we're doing it again this year!
With that, here's everything that Sarah, Robin, Chris and I saw and enjoyed over the past year.
Sarah
Good code review
There are a few themes that cross languages, and one of them is good code review. Even though Nina Zakharenko gives talks and makes resources about Python, her talk about code review skills is especially notable because it applies across many disciplines. Sheâs got a great arc to this talk and I think her deck is an excellent resource, but you can take this a step even further and think critically about your own team, what works for it, and what practices might need to be reconsidered.
I also enjoyed this sarcastic tweet that brings up a good point:
When reviewing a PR, itâs essential that you leave a comment. Any comment. Even the PR looks great and you have no substantial feedback, find something trivial to nitpick or question. This communicates intelligence and mastery, and is widely appreciated by your colleagues.
â Andrew Clark (@acdlite) May 19, 2018
I've been guilty myself of commenting on a really clean pull request just to say something, and itâs healthy for us as a community to revisit why we do things like this.
Sophie Alpert, manager of the React core team, also wrote a great post along these lines right at the end of the year called Why Review Code. Itâs a good resource to turn to when you'd like to explain the need for code reviews in the development process.
The year of (creative) code
So many wonderful creative coding resources were made this year. Creative coding projects might seem frivolous but you can actually learn a ton from making and playing with them. Matt DesLauriers recently taught a course called Creative Coding with Canvas & WebGL for Frontend Masters that serves as a good example.
CodePen is always one of my favorite places to check out creative work because it provides a way to reverse-engineer the work of other people and learn from their source code. CodePen has also started coding challenges adding yet another way to motivate creative experiments and collective learning opportunities. Marie Mosley did a lot of work to make that happen and her work on CodePen's great newsletter is equally awesome.
You should also consider checking out Monica Dinculescu's work because she has been sharing some amazing work. There's not one, not two, but three (!) that use machine learning alone. Go see all of her Glitch projects. And, for what it's worth, Glitch is a great place to explore creative code and remix your own as well.
GitHub Actions
I think hands-down one of the most game-changing developments this year is GitHub Actions. The fact that you can manage all of your testing, deployments, and project issues as containers chained in a unified workflow is quite amazing.
Containers are a great for actions because of their flexibility â youâre not limited to a single kind of compute and so much is possible! I did a writeup about GitHub Actions covering the feature in full. And, if you're digging into containers, you might find the dive repo helpful because it provides a way to explore a docker image and layer contents.
Actions are still in beta but you can request access â theyâre slowly rolling out now.
UI property generators
I really like that weâre automating some of the code that we need to make beautiful front-end experiences these days. In terms of color thereâs color by Adobe, coolors, and uiGradients. There are even generators for other things, like gradients, clip-path, font pairings, and box-shadow. I am very much all for this. These are the kind of tools that speed up development and allow us to use advanced effects, no matter the skill level.
Robin
Ire Aderinokunâs blog
Ire has been writing a near constant stream of wondrous articles about front-end development on her blog, Bits of Code, over the past year, and itâs been super exciting to keep up with her work. It seems like she's posting something I find useful almost every day, from basic stuff like when hover, focus and active states apply to accessibility tips like the aria-live attribute.
"The All Powerful Front-end Developer"
Chris gave a talk this year about the ways the role of front-end development are changing... and for the better. It was perhaps the most inspiring talk I saw this year. Talks about front-end stuff are sometimes pretty dry, but Chris does something else here. He covers a host of new tools we can use today to do things that previously required a ton of back-end skills. Chris even made a website all about these new tools which are often categorized as "Serverless."
Even if none of these tools excite you, I would recommend checking out the talk â Chrisâs enthusiasm is electric and made me want to pull up my sleeves and get to work on something fun, weird and exciting.
youtube
Future Fonts
The Future Fonts marketplace turned out to be a great place to find new and experimental typefaces this year. Obviously is a good example of that. But the difference between Future Fonts and other marketplaces is that you can buy fonts that are in beta and still currently under development. If you get in on the ground floor and buy a font for $10, then that shows the developer the interest in a particular font which may spur more features for it, like new weights, widths or even OpenType features.
Itâs a great way to support type designers while getting a ton of neat and experimental typefaces at the same time.
React Conf 2018
The talks from React Conf 2018 will get you up to speed with the latest React news. Itâs interesting to see how React Hooks let you "use state and other React features without writing a class."
youtube
It's also worth calling out that a lot of folks really improved our Guide to React here on CSS-Tricks so that it now contains a ton of advice about how to get started and how to level up on both basic and advanced practices.
The Victorian Internet
This is a weird recommendation because The Victorian Internet is a book and it wasnât published this year. But! Itâs certainly the best book I've read this year, even if itâs only tangentially related to web stuff. It made me realize that the internet weâre building today is one thatâs much older than I first expected. The book focuses on the laying of the Transatlantic submarine cables, the design of codes and the codebreakers, fraudsters that used the telegraph to find their marks, and those that used it to find the person theyâd marry. I really canât recommend this book enough.
amzn_assoc_tracking_id = "csstricks-20"; amzn_assoc_ad_mode = "manual"; amzn_assoc_ad_type = "smart"; amzn_assoc_marketplace = "amazon"; amzn_assoc_region = "US"; amzn_assoc_design = "enhanced_links"; amzn_assoc_asins = "B07JW5WQSR"; amzn_assoc_placement = "adunit"; amzn_assoc_linkid = "162040592X";
Figma
The browser-based design tool Figma continued to release a wave of new features that makes building design systems and UI kits easier than ever before. Iâve been doing a ton of experiments with it to see how it helps designers communicate, as well as how to build more resilient components. Itâs super impressive to see how much the tools have improved over the past year and Iâm excited to see it improve in the new year, too.
Geoff
Buzz about third party scripts
It seems there was a lot of chatter this year about the impact of third party scripts. Whether itâs the growing ubiquity of all-things-JavaScript or whatever, this topic covers a wide and interesting ground, including performance, security and even hard costs, to name a few.
My personal favorite post about this was Paulo Mioniâs deep dive into the anatomy of a malicious script. Sure, the technical bits are a great learning opportunity, but what really makes this piece is the way it reads like a true crime novel.
Gutenberg, Gutenberg and more Gutenberg
There was so much noise leading up to the new WordPress editor that the release of WordPress 5.0 containing it felt anti-climactic. No one was hurt or injured amid plenty of concerns, though there is indeed room for improvement.
Lara Schneck and Andy Bell teamed up for a hefty seven-party series aimed at getting developers like us primed for the changes and itâs incredible. No stone is left unturned and it perfectly suitable for beginners and experts alike.
Solving real life issues with UX
I like to think that I care a lot about users in the work I do and that I do my best to empathize so that I can anticipate needs or feelings as they interact with the site or app. That said, my mind was blown away by a study Lucas Chae did on the search engine experience of people looking for a way to kill themselves. I mean, depression and suicide are topics that are near and dear to my heart, but I never thought about finding a practical solution for handling it in an online experience.
So, thanks for that, Lucas. It inspired me to piggyback on his recommendations with a few of my own. Hopefully, this is a conversation that goes well beyond 2018 and sparks meaningful change in this department.
The growing gig economy
Freelancing is one of my favorite things to talk about at great length with anyone and everyone who is willing to talk shop and thatâs largely because Iâve learned a lot about it in the five years Iâve been in it.
But if you take my experience and quadruple it, then you get a treasure trove of wisdom like Adam Coti shared in his collection of freelancing lessons learned over 20 years of service.
Freelancing isnât for everyone. Neither is remote work. Adamâs advice is what I wish I had going into this five years ago.
Browser ecology
I absolutely love the way Rachel Nabors likens web browsers to a biological ecosystem. Itâs a stellar analogy and leads into the long and winding history of browser evolution.
Speaking of history, Jason Hoffmanâs telling of the history about browsers and web standards is equally interesting and a good chunk of context to carry in your back pocket.
These posts were timely because this year saw a lot of movement in the browser landscape. Microsoft is dropping EdgeHTML for Blink and Google ramped up its AMP product. 2018 felt like a dizzying year of significant changes for industry giants!
Chris
All the best buzzwords: JAMstack, Serverless, & Headless
"Donât tell me how to build a front end!" we, front-end developers, cry out. We are very powerful now. We like to bring our own front-end stack, then use your back-end data and APIs. As this is happening, weâre seeing healthy things happen like content management systems evolving to headless frameworks and focus on what they are best at: content management. Weâre seeing performance and security improvements through the power of static and CDN-backed hosting. Weâre seeing hosting and server usage cost reductions.
But weâre also seeing unhealthy things we need to work through, like front-end developers being spread too thin. We have JavaScript-focused engineers failing to write clean, extensible, performant, accessible markup and styles, and, on the flip side, we have UX-focused engineers feeling left out, left behind, or asked to do development work suddenly quite far away from their current expertise.
GraphQL
Speaking of powerful front-end developers, giving us front-end developers a well-oiled GraphQL setup is extremely empowering. No longer do we need to be roadblocked by waiting for an API to be finished or data to be massaged into some needed format. All the data you want is available at your fingertips, so go get and use it as you will. This makes building and iterating on the front end faster, easier, and more fun, which will lead us to building better products. Apollo GraphQL is the thing to look at here.
While front-end is having a massive love affair with JavaScript, there are plenty of front-end developers happily focused elsewhere
This is what I was getting at in my first section. There is a divide happening. Itâs always been there, but with JavaScript being absolutely enormous right now and showing no signs of slowing down, people are starting to fall through the schism. Can I still be a front-end developer if Iâm not deep into JavaScript? Of course. Iâm not going to tell you that you shouldnât learn JavaScript, because itâs pretty cool and powerful and you just might love it, but if youâre focused on UX, UI, animation, accessibility, semantics, layout, architecture, design patterns, illustration, copywriting, and any combination of that and whatever else, youâre still awesome and useful and always will be. Hugs. đ€
Just look at the book Refactoring UI or the course Learn UI Design as proof there is lots to know about UI design and being great at it requires a lot of training, practice, and skill just like any other aspect of front-end development.
Shamelessly using grid and custom properties everywhere
I remember when I first learned flexbox, it was all I reached for to make layouts. I still love flexbox, but now that we have grid and the browser support is nearly just as good, I find myself reaching for grid even more. Not that itâs a competition; they are different tools useful in different situations. But admittedly, there were things I would have used flexbox for a year ago that I use grid for now and grid feels more intuitive and more like the right tool.
I'm still swooning over the amazing illustrations Lynn Fisher did for both our grid and flexbox guides.
Massive discussions around CSS-in-JS and approaches, like Tailwind
These discussions can get quite heated, but there is no ignoring the fact that the landscape of CSS-in-JS is huge, has a lot of fans, and seems to be hitting the right notes for a lot of folks. But itâs far from settled down. Libraries like Vue and Angular have their own framework-prescribed way of handling it, whereas React has literally dozens of options and a fast-moving landscape with libraries popping up and popular ones spinning down in favor of others. It does seem like the feature set is starting to settle down a little, so this next year will be interesting to watch.
Then there is the concept of atomic CSS on the other side of the spectrum, and interesting in that doesnât seem to have slowed down at all either. Tailwind CSS is perhaps the hottest framework out there, gaining enough traction that Adam is going full time on it.
What could really shake this up is if the web platform itself decides to get into solving some of the problems that gave rise to these solutions. The shadow DOM already exists in Web Components Land, so perhaps there are answers there? Maybe the return of <style scoped>? Maybe new best practices will evolve that employ a single-stylesheet-per-component? Who knows.
Design systems becoming a core deliverable
There are whole conferences around them now!
youtube
Iâve heard of multiple agencies where design systems are literally what they make for their clients. Not websites, design systems. I get it. If you give a team a really powerful and flexible toolbox to build their own site with, they will do just that. Giving them some finished pages, as polished as they might be, leaves them needing to dissect those themselves and figure out how to extend and build upon them when that need inevitably arrives. I think it makes sense for agencies, or special teams, to focus on extensible component-driven libraries that are used to build sites.
Machine Learning
Stuff like this blows me away:
I made a music sequencer! In JavaScript! It even uses Machine Learning to try to match drums to a synth melody you create!
âšđ§ https://t.co/FGlCxF3W9p pic.twitter.com/TTdPk8PAwP
â Monica Dinculescu (@notwaldorf) June 28, 2018
Having open source libraries that help with machine learning and that are actually accessible for regular olâ developers to use is a big deal.
Stuff like this will have real world-bettering implications:
đ„ I think I used machine learning to be nice to people! In this proof of concept, Iâm creating dynamic alt text for screenreaders with Azureâs Computer Vision API. đ«https://t.co/Y21AHbRT4Y pic.twitter.com/KDfPZ4Sue0
â Sarah Drasner (@sarah_edo) November 13, 2017
And this!
Well that's impressive and dang useful. https://t.co/99tspvk4lo Cool URL too.
(Remove Image Background 100% automatically â in 5 seconds â without a single click) pic.twitter.com/k9JTHK91ff
â CSS-Tricks (@css) December 17, 2018
OK, OK. One more
You gotta check out the Unicode Pattern work (more) that Yuan Chuan does. He even shared some of his work and how he does it right here on CSS-Tricks. And follow that name link to CodePen for even more. This <css-doodle> thing they have created is fantastic.
See the Pen Seeding by yuanchuan (@yuanchuan) on CodePen.
The post 2018 Staff Favorites appeared first on CSS-Tricks.
2018 Staff Favorites published first on https://deskbysnafu.tumblr.com/
0 notes