Hacker Typer

272 pointsposted a year ago
by rvnx

153 Comments

SamWhited

a year ago

In school I worked as an intern for a U.S. defense contractor (which I feel rather bad about now, but that's neither here nor there). Every now and then some important general or captain type would show up for a meeting and walk around and look at what all the various labs were doing. When they came to the room where all the interns sat we would all pull up hacker typer and just furiously type away while they were looking in the door.

The important person would always be very impressed and say what a good job we were doing, and our boss who was showing them around (and knew exactly what we were doing) would have to nod and sweat bullets and then would get furious with us afterwards (but it was worth it and we did it every time we knew someone was coming to do an inspection).

syncsynchalt

a year ago

Ahh, I used to queue this up on another screen when I needed things to look "busy":

    cat /dev/random | hexdump -C | grep 'ca fe'
Note that it runs a lot faster now than it used to in the 90s.

regentbowerbird

a year ago

Super cool, thanks.

I wondered how its speed could be adjusted and found `pv` can be used for throttling pipe throughput, so thanks for that too!

Limited to reading 50kB per second:

    cat /dev/urandom | pv -q -L 50k | hexdump -C | grep 'ca fe'

taway-20230404

a year ago

Alternatively, slow it down by a factor of 16 for every additional specified character.

    cat /dev/urandom | hexdump -C | grep '9 ca fe'

AkshayGenius

a year ago

Only tangentially related, but on my MacBook Pro simply running

   cat /dev/random 
causes my terminal to hang and my speakers start emitting a loud buzzing sound until the terminal is force-quit or system is restarted.

I can understand the terminal not being able to handle the amount of data from /dev/random but for the speakers to start emitting sounds as a result of this is certainly very strange. Almost like /dev/random was being piped into /dev/audio or something. Anyone have an explanation?

thwarted

a year ago

This ASCII 7 (C escape "\a"), which when printed emits a bell sound. The exact sound is terminal dependent, and modern terminals won't use the PC speaker but rather play a sound using the audio hardware (which is required on Macs because they don't have a PC speaker). The bell isn't expected to be emitted often and quickly in series, so depending on the capabilities of the terminal program and the audio hardware, it may go haywire trying to play a more complex/longer sound repeatedly or overlapping (like seeming to lock up or slow down as the audio is queued). Your terminal may be configured to "flash" instead of emitting a sound when ASCII 7 is printed -- this may be implemented as rendering the entire window in reverse video for a short duration. A series of discrete bells played quickly may sound like a tone with a rising pitch. Other terminal oddities could occur if ANSI escape sequences. There are many ANSI escape sequences, for changing colors of text, moving the cursor, changing the typeface, or for querying terminal capabilities or customizing the terminal window title bar, that when printed randomly may make the terminal go haywire.

PC Speaker - https://en.wikipedia.org/wiki/PC_speaker

ANSI Escape Sequences - https://en.wikipedia.org/wiki/ANSI_escape_code

Neywiny

a year ago

