Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "elm"
-
Ever have a feeling that there is so many interesting stuff out there - Angular, React.js, TypeScript, Rust, ELM, FRP, Machine Learning, Neuronal Networks, Robotics, Category theory... But no way to ever figure out what are all those about? And there is too little time to even get a good grasp of any single one of those. IT seems to be like hydra - one learns one thing and 10 new concepts pop up in the meantime.4
-
You know what really pisses me off about the dev community is the circle jerk that ensues when someone bashes something they have no experience in. Take yesterday's React bash on Reddit and DevRant. Thomas Fuchs compared React and JSX to the intermingling of HTML CSS and JS of 15 years ago. If you knew anything about React or spent 1 hour learning what it's about you would immediately know why that isn't true but no, a giant circle jerk ensued comparing it to PHP! I'm sorry but HOW can you compare a pure JS view library that is renderable by the browser, to a full fledged server side language?? Not to mention the React approach uses a completely different programming paradigm of functional programming.
When I first saw React and Redux I realized what this is all really about, a shift in the paradigms of programming. React + Redux is the first time that functional programming has entered mainstream. We've had functional programming available to us via Haskell and more recently Clojure for a while now but it was never very obvious how powerful functional programming could be outside of the niche that used it for more analytical type tools. Now we have things like hot reloading (https://youtube.com/watch/...) and state playback (https://youtube.com/watch/... skip to ~3min to watch the magic) thanks to immutable state.
Before you decide that React is just another flavor of the month library I encourage you to learn about the advantages that functional programming provides (https://medium.com/@cscalfani/...) and checkout Elm (http://elm-lang.org/) as well. The nice thing about React + Redux is that it gives us a way to start programming functionally, without having to learn ML style syntax like Elm and ClojureScript. Keep in mind, when Object Oriented Programming was becoming popular it was widely controversial as well and look at all it has done for us.4 -
Windows vs Linux vs MacOS, Android vs iOS,
PHP vs .Net vs Java vs python vs whatever,
Angular vs React vs Elm vs vanilla ...
It's like Nintendo vs Sega,
Star Wars vs Star Trek,
Beatles vs Rolling Stones ...
It's all a bit childish, right?5 -
Modern web frontend is giving me a huge headache...
Gazillion frameworks, css preprocessors, transpilers, task runners, webpack, state management, templating, Rxjs, vector graphics,async,promises, es6,es7,babel,uglifying,minifying,beautifying,modules,dependecy injection....
All this for programming apps that happen to run inside browsers on a protocol which was designed to display simple text pages...
This is insanity. It cannot go on like this for long. I pray for webasm and elm to rescue me from this chaos.
I work now as a fullstack dev as my first job but my next job is definitely going to be backend/native stuff for desktop or mobile. It seems those areas are much less crazy.10 -
I was depressed doing a course I hated.
3 years in and I switched to Computer Science.
Best decision ever!3 -
At the ranters who use Vim as their primary IDE. How do you manage to get some autocompletion working?
I want to be one of the cool kids and use Vim for coding but I am so used to a good autocompletion like the one IntelliJ offers.
I want to be able to browse through every method of an object or function of a module. But Vims build in engine sucks ass and YouCompleteMe doesnt seem to work that good either (only tested with Javascript, Typescript and Elm). They dont show all the correct identifiers but they do show some other random stuff.
How do you guys manage to be productive? How do you make it show only the usefull stuff?9 -
I was reminded of people's posts about preferred text editors in another post, so I thought I'd do the same, but also add some super old technology that I used along the way.
The first text editor I consistently used was pico. I used it to write my first webpage at school.edu/~username. It was a natural choice, because the it was the default text editor in pine, which is what we would all use for our email after opening a serial connection to the college's Digital Unix server. Or if we were the lucky ones who had a computer in a wired dorm, telnet. My dorm was not wired until my sophomore year.
I got my first job in tech in 2001, working as a night shift tier-one support technician. By this time, most people were using web based email, or POP3, but I wanted to keep using pine (or elm, or mutt) because I was totally in love with the command line by this time, and had been playing with Linux for two or three years by now. I arranged a handshake deal with a guy in my home town who had a couple well-connected NetBSD servers, to let me have an account on one for email and web hosting (a relatively new idea at the time).
I recall telnetting into my shared hosting account from the HP-UX workstations we had in the control room. I would look at webpages on HTML conventions and standards, and I kept seeing references to this thing called vi. I looked into it more deeply, and found that it was a text editor, and was the reason I always had to CTRL-Z out of elm. I was already finding pico to be lacking, so I found a modern implementation of vi called vim that was already installed on the aforementioned NetBSD server, and read through vimtutor on it. I was hooked instantly. The modality massively appealed to me, and I found editing files to be an absolute delight, compared to pico, and its nascent open source offspring/successor, nano.
My position on that hasn't changed in the years that have passed since then.
What's your text editor origin story?1 -
Can anyone tell me why is it good to use some crap language that transpiles to javascript? Yes i hate js too but 90% of my time using reason/ts/elm is just
>ddg how to do x in y
>no answer
>Js.unsafe.eval "js code"
Like???? None of them is a 100% complete wrapper???5 -
I think I can learn English here.
HAHAHA
I can also learn professional knowledge.
**I am a Korean.**
And...
Succeed!
Android studio AVD powered pictures
4 -
Why I try to ALWAYS use semicolons in JS:
In short, weird shit happens sometimes
An example:
So I'm doing a small project for freeCodeCamp, working with the Twitch API. I decided to make an array on the fly to append a few elements to a documentFrag in order after setting all my props. Forgot a semicolon. Apparently, Babel transpiles this:
info.innerHTML = (``)
[span, caret, info].forEach(elm => frag.appendChild(elm));
to this if you omit the semicolon:
info.innerHTML = ' '[(span, caret, info)]
this is why you should avoid relying on ASI, you're going to have to remember them in other languages out there, so for your own sanity, might as well get used to them. Just thought I'd share--who knows, might help a JS newb out there somewhere.5 -
I read the pragmatic programmer a few months ago. The book advised learning a different programming language every month or so. I was doing Advent of Code so I decided to try out Elm because functional programming is all the rage these days.
It took me one hour to convert a string of numbers to an array of numbers! And when I finally finished with that I couldn't understand how to compare each element with the next one in an array using map or filter.
I realised that I've become too comfortable using javascript. Worst case scenario: In a few years when javascript is obsolete I'll be like those old dudes that know only Cobol. Best case scenario: I'll always be too dumb to earn a nice salary.
On a positive note: The first time I tried Elm I didn't understand jack shit, now I understood a few things.5 -
I only just started learning Js. And it's going smoothly. In two weeks, I should have gone past the Beginner's level. Then what next?7
-
Just feel like going to a raised platform over my town and scream, "AHHHHHHHhhhhhhhhhhhhhhhhhh....!!!"
-
To me this is one of the most interesting topics. I always dream about creating the perfect programming class (not aimed at absolute beginners though, in the end there should be some usable software artifact), because I had to teach myself at least half of the skills I need everyday.
The goal of the class, which has at least to be a semester long, is to be able to create industry-ready software projects with a distributed architecture (i.e. client-server).
The important thing is to have a central theme over the whole class. Which means you should go through the software lifecycle at least once.
Let's say the class consists of 10 Units à ~3 hours (with breaks ofc) and takes place once a week, because that is the absolute minimum time to enable the students to do their homework.
1. Project setup, explanation of the whole toolchain. Init repositories, create SSH keys for github/bitbucket, git crash course (provide a cheat sheet).
Create a hello world web app with $framework. Run the web server, let the students poke around with it. Let them push their projects to their repositories.
The remainder of the lesson is for Q&A, technical problems and so on.
Homework: Read the docs of $framework. Do some commits, just alter the HTML & CSS a bit, give them your personal touch.
For the homework, provide a $chat channel/forum/mailing list or whatever for questions where not only the the teacher should help, but also the students help each other.
2. Setup of CI/Build automation. This is one of the hardest parts for the teacher/uni because the university must provide the necessary hardware for it, which costs money. But the students faces when they see that a push to master automatically triggers a build and deploys it to the right place where they can reach it from the web is priceless.
This is one recurring point over the whole course, as there will be more software artifacts beside the web app, which need to be added to the build process. I do not want to go deeper here, whether you use Jenkins, or Travis or whatev and Ansible or Puppet or whatev for automation. You probably have some docker container set up for this, because this is a very tedious task for initial setup, probably way out of proportion. But in the end there needs to be a running web service for every student which they can reach over a personal URL. Depending on the students interest on the topic it may be also better to setup this already before the first class starts and only introduce them to all the concepts in a theory block and do some more coding in the second half.
Homework: Use $framework to extend your web app. Make it a bit more user interactive with buttons, forms or the like. As we still have no backend here, you can output to alert or something.
3. Create a minimal backend with $backendFramework. Only to have something which speaks with the frontend so you can create API calls going back and forth. Also create a DB, relational or not. Discuss DB schema/model and answer student questions.
Homework: Create a form which gets transformed into JSON and sent to the backend, backend stores the user information in the DB and should also provide a query to view the entry.
4. Introduce mobile apps. As it would probably too much to introduce them both to iOS and Android, something like React Native (or whatever the most popular platform-agnostic framework is then) may come in handy. Do the same as with the minimal web app and add the build artifacts to CI. Also talk about getting software to the app/play store (a common question) and signing apps.
Homework: Use the view API call from the backend to show the data on the mobile. Play around with the mobile project to display it in a nice way.
5. Introduction to refactoring (yes, really), if we are really talking about JS here, mention things like typescript, flow, elm, reason and everything with types which compiles to JS. Types make it so much easier to refactor growing codebases and imho everybody should use it.
Flowtype would make it probably easier to get gradually introduced in the already existing codebase (and it plays nice with react native) but I want to be abstract here, so that is just a suggestion (and 100% typed languages such as ELM or Reason have so much nicer errors).
Also discuss other helpful tools like linters, formatters.
Homework: Introduce types to all your API calls and some important functions.
6. Introduction to (unit) tests. Similar as above.
Homework: Write a unit test for your form.
(TBC)4 -
Has anyone used Elm for a non-trivial project? If so, what is your experience? Know about any sources that delve into architecting larger apps?
I'm really looking to escape JS and React on the front end for a change, and what I've seen about Elm so far is just beautiful.1 -
Went to an Elm meet up desperate to understand what an Effect is.
Asked out enthusiastically and received the answer:
A higher order Signal -
What are you currently working on? You can be as vague as possible and let others try to figure it out.
I’m currently working on something to make pelican based blogs look a bit decent.7 -
How long does it take to start writing codes without having to do “too much” looking up of some context?
I’m quite at the intermediate level and I fear I do a lot of cramming(and pouring) than actual coding.
I want to code all on my own, or at least tons of lines before having to check something up.
How do you guys do it? How do I become ‘pro’?6 -
Finding it hard to focus. I'm into UI, backend, frontend, iOS... Exploring FP. We've just had our first child and I need to put my time and energy into what will a) provide healthy financial remuneration b) be more enjoyable than frustrating c) be relatively futureproof (if that's even possible). For some reason I have a huge distaste for JavaScript (as an ecosystem) which has led me to look into Elm. I've enjoyed Ruby but something in my mind tells me Functional programming is more logical for me. It's a whole new approach and skill to level-up on. I love programming my own back-ends, but for me, design is so important and I want to be part of the visual, tangible part that people interact with. I'm a one-man operation which means I do design, full stack Development, client liaison, financials, client acquisition. Freelancing is a double edged sword - I don't know when the next project will come, but I also need to focus on the projects I have without taking too much on. At times I think employment would be good, despite having it's on drawbacks which I read about repeatedly on here. Any advice?1
-
!rant && helpWanted
Does any of you guys have experience with Elm development in Vim or Spacemacs?
I want to write more stuff in Elm but I didnt manage to set any if the both up to have useful auto completion or a jump to symbol feature. I hoped elm-layer + global company was enough in spacemacs, but it didn't work. -
That I learned Java.
Got lots of work but nothing to be proud of.
Always has to clean up after mediocre fdevelopers. -
Definitely Android 8.0 is neat.
And it's faster.
I think Android has developed a lot.
Isn't that right? -
Hi devs, any of you tried to do something big with ELM lang? I made a clone of 2048 a few years back just to learn its hows and whens, but was disappointed that it can't handle simple recursion to test a winning AI, and left it at that
-
I have watched a couple of videos on YouTube talking about Elm. It is a language used to develop user interfaces. It has a very organized ecosystem (unlike JS) and it is pretty cool to code with. Static typing, everything is immutable, etc...
For those who have worked with it, is it worth learning? I would love to know your experience.1 -
Your Crawlspace Solution: Expert Vapor Barrier Installation, Crawl Space Moisture Control, and Crawl Space Cleaning Services
At Your Crawlspace Solution, located at 369 W Elm Rd Suite 18, Radcliff, KY 40160, we specialize in offering top-tier crawl space services designed to improve your home's health and energy efficiency. From vapor barrier installation and crawl space moisture control to crawl space cleaning, our experienced team is dedicated to keeping your crawlspace in optimal condition. We know that an often-overlooked part of your home, the crawlspace, can be a source of significant issues if not properly maintained. That’s where we come in to help you protect your investment and improve your home’s overall quality.
Vapor Barrier Installation: Protecting Your Home from Moisture Damage
A vapor barrier installation is one of the most effective methods to prevent excess moisture from infiltrating your crawlspace, which can lead to structural damage, mold, and other serious issues. The vapor barrier acts as a protective layer, sealing off your crawlspace from the outside elements and moisture in the soil beneath your home.
At Your Crawlspace Solution, we offer expert vapor barrier installation to ensure your crawlspace stays dry and moisture-free. We use durable, high-quality materials to create a complete seal, preventing water vapor from seeping into your crawlspace and protecting your foundation and insulation. Our vapor barriers also improve the overall air quality inside your home by reducing humidity levels and preventing the growth of mold and mildew.
Crawl Space Moisture Control: Keeping Your Home Safe and Dry
Excess moisture in your crawlspace can cause a variety of problems, including mold growth, wood rot, and even compromised structural integrity. Without proper crawl space moisture control, your home is at risk of experiencing these issues, which can be costly and dangerous.
At Your Crawlspace Solution, we offer effective crawl space moisture control strategies to keep your crawlspace dry and safe. Our team evaluates the moisture levels in your crawlspace and implements solutions such as vapor barriers, drainage systems, and sump pumps to manage and eliminate excess moisture. By controlling moisture at its source, we help protect your home from mold, rot, and other related issues, while improving air quality and energy efficiency.
Crawl Space Cleaning: A Clean Crawlspace for a Healthier Home
A dirty crawlspace can harbor a variety of problems, from pests and debris to mold and poor air circulation. Regular crawl space cleaning is essential to maintaining a healthy home and preventing these issues from escalating.
At Your Crawlspace Solution, our crawl space cleaning service includes removing any debris, dirt, and contaminants from your crawlspace. We also inspect the space for potential issues like mold, pests, and leaks, ensuring that your crawlspace is free from harmful substances. After the cleaning, we take additional steps to address moisture and improve ventilation, ensuring that your crawlspace remains dry, clean, and well-maintained.
Why Choose Your Crawlspace Solution?
When it comes to vapor barrier installation, crawl space moisture control, and crawl space cleaning, Your Crawlspace Solution is the name you can trust. Here’s why we stand out from the competition:
Expertise and Experience: Our team is highly skilled and experienced in all aspects of crawlspace services, offering tailored solutions to meet your home’s specific needs.
Comprehensive Services: We provide a full range of crawl space services, from moisture control and cleaning to vapor barrier installation, so you can count on us for all your crawlspace needs.
Top-Quality Materials: We only use the best materials for our services to ensure long-lasting results and reliable protection for your crawlspace.
Customer Satisfaction: We are committed to providing exceptional customer service, ensuring that you are fully satisfied with the results and the condition of your crawlspace.
Affordable Solutions: We offer competitive pricing, ensuring that you get high-quality services without breaking the bank.
Contact Us Today for Crawl Space Services
If you’re dealing with excess moisture, a dirty crawlspace, or the need for vapor barrier installation, Your Crawlspace Solution is here to help. Our expert team is ready to provide you with the best crawl space services, ensuring that your home stays dry, clean, and protected from damage.
Call us today at +1 (502) 415-4806 or visit us at 369 W Elm Rd Suite 18, Radcliff, KY 40160 to schedule your consultation. Let us help you keep your crawlspace in top condition for years to come!7






