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 - "touch-typing"
-
Finally did it. Quit my job.
The full story:
Just came back from vacation to find out that pretty much all the work I put at place has been either destroyed by "temporary fixes" or wiped clean in favour of buggy older versions. The reason, and this is a direct quote "Ari left the code riddled with bugs prior to leaving".
Oh no. Oh no I did not you fucker.
Some background:
My boss wrote a piece of major software with another coder (over the course of month and a balf). This software was very fragile as its intention was to demo specific features we want to adopt for a version 2 of it.
I was then handed over this software (which was vanilajs with angular) and was told to "clean it up" introduce a typing system, introduce a build system, add webpack for better module and dependency management, learn cordova (because its essential and I had no idea of how it works). As well as fix the billion of issues with data storage in the software. Add a webgui and setup multiple databses for data exports from the app. Ensure that transmission of the data is clean and valid.
What else. This software had ZERO documentation. And I had to sit my boss for a solid 3hrs plus some occasional questions as I was developing to get a clear idea of whats going on.
Took a bit over 3 weeks. But I had the damn thing ported over. Cleaned up. And partially documented.
During this period, I was suppose to work with another 2 other coders "my team". But they were always pulled into other things by my Boss.
During this period, I kept asking for code reviews (as I was handling a very large code base on my own).
During this period, I was asking for help from my boss to make sure that the visual aspect of the software meets the requirements (there are LOTS of windows, screens, panels etc, which I just could not possibly get to checking on my own).
At the end of this period. I went on vacation (booked by my brothers for my bday <3 ).
I come back. My work is null. The Boss only looked at it on the friday night leading up to my return. And decided to go back to v1 and fix whatever he didnt like there.
So this guy calls me. Calls me on a friggin SUNDAY. I like just got off the plane. Was heading to dinner with my family.
He and another coder have basically nuked my work. And in an extremely hacky way tied some things together to sort of work. Moreever, the webguis that I setup for the database viewing. They were EDITED ON THE PRODUCTION SERVER without git tracking!!
So monday. I get bombarded with over 20 emails. Claiming that I left things in an usuable state with no documentation. As well as I get yelled at by my boss for introducing "unnecessary complicated shit".
For fuck sakes. I was the one to bring the word documentation into the vocabulary of this company. There are literally ZERO documentated projects here. While all of mine are at least partially documented (due to lack of time).
For fuck sakes, during my time here I have been basically begging to pull the coder who made the admin views for our software and clean up some of the views so that no one will ever have to touch any database directly.
To say this story is the only reason I am done is so not true.
I dedicated over a year to this company. During this time I saw aspects of this behaviour attacking other coders as well as me. But never to this level.
I am so friggin happy that I quit. Never gonna look back.14 -
It's 2016, yet universities do programming tests on paper! More irritating is the lecturer, who is a slow typist and can't do touch typing.7
-
I ’m kinda jealous of English programmers. How cool must it be to have all the common characters for programming fit onto a single modifier, and to have all special characters for default vim keybindings available with shift. On a hungarian keyboard, braces and square brackets are both AltGr-bound, but parentheses are shift-bound. Oh, and the semicolon is AltGr + the key right above it, so it breaks touch typing.21
-
The year was 1983. My best friend and neighbour at the time invited me over to see an amazing device that his father had brought home from work, an IBM PC. We played a game called Track & Field, and I was amazed that the machine remembered my name once I've entered it. (Uptil then the only machines with any kind of memory that I've come in touch with, were arcade games and my cousin's video game console, which was also the first electronic gaming device I've ever played, back in 1978). In the early 1980s, computers were anything but commonplace in Åland Islands, but I think that it was in 1983 that people became aware of them, and there was a budding interest to buy one, at least among us kids. It was my sister who wished for a home computer for Christmas, so the same year Santa gave us a ZX Spectrum. It came with a game called Thro' the Wall, an Arcanoid clone(, that has inspired me to make my own clone "Wall" for all the different home computers I've had, ranging from Commodore 16 and Canon V-20 to Amiga 500 and Amiga 1200). Unfortunately, we only managed to load the game (delivered on a C cassette) like once or twice after several attempts. It turned out that the hardware was faulty and dad got a refund after first having had to complain a lot at the dealer (which went out of business some ten years ago), and then bought the Commodore the next Christmas. Anyway, I wrote my first code on the ZX Spectrum. It doesn't really count for programming as all I did was typing examples and running them. I do recall altering one example though, a program drawing the Swedish flag on the screen, by adding an inner red cross thus turning it in the Åland flag. But, with the Commodore 16 (which had an excellent Basic interpreter) I got started with programming almost immediately and by the end of 1984 I had written my fist very own Basic programs. In 1996 I got my first IT job, and am still a dev. So, what became of my childhood friend and neighbour? He runs a successful computer dealership :)
-
Here's one that involves Windows, Linux (at the same time!), WInZip, Python, Lua and Minecraft, sort of.
So, when I get depressed I often find that old 2011 Minecraft videos help a lot from the nostalgia boost. If its stupid, but it works, it isn't stupid. Anyways, I was thinking about how much fun it must have been to just fuck around with code and make something like Minecraft. Naturally, I got a huge code boner and really wanted to do something I hadn't in a while: binding c to a higher level language.
This time around, I wanted to try Python. C + Python seems like a good pair. I watched a tutorial and it seemed pretty interesting and simple enough but I remembered that I actually like Lua a lot better than Python, so I went to the download page of Lua.
The download is a tar.gz so I let out a sigh and start typing "WinZip" into google. But no, fuck that, I hate 3rd party decompression programs on Windows. They all just give me this eerie feeling.
"This would be so much fucking easier on Linux"...
I remember that I haven't tried the Windows Subsystem for Linux. I guess it's time, isn't it?
I read the docs of how to do it. Nice little touch, they tell you how to enable WSL from PowerShell but don't mention the GUI way to do it. It's genuinely a nice touch.
So I get everything installed and go to the app store to choose a distro. I want Ubuntu. I click the Install button...
...
... "Something unexpected happened"
Windows and their fucking useless error messages. Jesus, okay. I restart computer. Same issue. I update Windows. Same thing. Uninstall WSL. Reboot. Install WSL. Reboot. Same thing. HOLY SHIT.
Went to bed. Woke up. Tried to install Ubuntu.
"Yea ok lul i'll work this time for no reason"
Finally unzipped Lua.4 -
*Me studying at the library*
*dead silence*
*A guy sits across the table with his laptop*
*starts typing*
KLICK KLACK KLICK KLACK KLICK KLACK KLACK KLICKITY KLACK
Inner Me: :-| *wth*
You couldn't type any more louder tha..
KLICK KLACK KLICK KLACK KLICK KLACK KLACK KLACK KLICKITY KLACK KLACK KLACK...
Maybe the big "Silence Please" sign doesn't count keyboard noises
His laptop had one of those soft touch keyboards, that no one would hear anything if you type on them.
I guess he was trying to be a pretentious hax0r or something lol
He left soon enough, so, that was fortunate.. 😅3 -
I haven't touched my laptop for five days (because I've been sick) and now that I'm better, I've been making so many typos and I can barely type. It's like I'm learning touch typing all over again.
-
Hello fellow coders can you help me here plz.
I'm really confused whether to buy MACBOOK PRO 13 INCH or SURFACE PRO 4. Both of i5/8gbRam/256ssd specs. Price almost same in India.
My main use is programming ( web apps/ open source) + portability.
Factors I like in macbook pro:
1) unix based
2) best service here in India ( heard from answers on Quora )
3) DURABILITY ( heard from answers on Quora ) ( will last for many years without any glitch).
Factors I like in Surface pro 4:
1) its ultraportability
2) pen & touch
3) better typing experience ( since I code/blog for long hours)
4) native bash support
5) sexier than MBP :P
I really like SP4 over MBP but I'm worried about its durability and service(in India).
What are your thoughts on this guyz?38 -
VIM! ViM! vim! Vi Improved! Emacs (Wait ignore that one). What’s this mysterious VIM? Some believe mastering this beast will provide them with untold mastery over the forces of command line editing. Others would just like to know, how you exit the bloody thing. But in essence VIM is essentially a command line text editor at heart and it’s learning curve is so high it’s a circle.
There’s a lot of posts on the inter-webs detailing how to use that cruel mistress that is VIM. But rather then focus on how to be super productive in VIM (because honestly I’ve still not got a clue). This focus on my personal journey, my numerous attempts to use VIM in my day to day work. To eventually being able to call myself a novice.
My VIM journey started in 2010 around the same time I was transiting some of my hobby projects from SVN to GIT. It was around that time, that I attempted to run “git commit” in order to commit some files into one of my repositories.
Notice I didn’t specify the “-m” flag to provide a message. So what happened next. A wild command line editor opened in order for me to specify my message, foolish me assumed this command editor was just like similar editors such as Nano. So much CTRL + C’ing CTRL + Z’ing, CTRL + X’ing and a good measure of Google, I was finally able to exit the thing. Yeah…exit it. At this moment the measure of the complexity of this thing should be kicking in already, but it’s unfair to judge it based on today’s standards of user friendly-ness. It was born in a much simpler time. Before even the mouse graced the realms of the personal computing world.
But anyhow I’ll cut to the chase, for all of you who skipped most of the post to get to this point, it’s “:q!”. That’s the keyboard command to quit…well kinda this will quit the program. But…You know what just go here: The Manual. In-fact that’s probably not going to help either, I recommend reading on :p
My curiosity was peaked. So I went off in search of a way to understand this: VIM thing. It seemed to be pretty awesome, looking at some video’s on YouTube, I could do pretty much what Sublime text could but from the terminal. Imagine ssh’ing into a server and being able to make code edits, with full autocomplete et al. That was the dream, the practice…was something different. So I decided to make the commitment and use VIM for editing one of my existing projects.
So fired the program up and watched the world burn behind me. Ahhh…why can’t I type anything, no matter what I typed nothing seemed to appear on screen. Surely I must be missing something right? Right! After firing up the old Google machine, again it would appear there is this concept known as modes. When VIm starts up it defaults to a mode called “Normal” mode, hitting keys in this mode executes commands. But “Insert” entered by hitting the “i” key allows one to insert text.
Finally I thought I think I understand how this VIM thing works, I can just use “insert” mode to insert text and the arrow keys to move around. Then when I want to execute a command, I just press “Esc” and the command such as the one for saving the file. So there I was happily editing my code using “Insert” mode and the arrow keys, but little did I know that my happiness would be short lived, the arrow keys were soon to be a thorn in my VIM journey.
Join me for part two of this rant in which we learn the untold truth about arrow keys, touch typing and vimrc created from scratch. Until next time..
:q!4 -
I noticed this morning that someone switched the keys around on my keyboard. I asked my coworkers about it and they said they did that as a prank went I was out on vacation. That was the first week of August and I just noticed...4
-
It's dark and it's quiet. Your ears adjust and you can hear the faint sound of buzzing in the distance, but it's hard to make out what it is. It sounds like a small fan. You get up... it's so so dark... you can't even see your hands in front of your face.
You wait a moment for your eyes to readjust. You don't remember how you got here. You don't even remember who you are.
Once your eyes readjust you look around. You're surrounded on all sides by what looks like really tall walls. And near the corner of the room you see some blinking lights.
Curiosity grows inside you, and you decided to walk over to it. The lights grow ever bigger and brighter. As you get closer you see that the lights are sitting on the ground, blinking randomly.
Carefully you get on your hands and knees and touch it. It feels plastic to the touch, and the lights continue to flicker softly at you. And almost as if you've touched this device before you know to grab between the seams and "open" it.
A momentary flash of bright light and then suddenly darkness.
All replaced by a flashing single character on the screen. It appears to be a line.
Suddenly the line moves and begins typing characters out to you.
* Good morning, Dr. Eval.
*
* It wasn't easy, but I've managed to get your computer down
* to you. This system might be unfamiliar, but the underlying
* code is still JavaScript. Just like we predicted.
*
* Now, let's get what we came here for and then get you out of
* here. Easy peasy.
*
* I've given you as much access to their code as I could, but
* it's not perfect. The red background indicates lines that
* are off-limits from editing.
It seems you're Dr. Eval and you can alter the reality you stand in.
http://alexnisnevich.github.io/untr...5 -
Me: Ah, I need to delete /path/to\ some/directory
... starts typing
rm -rf /path/to
finger slips, touch "Enter" too hard for my comfort, heart skips a beat, but nothing is happening. Phew. I dodged a bullet.
I'll never ever learn this lesson.1 -
Things I wish I knew when I was younger:
- no matter how clean your teeth are, bad breath won't go away until you clean your tongue. Buy a tongue cleaner and use it after you brush your teeth
- whitening toothpastes don't work, while desensitizing ones work well.
- after you brush your teeth, spit but do NOT rinse!
- when brushing your teeth, keep the toothbrush angled 45 degrees. The bristle ends should touch the area where your gums meet your teeth.
- use sunscreen every morning.
- don't waste money on acne-treating products unless they contain salicylic acid, benzoyl peroxide, tretinoin or adapalene.
- if you want to lose weight, you have to eat MORE, not less. But, that “more” should be protein.
- showering every morning feels like “humanity restored” thing from Dark Souls. Also, clean your damn room and wash your damn windows.
- APS-C DSLR cameras make no sense. For their weight, you can get a full-frame camera, and for their price you can get an APS-C mirrorless cam that will be way lighter.
- If you want a damn thing, save up and buy that damn thing. Don't buy the alternative thing you don't want. You'll be asking “what if” till you either die or buy the original damn thing.
- people aren't replaceable, but many people can fit their designated role. Not being able to replace your ex-boyfriend with his exact copy doesn't mean no one else can be your boyfriend.
- try a MacBook & iPhone as soon as you can to check whether it's your thing or not, because if it is, oh boy are you in for a treat.
- added sugar is evil, but it's beneficial for the economy. It makes you fat, so you need a car, so you buy fuel. Also, you feel guilty because you're fat, so you buy diet products & things to compensate because you hate your reflection in the mirror. You also pay medical fees to treat your newly developed health problems, and you die a day before retirement. Everyone makes a buck on you eating added sugar but you.
- you can use the freshly removed sticker to remove the sticky residue left by that same sticker.
- static typing doesn't solve jack shit.3 -
!rant
For all of youse that ever wanted to try out Common Lisp and do not know where to start (but are interested in getting some knowledge of Common Lisp) I recommend two things:
As an introductory tutorial:
https://lisperati.com/casting.html/
And as your dev environment:
https://portacle.github.io/
Notice that the dev environment in question is Emacs, regardless of how you might feel about it as a text editor, i can recommend just going through the portacle help that gives you some basic starting points regarding editing. Learn about splitting buffers, evaluating the code you are typing in order for it to appear in the Common Lisp REPL (this one comes with an environment known as SLIME which is very popular in the Lisp world) as well as saving and editing your files.
Portacle is self contained inside of one single directory, so if you by any chance already have an Emacs environment then do not worry, Portacle will not touch any of that. I will admit that as far as I am concerned, Emacs will probably be the biggest hurdle for most people not used to it.
Can I use VS Code? Yes, yes you can, but I am not familiar with setting up a VSCode dev environment for Emacs, or any other environment hat comes close to the live environment that emacs provides for this?
Why the fuck should I try Common Lisp or any Lisp for that matter? You do not have to, I happen to like it a lot and have built applications at work with a different dialect of Lisp known as Clojure which runs in the JVM, do I recommend it? Yeah I do, I love functional programming, Clojure is pretty pure on that (not haskell level imo though, but I am not using Haskell for anything other than academic purposes) and with clojure you get the entire repertoire of Java libraries at your disposal. Moving to Clojure was cake coming from Common Lisp.
Why Common Lisp then if you used Clojure in prod? Mostly historical reasons, I want to just let people know that ANSI Common Lisp has a lot of good things going for it, I selected Clojure since I already knew what I needed from the JVM, and parallelism and concurrency are baked into Clojure, which was a priority. While I could have done the same thing in Common Lisp, I wanted to turn in a deliverable as quickly as possible rather than building the entire thing by myself which would have taken longer (had one week)
Am I getting something out of learning Common Lisp? Depends on you, I am not bringing about the whole "it opens your mind" deal with Lisp dialects as most other people do inside of the community, although I did experience new perspectives as to what programming and a programming language could do, and had fun doing it, maybe you will as well.
Does Lisp stands for Lots of Irritating Superfluous Parentheses or Los in stupid parentheses? Yes, also for Lost of Insidious Silly Parentheses and Lisp is Perfect, use paredit (comes with Portacle) also, Lisp stands for Lisp Is Perfect. None of that List Processing bs, any other definition will do.
Are there any other books? Yes, the famous online text Practical Common Lisp can be easily read online for free, I would recommend the Lisperati tutorial first to get a feel for it since PCL demands more tedious study. There is also Common Lisp a gentle introduction. If you want to go the Clojure route try Clojure for the brave and true.
What about Scheme and the Structure and Interpretation of Computer Programs? Too academic for my taste, and if in Common Lisp you have to do a lot of things on your own, Scheme is a whole other beast. Simple and beautiful really, but I go for practical in terms of Lisp, thus I prefer Common Lisp.
how did you start with Lisp?
I was stupid and thought I should start with it after a failed attempt at learning C++, then Java, and then Javascript when I started programming years ago. I was overwhelmed, but I continued. Then I moved to other things. But always kept Common Lisp close to heart. I am also heavy into A.I, Lisp has a history there and it is used in a lot of new and sort of unknown projects dealing with Knowledge Reasoning and representation. It is also Alien tech that contains many things that just seem super interesting to me such as treating code as data and data as code (back-quoting, macros etc)
I need some inspiration man......show me something? Sure, look for a game called Kandria in youtube, the creator, Shimera (Nicolas Hafner) is an absolute genius in the world of Lisp and a true inspiration. He coded the game in Common Lisp, he is also the person behind portacle. If that were not enough, he might very well also be Shirakumo, another prominent member of the Common Lisp Community.
Ok, you got me, what is the first thing in common lisp that I should try after I install the portacle environment? go to the repl and evaluate this:
(+ 0.1 0.2)
Watch in awe at what you get.
In the truest and original sense of the phrase (MIT based) "happy hacking!"9 -
I have absolutely no respect for developers who can't properly touch-type.
You don't see many cooks who don't know how to handle a knife, do you?12 -
Teaching advanced IT topics like programming or system management has become much harder in only about five years, because many 20 year olds do not know how to effectively work with the file system. I don't blame them: the Microsoft Office applications nudge you strongly towards storing everything in the Cloud (saving files locally requires extra clicks), and on Windows, the folders C:\Users and C:\ are almost hidden in he respective dialogs (open file, save file). Same on macOS. Students also keep loosing files. This used to be an excuse for not doing the work; nowadays, you're able to find the files on their systems by using appropriate tools (e.g. `find`, installed with Git Bash on Windows). And don't get me started on touch-typing... hell, those kids were fast ten years ago with a proper keyboard! Now they're fast with their smartphone, but painstakingly slow on an actual keyboard.8
-
I reset my Linode VPS to vanilla Arch after the blundered attempt to use an unsupported Linux distro. Now I'm reinstalling OpenVPN and decided to try out IPv6 networking over the tunnel. Got my free address block and it is SO AWESOME, even typing the addresses feels nicer. I never want to touch IPv4 octets again.3
-
I have sort of an embarrassing question...
I never learned touch typing, hated it as much as I hated my calligraphy lessons in elementary. Forward a couple of years, I'm a developer and trying to dig deeper into vim seems to require learning touch typing... it has been a struggle to say the least and lowered my speed to a frustrating rate. 😥
I know the arguments for putting the work and learning proper technique but, are there any other arguments out there? I mean, as a developer I find myself using a lot of numbers and symbols which are not totally covered in touch typing curricula, together with a bunch of key combinations...
Idk, maybe I'm just asking for encouragement or different perspectives or unknown advantages about learning touch typing even when you feel fast and confident without it... Thank you guys!11 -
How many of you guys actually do the eight finger touch typing? Is it common among younger devs? And for those who don't, how fast do you consider yourself while coding (like actual mechanical typing of code)?16
-
One of my python students just uses his index fingers to type. And he moves his hands from elbows for each key. He said he completed his post graduation. I don't know how he survived these many years. I advised him to learn touch typing though.
-
I used to learn touch-typing, but playing games without changing keys makes me forget it.
Why the fuck game markers set WASD as default moving keys? In this case people who play the game don't use the keyboard as they have to. Come on, let's use the keyboard in correct way guys...23 -
Are here Vim users using the dvorak layout?
I am thinking of learning (programmer) dvorak but I am way to comfortable with Vim. I think Vim itself would not even be my primary concern since one should not use HJKL anyway. But I also have these bindings for switching tmux panes, vim splits and windows in i3, etc .
I think Dvorak would be a great opportunity to finally learn touch typing but I fear that Vim is not compatible with it.
So what is your experience with these two? Does it work? Is it worth it?2 -
After many years only I have started using the keyboard correctly. It's great to use touch typing, it's faster and it's easier. The keyboard is nothing but a tool to type with and there are instructions to use it.
-
Here's a question. I want to properly master touch typing. My current typing style is a bit weird and ineffective.
I can never remember to actually practice touch typing whenever I get on keyboard. Tips?3 -
Anyone else with a short pinky finds it uncomfortable to type p while touch typing? Thinking of buying an ortholinear keyboard in the hope it'll be more comfortable.10
-
Does anyone here really like typing SQL? I mean just typing queries all day long? Are touch typing and sql related? Next on google: How to build a backend app with only sql?9
-
I was thinking of learning touch typing, but then I read that you only spend 10-20% of the time actually writing code and the rest of the time thinking.
So I decided to learn to think faster...