Lightning Talk: 20 Tools and Techniques that Make You More Creative

Summarized using AI

Lightning Talk: 20 Tools and Techniques that Make You More Creative

Yuki Nishijima • June 24, 2016 • Singapore • Lightning Talk

In this Lightning Talk at the 2016 Red Dot Ruby Conference, Yuki Nishijima, a Software Engineer at Pivotal, shares 20 tools and techniques aimed at enhancing productivity and creativity. The talk emphasizes the use of various software features and tools to streamline tasks for both beginners and experienced developers.

Key points discussed throughout the presentation include:

- Introduction to Speaker: Yuki Nishijima introduces himself, outlining his background in Ruby and involvement with multiple open source projects, including the creation of the didyoumean gem.

- Tools and Techniques:

- Did You Mean Gem: Enables developers to receive suggestions for typos in method names.

- Bundler: Introduces parallel gem installation, which significantly reduces installation time.

- Rails Console: The ability to simulate requests to controller actions for debugging.

- Power Set: Provides detailed output for tests, aiding in the debugging process.

- Watch Command: Automatically runs tests when file changes are detected.

- Git Features: The new 'compact' display option for better visualization of branches.

- Brace Expansion: A shorthand for moving or copying files efficiently via the command line.

- History and Command Reuse: Utilizing terminal history to recall previous commands quickly.

- Tree Command: Displays directory trees for easier navigation of file structures.

- AG (The Silver Searcher): A faster alternative to grep for searching through codebases.

- HTTPI: A more user-friendly alternative to curl for making HTTP requests and formatting JSON output.

- Pigmentize: A tool for syntax highlighting and colorizing code for improved readability.

- Explain Shell: A site that deconstructs shell commands to help users understand their functionality.

- ShiftIt: A window management tool to organize application windows efficiently.

In conclusion, Nishijima's talk emphasizes that these techniques are applicable regardless of experience level and that attendees can expect to leave with at least one useful new tool to enhance their development workflow. The highlighted tools and practices serve to make mundane tasks faster and more intuitive, promoting a more creative coding environment.

Lightning Talk: 20 Tools and Techniques that Make You More Creative
Yuki Nishijima • June 24, 2016 • Singapore • Lightning Talk

Speaker: Yuki Nishijima, Software Engineer, Pivotal

Have you ever been frustrated because you needed to do many things to get a small task done? Here are tools and techniques that can make you more creative! In this talk, I'll share with you ways to speed you up, from Ruby and Rails features, command line tools, shell scripting, browser extensions, keyboard shortcuts, to Mac apps. You are a beginner? Or have more than a decade of experience? No problem! You'll learn at least one technique you don't know yet that you can start using right away!

Speaker's Bio
Yuki was raised in Tokyo and has worked for Pivotal Labs in New York since 2013. He moved back to Tokyo in August 2015 as one of the founding members of Pivotal Labs Tokyo. He is a Ruby committer, the creator of the did_you_mean gem, a maintainer of the kaminari gem, and a frequent contributor to many open source projects including Rails.

Event Page: http://www.reddotrubyconf.com

Produced by Engineers.SG

Help us caption & translate this video!

http://amara.org/v/ONqJ/

Red Dot Ruby Conference 2016

