|
Can you unit test javascript?
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
Yes - Jasmine is a framework I have come across for javascript as well as an older unit testing framework I have used the name of which I have forgotten.
You can also use something like Cypress with Cucumber and Gherkin to write really decent UI tests using fairly normal English syntax and sentences.
As an aside I started learning Python recently, as I wanted to know what all the fuss was about. Python has a unit testing framework included within its standard library and by using unit tests and test driven development I was able to develop a working project very quickly.
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
|
|
|
|
|
Because yet another framework is what we are wanting. More external crap to keep updated.
|
|
|
|
|
Yep, I get what you are saying and agree with you to a large extent.
It's just that much of the software world is heading that way - not saying it's right and I used to be very much a roll-your-own code type of developer.
That said having been exposed to some of the more 'modern' ways of doing things I am finding that these frameworks do have something to offer.
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
|
|
|
|
|
"You can also use something like Cypress with Cucumber and Gherkin to write really decent UI tests using fairly normal English syntax and sentences."
It sounds like you're just getting pickled.
|
|
|
|
|
Indeed and you can use Chocolatey to manage all of that too .
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
|
|
|
|
|
This is something that really isn't discussed enough. There's a guy who has done a lot of stumping on this subject and wrote a book on it and such. I heard a little talk by him and I'd really never considered the consequences of this model fully. Basically, it's the Google model, where you make money from your customers without ever selling them anything outright. So you have none of the traditional obligations that companies that sell actual products do. They never paid for it, or at worst you legally owe them another 30 days' worth until their current payment period is covered.
And of course, people being cheap and not so bright on some subjects, happily go along with this to get stuff for free, which makes the strategy effective. That means that more and more pressure is put on companies/people who want to actually make a product and sell it to move towards that same model in order to be competitive. And of course how do they make their money if they do, the same way, largely by selling you as the product instead.
And then the VCs now see the writing on the wall and mostly want to back those types of new enterprises, so you have to convince them that you are going to get a steady stream of data to sell or leverage and ongoing fees without real obligations.
And so the cycle continues until before long none of us will actually own our code or sell actual products, and we'll have come back full circle to the glass enclosed large computer that everyone basically just connects to with a smart terminal.
Explorans limites defectum
|
|
|
|
|
BTW, this just happened to the other guy in my company. He has another company (well a couple, you know how that whole serial entrepreneur thing works) and they were using something I think called Busy Beacons from Google I guess it was. They were working on a product and had it testing in some places, and then Google just dropped them. So all that work went poof.
Explorans limites defectum
|
|
|
|
|
our 13-year old app suite that use ancient versions of everything
Which I imagine are all still completely vulnerability-free, over a decade down the line.
|
|
|
|
|
I'm here/there with you. I can't know it all but I've come to grips with that. But I know something and how do I save others from wasting time? I'm old and gray too.
Where I work we have a couple of different attitudes on using others code. The "build it our self" mentality is strong with some of them. A couple of years ago there was a meeting to discuss developing a requirements management system for use to use as the free one we were using apparently wasn't meeting our needs. Everyone was for it but I kept my mouth shut until I was specifically asked to comment as my unusual silence had been noted. I spoke for a few minutes but the gist of it was why the hell do we have the arrogance to think we can develop a system to manage requirements when we can't even write one. There were no more meetings on the subject.
Most of the reason I'm here today I find to be very close to the reason you started this thread. I'm working in an environment (SMART on FHIR) that is deep and wide. I want to share the knowledge I've gained but I'm so overwhelmed with new stuff I have to learn and become an 'expert' at that I find it daunting to figure out how to write a blog and other articles on those subjects. I was looking for mentoring and ended up here.
So, yes, this about me.
MArk (The Code Gorilla) B.
|
|
|
|
|
I agree totally. I have so many interests and so little time to do them.
I'm old now and what I do with my time is limited so I try to chose things that I can do as opposed to what I would like to do...that list is so long I don't even have time to read it!
I do all my own stunts, but never intentionally!
JaxCoder.com
|
|
|
|
|
Quote: I'm old now and what I do with my time is limited First of all, please forget such thoughts. Live/learn/enjoy and don't think about age!
This from also an "old" one
It does not solve my Problem, but it answers my question
modified 19-Jan-21 21:04pm.
|
|
|
|
|
My problem is I have so many other interests that I have to budget my time accordingly to be able to get all I can done.
Travel, camping, photography, reading,computers, embedded devices (IoT lately), Windows Forms apps, Web site (my personnel site), etc..
I do all my own stunts, but never intentionally!
JaxCoder.com
|
|
|
|
|
Dean Roddey wrote: and code you'll never be able to write.
Conversely, there's code I wish I never had written. Not that the code was bad per se, but rather the industry / technology / management which I endured writing the code. Two industries I've worked in so far that I will never ever do again: financial and insurance. I found both to be evil and soul sucking, especially as I learned what went on behind the scenes.
Favorite industries: commercial satellite manufacturing, security (video surveillance stuff back in the 1990's), control systems / sensors (mainly high speed, low light level, and multispectral cameras), and of course the "lay in my arms" industry -- lots of cool hardware (*cough*) to play with there -- bill acceptors, fingerprint readers, barcode scanners, annoying receipt printers, etc.
Basically, my favorite industries involve innovation, hardware, and UI / UX / usability challenges, and the ones I loathe involve writing SOAP calls to get some number that is used to increase some rate that the consumer has to pay which basically just lines the pockets of "the man."
Latest Article - Azure Function - Compute Pi Stress Test
Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
Artificial intelligence is the only remedy for natural stupidity. - CDP1802
|
|
|
|
|
I look at apps in my phone and sigh... maybe someday.
|
|
|
|
|
Quote: Back in 'my day' when we coded by rubbing sticks together, a single person could pretty much encompass almost all of the art and science. Back in the early 80's when I was a Professor of Computer Science I probably knew, or knew about, 85% of what tech there was to know in our industry. These days I might know as much as 0.85% of what there is to know after over 40 years of experience it in!
- I would love to change the world, but they won’t give me the source code.
|
|
|
|
|
Do we hate ourselves for the code that we never wrote more then the code that we tried and failed at?
Or put - do you want to spend 5 years figuring out how to code a neural net to convert "Hello" into audio speech.
Or use existing work to improve a neural net to play a game with your kid while you sleep?
|
|
|
|
|
I'd rather put in the time and understand it, honestly. That's always been where my interests lie, in implementing OO frameworks, not using them.
Explorans limites defectum
|
|
|
|
|
"But things like AI and serious DNN based speech recognition, which I am very interested in, I've dug into enough to know that I won't be able to go there. They are already too 'mathematics doctoral thesis'-like for me to take on in the time I have left, at least without completely discarding any existing obligations which ain't too practical."
I think you might be selling yourself short there, unless by "time you have left" you mean "I only have 6-months to a year before I die" - even then, I'd still say to go for it.
Really, it isn't as difficult as you think. With today's tools and frameworks, while you do need some understanding of what is going on under the hood, it's not like you need to have deep level calculus knowledge (that would really only come into play for implementing such frameworks). It's kinda like making a 3D game - you can either spend the time writing an engine, or just grab one already made (with scenegraph, etc) - and get down to writing your game.
Personal anecdote:
In the fall of 2011 it was announced that Stanford was sponsoring a couple of online learning classes, being taught by three top-tier instructors. These classes were called "AI Class" and "ML Class". I managed to get myself enrolled into both.
It's been said that they didn't expect a huge amount of response from people to take these classes, but they were completely blown away by the number of people who eventually did enroll.
The "AI Class" was being taught by Peter Norvig and Sebastian Thrun. The "ML Class" was being taught by Andrew Ng. Do any of these names seem familiar? They should...
These online classes were not a new thing, but they did succeed in showing how to do it properly. Prior to this, online classes tended to be more ad-hoc affairs, cobbled together from pieces, or just courses uploaded for others to browse, but nothing structured properly, outside of a very few paid and expensive offerings. These two courses were really the pioneers of what we call MOOCs today.
Anyhow, I took them. It was a struggle. To make a long story short, I completed the ML Class, and got about halfway thru the AI Class before I had to quit due to some personal issues that I won't go into. But I was doing well at that course (though it was right at the edge of my skill and knowledge base).
As an example of what a student managed to accomplish via what they learned in the "ML Class":
How I built a self-driving (RC) car and you can too.[^]
In 2012, Thrun and Ng each founded their own online MOOC "schools" if you will - they are known as Udacity and Coursera (respectively).
Coursera initially offered (and continues to this day) the same course that was the "ML Class":
https://www.coursera.org/learn/machine-learning[^]
Udacity, on the other hand, could not (for some reason, I suspect there was some kind of licensing or other issue with Norvig) release the "AI Class" as a course. Instead, a new course was developed, called (at the time) "How to Build Your Own Self Driving Vehicle" - and now known as "AI for Robotics":
Artificial Intelligence for Robotics | Udacity[^]
It's very slightly different from what I took in 2012 - mainly the "final project". It was very challenging, but I learned a ton from it.
Later on, in 2016, I took the first iteration of Udacity's "Self-Driving Car Engineer Nanodegree":
Self Driving Car Engineer Nanodegree | Udacity[^]
Now - would I classify any or all of these courses as the most challenging you could have when it comes to AI/ML?
Probably not - but they were all very challenging for myself - but also enjoyable (well, except that I b0rked my computer setting up CUDA for my GPU for the nanodegree - but that was on me); your mileage may vary.
But they should give you a good introduction.
If I had to pick any one of them to start with, it would be the Coursera Machine Learning course. It gave me an "aha!" moment about how neural networks actually worked, about how to look at problems better for parallel computation using matrices and vectors, and how neural networks related and used such technologies.
The first Udacity course gave me the basics on what and how to implement SLAM, what Kalman filters were for, and a number of other techniques and ideas to explore for self-driving vehicles and robotics.
The nanodegree took that information, and coupled it with learning how to utilize OpenCV for vision processing, object and lane tracking, plus a number of deep learning tasks. At one point we had to train a neural network to drive a virtual car around a track by building a training set of data from driving the car around the track as it captured snapshots of the track, plus data from the steering wheel (angle) and accelerator/brakes. Using these inputs, plus a custom neural network (I ended up basing mine on a very simplified version of NVidia's "End-to-End" CNN), you trained a model to drive the car around the track. Very fun and exciting (and super frustrating at the same time).
It also introduced me to TensorFlow, Keras, and ROS.
...and that was something in the middle of the entire course. There was a ton of new stuff I learned from that course, and I am glad I took it (though it wasn't cheap).
In the end, all of these courses have taught me there are some things that I don't know that I need to find time at some point to rectify (particularly: Calculus and Probability/Statistics). Someday.
But if I can do this, and it only took a total of about a year's time - and I walked away with more knowledge and understanding that has allowed me to now read better some of those inscrutable AI/ML papers that looked like gibberish before - then anyone else can easily do it too.
But there is something - even those courses aren't for the "faint of heart". Usually - though I never got any real hard numbers - the courses always started out strong, with a ton of students at the beginning. But the first few weeks were the "weed out" phase, and the numbers would then drop precipitously over the time of the course. If you are able to make it to the end of any one of them, you have really accomplished something from what I understand.
Anyhow - good luck!
|
|
|
|
|
Is a Holy Roller the man who makes bagels?
Sent from my Amstrad PC 1640
Never throw anything away, Griff
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
At yeast he doesn't slice them like this
|
|
|
|
|
He can bialy kneeds to be, easily rising to the occasion.
If he also sells bagels, he could take part in a schmear[^] campaign.
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
Let's hope he wears a hairnet, no one likes bagels and locks.
"the debugger doesn't tell me anything because this code compiles just fine" - random QA comment
"Facebook is where you tell lies to your friends. Twitter is where you tell the truth to strangers." - chriselst
"I don't drink any more... then again, I don't drink any less." - Mike Mullikins uncle
|
|
|
|
|
That was shear genius. A cut above the rest.
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
I figured I was walking a razors edge, if people didn't like it, I might be given the chair, I don't want to dye just yet.
"the debugger doesn't tell me anything because this code compiles just fine" - random QA comment
"Facebook is where you tell lies to your friends. Twitter is where you tell the truth to strangers." - chriselst
"I don't drink any more... then again, I don't drink any less." - Mike Mullikins uncle
|
|
|
|
|