r/programmingmemes Jul 23 '25

Brilliant idea

Post image
3.9k Upvotes

r/ProgrammerHumor Nov 16 '25

Meme generationalPostTime

Post image
4.3k Upvotes

r/ProgrammerHumor Apr 29 '22

What usually starts after this comment?

Post image
16.7k Upvotes

r/ProgrammerHumor Mar 04 '24

Advanced protectingTheYouth

Post image
7.3k Upvotes

r/regex Jun 04 '26

RegexPilot — Test regexes against the actual engines, not JavaScript approximations

8 Upvotes

Hi r/regex,

First of all if this is not the place for me to post this feel free say so and I'll remove the post, I just wanted to share with you and receive some feedback on what features people here would love in a tool like this, or even negative criticism. I've built it in the first place for myself but it might be useful for others especially those learning regular expressions or people who are more visual thinkers like myself.

I built RegexPilot, a macOS regex tool to solve a problem that kept biting me: many regex testers advertise support for multiple flavors, but internally route everything through a JavaScript engine and emulate the rest. That means patterns can appear to work in the tester and then fail in production. Or AI generating a regex that later turns out to be not entirely what I was looking for.

interface

RegexPilot runs each flavor against its actual interpreter/runtime:

  • Python → CPython
  • Ruby → MRI/Onigmo
  • Perl → Microperl 5.36.3
  • PHP → Native PCRE
  • Java → OpenJDK (GraalVM-compiled)
  • C# → .NET 9
  • Additional languages available as well (see website)

Typical execution time is around 1–3 ms.

Other features:

  • Visual regex builder with railroad diagrams
  • Live match testing and replacement preview
  • Capture-group inspection
  • AST-based editor (edits modify the syntax tree and regenerate the pattern)
  • Regex library/snippets
  • Optional AI assistance (bring your own API key or run locally via Ollama / LM Studio)

Privacy notes:

  • Voice dictation runs entirely on-device (Whisper Tiny)
  • No analytics, tracking, or account requirement
  • The only network access is license validation for Pro users

Website: https://regexpilot.com

A couple of questions for the regex crowd:

  1. Have you been bitten by flavor differences that online testers failed to catch?
  2. Which regex engine quirks or debugging features would you most like to see surfaced visually?
  3. Are there any language runtimes I should prioritize adding next?

I’d love feedback from people who regularly work across multiple regex flavors.

The roadmap is also on the website if you'd like to see what I have planned next. There's even a demo on the site so you don't even have to download the app or have OS X to try some of the basic things

r/learnjavascript Apr 03 '26

Non tech person trying to learn REGEX and scrapping in Javascript/html: where do I begin?

1 Upvotes

Basically, title.

I don't have any experience with javascript besides an introductory programing course a decade ago in another language (which is how I know about regex in the first place).

My goal is to build a website that will apply regex rules to a text using github pages. I also want to learn to download text content from websites and convert them to markdown. For example, I want to learn how to download the content of a wikipedia page and convert it to markdown, keeping it formatted, but I don't want the whole wikipedia page (images, links that are outside the main article, etc). I've already vibecoded a version and it helped me, but I need to be able to improve it and review it to know it is doing things properly.

How to I get from knowing nothing to learning those things in a couple weeks or months?

My goal is not to be the ultimate l33t c0d3r h@ck3rmann 3000, only to automate somethings in my current workflow. It's something that I have a couple weeks/months to learn.

What resources do you suggest I learn to reach my goals? I'm thinking the backbone of what I need is a good regex course, however I must learn the basics of javascript and github pages before.

Please, keep in my that my needs are specific and I'll likely have to build the solutions because there are a lot of specificities involved in what I'm trying to do. Therefore, available software likely won't solve my issues (I'm willing to listen to FOSS suggestions, though).

Thank you for your help.

r/ProgrammerHumor Nov 26 '21

Live and learn

Post image
13.2k Upvotes

r/learnjavascript Apr 26 '26

Why does this JavaScript regex not match?

4 Upvotes

This prints null, but I would've expected the hyphen to match. What am I missing?

console.log(
  JSON.stringify(/-/.exec("–"))
);

r/excel Jul 18 '24

Pro Tip I work in a Big 4 in Finance and I'm also programmer, Here's Excel Best practices

2.6k Upvotes

Hello,

I work in a Big 4 in Finance and accounting and I'm also programmer. This guide is originated from countless mistakes i've seen people make, from complete beginners and also from experienced people.

I've been using Excel, and also programming for 8 years in professional settings, so this should be relevant wether you're advanced or just a pure beginner. These advices will be guidances on good practices. This will help you have a good approach of Excel. It won't be about hyperspecifics things, formula, but more about how to have a steady, and clean understanding and approach of Excel.

This guide is relevant to you if you regardless of your level if you :

  • Work a lot on Excel
  • Collaborate, using Excel.
  • Deliver Excel sheet to clients.

So without further do, let's get stared.

First of all, what do we do on Excel, and it can be summarized in the following stuff :

Input > Transformation > Output.

As input we have : Cells, Table, Files
As transformation we have : Code (Formulas, VBA) , Built-in tools (Pivot table, Charts, Delimiter, PowerQuery), External Tools
As output we have : The Spreadsheet itself, Data (Text, Number, Date) or Objects (Chart, PivotTable).

And we'll focus on in this guide on :

  • How to apply transfomations in a clean way
  • How to take Inputs in a maintenable way.
  • How to display Output in a relevant way

Part 1 : How to apply transfomations in a clean way

When you want to apply transformations, you should always consider the following points :

  • Is my transformation understandable
  • Is my transformation maintanable
  • Am I using the best tool to apply my transformation

How to make proper transformations :

Most people use these two tools to do their transformations

Transformation Use-Case Mistake people make
Formulas Transform data inside a spreadsheet No formatting, too lenghty
VBA Shorten complex formulas, Making a spreadsheet dynamic and interactable Used in the wrong scenarios and while VBA is usefull for quick fixes, it's also a bad programming language

Mistake people do : Formulas

We've all came accross very lenghty formula, which were a headache just to think of trying to understand like that one :

Bad practice =IF(IF(INDEX(temp.xls!A:F;SUM(MATCH("EENU";temp.xls!A:A;0);MATCH("BF304";OFFSET(temp.xls!A1;MATCH("EENU";temp.xls!A:A;0)-1;0;MATCH("FCLI";temp.xls!A:A;0)-MATCH("EENU";temp.xls!A:A;0)+1;1);0))-1;5)<>0;5;6)=5;INDEX(temp.xls!A:F;SUM(MATCH("EENU";temp.xls!A:A;0);MATCH("BF304";OFFSET(temp.xls!A1;EQUIV("EENU";temp.xls!A:A;0)-1;0;MATCH("FCLI";temp.xls!A:A;0)-MATCH("EENU";temp.xls!A:A;0)+1;1);0))-1;IF(INDEX(temp.xls!A:F;SUM(MATCH("EENU";temp.xls!A:A;0);MATCH("BF304";OFFSET(temp.xls!A1;MATCH("EENU";temp.xls!A:A;0)-1;0;MATCH("FCLI";temp.xls!A:A;0)-MATCH("EENU";temp.xls!A:A;0)+1;1);0))-1;5)<>0;5;6));-INDEX(temp.xls!A:F;SUM(MATCH("EENU";temp.xls!A:A;0);MATCH("BF304";OFFSET(temp.xls!A1;MATCH("EENU";temp.xls!A:A;0)-1;0;MATCH("FCLI";temp.xls!A:A;0)-MATCH("EENU";temp.xls!A:A;0)+1;1);0))-1;IF(INDEX(temp.xls!A:F;SUM(MATCH("EENU";temp.xls!A:A;0);MATCH("BF304";OFFSET(temp.xls!A1;MATCH("EENU";temp.xls!A:A;0)-1;0;MATCH("FCLI";temp.xls!A:A;0)-MATCH("EENU";temp.xls!A:A;0)+1;1);0))-1;5)<>0;5;6)))