My initial thought is you're getting escape sequences or other signals to trigger the bell/chime. I've never had it crash a terminal but I've never really used a macbook. A common one I'll see in gnome terminal is the terminal printing out some info about itself (I guess there's a way to get some info back from the other side of a link) or changing the title bar.

An easy test would be to have something dump that bell character to the terminal as fast as possible and see if that does it, and also try /dev/zero to check that doesn't.

0points

a year ago

That's the ascii bell symbol being rendered on your terminal.

See parent's comment, how he piped output from /dev/random into the next command and not to stdout.

signa11

a year ago

just a guess “visual bell” might fix it perhaps ?

user

a year ago

[deleted]

0points

a year ago

(Sorry if too off-topic)

I just saw this and thought this was pretty cool! Running your command in nushell, and eventually aborting it gives the following output

    ^CError: nu::shell::terminated_by_signal

      × External command was terminated by a signal
       ╭─[entry #28:1:32]
     1 │ cat /dev/random | hexdump -C | grep 'ca fe'
       ·                                ──┬─
       ·                                  ╰── terminated by SIGINT (2)
       ╰────
Just wanted to random praise the nushell team for this amazing level of detail!

yencabulator

a year ago

Ehh. Nushell error handling is poorly built and buggy as hell. I wanted to use it, I really believed in the sales pitch, but it's just utterly unreliable and I have zero faith left in them ever actually fixing it.

- error handling is neglected in the basic design: <https://github.com/nushell/nushell/issues/10633>, <https://github.com/nushell/nushell/issues/10856>, <https://github.com/nushell/nushell/issues/8615>, <https://github.com/nushell/nushell/issues/6617>

- control-C interrupts its internals with obviously-wrong error: <https://github.com/nushell/nushell/issues/8828>, is midhandled in other ways <https://github.com/nushell/nushell/issues/8206>

- something is horribly wrong with the basic design of command-line arguments: <https://github.com/nushell/nushell/issues/9939>, <https://github.com/nushell/nushell/issues/9766>

- they're getting the fundamentals of globs on command lines wrong: if you pass string literals to an external command, they're still processed for globs. this means `ls ""` (internal) and `^ls ""` (external) behave differently: <https://github.com/nushell/nushell/issues/9558>

shayonj

a year ago

I have always wondered if anyone used it in a "real life scenario". This was hilarious, thanks for sharing :D

imadethis

a year ago

When I was in college, the local news was interviewing a comp sec professor of mine in the computer lab. The cameraman was taking B-roll footage (blinking lights from racks, cables going everywhere, that sort of thing). He asked if he could film a few of our screens to show what we were diligently working on, which is how we got hacker typer onto the nightly news.

pjerem

a year ago

LPT : If you are using this website to hack the FBI or whatever, don't forget to triple press SHIFT and to triple press ALT :)

coolandsmartrr

a year ago

I knew about this website for a long time, but I just learned about this easter egg!

nneonneo

a year ago

On mobile, so I can’t try this - what does this do?

tacotime

a year ago

Triple shift pops up a red "Access Denied" message in the middle of the screen. Alt just shifts focus to the browser's toolbar, at least in Chrome.

pjerem

a year ago

Alt alt alt should show a big green Access Granted :)

beeboobaa3

a year ago

It just opens/closes the file/edit/view menu.

extraduder_ire

a year ago

If you press it enough times, eventually three alt keys will get through to the page and it will pop up. I think it could could prevent the menu appearing by using preventDefault() on the keydown event.

airstrike

a year ago

> Come on... come on...

Suddenly, the screen flashes red: "ACCESS DENIED."

> Dammit, they're trying to lock me out.

Fingers fly across the keyboard. Sweat drips from their forehead.

> Not today, FBI...

The warning turns from red to green: "ACCESS GRANTED"

> I'm in.

> Let’s see what you’ve been hiding...

scudsworth

a year ago

super cute, haha. mac keyboards hit OPTION (⌥) btw

mhavelka77

a year ago

Fun fact, the site fetches the textfile from the server at '/kernel.txt' and stores it in the browser local storage.

The code is obviously from the Linux kernel, specifically managing group memberships and permissions for processes.

dekken_

a year ago

ahhah, thank you

this code appears in the loading screens for the new game "forever winter"

I was wondering if it was from the game or not, so it seems not!

sph

a year ago

Weirder, every time I see a code snippet on some video, it's the same "struct group_info ...". It is so common that I recognise it every time. I wonder where it is coming from, that makes this snippet so popular?

EDIT: https://miro.medium.com/v2/resize:fit:786/format:webp/1*3YdG... from https://towardsdatascience.com/teaching-an-rnn-to-write-code...

The thumbnail to this image says "the source code to the Matrix"... so perhaps the movie had used some Linux code, and everybody is copying the movie

phito

a year ago

It literally says under the image: code of the matrix (Cloned from Keanu’s GitHub), and links to hackertyper.net

I think it's popular due to hackertyper. If you search for things like "hacker code" on google, hackertyper comes first.

FredPret

a year ago

It’s the modern Wilhelm Scream

user

a year ago

[deleted]

dev-jayson

a year ago

I only have 3 minutes to hack into the mainframe.

*still finds time to write neatly crafted comments on what the code does

FirmwareBurner

a year ago

>still finds time to write neatly crafted comments on what the code does

My man!

atum47

a year ago

One of the first computer fair I went when I was about 12 I saw a guy demonstrating a software called Sued (Deus (God) backwards). The guy would ask the computer questions about the person he was showing the software to; questions like: what is the color of the hair on the girl next to me? And the computer would answer. Amazing! Later on I figured that while you type the answer the computer would show the beginning of a generic question, character by character. Even more amazing!

atum47

a year ago

Just found out that somebody made an online version of it.

https://suedoraculo.com.br/

The key is to type ; before and after the answer.

The version I saw those years ago leaned on the god backwards theme, very dark, suggesting that the guy was dealing with obscure forces

jonathantf2

a year ago

I remember getting banned from the computers at school for a month for going on this and hitting F11.

zzixp

a year ago

I remember going on this site in middle school. I now have a degree and can actually understand the code being written here... time flies

dhahfeau

a year ago

javascript;truewhenaccountis-forgotpassword-sendgmailt--@wlfkidwolfe@gmail.com

white11jwhite

a year ago

javascript;truewhenaccountis-forgotpassword-sendgmailt--@wlfkidwolfe@gmail.com

m463

a year ago

note that there is also superficially similar hackertyper dot com which contains a cesspool of advertising plugins/links/cookies/javascript.

nunobrito

a year ago

It worked well, was able to stop a nuclear bomb within 1.2 minutes but I've also found a defect:

     The code has comments.

ifcuv8g8v8

a year ago

फयज्ञघूस्व cuviviv87g uc7g9 ic8hvivu vcg8v7v8g8g98vi uuc7g8g8f7f7f7g8g8g8vivobobobobobobobobig8f7f7vi विविकक्यूविव्जवुक्सीसिविवोबोवुकीक्सीफिविव्जक्याक्सीफ़्फ़िकवोव्यक्ज़क्ज़जिक jcyxuvivuxygivicuhobivugivivivugihobkicugibkvigigobpbigohohogigohohigovud7f6d7fuchz8gucts7civuyd7fufiviyfiffivovi के नम मे कवि i ओवी ी i i i इविविविवीवी वी i ओ o ओ ओ ओ i i i i i i i i i जी यक्सीस्तक्सरीसु i जी yx5zu हो उक्सीफुक्सीग्वीज जी i ओबसु उस ओ ivx7gvivu ycu i i ucuvu i yi uxycuvu ubi i ucu

redbell

a year ago

Oh, for an instant, I felt I'm a real hacker like the ones you see in movies! Just randomly press any key on the keyboard, and it will generate chunks of meaningful text quickly. Long-press any key, and it starts behaving like ChatGPT when generating an answer.

Ylpertnodi

a year ago

The vst3 plugin 'RipChord' does similar...but your key presses aren't strictly random.

YCISHsd

a year ago

Ewwuwuidhahaskdopajwfc

smikhanov

a year ago

This website is not complete without the Igor-3000 coding robot: https://youtu.be/q-HvY8stFxk

Greetings from Novosibirsk!

kunagi7

a year ago

That was funny, the "Igor is only powered by Ethernet" phrase made me laugh way too much.

Also, I did not know about Hacker Typer, I will keep it around :).

