thank u, next: an introduction to linked lists
- In this post, we are going to be talking about the linked list data structure in the language of "thank u, next" by Ariana Grande.
- So, we know that storing Ariana Grande's exes in a linked list is a great use of the data structure since we are always listing them in the same order when we sing along to "thank u, next", But what other data works well in a linked list?
- Still I believe that linked lists are one of the most overrated data structures and that in practice there are very few use cases where they really perform better than dynamic arrays.
- When you use a LinkedList class, you don't care for its implementation details: it could actually be storing elements sequentially like a traditional array, but exposing only the methods so you see it like a linked list.
Request for Comments: Quirk, an Open Source Cognitive Behavioral Therapy App
- It wasn't until this past year that I explored Cognitive Behavioral Therapy (CBT), the gold-standard of "soft" treatment options.
- CBT would ask me to notice the cognitive distortions (effectively the psychological words for logical fallacies) in the original thought.
- There's a few apps that currently exist, namely "Thought Diary" and "MoodNotes." ThoughtDiary is free but it's quite fugly.
- Which means if you're having a fine day, but notice yourself thinking something illogical that could bring you down, you have to either wait for that thought to spiral out of control or lie to the app and tell it that you're unhappy.
- That's a pretty bad flaw in an app that's trying to help you disassociate your illogical thoughts from catastrophic moods.
- I wanted to be able to combine health tracking data with these to see if I could write something to predict or at least identify panic attacks.
The 2018 year of ladies come back in tech
- I still remember that stereotype that computer is only for fun (game) when you’re young, but as you get older you start using it seriously (for work/study/research).
- But even that didn’t break the stereotype of computer programming being a male job.
- Of course, this stereotype is nothing more than just stupid prejudice, there are zero obstacles for a female to do computer programming.
- There is no biological or any other physical border for any gender to perform any IT job, the same applies to race, sexual orientation and other stereotypes which poisoning our world and our industry.
- There is a great number of female in IT in recent years and I see them joining forces, encouraging themselves, grouping and help others to overcome obstacles of stereotypes.
- On the social network, you can spot many females-in-tech related groups, like Women Techmakers Berlin.
Difference between state and State
- Although this kind of design serves several proposes, in special on more simple or data-centric scenarios, in fast evolution and process-centric domains it evolves on a mess of code execution paths and unsynchronized conditionals through different functions.
- The problem faced here is that the application architecture allows for invalid behavior through invalid states, and when it does eventually some use case will expose the bugs created by this freedom.
- The entity, represented as a state machine, is now just a different data structure for each State that can be interpreted by the pure functions that implement the domain behaviors.
- It is true that many domains can be modeled using the two first approaches to code a State, but sometimes we are faced with a high complexity scenario where this abstraction implementation would not scale with the development of the application.
How Learning Elixir Made Me a Better Programmer 🥃
- After getting comfortable with a couple programming technologies, developers usually stop there; your job and the systems you maintain may all be in one or two languages.
- Elixir for example was built by developers who saw the productivity of the Ruby syntax, the maintainability of functional programming and the scalability of Erlang.
- OTP is an elegant way to handle all of the problems that arise in distributed programming, think work across nodes, handling async messages, etc.
- For example, that's how the very cool hot-code-release feature came to be which enabled developers to release new Erlang/Elixir code without taking down servers.
- Keeping processes small, pure and functional is good-sound engineering practice and are the pillars of how Elixir works.
Understanding the basics of Ruby on Rails: SQL Databases and how they work
- Now it’s time to learn about databases and how they connect with Ruby on Rails.
- We usually use a condition to delete, like “I want to delete all people under 21 years old.” We will learn how later in this post!
- Now we can use SQL language to query (select, delete, insert, update) data.
- We now understand the meaning of databases, we’ve tried some basic queries, and have talked about the relationship between tables.
- So we create a migration (Ruby code), run the rake db:migrate command in the terminal, and it generates a table Authors with first_name, last_name, email, birthday, created_at, and updated_at columns.
- So when we create a Posts table, we need to store a reference to the post’s author (column author_id in the Posts table).
- Behind the scenes, it is executing SELECT * FROM posts WHERE title = 'Database & Rails'query.
Get the most out of hackathons
- In the past I mostly joined Hackathons to gather experience with new languages, frameworks or gadgets like Alexa, Hue etc.
- What I can not do at home is meet awesome people that hang out at such events or get my hands on some prototypes or industrial equipment worth several thousand Euros 💰.
- We wanted to have fun - and we got our hands on one of these badasses: The Festo Bionic Cobot a humanoid robot arm powered by air pressure instead of electrical motors.
- If you are a student you might be tempted by the prizes available at Hackathons but I seriously encourage you to use the time to meet new people and exchange ideas and experiences with others - this is the most valuable thing you can get out of such events.
Retrospective after conducting first-time SCRUM training.
- Because it is normal that some devs get offers to teach newcomers and they may meet the same problems I decided to share some of my thoughts about teaching others during formal training.
- Practical exercises are good - that being said you have to explain them to the group, which is not always easy.
- People will ask questions related to the rules of the exercise which might be obvious for you but not for them and it is better to hear that from people whom you know rather than during real training.
- I like to talk and I like to explain things, but when you have limited time and want to share as much knowledge as you can it is better to give short answers.
- Do you have any thoughts about your first time speaking or conducting some kind of Bootcamp training?
Building AWS Lambdas for Real World using Ruby and Serverless Framework
- Currently, you can easily find several blog posts and tutorials explaining how to build your own Lambda functions in Ruby, most of them using the famous Hello World as example, which is good as a starting point, but, let's be honest, you won't need to build something as simple as a Hello World.
- In this post, I'd like to share some ideas with those who, like me, started to reach a bit deeper in this matter, and discuss how to tackle these real-world issues using Ruby and Serverless Framework.
- As I mentioned before, most of Hello World examples hold all files in a single root project folder, which makes very easy to the Serverless Framework settings file (serverless.yml) references the lambda function.
- Hey dev.to community!
- BxJS Weekly Episode 40 is now out!
- You can find all the mentioned links here on github.
- We’re a place where coders share, stay up-to-date and grow their careers.
- We strive for transparency and don't collect excess data.