BLOG: My name is Anders and I’m allergic to manual work

…and yet I write a blog.


Me!

Hello fellow community members, I am Anders Jensen, and I work as an RPA developer.


I’ve read more than 6000 UiPath Forum posts, especially when I wanted to get good. Nowadays, I enjoy the great community feeling.

When I was an aspiring RPA developer, I used the UiPath Forum a lot to get better. My strategy was mainly to read a lot of topics. Whenever I stumbled across something I didn’t completely understand, I would replicate the sound answers from people like Palaniyappan in my own UiPath instance repeatedly until I got it. I still read many topics and try to answer some of them myself (mainly in the UiPath subcategories VB.NET string/date manipulations, Excel, and Regex).

The future posts in this blog will be about:

:bulb: My daily life as an RPA Developer

:bulb: How I don’t believe it’s of the highest priority to be the most technical RPA developer, but what I think you should focus on instead

:bulb: Written interviews with interesting forum members. A collaboration with Regex-@Steven_McKeering, who has created the MEGA Regex thread

:bulb: How I use teaching on my YouTube channel to improve as an RPA developer

:bulb: The posts will be a mix of RPA knowledge and fun (like pictures of my awesome commute or lunch)

I will be happy if you:

:clap: Drop a comment. Just a small “Hey” is appreciated

:clap: Questions. I will try to answer them all

:clap: Feedback. Could I do something better? Don’t hesitate to comment, as I’m very keen to improve

:clap: Start your own PPA blog in this forum. It keeps me motivated to see how other skilled RPA developers are structuring their work. Please post the link to your UiPath Forum blog below :slightly_smiling_face:

Links:

:movie_camera: YouTube: https://www.youtube.com/c/andersjensenorg

:briefcase: Feel free to connect with/contact me on LinkedIn, where I also blog about UiPath/RPA: https://www.linkedin.com/in/andersjensenorg

10 Likes

When we face a UiPath problem, that we can’t directly solve, our go-to approach should be to search either the UiPath Forum or Stack Overflow (VB/Pythond) for a solution (reduce work, since we don’t need to “invent” anything new).

Today I needed to split a PDF by dynamic page range and since I couldn’t find a solution, I had to create it myself (bummer :grinning:).

Do it yourself:
Even though you don’t need to split PDF’s, I can recommend doing the case, if you want a basic understanding of loops and working with files.

Case:
We have a PDF, which consist of 3 invoices. Problem: One or more of the invoices will be a 2-page invoice and we don’t know which. Sample PDF: InvoicesXYZ.pdf (59.2 KB). What we know is that our PDF’s are numbered, meaning that if it’s a one-pager, we can see a “Page 1” on the page and if it’s a two-pager, we will have a “Page 1” on the first page and a “Page 2” on the second page.

Solution Step by Step:

  1. We create an outter For Each, where we look in our project folder for merged invoices. In our case there is only one: InvoicesXYZ.pdf. Hint: Use the .NET method Directory.GetFiles(strYourProjectPath).

  2. Get PDF Page Count. In order to know when to stop, we find the total page count of our PDF and store it as an integer, intTotalPageNumber.

  3. While loop. This loop will iterate through each page of our PDF. In the end of the loop we place an assign, that will add one to our index variable called intCurrentPage. The condition of the loop will then be to run as long as intCurrentPage is less than or equal to intTotalPageNumber.

  4. Read PDF Text. We read the current page into a string variable (strTextInvoice). The range should therefore be set to intCurrentPage.

  5. Matches. We use the Matches with a simple pattern (“Page 2”) on our string variable. The result is stored into the an IEnumerable of Match (you can see this as a collection). What we did here was to do a Regex search for “Page 2” (Steven are you watching? :grinning:). This could result in either that our IEnumerable would consist of 0 or 1 element (if we are on Page 1, we will have zero elements and vice versa).

  6. If. We simply ask if our ienMatches is having more than 0 objects. If no we will extract our pdf “normally” meaning our Range will be the intCurrentPage.ToString. We use the output path strProjectPath + “\Result” + path.GetFileNameWithoutExtension(item) + intCurrentPage.ToString + “.pdf”, giving it a unique name. If yes we know that this is a two-pager and we therefore have to append this page to the previous extracted. We do this by setting the range to a range going from the previous page to the current page ("" + (intCurrentPage-1).ToString + “-” + (intCurrentPage).ToString) and overwrite the previous extraced PDF. Again we use the output syntax of strProjectPath + “\Result” + path.GetFileNameWithoutExtension(item) + (intCurrentPage-1).ToString + “.pdf”. Remind yourself that we use the previous page as name to overwrite the previously extracted.

  7. Does your pages range to more than 2 pages. Easy: Create a nested While loop and solve it trivially.

Screenshot and file:

Main.xaml (8.6 KB)