romigupta

a year ago

curl https://raw.githubusercontent.com/hhvm/hhast/master/.hhconfi... > .hhconfig % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed xxx xxx xxx xxx x x xxxx x --:--:-- --:--:-- --:--:-- xxxx $ mkdir bin src tests $ cat > hh_autoload.json { "roots": [ "src/" ], "devRoots": [ "tests/" ], "devFailureHandler": "Facebook\\AutoloadMap\\HHClientFallbackHandler" } $ composer require hhvm/hsl hhvm/hhvm-autoload Using version ^4.0 for hhvm/hsl Using version ^2.0 for hhvm/hhvm-autoload ./composer.json has been created Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 2 installs, 0 updates, 0 removals - Installing hhvm/hsl (v4.0.0): Loading from cache - Installing hhvm/hhvm-autoload (v2.0.3): Loading from cache Writing lock file Generating autoload files /var/folders/3l/2yk1tgkn7xdd76bs547d9j90fcbt87/T/tmp.xaQwE1xE/vendor/autoload.hack $ composer require --dev hhvm/hhast hhvm/hacktest facebook/fbexpect Using version ^4.0 for hhvm/hhast Using version ^1.4 for hhvm/hacktest Using version ^2.5 for facebook/fbexpect ./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 7 installs, 0 updates, 0 removals - Installing facebook/difflib (v1.1): Loading from cache - Installing hhvm/hsl-experimental (v4.0.1): Loading from cache - Installing hhvm/type-assert (v3.3.1): Loading from cache - Installing facebook/hh-clilib (v2.1.0): Loading from cache - Installing hhvm/hhast (v4.0.4): Loading from cache - Installing hhvm/hacktest (v1.4): Loading from cache - Installing facebook/fbexpect (v2.5.1): Loading from cache Writing lock file Generating autoload files /private/var/folders/3l/2yk1tgkn7xdd76bs547d9j90fcbt87