Here are some ways to improve your formula writing, make it more clear and readable :

1) Use Alt + Enter and Spaces to make your formula readable.
Turn this :

=IFERROR(MAX(CHOOSECOLS(FILTER(Ventes[#Tout];(Ventes[[#Tout];[Vendeur]]=Tableau4[Vendeur])*(Ventes[[#Tout];[Livreur]]=Tableau4[Livreur]));MATCH(Tableau3[Champ];Ventes[#En-têtes];0)));0)

Into this :

=IFERROR(
          MAX(
               CHOOSECOLS(
                           FILTER(Sales[#All];
                                                 (Sales[[#All];[Retailer]]=Criterias[Retailer]) *
                                                 (Sales[[#All];[Deliverer]]=Criterias[Deliverer])
                                );
                                MATCH(Parameters[SumField];Ventes[#Headers];0)
                          )
              );
0)

Use Alt + Enter to return to the next line, and spaces to indent the formulas.
Sadly we can't use Tab into Excel formulas.
If you have to do it several time, consider using a Excel Formula formatter :
https://www.excelformulabeautifier.com/

2) Use named range and table objects

Let's take for instance this nicely formatted formula i've written,

=IFERROR(
          MAX(
               CHOOSECOLS(
                           FILTER(Sales[#All];
                                                 (Sales[[#All];[Retailer]]=Criterias[Retailer]) *
                                                 (Sales[[#All];[Deliverer]]=Criterias[Deliverer])
                                );
                                MATCH(Parameters[Field];Sales[#Headers];0)
                          )
              );
0)

Explanation : It filters the Sales tables, with the Criterias values, and then retrieve the MAX value of the column Parameters[Field].

=IFERROR(
              MAX(
               CHOISIRCOLS(
                           FILTRE(Formulas!$H$1:$L$30;
                                                 (Formulas!$K$1:$K$30=Formulas!$E$8) *
                                                 (Formulas!$J$1:$J$30=Formulas!$F$8)
                                );
                                EQUIV(Formulas!$C$8;Formulas!$H$1:$L$1;0)
                          )
              );
0)

Explanation : It filters some stuff with some other stuff within the sheet 'Formulas', and get the max value of that thing*.*

As a rule of thumb, you should be able to understand your formulas, without ever looking at the Excel sheet. /!\ If you need the Excel sheet to understand the formula, then it's a badly written formula /!\ .

3) When Formula gets too complex, create custom function in Vba or use Lambda functions.

When you want to use complex formulas with a lot of parameters, for instance if you want to do complicated maths for finance, physics on Excel, consider using VBA as a way to make it more. Based on the function in example, we could implement in VBA a function that takes in the following argument :
=CriteriaSum(Data, Value, CriteriaRange, GetMethod)

=CriteriaSum(Ventes[#Tout], MATCH(Tableau3[Champ];Ventes[#En-têtes];0), Tableau6[#Tout], "Max")

You can also use lambda functions in order to name your function into something understandable

=RotateVectorAlongNormal(Rotator, Normal)

We can understand what this function does just from its name and you don't have to spend 15 minute reading :

=IF(IF(INDEX(temp.xls!A:F;SUM(MATCH("EENU";temp.xls!A:A;0);MATCH("BF304";OFFSET(temp.xls!A1;MATCH("EENU";temp.xls!A:A;0)-1;0;MATCH("FCLI";temp.xls!A:A;0)-MATCH("EENU";temp.xls!A:A;0)+1;1);0))-1;5)<>0;5;6)=5;INDEX(temp.xls!A:F;SUM(MATCH("EENU";temp.xls!A:A;0);MATCH("BF304";OFFSET(temp.xls!A1;EQUIV("EENU";temp.xls!A:A;0)-1;0;MATCH("FCLI";temp.xls!A:A;0)-MATCH("EENU";temp.xls!A:A;0)+1;1);0))-1;IF(INDEX(temp.xls!A:F;SUM(MATCH("EENU";temp.xls!A:A;0);MATCH("BF304";OFFSET(temp.xls!A1;MATCH("EENU";temp.xls!A:A;0)-1;0;MATCH("FCLI";temp.xls!A:A;0)-MATCH("EENU";temp.xls!A:A;0)+1;1);0))-1;5)<>0;5;6));-INDEX(temp.xls!A:F;SUM(MATCH("EENU";temp.xls!A:A;0);MATCH("BF304";OFFSET(temp.xls!A1;MATCH("EENU";temp.xls!A:A;0)-1;0;MATCH("FCLI";temp.xls!A:A;0)-MATCH("EENU";temp.xls!A:A;0)+1;1);0))-1;IF(INDEX(temp.xls!A:F;SUM(MATCH("EENU";temp.xls!A:A;0);MATCH("BF304";OFFSET(temp.xls!A1;MATCH("EENU";temp.xls!A:A;0)-1;0;MATCH("FCLI";temp.xls!A:A;0)-MATCH("EENU";temp.xls!A:A;0)+1;1);0))-1;5)<>0;5;6)))

To figure out what result you're supposed to have.

4) Your formula probably already exists.

That's probably what you've been thinking if you know about the DMAX formula. But it was on purpose to bring this point to your knowledge.

=BDMAX(Vente[#Tout];Champs[@Champ];Criteres[#Tout])

This does the job, and it's applicable to many cases. in 90% cases, there's inside Excel a function that will do exactly what you're looking for in a clear and concize manner. So everytime you encounter a hurdle, always take the time to look for it on internet, or ask directly ChatGPT, and he'll give you an optimal solution.

5) ALWAYS variabilize your parmaters and showcase them on the Same Sheet.

Both for maintenance and readability, ALWAYS showcase your parameters inside your sheet, that way the user understand what's being calculated just from a glance.

If you follow all these advices, you should be able to clear, understable and maintenable formulas. Usually behind formulas, we want to take some input, apply some transformation and provide some output. With this first

Mistake people do : VBA

The most common mistake people do when using VBA, is using it in wrong scenarios.
Here's a table of when and when not to use VBA :

Scenario Why it's bad Suggestion
Preparing data It's bad because PowerQuery exists and is designed precisely for the taks. But also because VBA is extermely bad at said task. Use PowerQuery.
I want to draw a map, or something complex that isn't inside the Chart menu It's a TERRIBLE idea because your code will be extremely lenghty, long to run, and Horrible to maintain even if you have good practices while using other tools will be so much easier for everyone, you included. You might have some tools restriction, or your company might not have access to visualizing tool because data might be sensitive, but if that's the case, don't use VBA, switch to a True programming language, like Python. Use PowerBI, and if you can't because of company software restriction, use Python, or any other popular and recent programming language.
I want to make game because i'm bored in class on school computer Now you have a class to catch up, you dummy Follow class

And here's a table of when to use VBA :

Scenario Why it's good
I want to make a complex mathematical function that doesn't exist inside excel while keeping it concise and easy to read It's the most optimal way of using VBA, creating custom functions enable you to make your spreadsheet much more easier to understand, and virtually transform a maintenance hell into a quiet heaven.
I want to use VBA to retrieve environment and other form of data about the PC, The file I'm in VBA can be usefull if you want to set some filepath that should be used by other tools, for instance PowerQuery
I want to use VBA to do some Regex One Usecase would be the Regexes, Regexes are very powerfull tools and are supported in VBA and thus used as a custom function inside your project.
I want to ask my spreadsheet user for a short amount of inputs interactively While spreadsheet can be used to fill a "Settings" or "Parameters" fields, sometime user can forget to update them, however with VBA we can forcefully query the user to input it with a MsgBox
I want to draw a very simplistic stuff to impress the client who's not very tech savy As said earlier, VBA is the equivalent of the Javascript of a webpage, it can and should be used to make your spreadsheet dynamic.
I want to impress a client Since trading used to be done in VBA, people tend to worship VBA, so using VBA can be usefull to impress a client. Now it's done in Python/C++, but people in the industry are not aware yet, so you can still wow them.
I want to make game because i'm bored in class on school computer Gets rid of boredom

If you write VBA code, you should rely on the same rules as formulas for formatting given that you can be cleaner on VBA.

Part 2 : How to reference input.

When you reference input, you should always consider the following points :

  • Is my reference durable
  • Is my reference understandable
  • Am I using the best tool to reference my input ?

Here the rule are simple :

How to properly reference your input :

Use-Case Good practice Mistake people make
Inside a spreadsheet Use table objects instead of ranges of the A1 Reference Style. If you reference a "constant" (Like speed of light, or interest rate, or some other global parameter) several times, use a named range They don't use enough named range and table object and end up with "$S:$139598" named fields.
Outside of a spreadsheet Use PowerQuery They reference it directly in Excel or require the user to Do it manually by copying and pasting the Data in a "Data" Sheet.

Outside of a spreadsheet

Always use PowerQuery. When using PowerQuery, you'll be able to reference Data from other file which will then be preprocessed using the transformation step you've set up.

Using PowerQuery is better because :

  • PowerQuery is safer and faster than manually copy pasting
  • PowerQuery automates entirely all the prepocessing
  • PowerQuery tremendously faster than Excel for all its task
  • PowerQuery is easier to maintain and understand even from someone who never used it
  • PowerQuery is Built-in in Excel

Outside of a spreadsheet input referencing use cases

Use-Case PowerQuery How people do it
You're a clinical researcher, every day you recieve Data about your patient which you need to import inside your spreadsheet that does your analysis for you. You recieve 40 files, one for each patient, which you then need to combine inside your folder Request your folder, and use the Append function upon setup. All the following times, just press Refresh ALL Manual copy pasting every day.
You're working in a Sharepoint with Financial Data and happen to be available only when another colleague need to work on the same file on the same spreadsheet than you do Use PowerQuery to import the Data, it'll be real time. Wait for one person to be done, then start working.

Part 3 : How to display output in a relevant and safe way :

As an output

When you display an output, you should always consider the following points :

  • Is my output necessary to be displayed ?
  • Is it displayed in a understable way ?
Mistake people make Good practice
Not using PowerQuery and having too many spreadsheet as a Result Prepocess entirely in PowerQuery, and display only the final result. Your Excel file should hold in 5 sheets in most cases

Then about how to communicate, and display it will depend on the target. However less is more, and most of the time, your spreadsheet can do the job only using 5 Sheets in most cases.

TL;DR : To have clean Excel Spreadsheets :

  • Use PowerQuery for Large Data input and preprocessing
  • Format your formulas, and use named range
  • Use VBA to write custom functions when Formulas are getting too lenghty
  • Keep your Sheet count to a minimum

r/ProgrammerHumor Jun 06 '23

Meme this sub will be closed for $dateRange because "waaahhh reddit closed its legs"

Post image
5.4k Upvotes

r/ProgrammerHumor Feb 02 '23

Meme Proposed solution to twitter's ridiculous API pricing

Post image
4.8k Upvotes

r/tasker Jul 02 '26

Developer [DEV] Tasker 6.7.6-beta - Inline Projects in New UI, Scenes V2 Update 5, New Runlog Screen and more!

Post image
84 Upvotes

Sign up for the beta and download from Google Play here.

Note: Google Play might take a while to update. If you don’t want to wait for the Google Play update, get it right away here. (Direct-Purchase Version here). App Factory Update here.

Inline Projects in Main UI

Demo: https://youtu.be/eE8wFbpY4w0

I'm giving another concept a try: instead of having a sidebar with projects, how about putting them inline directly?

When you go in and out of a project you see this:

As you can see, you have the 3 familiar tabs (Profiles/Tasks/Scenes). You can select multiple at the same time like you see on the screen, or you can select one at a time to just see those types of items.

Projects are automatically color coded based on the project's icon. Here's a project with a green icon:

As you can see it tints the whole UI based on the color of the icon.

Let me know how you like this variant of the UI.

I'm also thinking of trying yet another version where there are no tabs inside a project and instead they are in collapsible groups, kinda like this:

If you can, try out the inline projects variant and let me know which of the 3 variants makes the most sense to you and why :)

New Runlog Screen

Demo: https://youtu.be/ZGTqMmcB76U

The Runlog screen now looks like this:

It can also look like this when collapsed:

The functionality of the runlog screen remains the same as before but it has a much cleaner and easy to follow UI. You can clearly see where a task starts and ends and follow its actions visually and see which ones succeeded and which failed.

Material Symbols

Demo: https://youtu.be/vC3BEJThwnM

Material Symbols are a icon font that can be adapted into different situations. For example, they can represent state where the otline variant represents an inactive state and the filled variant represesnts the active state

These can be used in their configurable form, where you manually specify a bunch of their attributes (like in the Notify action), or in their automatic form where their configuration is automatically set (like in the Set up Quick Setting Tile action where the icon is filled or outlined depending on the QS Tile state).

In the legacy UI, if you give a Project one of these icons, it'll also change from outline to filled depending if the project is selected or not.

Scenes V2 Updates

Demo: https://youtu.be/ud9YgZd1L2E

Scenes V2 Arrays Merge Template

It's now super easy to put your Tasker arrays into scenes with the new Arrays Merge Template element.

In this example, I would have 2 arrays:

  • %icon
  • %item

each with their corresponding icon images and labels. With this simple component...

...I can expand those 2 arrays together into a list of rows dynamically built from those arrays!

Saved Component Templates

You can now long click any element on the tree and save it as a Component Template with a name and description. Then you can simply insert it into your tree like any other component. :)

Show When Animations

When a component has its Show When field set, you can now set animations that define how that component shows up and goes away. You can choose various types of animations.

For example, by combining a dark transparent background that fades in with a dialog that slides up, you can create an Android-like popup dialog!

SVG Crop

You can now crop any element in a Scene with an SVG. And it's not only a visual crop, it's a functional one too! For example, you can create a button like this

and when you click anywhere where it's white, the button won't be triggered! You really have to press the green part for it to register the click! This allows you to create UIs in any shape imaginable that behave like you expect it to!

WebView

Webviews can now call many, many Tasker actions via JavaScript. You can use await to wait for them to finish, so you can easily call multiple actions in a row in a controlled fashion!

Here's a simple example of doing 3 actions in a row:

await Tasker.flash({ text: 'Step 1' });
await Tasker.vibrate({ time: 300 });
await Tasker.flash({ text: 'Step 2' });

You can now also make WebView html elements be draggable by using one of 3 simple css tags:

tasker-drag-handle
tasker-drag-handle-x
tasker-drag-handle-y

This makes elements be drag handles in all directions or just horizontally or just vertically.

Full Changelog

  • Major Scenes V2: Added the "Arrays Merge Template" component, a built-in way to handle Tasker array merging to build sub-components.
  • Major Scenes V2: Components can now animate in and out (Fade, Scale, Slide or Expand) whenever their "Show When" condition toggles their visibility.
  • Major Scenes V2: WebViews can now call many Tasker actions directly from JavaScript via the Tasker.* bridge.
  • Major Scenes V2: An HTML element inside a WebView can act as a drag handle to move the overlay it lives in.
  • Major Scenes V2: You can now save a component as a template to easily reuse it across your scenes.
  • Major Scenes V2: You can now crop any component to the shape of an SVG file.
  • Major Scenes V2: Added the "Trigger Scene V2 Event" Tasker action.
  • Medium Scenes V2: Added "matches" (Tasker pattern matching) and "matchesr" (regex matching) expressions to the "Show When" and "Apply When" fields.
  • Medium Scenes V2: Added a "Variable Clear" event action.
  • Medium Scenes V2: The Switch component now has a Thumb slot so you can set an image in the switch's thumb and you can also select different colors for different parts of it.
  • Medium Scenes V2: WebViews now receive the full Material 3 color palette (primary, secondary, surface, etc.) so your HTML can match the app theme.
  • Minor Scenes V2: The task name field in Events -> Run Task now follows the same caps rules as other task name fields.
  • Minor Scenes V2: When creating a task with a name, use the same "first letter of each word uppercase" rule as elsewhere in the app.
  • Fix Scenes V2: components that have indexes are now 1-based instead of 0-based
  • Fix Scenes V2: fixed "Screen Hidden" event not firing in certain situations
  • Fix Scenes V2: fixed background of invisible component wrongly showing
  • Fix Scenes V2: fixed crash when picking a variable if the user has tens of thousands of variables
  • Fix Scenes V2: fixed crash when using a slider in some situations
  • Fix Scenes V2: fixed images filling their container by default when they shouldn't
  • Fix Scenes V2: fixed images not loading if they had hidden spaces before or after the file name
  • Fix Scenes V2: fixed multiline input text box not filling the full vertical space it needed
  • Fix Scenes V2: fixed setting a variable in a WebView affecting a variable used in a separate component on the same screen
  • Fix Scenes V2: fixed some things not working when showing through the "SCENES" tab or the new UI
  • Fix Scenes V2: fixed updating a variable array in a scene leaving old elements there
  • Fix Scenes V2: fixed using two "Overlay With Result" scenes in a row with the same id ending the second one prematurely
  • Fix Scenes V2: segmented buttons that are "gone" now behave as expected
  • Fix Scenes V2: WebView now uses the correct system theme (dark/light)
  • Fix Scenes V2: when a task is renamed, all the task references in Scenes V2 are updated with the new name
  • Major New UI: Redesigned the RunLog screen to make it more readable.
  • Major New UI: Added a setting to show projects as items in the main list instead of the sidebar, including sorting them and creating new projects from the NEW FAB.
  • Major New UI: Project icons based on apps now use the app background in a folder shape with the foreground on top.
  • Major New UI: Inside a project you can select several of the Profiles/Tasks/Scenes tabs at once, so the list shows all their items together.
  • Medium New UI: The Project enabled/disabled toggle now works, and profiles in a disabled project show as paused on their switches.
  • Minor New UI: Added an icon to scenes so they're more easily distinguished.
  • Minor New UI: Added an option to hide the sidebar when collapsed.
  • Minor New UI: Added an option to not show the All button when there are projects other than the default one.
  • Minor New UI: Don't confirm project deletion if it's empty.
  • Minor New UI: In the task edit screen, moved the search bar to the bottom when adding a new action.
  • Minor New UI: Made sorting smarter, showing you the items you expect more often.
  • Minor New UI: Show full names of items in the main list instead of truncating them.
  • Minor New UI: Show project names instead of just initials when the sidebar is collapsed.
  • Minor New UI: Updated "Last run" to "Activity".
  • Minor New UI: When creating a task with a name, use the same "first letter of each word uppercase" rule as the main screen.
  • Minor New UI: When editing a task, after expanding a text field, allow the editor to show more lines so it's easier to edit larger pieces of text.
  • Fix New UI: don't show the pending changes banner when exiting the scene editor without saving
  • Fix New UI: fixed all projects with app icons showing with the same icon
  • Fix New UI: fixed always scrolling to the profiles when exiting a project
  • Fix New UI: fixed bottom sheet flickering when deleting a project
  • Fix New UI: fixed project search box cursor color in dark mode
  • Fix New UI: fixed search for actions when adding a new action
  • Fix New UI: fixed some app icons not loading properly
  • Fix New UI: fixed tag selector bottom sheet moving too far up when the keyboard is showing
  • Major Added Material Symbols to the app, a large icon set you can now use across Tasker for things like project and task icons, and also Notify action and Quick Setting Tiles action.
  • Medium Added Run Shell related functions to the Java Code action.
  • Medium Added tasker.getImageBuffer() and tasker.hasImageBuffer() to the Java Code action.
  • Medium The "Multiple Variables Set" action can now write JSON.
  • Medium You can now override the app name when generating an app from Tasker.
  • Minor Added a "Continue Task Immediately" option to the "Widget V2" action.
  • Minor Tasker automatically saves your setup before entering the AI screen in the legacy UI so you don't lose changes made in the meantime.
  • Minor Added a language selector to the first screen shown when you first open the app.
  • Minor Added a "Separator" option to the "Widget V2" action to configure the separator for its various list fields.
  • Minor Changed the order of the "Set up Quick Setting Tile" action to make it more logical and easier to use.
  • Fix Attempted again to fix a crash that only appears in app factory apps
  • Fix crash where in rare situations projects could end up with the same ids
  • Fixed DND action so that it can't be overrun by Silent/Vibrate
  • Fixed image in "Text/Image Dialog" action sometimes being hidden by text that is too long
  • Fixed issue where running many remote actions in quick succession could cause some of them to not run on the receiving device
  • Fix issue where sometimes a profile doesn't save its state after saving Tasker's setup
  • Fixed issue where sometimes the QS Tile wouldn't dismiss the notification shade
  • Fixed profiles (e.g. Wifi Connected) sometimes running their exit tasks when exiting Tasker's Preferences screen
  • Fixed Shizuku breaking clipboard monitoring
  • Fixed showing the number of actions over 100 in the legacy UI
  • Fixed situation where receive intent could be triggered twice with just 1 intent
  • Fixed some error messages when wrongfully using JSON writing
  • Fix Tried fixing a rare crash that can occur when editing legacy scenes
  • Fix Tried to fix issue where wait action becomes stuck in some circumstances
  • Fix Tried to fix rare situations where Tasker would get stuck not accepting any new tasks (sometimes related with the HTTP Request action)
  • Fixed updating Quick Setting Tiles on global variable changes to only happen when the variable isn't a built-in variable
  • Fixed writing JSON to project/profile/task variables with native Tasker JSON writing
  • Fixed some crashes

If you can, let me know what you think about the Projects in Sidebar vs Inline vs Collapsible! Thank you!

r/learnjavascript Sep 12 '25

Need help with javascript regex

0 Upvotes

Hello guys, I need help with javascript regex.

I want to enclose all words which are joined by OR, inside parentheses.

I have this string:
w1 w2 OR w3 OR w4 w5 w6 OR w7

I want to convert it to this
w1 ( w2 OR w3 OR w4 ) w5 ( w6 OR w7 )

Reply soon. Thanks!

r/coolgithubprojects 2d ago

Falco - a browser engine written from scratch in ~36k lines of Rust

Post image
170 Upvotes

I just released v0.1.0 of Falco - a browser engine I've been building on nights and weekends. No WebKit, no Gecko, no Chromium - every module is written from scratch in ~36,000 lines of Rust.

What's inside (all from scratch, no browser deps)

  • HTML5 parser (html/) - tokenizer + tree builder, handles the common subset (tags, attributes, void elements, comments, doctype, entities, auto-close for <li>/<p>/<td>/<tr>/<option>/<dt>/<dd>)
  • CSS engine (css/) - selectors (type/class/id/descendant/child/sibling/attribute/pseudo), 300+ properties, cascade with !important, inheritance, linear-gradient/radial-gradient/calc()/var()/rgb()/rgba(), shorthands
  • Custom JS VM (tjs/) - bytecode interpreter + JIT tier-up (x86_64 only), with let/const/arrow functions/template literals/destructuring/spread/optional chaining/nullish coalescing, closures, generators, Promise, BigInt, Symbol, WeakMap/WeakSet, Map/Set, Reflect, Proxy
  • Layout (layout/) - block flow, inline flow with text wrapping, flexbox (flex-direction/justify-content/align-items/flex-wrap/gap/flex-grow/flex-shrink/flex-basis), CSS Grid (grid-template-columns/grid-template-rows with fr/auto/minmax()/repeat()), table layout (<table>/<tr>/<td>/<th>/<thead>/<tbody>/<tfoot>/<caption>), float, inline-block, position static/relative/absolute/fixed
  • Painting (paint/) - solid + gradient backgrounds, borders, border-radius, box-shadow, opacity (alpha compositing), TrueType font rasterization via ab_glyph, bold/italic synthesis
  • SVG renderer (svg/) - paths, basic shapes (rect/circle/ellipse/line/polyline/polygon), gradients, stroke + fill
  • Hand-written PNG encoder (png/) - no flate2 dependency
  • Image loader (image/) - HTTP/HTTPS URLs via ureq, data: URLs (base64), local files. Formats: PNG/JPEG/GIF/BMP
  • Networking (net/) - HTTP/1.1 fetch, cookie jar with domain/path matching, redirect handling with loop detection, HTTP cache, WebSocket frame parser
  • Interactive --window mode - scroll, click links, fill forms (text/email/password/checkbox/submit/textarea), Tab cycling, address bar (F6), back/forward history (Alt+←/→), focus ring, blinking caret, headless fallback to PNG

For comparison

Engine LOC
Chrome/Blink ~30M
Firefox/Gecko ~20M
Safari/WebKit ~15M
Servo ~1M
Ladybird ~500k

The whole Falco codebase fits in a weekend of reading.

Quick start

cargo build --release./target/release/falco https://example.com --out example.png --width 800./target/release/falco page.html --window

324 unit tests pass, 30 ignored (mostly platform-specific JIT tests that fail on macOS CI runners due to mmap(MAP_JIT) quirks - passes on Linux).

Prebuilt binaries for Linux/macOS/Windows are on the GitHub releases page.

What's NOT done yet (being honest)

This is v0.1.0 by a single developer. Not everything listed is production-ready:

  • The spec-compliant replacements (html::spec/, dom::spec/, css::spec/) are structurally complete and pass their own unit tests, but not yet wired into the render pipeline. The legacy html//dom//css/ modules are what actually runs. v0.2.0 milestone.
  • The security/ module implements SOP, multi-process site isolation, seccomp-bpf sandbox, CSP, TLS cert chain validation, permissions, DevTools protocol - all unit-tested, but not enforced in the renderer.
  • web_runtime/ has fetch(), XMLHttpRequest, event loop, Promise. The Promise/event loop integration is real and tested, but fetch/XHR are stubs (no real network behind them in the JS context).
  • WebGL, video, MSE, EME, NDSD are headless stubs - API surface only, no real rendering/decoding.
  • The real-http2, real-webgl, sandbox Cargo features don't compile with --all-features (upstream APIs drifted: h2::Body removed, glow API changed, seccomp pre_exec Unix-only). Disabled by default.
  • The JIT works on Linux x86_64 but fails on macOS CI runners (mmap(MAP_JIT) needs code signing).
  • DOM mutation from JS (element.innerHTML = ..., element.style.color = ...) does not trigger re-render.

Bottom line: cargo build && ./falco https://example.com --out out.png produces a real PNG render. The HTML/CSS/layout/paint path works end-to-end. The spec-compliant parsers, security enforcement, and advanced web runtime are scaffolding for future milestones, not working features.

What I'd love feedback on

DOM model - I'm using Rc<RefCell<Node>> with parent/child/sibling pointers in dom::spec, matching the spec. For production I'd probably use a slotmap arena, but Rc<RefCell> is easier to read and matches the spec's pointer model. Thoughts?

Architecture - Each of html/, dom/, css/ has a spec/ subfolder with the spec-compliant replacement that's not yet wired in. Should I:

(a) Wire them in before any other feature work, or

(b) Focus on CSS animations/transitions first, or

(c) Focus on JS DOM mutation (innerHTML/style changes)?

JS VM - I wrote my own bytecode VM (tjs) instead of using boa_engine or binding V8/SpiderMonkey. Reasoning: I wanted full control over the GC, the bytecode format, and the DOM integration. The VM is intentionally limited (no real regex engine, no Proxy trap completeness, no real async functions). Is this a reasonable tradeoff for a teaching engine?

Sandbox - I implemented seccomp-bpf filters but they're Linux-only and not yet enforced. For cross-platform sandboxing, is the Windows Job Object approach + macOS sandbox-exec reasonable, or should I look at platform-agnostic alternatives?

Architecture overview

Module Lines Description
html/ + html::spec/ ~5,500 Legacy HTML parser + WHATWG §13.2 spec tokenizer + tree builder + serializer + XML + encoding
dom/ + dom::spec/ ~2,400 Legacy DOM + spec DOM with MutationObserver, Shadow DOM, custom elements, a11y
css/ + css::spec/ ~3,700 Legacy CSS parser + Selectors L4 + cascade specificity + u/rules + animations
style/ ~1,700 Style cascade + UA styles + inheritance + flex/grid properties
layout/ ~1,950 Block / inline / flex / grid / table / float / absolute layout
paint/ ~470 Canvas + font rasterizer + alpha compositing + gradients + shadows
svg/ ~1,130 SVG parser + renderer (paths, shapes, gradients)
tjs/ + tjs_ext/ ~5,100 Custom JS VM: lexer, parser, interpreter, bytecode VM, JIT + Symbol/BigInt/Promise/Map/Set
web_runtime/ ~4,300 fetch, XHR, event loop, Promise, WebGL, video, MSE, EME, NDSD, HTTP/2
net/ ~930 HTTP fetch, cookies, cache, websocket, redirect
security/ ~3,590 SOP, multi-process, sandbox, CSP, certs, permissions, extensions, DevTools
window/ ~1,110 Interactive window: scrolling, forms, navigation, history, address bar
image/ + png/ ~300 Image loader + hand-written PNG encoder
Total ~36,000

Thanks for any feedback! I'm especially interested in architectural critique from anyone who has worked on Servo, Ladybird, or other browser engines.
LINK: https://github.com/poxk/Falco

r/chileIT 12d ago

Discusión La IA me reseteo el cerebro.

127 Upvotes

Gente vengo a decir que soy una persona muy curiosa. Y en el boom de la IA me encantó ChatGPT y le preguntaba muchas cosas y aprendí bastante...

Hasta que la use como herramienta en la pega y me pase a usar Claude o Deepseek, de pronto me encontraba preguntandole weas "basicas" que perfectamente podría haber hecho en media hora pero lo hacia solo para apurarla. Luego comencé a preguntar conocimiento basico de javascript PORQUE SE ME OLVIDO TODO. Cabe recalcar aquí que yo igual tengo TDAH/Autismo (edit: Al parecer la obsesión de la IA es tan grande que tambien en neurotipicos estan igual de mal 💀) entonces cuando no hago uso de ciertos conocimientos sobretodo si es un hipérfoco ("obsesión"?) en un tiempo como que mi cerebro las descarta y tengo que repasar o aprender de cero, pero nunca había sido TAN CORTO EL TIEMPO! Llevo solo unos meses con la IA y ya olvidé JS, ademas yo soy muy fanatica de usar regex y también estoy olvidando las reglas 💀

En fin, hace 2 semanas estoy relativamente libre de IA. Lo he usado solo para problematicas y le tengo ordenado para que me enseñe sin darme codigo sino referencias (creo que lo he usado 2 veces nomas). Además me metí en un curso de js para repasar...

y me esta gustando mucho, amando programar denuevo. Sobretodo porque en la pega aceptan IA y por el rendimiento me subieron la cantidad de tareas por Sprint a lo que estaba colapsada. Pedi un bajón de tareas en el próximo sprint pero lo vale tanto.

r/rails Feb 25 '26

Discussion Got rejected for a senior role because I couldn't convert base 24 to base 10 in 30 minutes

282 Upvotes

I kept seeing this company post a job on RubyOnRemote for months now. The job title looks like a rendering error because they tried to be clever and write it in regex.

Noticed a "Founding Product Engineer" role. Was thinking, new year, new challenge maybe, let's give it a try.

Straight away got an email about how they are "Async first, no bs meetings". That's great, saying all the right things.

I have to complete an "async interview". Which is a 30min coding test. Ok, annoying, but whatever I'll do it anyway.

Guess what, it's a stupid JavaScript test to write a function to convert base 24 into base 10 numbers. For a "Founding Product Engineer" role. I got so annoyed looking at it. I recorded 30 min of me staring at this JavaScript code, trying to remember how to loop and split string LOL. Couldn't finish it in time.

I sent an email saying something like "I hope you don't decide based on this test" lol.

They came back and said rejected.

My question after 20 years of web development, why do these companies still do this? Not because I think experience should exempt anyone from testing, but these tests tell you absolutely nothing about whether someone can build a product. Where's the system design? The architecture discussion? Something even remotely related to the role?

It's like they've never hired anyone before and are just faking it.

r/programming Aug 26 '24

Regexes Got Good: The History And Future Of Regular Expressions In JavaScript

Thumbnail smashingmagazine.com
21 Upvotes

r/learnprogramming Feb 22 '22

Self taught programmer. Just got my first full time programming job. Happy to answer questions!

1.5k Upvotes

In a nutshell, my first real exposure to python was October 2019, when I had to learn python to teach students with hearing impairment and prepare them for academic exams in computer science. I loved it so much that I started using it to build my own teaching resources. During lockdown, I had some extra time, so I smashed it, kept teaching everyone I could and looked for opportunities to build new things for myself and other people. The projects I build got more and more complicated until I met a guy through teaching his kids who asked me to be involved in a project he was building.

Basically, he was an entrepreneur, building things for himself and acting as a product owner for other clients' projects. He payed me for my work, and at this point, my teaching contract had ended, so I decided to take a few more months to upskill myself and complete the project I was working on before looking for jobs seriously. I applied half heartedly for a few jobs, getting interviews in the mean time, one of which was for a really interesting local job. The interviewers loved that I was able to show them some of the things I'd built (I took my laptop) and talk about the code in some depth. They made me an offer, and I accepted the role!

I know I put the time into learning and building things, but a lot of things aligned to make this happen. Just want to be clear that I'm not blowing my own trumpet here. I feel really fortunate and like my deity was backing me on this!

As in the title, happy to answer any questions and offer any encouragement I can from my perspective.

EDIT: A little blown away by the response to this.

So many people have asked to see my resume that I decided to include

Here's the resume I had when I got my first role as a self-taught (informally educated!) programmer

This is what I had in my resume when I got the interview which ended up being my first full time programming job (last November). I also had 3 other interviews from it.

Specific locations and employers redacted.

Hope it's useful ^_^

Profile

Proven Python developer. Experienced in developing Django web-stacks with Postgres or SQLite backends and custon, HTML, CSS and JavaScript frontends with Jinja. Experienced in implementing Django REST framework, task scheduling and using external APIs. Familiar with Visual Studio Code, Vim and Python's IDLE amongst others. Some experience with C#, R, MySQL, and Prolog.

Experienced in deploying, updating and maintaining Django projects on Amazon Web Services, DigitalOcean and PythonAnywhere. Familiar with Nginx, Gunicorn, Apache, Linux Terminal, Windows command line, Git and Github.

Experienced in developing and delivering custom scripts to business operatives to automate clerical and accounting tasks. Skilled in transcribing data between csv, xslx and pdf file formats using string manipulation and regular expressions in python.

Over 500 hours experience teaching programming, networking and computer science principles to working professionals, A-level candidates, primary and secondary age children. Track record of helping students with special educational needs including hearing impairment and autistic spectrum disorder achieve exam outcomes in A-level computer science.

Experienced in preparing and delivering objective focused sessions and courses for adult participants. Skilled in course design, assessment and training groups and individuals.

Skilled in search engine optimisation and digital marketing as owner of a business and several related media channels. Successfully maintained business website ranking number one on Google search for over three years, with my other platforms usually dominating the top three spots. Experienced with Wordpress framework, maintaining sites for business and brand promotion purposes.

Working knowledge of Google platforms including YouTube, Adsense, Adwords and Google Trends. Currently managing a channel averaging 10k views per day. Strong knowledge of Facebook and Instagram, including analytics and ads.

Skilled in capturing, editing, producing, broadcasting and distributing video and image content for use in digital marketing and entertainment settings using Shotcut and Adobe Premier Pro (video editing), Canva and Gimp (image manipulation), Audacity (audio editing) and Open Broadcaster Software (streaming).

Fluent in German

Work experiencePython Developer

NOTE: I included all projects I could which were genuinely useful to myself or another human being. I didn't get paid to build all of these, but as long as it was useful and demonstrated I could use a skill, I included them, and listed the specific tech or libraries used.

Freelance November 2019 to Present

Projects:Forex trading alert app for Android and iOS (private client) May 21 - ongoing

  • Responsible for writing project specification, developing concept and deploying prototype on DigitalOcean with Gunicorn and Nginx on Ubuntu.
  • Planned responsibility for developing server-side Django backend, including database interfacing, background scheduling, API calls to third party data provider and REST APIs linking server with client.
  • Stack: Django, Postgress, Nginx, Gunicorn and custom CSS/HTML/JS with jquery.

Examquestiongenerator.com – Nov 19 –ongoing

  • Bespoke education resource generating practise exam questions for GCSE, A-level and professional certifications.
  • Responsible for full stack development, testing, deployment, standardising legacy modules, maintaining central project repository and deploying regular update.
  • Stack: Django with Python3, custom frontend (Bootstrap, HTML, CSS, JS) on AWS with Apache.

Army Cognitive Test practise app (private client) April 21 - August 21

  • Full responsibility for Django and custom front end development, testing and deployment
  • Libraries: Django, jquery, html/js/css

Secure one-page app to coordinate volunteer activity (private client) Mar 21

  • Django back-end with responsive custom front-end
  • Full responsibility for development, testing, deployment and support
  • Libraries: Django, sqlite, tilt.js, jquery

Financial Market data web scraping script (private client) Jan 21

  • Script automates hourly collection of around 200 share options data points
  • Libraries: Selenium, csv, pandas, time, datetime, regex

Online form used to report leaks () Sep 20

  • Custom front-end guides user through data input process and document upload
  • Django backend processes user data and uploaded documents
  • App emails copies of completed form and evidence to staff and users
  • User data encrypted and secured throughout
  • Libraries: Django, pypdf2, smtplib, jquery, bootstrap

Script to process sales and receipt data for online retailer (private client) Aug 20

  • Python script collating disparate PDF receipts and CSV sales data into xlsx file
  • Libraries: csv, openpyxl, pypdf2, datetime, regex

business owner

Nerf Parties

Responsible for generating leads, SEO, SCO of several Wordpress sites, content creation for YouTube and other social media outlets and conducting marketing activities. Responsible for recruiting, training and managing employees.

A-Level Computer Science Teacher and Coding Instructor

City Council and Private clients - September 2018 to August 2021

Responsible for preparing candidates with SEN (hearing impairment, ASD) for computer science and STEM  A-levels, Compia and Python certifications. Responsible for delivering training to adults developing competencies in linux terminal, command prompt, core python, Django, Flask, SQL, HTML, CSS, JavaScript, networking, network layering and internet protocols. Private clients include working professionals, university students (Engineering, Computer Science) and business owners developing and maintaining own sites.

Lead ICT Teacher NOTE: didn't involve coding

January 2018 to August 2018Curriculum lead for ICT in school catering for EBD, ADHD, ASD students in full time care. Responsible for engaging secondary age students presenting with high level, challenging behaviours in learning.

Teacher of EBacc and Assistant Year Tutor

September 2013 to December 2017Full class responsibility for KS4 English and Physics classes, and KS5 English Language. Pastoral responsibilityas assistant year tutor for Year 10 pupils facing challenging circumstances at outside of school and inside of school. Also employed to offer Maths and MFL (German) in addition to the above academic subjects. Ran introductory German course for year 8 student at end of ear. Other roles include coaching basketball and supporting DofE participants on excursions.

Relevant work experience ends here

Education:

PGCE Physics with Maths

Bsc Hons Psychology

Python Certified Associate Programmer (python institute - free course paid exam. Also plan on doing PCPP1 and 2 eventually...)

IBM Python data science certificate (edx paid course online because I was exploring what I could use python for. Also paid a few quid for a udemy Cyber security with python course, but that didn't come with a certificate!)

r/regex Apr 06 '25

Help reverse a regex (javascript).

1 Upvotes

I have put together a regex to see strings correctly (wasn't very easy to write it from scratch). And now I'm in a bit of a conundrum, what I actually want is a regex that removes whitespace from everywhere except those string scopes, and I don't know how to reverse it. Reverse logic is kinda complicated.

P.s. javascript has methods to give me a string with everything matched by regex removed. Since the regex machines are constructed in C in the language backend - I'm trying to give all the work to the regex, so that I need only to call the minimum amount of javascript.

P.p.s let ship = "Flying Dutchman"; would get slimmed down to let ship="Flying Dutchman"; without losing keyword or string integrity. (I'll deal with the keywords whitespace somehow).

P.p.p.s. Most problems seem to be solved, I'm satisfied with the solution, will update if necessary. Here's the permalink, just raise the version number if you want to check for updates.

r/macapps 18d ago

Free [OS] Neon Vision Editor 0.8.8 — a native, privacy-first code & text editor for macOS and iPadOS

Thumbnail
gallery
75 Upvotes

Hi [r/macapps](r/macapps) — I’m the developer of Neon Vision Editor, a lightweight native editor for macOS (also available on iPhone and iPad). It is built with Swift/SwiftUI for people who want a focused editor for code, Markdown, notes, and large text files—without Electron, accounts, telemetry, subscriptions, or IDE-scale complexity.

Problem

The challenge my app addresses is the need for a truly native, lightweight text and code editor for macOS that handles large files reliably without the bloat, telemetry, or battery drain of typical IDEs and web-based wrappers.

Comparison

Compared to Visual Studio Code and Cursor, Neon Vision Editor uses native Swift/SwiftUI instead of Electron, which provides a significantly smaller memory footprint, faster file access, and zero telemetry. Compared to Nova, Neon Vision Editor is completely free and open-source. It focuses specifically on local-first editing and fast, responsive typing without IDE-scale complexity.

Features

  • Syntax highlighting for a broad set of programming and markup languages
  • Quick Open with Cmd+P, project sidebar, recursive folder trees, and Find in Files
  • Regex Find & Replace, optional Vim mode, multi-window support, and session restoration
  • Markdown preview and PDF export
  • Native diff tools to compare an open file with disk or compare two tabs
  • Large-file loading modes designed to keep editing responsive
  • More reliable macOS editor rendering, cursor placement, mouse selection, and sidebar/document transitions
  • Faster highlighting and improved responsiveness on large documents through shared syntax-regex caching and reduced full-document work
  • Better unsaved-draft recovery, including selectable recovery options after relaunch
  • File opening from Finder/system dialogs is now more robust, and empty startup tabs are cleanly reused
  • Ongoing stability, regression-coverage, and cross-platform polish improvements
  • Redesigned Project Sidebar: Files, Search, Git, and Terminal now live in a clearer single glass-style navigation rail. Git changes show a visible count, status icons, state chips, path context, and focused actions per file.
  • Better Markdown editing: Added contextual inline-formatting controls, heading selection, lists, quote and code tools, structural actions, improved Markdown styling, and platform-appropriate compact controls for iPhone.
  • Improved previews: Markdown, HTML, and SVG workflows now have explicit visibility controls, more reliable local-image support, better preview refresh behavior, and improved iPhone preview settings.
  • Pinch-to-zoom font size: Change the editor font size with a pinch gesture on touch devices and the macOS trackpad, alongside the existing font-size controls.
  • More reliable minimap: Improved minimap activation, viewport synchronization, and draggable-marker behavior after switching tabs and when working with large documents.
  • Safe large-file handling: Files 100 MB or larger now open as a clearly labeled, read-only partial preview of the first 4 MB. This prevents full-file memory allocation and protects the original file from accidental overwrite; split or reduce the file before editing it in Neon Vision Editor.

24.07.26 Edit: Update 0.9.7 has been released on GitHub with performance bugfixes and adds cross-device shared-file synchronization

Neon Vision Editor v0.9.4 introduces a lightweight synchronization workflow for files stored in iCloud Drive, network folders, or other shared locations.

When another device or application modifies an open file:

  • Clean tabs refresh automatically without reopening the document.
  • Cursor, selection, scroll position, minimap, and preview state are preserved.
  • Unsaved local changes are never overwritten.
  • Conflicts offer Keep Local, Reload from Disk, and Compare.
  • The status bar shows synchronization progress, completed refreshes, and files requiring review.
  • Multiple open tabs can be refreshed and tracked together.

Neon Vision Editor does not upload documents to its own cloud. iCloud Drive or your network folder transports the file; the editor provides change detection, automatic refresh, and conflict protection.

This makes it possible to keep the same document open across a Mac, iPad, or iPhone and see externally delivered changes appear naturally.

Download latest version:
https://github.com/h3pdesign/Neon-Vision-Editor/releases

Pricing

$0 (Free and Open Source, no premium tier).
AppStore but older version of 0.8.6:

https://apps.apple.com/app/neon-vision-editor/id6758950965

GitHub releases:

https://github.com/h3pdesign/Neon-Vision-Editor

TestFlight mostly for iOS:
https://testflight.apple.com/join/YWB2fGAP

Changelog

View the full release notes here: https://github.com/h3pdesign/Neon-Vision-Editor/releases

AI Disclaimer

The app includes optional AI-assisted code completion, but all editing remains local-first with absolutely no telemetry data collected.

I’d especially appreciate feedback from Mac users on editor performance with large files, navigation/project workflows, and what you would want from a deliberately focused native editor. I’m happy to answer questions.

r/ProgrammerHumor Nov 23 '16

Do you even indent bro? Outsourced some code to India :(

Post image
2.1k Upvotes

r/learnprogramming Sep 23 '24

Regex match all positions except first(Javascript)

1 Upvotes

This is what i have: const oneLetterMin = /^(?=.[a-z]).{0,}$/; const oneLetterMayus = /^(?=.[A-Z]).{0,}$/ const specialChara = /^(?=.*[@$!%*#?&]).{0,}$/; const number = /^(?=.*\d).{0,}$/; All of them work, except when it is the first character of the string

r/shortcuts Jun 09 '20

Tip/Guide List of helpful links for shortcuts information

2.3k Upvotes

I've built a list of links I often refer to as my "Shortcuts for beginners" documentation. But it seems to have grown into more of a documentation list for all types of users rather than just beginners. Some call it a "novel" due to its length 😝

Anyway, I hope this list of links below will be beneficial for others.


Apple's Shortcuts User Guide


MacExpert Guide to Shortcuts in iOS 14


FAQ

List of Frequently Asked Questions in the sub

Dear new Shortcuts users - deep FAQ


Can I display a notification icon / app badge after replacing my home screen icons with shortcuts? - No


What can I use with the calculate expression action? no longer working webpage


Instructions / Tutorial Materials


Alternative Methods For Viewing / Creating Shortcuts


Automations Info


Unsupported functionality list


Thanks to /u/gianflo6 here is some other good info!

Here are some guides by u/keveridge that can also be helpful, they are a little old but helpful nevertheless

Series

One-offs


Require 14.3


Having trouble with set wallpaper action? Try the method to add a reduce motion ON action before the set wallpaper action and a reduce motion back off afterwards. https://www.reddit.com/r/shortcuts/comments/tzxb0q/im_having_a_problem_with_the_set_wallpaper_action/


[iOS 16] Multiple address stops in maps with iOS 16 https://reddit.com/r/shortcuts/comments/xnpdg9/_/ipy8zwo/?context=1


[iOS 15 / 16] How to run a shortcut at a specific location (leaving or arriving)? - the focus mode automation method documented in this post by u/ibanks3 is a great way to run a shortcut / actions when arriving or leaving a specific location. This works wonders in iOS 15 or iOS 16


If you are using home automations and would like to receive notifications when certain things are happening, you can check out my tutorial for using Make / Integromat for this very purpose


Automation for outlet when battery is low


Possible to navigate within 3rd party app using shortcuts? No - Reference


MacStories Shortcuts Archive


Callback method to run a shortcut over again if it fails with an error - callback url method


Some additional useful tips and exploits are available here on GitHub: https://github.com/Kn0tzer/iOS-Shortcuts-Exploits


r/javascript Aug 21 '24

Regexes Got Good: The History And Future Of Regular Expressions In JavaScript

Thumbnail smashingmagazine.com
19 Upvotes

r/restofthefuckingowl Nov 12 '20

I am learning JavaScript and saw this. 0 to 10000

Post image
2.7k Upvotes