Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "pick-up line"
-
Last year I built the platform 'Tindex'. It was an index of Tinder profiles so people could search by name, gender and age.
We scraped the Tinder profiles through a Tinder API which was discontinued not long ago, but weird enough it was still intact and one of my friends who was also working on it found out how to get api keys (somewhere in network tab at Tinder Online).
Except name, gender and age we also got 3 distances so we could calculate each users' location, then save the location each 15 minutes and put the coordinates on a map so users of Tindex could easily see the current location of a specific Tinder user.
Fun note: we also got the Spotify data of each Tinder user, so we could actually know on which time and which location a user listened to a specific Spotify track.
Later on we started building it out: A chatbot which connected to Tinder so Tindex users could automatically send a pick up line to their new matches (Was kinda buggy, sometimes it sent 3 pick up lines at ones).
Right when we started building a revenue model we stopped the entire project because a friend of ours had found out that we basically violated almost all terms.
Was a great project, learned a lot from it and actually had me thinking twice or more about online dating platforms.
Below an image of the user overview design I prototyped. The data is mock-data.51 -
Me in the digital circuits class: "Bro I just got a pick up line in mind!"
Friend: "Go on.."
Me: "Girl, are you a boolean signal 1? 'Cause you turn me on 😏"
Friend: "I can't believe I'm your friend."6 -
My code review nightmare part 2
Team responsible for code 'quality' dictated in their 18+ page coding standard document that all the references in the 'using' block be sorted alphabetically. Easy enough in Visual Studio with the right-click -> 'Remove and Sort Usings', so I thought.
Called into a conference room with other devs and the area manager (because 'Toby' needed an audience) focusing on my lack of code quality and not adhering to the coding standard.
The numerous files in question were unit tests files
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.Collections.Generic;
using System.Linq;
<the rest of the usings>
T: "As you can see, none of these files' usings are in alphabetical order"
Me: "Um, I think they are. M comes before S"
T: "The standards clearly dictate system level references are to be sorted first."
Mgr: "Yes, why didn't you sort before checking this code in? T couldn't have made the standards any easier to follow. All you had to do is right-click and sort."
Me: "I did. M comes before S."
T: "No You Didn't! That is not a system reference!"
Me: "I disagree. MSTest references are considered a system level reference, but whatever, I'll move that one line if it upsets you that much."
Mgr: "OK smartass, that's enough disrespect. Just follow the fucking standard."
T: "And learn to sort. It's easy. You should have learned that in college"
<Mgr and T have a laugh>
Me: "Are all your unit tests up to standard? I mean, are the usings sorted correctly?"
T:"Um..well..of course they are!"
Me: "Lets take a look."
I had no idea, a sorted usings seems like a detail no one cares about that much and something people do when bored. I navigate to project I knew T was working on and found nearly all the file's usings weren't sorted. I pick on one..
using NUnit;
using Microsoft.Something.Other;
using System;
<the rest of the usings>
Me: "These aren't sorted..."
T: "Uh..um...hey...this file is sorted. N comes before M!"
Me: "Say that again. A little louder please."
Mgr: "NUnit is a system level nuget package. It's fine. We're not wasting time fixing some bug in how Visual Studio sorts"
Me: "Bug? What?..wait...and having me update 10 or so files isn't a waste of time?"
Mgr: "No! Coding standards are never a waste of time! We're done here. This meeting is to review your code and not T's. Fix your bugs and re-submit the code for review..today!"17 -
I'm still at my first job, got the job by word of mouth from a friend.
This company wants me to develop both their iOS and Android apps, and being the solo developer it's a long process. I forgot to mention I had to learn objective-c on the job, and being from a java background Android was easy to pick up but it wasn't exactly 100% easy either.
8 months down the line I finished the iOS app and working on the Android app, which is more so copying the features I did with the Android prototype I worked on at the start.
I get paid minimum wage with from the looks of it no sight of a pay raise.
This company doesn't seem to know about how difficult it is to be the only developer for two apps in two different languages.
Anyway aside from this I was wondering if I could get some advice, I want to apply for jobs while I finish up the Android app, but is it a good idea to put the company I work for on my CV? I don't want to risk getting found out for looking for a job, without my boss knowing.
Would it be ideal to just have some sort of more information on request type thing if the jobs I apply for respond?
I guess I could stay until I'm here for one year (student advisor said this) but in saying that I don't think he understands that software development is done in projects rather than time, and after these apps I'll have to start on a new app from scratch, which I'm not looking forward to.
Anyways for any advice you guys give me thanks in advance I really appreciate any input, just wanna get out of this job, the 10 hours of commute I spend a week is killing me :/ along with it being expensive.9 -
Tl;dr: I spent more than 2 hours and $429 on a book thats as thin as a pancake.
I needed to go to my campus to pick up my textbook from the school store for my Software Management class. The bookstore is in the building next to the construction site. I had to park on the opposite side of the campus and walk the 2.3 miles to the store, stand in line for 20 minutes to have them tell me that i need a printed out class schedule. I had to walk all the way back to the building next to where i parked to print out my schedule in the library. I then walked all the way back to the bookstore, and the line has maybe tripled in size. I stand in line nearly an hour to have them tell me that they no longer had rentals available for my book, even though i reserved one (they thought it was cool to just rent it to someone else apparently). So instead of paying $45 on a rental, i payed $429 for a brand new textbook that looks like a magazine. Its stupid thin, i could probably read and study it all in less than a week. Thinking of this, i ask the cashier about return policy. She says i can't return it, but i can sell it back to them within 10 days of purchase for about half the price i paid for it. I walk the 2.3 miles back to my car, decide to sell the book on Amazon or something after the semester, and once again leave my campus angry. I cannot wait to be done with this place.18 -
This is the third part of my ongoing series "The Ballad of the Six Witchers and the Undocumented Java Tool".
In this part, we have the massive Battle of Sparks and Storms.
The first part is here: https://devrant.com/rants/5009817/...
The second part is here: https://devrant.com/rants/5054467/...
Over the last couple sprints and then some, The Witcher Who Writes and the Butchers of Jarfile had studied the decompiled guts of the Undocumented Java Beast and finally derived (most of) the process by which the data was transformed. They even built a model to replicate the results in small scale.
But when such process was presented to the Priests of Accounting at the Temple of Cash-Flow, chaos ensued.
This cannot be! - cried the priests - You must be wrong!
Wrong, the Witchers were not. In every single test case the Priests of Accounting threw at the Witchers, their model predicted perfectly what would be registered by the Undocumented Java Tool at the very end.
It was not the Witchers. The process was corrupted at its essence.
The Witchers reconvened at their fortress of Sprint. In the dark room of Standup, the leader of their order, wise beyond his years (and there were plenty of those), in a deep and solemn voice, there declared:
"Guys, we must not fuck this up." (actual quote)
For the leader of the witchers had just returned from a war council at the capitol of the province. There, heading a table boarding the Archpriest of Accounting, the Augur of Economics, the Marketing Spymaster and Admiral of the Fleet, was the Ciefoh Seat himself.
They had heard rumors about the Order of the Witchers' battles and operations. They wanted to know more.
It was quiet that night in the flat and cloudy plains of Cluster of Sparks and Storms. The Ciefoh Seat had ordered the thunder to stay silent, so that the forces of whole cluster would be available for the Witchers.
The cluster had solid ground for Hive and Parquet turf, and extended from the Connection River to farther than the horizon.
The Witcher Who Writes, seated high atop his war-elephant, looked at the massive battle formations behind.
The frontline were all war-elephants of Hadoop, their mahouts the Witchers themselves.
For the right flank, the Red Port of Redis had sent their best connectors - currency conversions would happen by the hundreds, instantly and always updated.
The left flank had the first and second army of Coroutine Jugglers, trained by the Witchers. Their swift catapults would be able to move data to and from the JIRA cities. No data point will be left behind.
At the center were thousands of Sparks mounting their RDD warhorses. Organized in formations designed by the Witchers and the Priestesses of Accounting, those armoured and strong units were native to this cloudy landscape. This was their home, and they were ready to defend it.
For the enemy could be seen in the horizon.
There were terabytes of data crossing the Stony Event Bridge. Hundreds of millions of datapoints, eager to flood the memory of every system and devour the processing time of every node on sight.
For the Ciefoh Seat, in his fury about the wrong calculations of the processes of the past, had ruled that the Witchers would not simply reshape the data from now on.
The Witchers were to process the entire historical ledger of transactions. And be done before the end of the month.
The metrics rumbled under the weight of terabytes of data crossing the Event Bridge. With fire in their eyes, the war-elephants in the frontline advanced.
Hundreds of data points would be impaled by their tusks and trampled by their feet, pressed into the parquet and hive grounds. But hundreds more would take their place. There were too many data points for the Hadoop war-elephants alone.
But the dawn will come.
When the night seemed darker, the Witchers heard a thunder, and the skies turned red. The Sparks were on the move.
Riding into the parquet and hive turf, impaling scores of data points with their long SIMD lances and chopping data off with their Scala swords, the Sparks burned through the enemy like fire.
The second line of the sparks would pick data off to be sent by the Coroutine Jugglers to JIRA. That would provoke even more data to cross the Event Bridge, but the third line of Sparks were ready for it - those data would be pierced by the rounds provided by the Red Port of Redis, and sent back to JIRA - for good.
They fought for six days and six nights, taking turns so that the battles would not stop. And then, silence. The day was won, all the data crushed into hive and parquet.
Short-lived was the relief. The Witchers knew that the enemy in combat is but a shadow of the troubles that approach. Politics and greed and grudge are all next in line. Are the Witchers heroes or marauders? The aftermath is to come, and I will keep you posted.4 -
Linux or Windows - still a problem for inexperienced computer users.
I was an IT professional for 35 years but haven't looked at a line of code for 10 years. And it certainly looks different today -
I have trouble using my smart Phone. I have always disliked the intimidation tehniques practised by Microsoft over the years. When
I was running OS2 in the 90's I couldn't get any software for it because MS had persuaded the developers not to release any OS2 versions until Chicago (AKA WIN95) was released. I was forced to use Windows for years until I finally decided to try Linux. Linux
is a great answer but unfortunately unless you are a current programmer there seems to be some situations that force you to maintain a version of Windows (setting up devices, Printers and developed software). Now that UEFI has been introduced as the standard in new PCs it is very difficult just to install and run Linux. So as WIN10 (the most invasive and slow running Windows to date) is the only "Valid" OS - MS is still dictating what we can and can't do. I decided to sell my new PC and pick up an old BIOS PC so that I could run linux and Win 7 to accomplish
my needs. How long can this go on? When will Linux be a "valid" Operating System. And when will a non-programmer be easily able to setup his hardware and find necessary software to run on Linux.9 -
You know the old adage "cost, speed, quality, pick two."
I've come up with my own.
Shitty jobs you'll forever be stuck in with no way out: unreasonable demands and coworkers that drive you insane, pay below the poverty line, no sleep.
Pick two.
More likely, pick three.6 -
Below is a transcript from work Slack today. Only the names and some code are changed. It ended up causing a bit of drama. DevRanters, what do you take from this?
---
Delivery Lead:
Hey Gang. What's the blocker for FEATURE-123?
Dev1:
FEATURE-122 crashed on iOS app when viewing Feature Introduction page.
Teach Lead:
I've talked about this with Dev1 on a side channel.
And diagnosed the stack trace.
It looks like there is/was some bad handling of a List in the Feature Introduction view logic.
But this is confined to changes that Dev2 is still working on.
(It's not present in master)
Dev2, what's your current position on this?
Dev2:
I have tested at my end with Dev1 but it seems to be working fine
Tech Lead:
There is a race condition related to the use of someList.first()
My guess is that theres a Flow of those lists defined, with an initial value of emptyList
And that on your machine, that Flow is updating with a new value quickly enough that it doesn't matter.
But on Dev1's, for whatever reason, it doesn't get there in time, hits the empty list and falls over.
The logic that's performing the first() needs to gracefully handle empty lists as well.
Dev2:
Where is that logic called?
Tech Lead:
Here's the stack trace Dev1 provided in our conversation earlier:
Caused by: kotlin.NoSuchElementException: List is empty.
...
at 3 iosApp 0x00000000 kfun:kotlin.NoSuchElementException#<init>(kotlin.String?){} + 00
at 4 iosApp 0x0000000 kfun:kotlin.collections#first@kotlin.collections.List<0:0>(){0§<kotlin.Any?>}0:0 + 000
...
at 9 iosApp 0x0000000 kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} + 0000
This line:
kfun:kotlin.collections#first@kotlin.collections.List<0:0>()
...says that it's first() being called on an empty list.
Dev1:
FYI: Dev3/Dev4/myself are seeing the same issue with the same stack-trace above.
Tech Lead:
So Dev2, have you introduced such a call?
Because I checked master branch and there isn't one, in that version of the file.
Ok, I'll check your working branch Dev2
...
Yes you have here:
var processed1 = someList.first()
var processed2 = someList.first()
...
Lines 123, 124.
Solution looks really straightforward guys.
Dev2:
Okay, I will fix that and push the change
Tech Lead:
Check if someList is empty and allow for generating / handling null processedValues in the view.
Now; I'm going to be straight with you here.
This issue has been discussed over several hours today.
I expect that either one of you could have gone through the process I did in the last 10 minutes above, and resolved it in the same way :point_up:
Dev2:
I went on a break and it's not reproducible on my machine
Tech Lead:
I didn't reproduce it on mine either.
Dev1:
Dev2 and myself are now on sharing screen to sort this issue out. Hope to update back later.
Tech Lead:
<Screen shot of diff with changed code>
:point_up: That change should do it.
Dev2:
Already have pushed the change.
Tech Lead:
...just seen it, is good - same approach :ok_hand:
Dev1 please let us know when tested on your machine.
Dev1:
That does it. It fixes the issues. Thank you, Dev2. I will pick it off from here.
Tech Lead:
Glad to hear it guys.
Dev1:
I have to say this that it is not because we are not working on the issue - Dev2 and myself (together with Dev3/Dev4) have been on this issue all this morning. It just difficult to connect the dot when it wasn't reproducable on Dev2's machine. I brought the issue up because I wanted to switch to working on other tickets while waiting for this to resolve. Still thank you largely for Dev2's work and your keen eyes that spot and resolve the issue quickly.
Tech Lead:
Noted Dev1.
I think the take-away has to be to read the stack-trace carefully... don't worry - we've all been guilty of not reading the error in full, at some point.
The stack trace said that the 'first' element is being referenced from an empty list - that's just logically impossible, right?
Looking for that call to first, we saw it wasn't in the code before, and is after (two of them, in fact).
So then we ask ourselves, how can we deal with an empty list - and then solution almost presents itself.
It didn't really take reproduction of the error to resolve.
Maybe working with a new tech stack creates an anxiety that every issue faced will have a complex solution related to that stack; but I think you'll agree, this particular issue really just required a deep breath and your trusty 'debugging skills 101'... don't lose them! :smiling_face:4 -
Project manager: "What is a micro service? I'm dating a girl and she mentioned it and I want to impress her."
Me: "Well, you have monolithic services which tend to serve many different functions whereas a micro service tends to serve a single function or a few related functions. They are usually easier to scale and can be optimized to be faster. Still, right tool for the job."
Project manager: "Oh nice! So I can ask her 'Hey, want to see my micro service? It's quick and scalable.'"
-face palm-
He's leaving this week. I'm going to miss him though.
Seriously though, in that context, would scalability mean you're bringing friends?4 -
So this happened some years ago:
The phone rings and as soon as I pick it up some fast talking sales rep begins his spiel.
"Good afternoon my name is [don't remember, calling him 'jigglybum'] and we have a device that you plug into your phone line and it will allow you to make free international calls over the internet. It's real easy to set up and you can have it on us for the first three months absolutely free, if you could just confirm your address..."
"Don't want it."
"I'm sorry sir but I think you're throwing away a massive opportunity here we're offering you free international calls."
"No you're not. You're offering me a free trial of some sort of VoIP hardware."
"We yes, but it's free for the first three months and..."
"We also don't make international calls."
"That maybe true sir but with this box you could."
"I'm really not interested in your product."
"I don't think you fully understand all the benefits..."
*there's a clicking noise followed by a dial tone for a second and a new voice*
"Hi, I'm the supervisor for 'jigglybum' and I think perhaps he is having difficulty explaining what it is that we are trying to give you here..."
"Listen to me, from what I have understood you are offering to send us a VOIP hardware device that directly connects to our broadband and facilitates international calls, and presumably any calls for that matter on a three month trial which after will presumably have a subscription fee, have I had any difficulty understanding the nature of the device and terms of use?"
"Well, no sir, that's a very accurate description, so if you could just confirm your address for me..."
"NO! As you have just admitted there was no misunderstanding about what your product is or what it does. There seems to be a real misunderstanding on your part on the concept of 'no'. We don't want this product, we don't need the product and if we want to make VOIP calls, we have Skype!"
"Ok sir, goodbye."
This is, to my knowledge the only and only time that a supervisor in a call centre has wanted to talk to ME.2 -
This started as an update to my cover story for my Linked In profile, but as I got into a groove writing it, it turned into something more, but I’m not really sure what exactly. It maybe gets a little preachy towards the end so I’m not sure if I want to use it on LI but I figure it might be appreciated here:
In my IT career of nearly 20 years, I have worked on a very wide range of projects. I have worked on everything from mobile apps (both Adroid and iOS) to eCommerce to document management to CMS. I have such a broad technical background that if I am unfamiliar with any technology, there is a very good chance I can pick it up and run with it in a very short timespan.
If you think of the value that team members add to the team as a whole in mathematical terms, you have adders and you have subtractors. I am neither. I am a multiplier. I enjoy coaching, leading and architecture, but I don’t ever want to get out of the code entirely.
For the last 9 years, I have functioned as a technical team lead on a variety of highly successful and highly productive teams. As far as team leads go, I tend to be a bit more hands on. Generally, I manage to actively develop code about 25% of the time to keep my skills sharp and have a clear understanding of my team’s codebase.
Beyond that I also like to review as much of the code coming into the codebase as practical. I do this for 3 reasons. I do this because as a team lead, I am ultimately the one responsible for the quality and stability of the codebase. This also allows me to keep a finger on the pulse of the team, so that I have a better idea of who is struggling and who is outperforming. Finally, I recognize that my way may not necessarily be the best way to do something and I am perfectly willing to admit the same. I have learned just as much if not more by reviewing the work of others than having someone else review my own.
It has been said that if you find a job you love, you’ll never work a day in your life. This describes my relationship with software development perfectly. I have known that I would be writing software in some capacity for a living since I wrote my first “hello world” program in BASIC in the third grade.
I don’t like the term programmer because it has a sense of impersonality to it. I tolerate the title Software Developer, because it’s the industry standard. Personally, I prefer Software Craftsman to any other current vernacular for those that sling code for a living.
All too often is our work compiled into binary form, both literally and figuratively. Our users take for granted the fact that an app “just works”, without thinking about the proper use of layers of abstraction and separation of concerns, Gang of Four design patterns or why an abstract class was used instead of an interface. Take a look at any mediocre app’s review distribution in the App Store. You will inevitably see an inverse bell curve. Lot’s of 4’s and 5’s and lots of (but hopefully not as many) 1’s and not much in the middle. This leads one to believe that even given the subjective nature of a 5 star scale, users still look at things in terms of either “this app works for me” or “this one doesn’t”. It’s all still 1’s and 0’s.
Even as a contributor to many open source projects myself, I’ll be the first to admit that have never sat down and cracked open the Spring Framework to truly appreciate the work that has been poured into it. Yet, when I’m in backend mode, I’m working with Spring nearly every single day.
The moniker Software Craftsman helps to convey the fact that I put my heart and soul into every line of code that I or a member of my team write. An API contract isn’t just well designed or not. Some are better designed than others. Some are better documented than others. Despite the fact that the end result of our work is literally just a bunch of 1’s and 0’s, computer science is not an exact science at all. Anyone who has ever taken 200 lines of Java code and reduced it to less than 50 lines of reactive Kotlin, anyone who has ever hit that Utopia of 100% unit test coverage in a class, or anyone who can actually read that 2-line Perl implementation of the RSA algorithm understands this simple truth. Software development is an art form. I am a Software Craftsman.
#wk171 -
In-laws are vacationing in London right now (wife's parents and aunt/uncle), so to keep in touch with the kids, I installed+configured Skype on their phones (these are folks in their 70s, no where close to tech savvy), I think they are good to go.
Last night we try to connect (I 'see' them online)...nothing, so we call.
Me: "Did you see or hear the skype notification?"
Grandma: "Was that you? My phone made a weird sound I never heard before and I saw your picture. I wasn't sure what to do so pressed the red button."
Me: "Its the same sound and picture I showed you before you guys left, remember? That's OK, the kids want to see you and say hi. Hang up and when you hear the sound and see my picture, click the green accept button"
I try again...ring..ring...nothing. About a second later we receive a text "Grandpa hit something and your picture went away. What do I do now?"
So, I try again...ring..ring...they finally pick up (we can only hear them)
Grandma: "Hello...hello? I don't hear or see anything, damn it Fred, what did you hit?"
Grandpa: "Nothing Betty, you aren't holding it right, turn it sideways .."
Wife: "Guys..we can hear you, can you see us?"
Grandpa: "Press this button with the line crossed through it .."
Wife: "Dad.."
Grandpa: "Hey!..See Betty, you had the phone turned wrong. Can you see us?"
Me: "No, you may have hit the video button..it looks like a little video camera, press it."
Grandma: "We did...nothing happened."
Me: "Are you sure? Try it again. The image may be grey or a little darkened, I don't remember."
Then we lose the sound.
Wife: "Oh good Lord they muted us. We're going to have to forget Skype and call them..."
All of a sudden we get video and sound. Cheers all around.
Then I hear in the background..
Uncle: "I thought 'PaperTrail' knew what he was doing? Apparently not."
I heard that and FU you, you old bastard. If you weren't a millionaire and paid for their London trip, I'd take 'knew what he was doing' and shove it up your ass when I see you.1 -
I'm at this magnificent company, working scrum, doing continuous integration which is really very cool. But although the features we develop are really nice it is sooooooo boring.
One of our team members emphasized that we should not pick up new stories if we haven't finished previous stories yet. I agree to some extent but think it is ok to pick up new stories if you have nothing to do. But we may not.
So, here I am now. Literally waiting for the day to pass. This sucks sooooo much!
I'm a hard worker and perform at my best under pressure with many things to do. Now, I just deployed one tiny little story today. I can do much much more. I feel so useless and cannot believe that my client pays so much just for me being at the office. And occasionally clicking a button and writing a line of code. This is so fucked up.5 -
I subscribe to many copywriting newsletters. Here's an article that shows how it's like on "the other side", marketers struggle, too.
How Kevin's Massive Mistake
Completely Changed His Life
Kevin H. made a huge mistake.
The biggest, he would say, if he could tell you himself.
And he knew it immediately.
It was, he said, "instant regret."
Within milliseconds, he was asking himself "What have I done..."
Kevin, see, had just jumped the rail of the single most popular suicide spot in the world, the Golden Gate Bridge.
On average, the site gets another distraught jumper every two weeks. Kevin was one of them.
It wasn't like he hadn't tried to quiet the voices in his head. Therapy, drugs, hospitalization.
Time to die, those voices still said.
And yet, in the minutes his bus dropped him off at the bridge, he hesitated and paced with tears in his eyes.
"I told myself if just one person comes up to me and asks if I'm okay... if one person asks if they can help... I won't do it. I'll stop and tell them my whole story..."
But nobody did, so he jumped.
It was in those next milliseconds, he would later say, he knew it was the biggest mistake of his life.
He didn't want to die.
But now, he was sure, it was too late.
From its highest point, it's a 245-foot plummet into the icy bay waters below.
Out of the 1,700 people that have jumped from the bridge since it first opened in 1937, only 25 have survived.
Kevin, against all odds, would be one of them.
He slammed into the water like hitting concrete. Three of his vertebrae instantly shattered.
When he surfaced, he couldn't hold his own head above water. But, incredibly, a sea lion kept pushing him up.
The Coast Guard soon arrived and pulled him out.
From there, he began a long recovery that required intense surgery, physical therapy, and psychiatric care.
While still under treatment, a priest urged him to give a talk to a bunch of seventh and eighth graders.
Afterward, they sent him a pile of letters, both encouraging and full of their own pained thoughts.
He also met a woman.
Today, Kevin lives in Atlanta and he's been happily married for the last 12 years.
And he tours the country, sharing his story.
So why re-tell it here?
Obviously -- I hope -- you don't get lots of copywriters looking to snuff it after a flopped headline test.
Just the same...
We've talked a lot in this space about the things one needs to get by in this biz.
My friend and colleague Joe, over at the publishing powerhouse Agora Financial, likes to list requirements.
You need intense curiosity...
You need a killer work ethic...
And you must, MUST have... resilience.
Meaning, you must have or find the capacity to bounce back from failure and flops, even huge ones.
Now, again, Kevin's story is an extreme and in this context -- I hope -- a hyperbolic example of somebody giving up. In the worst way possible.
It is also, though, a metaphor.
See, I get a lot of notes from some of you guys... and at conferences, I get to talk to a lot of people...
And I often get the sense, from some folks, that they're feeling a little more overwhelmed than they let on.
Some are just starting out, and they've got a lot on the line. For some, it's everything. And some are desperate to make it work.
Because they have to, because their pride or livelihoods or a family business is at stake, because it's a dream.
And yet, they're overwhelmed by all the tips and secrets... or by piles of confusing research or ideas...
For others, even had some success, but they're burned out, feel antiquated, or feel like "imposters" that know less than they let on, in an industry that's evolving.
To all those folks... and to you... I can only say, I've been there. And frankly, go back there now and again.
Flops happen, failures happen. And you can and will -- even years and decades into doing this -- make the wrong choices, pick the wrong projects, or botch the right ones.
The legendary Gene Schwartz put it this way, according to a quote spotted recently in fellow writer Ben Settle's e-letter...
" A very good copywriter is going to fail. If the guy doesn't fail, he's no good. He's got to fail. It hurts. But it's the only way to get the home runs the next time."
Once more, nobody -- I hope -- is taking the trials of this profession hard enough to make Kevin's choice.
And believe me, I don't mean to make light of the latter. I just want to make sure we hit this anvil with a big hammer. To drive home the point that, whatever your struggle, be it with this biz or something bigger, that you don't want to give up. Press on.
As Churchill put it, "Success, is the ability to go from failure to failure without losing your enthusiasm."
Or even more succinctly when he said, "If you're going through hell, keep going."
Because it's worth it.
.
John Forde -
I'm an apprentice software engineer, have been for about a year now. I feel so dumb all the time. Used to be I'd just teach myself at my own pace for about a year or two (which was slow, on and off because of life getting in the way). Now I'm surrounded by programmers with decades more experience than me and I can't help but feel inferior.
I want to get better faster but, I work full-time now so I don't know how to supplement my studying. I've been studying linear-algebra online because my maths is crap and I remember one of my colleagues mentioning that it would be useful. But now I'm not sure because apparently discrete mathematics is better.
I also need to keep up with Java since that's what I'm learning in university but, I'm mostly using React/Typescript in my current project. By the time I finish work I don't even want to look at a line code and I lack the self-discipline to force myself to study in the evening.
I need to pick a direction and stick with it but, it's seems to just be increasingly harder as I've gone on.3 -
Hey girl are you into PDA? Because I've constructed a Pushdown Automata that can generate binary palindromes.1
-
Cereal is one of the most popular breakfast foods worldwide. According to the National Cereal Day website, Americans consume approximately 100 billion bowls of cereal every year. With such a high demand for cereal, manufacturers are constantly looking for ways to make their products stand out. Custom cereal boxes are an excellent way to differentiate your product from competitors. In this article, we will explore the benefits of custom cereal boxes.
Enhanced Brand Recognition
Custom cereal boxes allow your brand to stand out on the shelves. With unique packaging, your product is more likely to catch the attention of potential customers. When a consumer sees a distinctive box design, it becomes easier for them to remember your brand, making it more likely they'll purchase your product in the future. Custom packaging can also reinforce your brand's messaging and values. Whether you want to promote a new product line, a charitable initiative, or just your brand's logo, custom cereal boxes provide an excellent opportunity to showcase your brand in a visually appealing way.
Increased Product Appeal
Custom cereal boxes can make your product more appealing to consumers. Unique designs, vibrant colors, and creative patterns can create an emotional connection with your target audience. Your custom cereal boxes can be used to convey the quality of your product, the nutritional benefits, and the flavor. Consumers will be more likely to pick up your product and try it out if they are attracted to the packaging.
Competitive Advantage
The cereal market is highly competitive, and custom cereal boxes can give your brand an edge over competitors. With unique packaging, your product will stand out among the other cereal boxes on the shelves. Custom cereal boxes can also be used to create a sense of exclusivity, making your product more desirable to consumers. Consumers are more likely to purchase a product that appears to be of higher quality, and custom cereal boxes can help create that perception.
Improved Customer Experience
Custom cereal boxes can improve the customer experience by creating a memorable and enjoyable shopping experience. Unique packaging can create a sense of excitement and anticipation for the consumer. Additionally, custom cereal boxes can provide useful information to the consumer, such as nutritional facts, ingredients, and serving suggestions. Consumers are more likely to have a positive experience with your brand if they feel informed and engaged.
Eco-Friendly Options
Custom cereal boxes can be designed with eco-friendly materials, making them an excellent choice for environmentally conscious consumers. With the rise of eco-friendly products, custom cereal boxes can help your brand appeal to consumers who are looking to make more sustainable choices. Additionally, eco-friendly packaging can reduce waste and promote a positive image for your brand.
In conclusion, custom cereal boxes offer many benefits to cereal manufacturers. From enhanced brand recognition to improved customer experiences, custom packaging can help your brand stand out in a crowded market. Whether you're looking to promote a new product line or create a sense of exclusivity, custom cereal boxes are an excellent tool to help you achieve your marketing goals.
If you are also looking to increase your sales, get custom cereal boxes from OXO Packaging. -
Pick up work that lets me get some experience in Product Management and Client Requirements rather than just being a nocturnal cave dweller who only codes.
All to get me one step closer to knowing how to run my own business when hopefully the time comes a few years down the line.