alt227

a year ago

This doesnt work on default Firefox, as when you start typing it automatically brings up the Ctr-F search box and starts typing in there :(

BlindEyeHalo

a year ago

Disable "Search for text when you start typing" in the settings.

This 'feature' is so infuriating, as many websites have shortcuts that become unusable from this. There is nothing wrong with CTRL + F total idiotic feature to have on by default.

extraduder_ire

a year ago

Coming from the other side, an annoying number of websites use '/' to focus their own search box, while I am used to using it to activate quick-search, which it's bound to by default. It's like the ctrl-f search, but disappears when it loses focus.

nicholasjarnold

a year ago

This is so nostalgic. Many of the engineers at a company I worked for over a decade ago used this one day when our little startup was visited by some Important People. We were so 1337. Haha! Good times. Good Friday post. Thanks.

rob74

a year ago

Reminds me of certain (music) keyboards where you can select some built-in songs and then just press random keys and it will play the song correctly, but in the tempo of your keypresses. Who needs piano lessons?

kokoythpph

a year ago

tykhytohtohkytohtyhkhtohyohtyhthkthhtyhytkhtohthyyhthtyohkth ythktyohktyhoktyhotkyhtokhtyht hoktyotykhyohkthththtkhthokhythkth ytktkhtyhokhotyhtyhthktyokhhotphkpto hkhktyhyhthktyhokthkthk khoptkhtohphhthyhthkthtkhtyhkot kopkhtyhopyhkhopkhpthotypohhythhokthophkthkothyh hhtyhktphkytohkthpthpyhkykhyohkhhhtkhoykhtyohktyoh thtyhhhoytkhyohkhthoytkhtphoktyoytthythththokt kophpohhthpotyhptyh

CollinEMac

a year ago

I wish there was something like this that could somehow turn off OS keybindings.

I tried letting my niece and nephew play with this once but they kept hitting the Super key, minimizing the window, alt-tabbing, etc.

jhfbjhgtb

a year ago

  Vnvjnbjnbfgbbnjgfnjb Nguni v bib njgnfjb nudge bj

01010010100101

a year ago

codeaidenhacked11010100100101010101010010101001001001010101001010101001010100101001010100101-10010110101001010101010010101010101001010101001010111111000000000010101001010101001010101010001010100101010100010101010010101010

stormcode

a year ago

Love this app, the GitHub is easy to clone and modify as well. Used it for a game once.

bw689176z

a year ago

I've been using htyper.com

missytuazon04

a year ago

cat /dev/random | hexdump -c | grep 'ca fe'

Rustems

a year ago

/rank me headadmin

Uptrenda

a year ago

>No syntax highlighting

(anxious)

edem

a year ago

What does hacking have to do with cybersecurity?

blooalien

a year ago

True (real actual) "hackers" often make the best cybersecurity experts? :)

anthk

a year ago

Not always. A lot of hackers aren't even networking related.

An easy hack would be to use echo, netcat and less to browse either Reddit or HN over Gopher:

     echo /live/items | nc  hngopher.com 70 | less

     echo /live/items/41877513   | netcat hngopher.com 70 | less

blooalien

a year ago

By "true" hackers, I meant the old-skool type that learns things on the fly from limited resources and then uses creativity and problem-solving skills alongside their newly-minted knowledge to create nifty things or solve thorny problems. :)

Guessing from the rest of your comment there, with the nifty examples that you might be one of those "old-skool hackers" yourself. ;)