00:00:16.640 thank you um hi everyone um my name is
00:00:19.160 Yuki um I'm really happy to be here
00:00:21.160 today um I'm going to be talking about
00:00:23.640 20,000 technique that you can use to
00:00:25.359 make yourself more uh productive um let
00:00:28.199 me talk about myself um this is me again
00:00:30.720 um I'm on a ruby C I maintain a jam
00:00:33.719 called Kar which is a r p um I'm going
00:00:36.879 to creator of the D gam and basically
00:00:38.960 what it does is um if if you have any
00:00:41.280 Tyles in the in the method and it triy
00:00:43.920 to suggest suggest to you what it should
00:00:45.879 be so it it is basically the C before
00:00:48.280 Ruby so someone someone calls someone
00:00:51.360 calls this J C before
00:00:54.480 Ruby anyway um I work for a company
00:00:57.840 called pel uh we have access in
00:00:59.960 Singapore Sydney and toel um so if you
00:01:02.879 are interested in working a p uh just
00:01:05.119 let me
00:01:07.600 know um going back to the main topic um
00:01:11.000 before I really start uh I'm going to
00:01:12.600 speak really fast so I'm going to upload
00:01:14.840 the slides later so you can take a look
00:01:16.479 uh the slides later okay the first one
00:01:18.960 is actually actually from the diim jam
00:01:21.680 um if you install diim 1.0.2 you can
00:01:24.159 require uh dig mean experimental which
00:01:26.920 enables um dig me's experimental
00:01:29.479 features
00:01:30.400 uh let's take a look at this example
00:01:31.920 which is um there's a typle in the
00:01:34.600 instance variable name and what's going
00:01:36.799 to happen is really trying to call the
00:01:38.439 method on nil so you get an error but if
00:01:41.119 you require DET experimental um it try
00:01:43.479 to find the right correct um instance
00:01:46.280 Val man for you um let's also take a
00:01:49.799 look at this this example um you have a
00:01:52.320 hash and you want to get a value out of
00:01:53.920 it and there's a title in the key name
00:01:55.880 and you get a key key error but again if
00:01:58.360 you require dig experimental um it it
00:02:01.159 will try to um correct the wrong um
00:02:06.520 kire um another another example would be
00:02:09.360 something like this um notice there's a
00:02:11.239 typle in the word initialize and this is
00:02:13.440 tricky because you define the method
00:02:16.200 called initialize and what you really
00:02:17.560 call is new so it's really hard to
00:02:19.519 realize that there a typo but if you
00:02:21.920 enable dising experimental it will
00:02:24.319 display a warning so it's going to be a
00:02:26.160 little easier for you to notice that
00:02:28.400 that's a typo okay number four Bon
00:02:31.400 confli gels um it allows you to insult
00:02:34.480 gems in parallel using threads um by
00:02:37.519 default it set to one and let's say you
00:02:40.519 want install about 200 gems and it takes
00:02:43.360 about two three minutes actually uh but
00:02:45.800 if you set it to like 1610 it only takes
00:02:48.000 30 minutes which is a lot
00:02:49.959 faster uh the next one is U making a
00:02:52.280 request on real console um if you are on
00:02:54.800 real console you can actually make a
00:02:56.360 fake request to the controller by saying
00:02:58.840 after get path uh you can also say um
00:03:02.239 after post or after delete so this is
00:03:05.080 really handy if you want to process a
00:03:06.360 controller action okay the next one is
00:03:08.920 power set um let's say you have a test
00:03:11.840 and that's weding and you don't know
00:03:13.280 what's going on and what it does is uh
00:03:15.480 it displays um description social
00:03:17.920 messages for you so this is really
00:03:19.959 useful if you have a mysterious Val in
00:03:21.680 your test there's also a JavaScript
00:03:23.879 implementation so if you have a
00:03:25.280 JavaScript R project you should
00:03:27.440 definitely con using this to the next
00:03:30.280 one is what is is a watch command it
00:03:33.080 executes a command uh periodically uh
00:03:35.599 let's take a look at this example on the
00:03:37.720 right side I'm running R test and there
00:03:39.959 a filing test and on the left side I'm
00:03:42.120 going to change a file and save it and
00:03:45.280 in the watch command runs break test and
00:03:48.720 I and here now you can see green um
00:03:52.319 usually I have to stop emac and go back
00:03:54.680 to the terminal and run the test but if
00:03:56.879 you use watch you don't have to do that
00:03:58.680 uh which is great okay the next one is a
00:04:01.360 new thing of getf uh this is actually
00:04:04.519 new that uh new thing that came out last
00:04:07.879 week um which is called compassion heris
00:04:11.159 um I think you've seen something like
00:04:13.120 example on the right side which is quite
00:04:15.360 not right but if you set compaction
00:04:17.479 fistic to tr then the G will be a little
00:04:21.160 a little smarter to display uh the
00:04:24.759 deaths the next one is bre expansion um
00:04:28.000 I think you've uh most of you know that
00:04:30.919 uh you can use uh you can move a file by
00:04:32.919 using um MV but you can also use
00:04:35.320 something like this to move a file which
00:04:37.120 is a little shorter this is called
00:04:39.160 breast expansion and you can also use
00:04:41.600 this with a lot of more commands like
00:04:45.199 CP the next one is his stre um terminal
00:04:48.479 actually remembers um the command that
00:04:50.639 you ran before so if you said his stre
00:04:53.400 it's displays all the commands you ran
00:04:55.360 before and here you can see some numbers
00:04:57.440 and what you can do with them is that to
00:04:58.919 run a specific spe command that is
00:05:00.840 associated to that
00:05:02.360 number you can also say ban band to run
00:05:05.600 the last command that you just run like
00:05:09.240 this and sometimes you don't really
00:05:11.360 remember uh the whole command but if you
00:05:14.880 if you only remember the first or second
00:05:17.000 character you can say uh control r u in
00:05:20.240 this example I'm trying to run right
00:05:21.840 test something something something which
00:05:23.080 I don't really remember but I just but I
00:05:25.319 just have to hit control R and hit W and
00:05:28.000 then the terminal will give me that the
00:05:29.720 right command that I that I would like
00:05:31.240 to
00:05:32.680 run the next one is three it's like
00:05:35.120 losos but it also displays in the
00:05:37.080 directory tree uh so it so if you don't
00:05:39.360 know what's inside the directory this is
00:05:40.919 really
00:05:41.960 handy you can also find a file if you
00:05:44.240 use it U with uh
00:05:46.639 grip the next one is Agent uh it's a Cod
00:05:49.880 searching tool a similar to act but it's
00:05:51.960 a lot faster um here I'm trying to find
00:05:54.840 files which which have um the word leral
00:05:58.440 um and the results looks like pretty
00:06:00.560 much the same as what act provides but
00:06:03.520 it's actually a lot faster than act so
00:06:05.600 if you think Act is slow then you should
00:06:07.160 definitely consider using AG the next
00:06:10.479 one is HP Pi it's a it is basically a
00:06:13.160 ver version of curl like let's say I
00:06:15.520 make a request to Ruby jams and you get
00:06:17.639 a result like this which is not really
00:06:19.599 readable uh but if you replace Cur with
00:06:22.400 hdp then it as well pretty far the Jason
00:06:25.199 so it's it's going to be a lot easier to
00:06:27.440 read the Jason but sometimes you don't
00:06:30.360 want to install um HD P because it's a
00:06:33.120 python implementation and you don't want
00:06:34.880 to install python just to be able to see
00:06:37.240 Jon and that's when J command comes
00:06:40.319 really really
00:06:41.720 handy
00:06:43.280 um so how can we use it um you make a
00:06:46.919 cur request and you can just pass you
00:06:48.919 can just PPE the result to JQ it will
00:06:51.400 just pretty far result for you and
00:06:53.680 what's nice what's nice about this is
00:06:55.440 that uh if you want to know what's
00:06:57.000 inside dependences development it will
00:06:59.199 just filter the results so if you have a
00:07:02.039 really really jent result um you don't
00:07:04.039 have to like uh scroll down to the
00:07:05.879 bottom you can just say JQ like this
00:07:07.919 array or and this property something
00:07:10.080 like that so it's really
00:07:11.879 useful the next one is pigment ties
00:07:14.400 which is a syntax Ty written in Python
00:07:17.280 um I used to use more before but it's
00:07:19.039 not really pretty so um I started using
00:07:21.840 pigment ties so if you use it um it
00:07:24.199 colorizes what's inside file so it's
00:07:26.479 going to be a lot easier to read and I
00:07:28.639 have this area on my personal computer
00:07:30.680 so if uh so I don't have to think about
00:07:33.039 uh what command I should be using to
00:07:34.840 display colorized results so it's going
00:07:38.120 to be like
00:07:39.240 this um sometimes you go to stack F and
00:07:42.919 then copy p a command but you don't know
00:07:45.199 really what's what it's really doing um
00:07:47.759 in that case you can just go to explain
00:07:49.199 shell.com and pass that command and
00:07:51.520 hopefully it's going to explain uh what
00:07:53.520 it actually does it it's not actually
00:07:56.080 100% smart so sometimes it doesn't work
00:07:58.800 then this is open source project so if
00:08:00.639 you think you can improve then you can
00:08:02.240 just go to get and P Quest the last one
00:08:05.360 is shift it um sometimes you want to see
00:08:08.039 you want to see two windows side by side
00:08:10.080 but it's a little hard to adjust Windows
00:08:12.120 manually and what it does is if you hit
00:08:14.560 us uh certain command it will position
00:08:17.360 the window on the right or left on the
00:08:19.879 bottom or bot or top so it's really
00:08:22.960 useful if you want to see two thingss um
00:08:25.520 side by side okay that's the 20 Tails uh
00:08:28.479 that's it thank you so much
00:08:33.360 much
Explore all talks recorded at Red Dot Ruby Conference 2016
+17