Now we can post the solution to an unsolved topic on the UiPath Forum, so others won’t have to create the work: Split Pdf into multiple ones

1 Like

My favourite podcasts?

I have an 18 km commute to the office. Whether I chose to train (= going by my bike back and forth :bike:) or car, I prefer to have something in my ears.

One of my favourite podcast is Formulated Automation and I was fortunate to appear in one episode. If you want to know, how I got into UiPath and the RPA industry, I can recommend the interview (even if you’re not commuting).

Today I started the episode with Tom Taulli, who wrote the RPA Handbook & AI Basics.

Can any of you recommend other great podcasts for my commutes? Doesn’t necessarily needs to be about RPA, but it would be nice

Ps. I’m not affiliated with the podcast, I just think it’s very cool and give me a nice background knowledge, I can use in my career.

1 Like

Today I was taken to UiPath school by @Parth_Doshi, who showed me, how to build an App with UiPath Apps. I really love this comminity, who is always ready to share knowledge. Thanks Parth, the video will we uploaded in a couple of weeks :slightly_smiling_face:

1 Like

Doing two of the things I love today - UiPath and teaching :heart_eyes:

I am facilitating a all-day UiPath Intro workshop for my co-workers. They are a mix of technical testers, developers and business people.

4 Likes

Problem: The aircondition at my office is adding a “swush swush…” sound to the background of my videos, when I record with my Blue Yeti Condensed microphone. And even Audacity can’t fix it completely.

Solution: I’ve bought three new items to my portfolio:

  • Røde Podcaster (dynamic usb microphone)

  • Røde SMR (professional shock mount)

  • Røde PSA1 (studio arm)

Result: Hopefully a upgrade removing the annoying sound, but who knows.

Recording UiPath RPA tutorials is only a hobby to me and it will always stay as such - since I’m addicted to having colleagues and everything that comes with it. But it’s a very nice hobby, where I can do all the things that find my interest and what I don’t have time for in the office hours.

Today it’s sunday and I’m back to making videos on my own after a couple of months with collaborations. I learned a lot working with skilled people from the industry, but I also enjoy my introvert moments.

Plan for today:

  • Combining Document Understanding and REFramework. Have any of you put thought into the problem of the Validation Station in a dispatcher/performer setup? The validation station could potentially time out the performer, if the user doesn’t react in 24 hours.

  • UiPath and REST API

  • Have a nice time :slight_smile:

2 Likes

It’s been a while…

…I’m not sure, how many that are reading this, but here goes :slight_smile:

I like to keep a diary/journal and this and the rest of my SoMe activity can be seen as such.

Back in December I was a part of arranging a challenge (together 2 other forum users and the forum/community staff) here on the Forum: Challenges - UiPath Community Forum which mainly was a fun get-to-gether. If you’re an aspiring RPA developer, you will learn a lot by solving the 8 challenges (although there are no prizes left to be won) and see the solutions of many skilled developers in the threads there.

One person who was a part of arranging the challenges, was @ppr . A man I look up to in terms of his always sound answers here on the forum. In a talk we had after the challenge was done, he revealed that he was working on a UiPath course. Hey ppr, if you read this, how’s the progress and do you need a customer (or beta tester for that matter)? :raising_hand_man:

The nice UiPath socks is a gift.

3 Likes

good read. I like your youtube tutorials. Thanks for that.

1 Like

Hey christoph.g - thanks a lot :slight_smile:

Hey Blog.

I received one of the UiPath Most Valued Professional awards this year. Why did I get such a nice award when I’m an average technical RPA developer? I don’t exactly know the jury’s thoughts, but I’ll share how I see it in the next blog posts here.

Long story short: There are other just as important aspects to being a UiPath MVP (and a good RPA developer).

Hard skills + Soft skills + fast learner = A great RPA developer

Stay tuned!

Can you find me?

2 Likes

Hey blog!

I totally forgot you, sorry :cry:

The last months have been eventful. Mainly I took four months of Paternity leave with my newborn son, but now I’m back. And with an upgraded setup. Ready for developing automation (UiPath and VBA mainly) and recording videos.

See you around, and I’ll try to come back to you very soon.

Kind regards, Anders

2 Likes

REAL-LIFE TEACHING

Teaching at YouTube is giving me a lot, but damn I miss the interaction with people in real life. That might come now.

Today I had an initial meeting with the UiPath Academic Alliance about setting up an entire semester course at Danish Technical University.

If this comes to life, I will teach in a way I wanted as a university student myself:

:small_blue_diamond: All lectures streamed live on YouTube, so the students can lie in their bed taking the class instead of spending time commuting to class.

:small_blue_diamond: Answering all questions in public (SoMe) so that everyone can benefit.

:small_blue_diamond: And maybe most important: Demonstrations, not presentations.

Thanks a lot, Vladimir and Florin, for a pleasant and productive talk

1 Like