alias_neo

a year ago

I suppose they mean the pop-culture term "hacker" which is someone who breaks into digital systems in movies etc.

In which case, it has everything to do with Cybersecurity.

patask

a year ago

I will hack mobile without password

LeoPanthera

a year ago

Mess with the best, die like the rest.

ffhntf

a year ago

Drgyjgddbvhfb ftyd

merrijai

a year ago

terthertherurngrebf geduhgqbehv eqvfqerergege

441469

a year ago

stanley.com../ten 3 ..,;

Vb2g

a year ago

Abosaary1414@gmail

441469

a year ago

i hate stanleys!!!!

merrijai

a year ago

iv v byv hbhsavdsvcxv cxvx

bw689176

a year ago

I've been using htyper.com

Cb8078jj

a year ago

Cb8078jj Asdf@1234 11000 Allpanelexch.com

ewooq

a year ago

Willy Beele

gizela

a year ago

f wklhvu befihvbevbeuv

jrjhrth

a year ago

ghbgb bbfefaazsrffrv55445545t5grggr4fncdnyyyyyhy

Ihatefriend

a year ago

ban#robloxplayer called Kazyeah pls pls (he is annoying me) I am not a hacker so I wanna learn how to ban people at roblox

oioioio

a year ago

hffueefwehfuesfjkskdfehffururu

Ihatefriend

a year ago

banrobloxplayer username:Kazyeah he is annoying me everyday.... pls pls

87912

a year ago

unblock lanschool

Gavin311

a year ago

# calculator.py

class Calculator: def __init__(self): self.history = []

    def add(self, num1, num2):
        """Add two numbers"""
        result = num1 + num2
        self.history.append(f"{num1} + {num2} = {result}")
        return result

    def subtract(self, num1, num2):
        """Subtract two numbers"""
        result = num1 - num2
        self.history.append(f"{num1} - {num2} = {result}")
        return result

    def multiply(self, num1, num2):
        """Multiply two numbers"""
        result = num1 * num2
        self.history.append(f"{num1} * {num2} = {result}")
        return result

    def divide(self, num1, num2):
        """Divide two numbers"""
        if num2 == 0:
            raise ValueError("Cannot divide by zero!")
        result = num1 / num2
        self.history.append(f"{num1} / {num2} = {result}")
        return result

    def get_history(self):
        """Get the calculation history"""
        return self.history
def main(): calculator = Calculator()

    while True:
        print("\nOptions:")
        print("1. Add")
        print("2. Subtract")
        print("3. Multiply")
        print("4. Divide")
        print("5. Get History")
        print("6. Quit")

        choice = input("Choose an option: ")

        if choice == "1":
            num1 = float(input("Enter the first number: "))
            num2 = float(input("Enter the second number: "))
            print(f"Result: {calculator.add(num1, num2)}")
        elif choice == "2":
            num1 = float(input("Enter the first number: "))
            num2 = float(input("Enter the second number: "))
            print(f"Result: {calculator.subtract(num1, num2)}")
        elif choice == "3":
            num1 = float(input("Enter the first number: "))
            num2 = float(input("Enter the second number: "))
            print(f"Result: {calculator.multiply(num1, num2)}")
        elif choice == "4":
            num1 = float(input("Enter the first number: "))
            num2 = float(input("Enter the second number: "))
            try:
                print(f"Result: {calculator.divide(num1, num2)}")
            except ValueError as e:
                print(e)
        elif choice == "5":
            print("\nCalculation History:")
            for i, history in enumerate(calculator.get_history()):
                print(f"{i+1}. {history}")
        elif choice == "6":
            break
        else:
            print("Invalid option. Please choose a valid option.")
if __name__ == "__main__": main()

Ihatefriend

a year ago

This ASCII 7 (C escape "\a"), which when printed emits a bell sound. The exact sound is terminal dependent, and modern terminals won't use the PC speaker but rather play a sound using the audio hardware (which is required on Macs because they don't have a PC speaker). The bell isn't expected to be emitted often and quickly in series, so depending on the capabilities of the terminal program and the audio hardware, it may go haywire trying to play a more complex/longer sound repeatedly or overlapping (like seeming to lock up or slow down as the audio is queued). Your terminal may be configured to "flash" instead of emitting a sound when ASCII 7 is printed -- this may be implemented as rendering the entire window in reverse video for a short duration. A series of discrete bells played quickly may sound like a tone with a rising pitch. Other terminal oddities could occur if ANSI escape sequences. There are many ANSI escape sequences, for changing colors of text, moving the cursor, changing the typeface, or for querying terminal capabilities or customizing the terminal window title bar, that when printed randomly may make the terminal go haywire. PC Speaker - https://en.wikipedia.org/wiki/PC_speaker ANSI Escape Sequences - https://en.wikipedia.org/wiki/ANSI_escape_code reply

Neywiny 4 days ago | root | parent | prev | next [–]

My initial thought is you're getting escape sequences or other signals to trigger the bell/chime. I've never had it crash a terminal but I've never really used a macbook. A common one I'll see in gnome terminal is the terminal printing out some info about itself (I guess there's a way to get some info back from the other side of a link) or changing the title bar. An easy test would be to have something dump that bell character to the terminal as fast as possible and see if that does it, and also try /dev/zero to check that doesn't. reply

0points 3 days ago | root | parent | prev | next [–]

That's the ascii bell symbol being rendered on your terminal. See parent's comment, how he piped output from /dev/random into the next command and not to stdout. reply

signa11 4 days ago | root | parent | prev | next [–]

just a guess “visual bell” might fix it perhaps ? reply

0points 3 days ago | root | parent | prev | next [–]

(Sorry if too off-topic) I just saw this and thought this was pretty cool! Running your command in nushell, and eventually aborting it gives the following output ^CError: nu::shell::terminated_by_signal

      × External command was terminated by a signal
       ╭─[entry #28:1:32]
     1 │ cat /dev/random | hexdump -C | grep 'ca fe'
       ·                                ──┬─
       ·                                  ╰── terminated by SIGINT (2)
       ╰────
Just wanted to random praise the nushell team for this amazing level of detail! reply

yencabulator 9 hours ago | root | parent | next [–]

Ehh. Nushell error handling is poorly built and buggy as hell. I wanted to use it, I really believed in the sales pitch, but it's just utterly unreliable and I have zero faith left in them ever actually fixing it. - error handling is neglected in the basic design: <https://github.com/nushell/nushell/issues/10633>, <https://github.com/nushell/nushell/issues/10856>, <https://github.com/nushell/nushell/issues/8615>, <https://github.com/nushell/nushell/issues/6617> - control-C interrupts its internals with obviously-wrong error: <https://github.com/nushell/nushell/issues/8828>, is midhandled in other ways <https://github.com/nushell/nushell/issues/8206> - something is horribly wrong with the basic design of command-line arguments: <https://github.com/nushell/nushell/issues/9939>, <https://github.com/nushell/nushell/issues/9766> - they're getting the fundamentals of globs on command lines wrong: if you pass string literals to an external command, they're still processed for globs. this means `ls ""` (internal) and `^ls ""` (external) behave differently: <https://github.com/nushell/nushell/issues/9558> reply

shayonj 4 days ago | parent | prev | next [–]

I have always wondered if anyone used it in a "real life scenario". This was hilarious, thanks for sharing :D reply

imadethis 4 days ago | root | parent | next [–]

When I was in college, the local news was interviewing a comp sec professor of mine in the computer lab. The cameraman was taking B-roll footage (blinking lights from racks, cables going everywhere, that sort of thing). He asked if he could film a few of our screens to show what we were diligently working on, which is how we got hacker typer onto the nightly news. reply

siamese_puff 4 days ago | parent | prev | next [–]

God damn that is funny reply

*

1 point by Ihatefriend 0 minutes ago | prev | next | edit | delete [–]

ban#robloxplayer called Kazyeah pls pls (he is annoying me) I am not a hacker so I wanna learn how to ban people at roblox reply

pjerem 5 days ago | prev | next [–]

LPT : If you are using this website to hack the FBI or whatever, don't forget to triple press SHIFT and to triple press ALT :) reply

keyle

a year ago

Finally I can write code faster than LLM! /s

helloplanets

a year ago

Now we just gotta combine Hacker Typer with GPT streaming a token of code on every key press.

K0balt

a year ago

Pure genius. Finally, an opportunity to parley my effusive laziness into a promising career as a “coder!”

BTW I hate that term with a passion.

As someone who has crafted software for the last 45 years, it’s like implying that learning the alphabet makes you a Tom Robbins.

Writing software is about understanding the problem and the information involved in such a way that you can craft algorithms and data structures to efficiently and reliably solve those problems. Putting that into code is the smallest, least important part of that skill.

That’s why software engineering is mostly language agnostic. Sure, there are paradigms that fundamentally change the way that the problem space is handled, but at least within a paradigm, languages are pretty much interchangeable. Some just have less hidden footguns.

Interface design is another thing altogether, And is either fruitless drudgery or fine art, depending on your predisposition.

There is definitely room for a subclass of brilliant interface designers that do not need deep data manipulation intuition …. But they do need to have a deep understanding of human nature, aesthetic principles, color theory, some understanding of eye mechanics and functional / perception limitations, accessibility/disability engineering, and a good dose of intuition and imagination.

In short, nothing about producing quality software is something that you gain by writing code snippets to solve simple problems. But you do have to learn the alphabet to write, and “coding” it is still a prerequisite to learning to write software. It just shouldn’t be sold to people as if it was some kind of degree lol.

Give me some kid who’s been building things with Arduino in her basement for a few years over a coding bootcamp graduate any day. I can teach her how to write good code. I’ll just pull out more of my non-existent hair trying to reach the “coder” to actually solve problems, unless I get lucky.

necovek

a year ago

The fact that someone entered software engineering through either building things with Arduino or through a coding boot-camp does not indicate what is their potential when it comes to software engineering.

I've seen people who are really great at combining "recipes" off the web for anything (including hobby electronics and programming), but never really get to the bottom of things or develop clear understanding of how things work and tie together.

I imagine you'd only get more out of that kid toying with Arduino because of persistence ("few years"), and not because of the type of things they did, but I ultimately believe you'll have similar chances of developing a great software engineer out of any of them in general.

K0balt

a year ago

You’re right on about the time part, that was definitely a big part of what I meant.

You can start anywhere, and coding boot camps are useful, just as following YouTube tutorials. But until you learn to identify, quantify, and characterise the problem and data space you aren’t really doing the job of software engineering.

My experience is that many people are deceived into thinking that language fluency is the core skill of software engineering, and coding bootcamps tend to foster that misrepresentation.

That doesn’t make them bad. It just means that often, thrashing around with no real knowledge of the tools and solving a problem with the tiny set of syntax you can get to work is much, much more educational towards the goal of becoming a software engineer than getting a good grasp of the language as it pertains to solving toy problems that require little effort to characterise.

Anyone that is willing to hack around a problem long enough that the solution emerges is doing the real job.

It doesn’t matter where they start, or how much they “know” about “coding”. The real task is to fully characterise the problem and data structures, and sometimes that emerges from the horrific beast that rises from the tangled mess of a hacking session, a malformed but complete caricature of the actual solution.

Then, all you have left to do is to code the actual solution, the structure of the algorithm and data has been laid bare for you to see by your efforts.

That, I believe, is the essence of software engineering.

necovek

a year ago

No disagreement there, but one other thing I'd throw in for learning coding is that it increases confidence for someone embarking on this journey, and sometimes that's all the motivation they need to dive deep and persist.

I've obviously seen people who misjudge this (they can code, hire them), but ultimately, developing someone requires an amenable minds of both a mentor and a mentee on top of talent and persistence.

K0balt

a year ago

You’ve got a good point. I honestly hadn’t considered the self confidence angle. I’ve always just been stupid enough to expect to be good at whatever I am willing to put time in to learn. Sometimes, it doesn’t work out, but I can usually write it off to “lost interest” even if I suspect intrinsic incompetence lol. I mean, demonstrated intrinsic incompetence is a good reason to lose interest, right?

lozf

a year ago

To the untrained eye: "Coding is to a software engineer, as cutting is to a heart surgeon."

K0balt

a year ago

That is a fantastic analogy.

keyle

a year ago

Genius, here comes the funding!

ay7

a year ago

[flagged]