Anonymous Inner Class in Java | Examples of Anonymous

what is anonymous class in java

what is anonymous class in java - win

I'm getting discouraged trying to find an internship, do I have the right approach?

Background

I'm a third-year at a state school studying computer science and minoring in mathematics. I have really wanted to be a software engineer for at least 2 years. If you told me 8 months ago that I wouldn't have at least gotten 1 interview I would've thought you were absolutely crazy. However as of today that is the case. Although I haven't sent out as many applications as some of the other people I've seen on this subreddit, I anticipated a little bit of a better response rate. Currently, I've applied to almost 80 internships. At first, I was trying to find the ones where I knew all of the technology specified on their requirements and "bonus" sections. Then once I wasn't hearing back I started expanding my horizon to anything tangential.

Luck?

I have been denied quickly at positions where I far exceed the job requirements and had a referral from someone in the company. For one instance, the connection said that the hiring manager had just gone on vacation when I applied and the person who was taking over for the week denied my application before he could reach out to the department. It made it feel like I was just getting unlucky at everything.

What I've been doing

During this time I had been working as hard as I could to boost my resume, skills, and knowledge. I have been listening to an algorithms course on youtube from MIT when I workout daily, programming in java on LeetCode answering 2-5 questions per day. I started building and I am almost finished with an A* Pathfinding algorithm written in Python that has a dynamic user interface written with Tkinter. My primary focus is a social media product I co-founded with a few of my friends from university.

What I've learned/how I've grown

Through those experiences, I've seen tremendous growth over the last 8-10 months in my programming skills. I remember when I first started grinding on LeetCode I thought I was going to quit programming because I spent 5 hours on an "easy" question that had a 5 line solution. At this point, I can't find an easy question that isn't trivial and I am solving a lot of medium questions without having to reference an answer. I am taking an algorithms class currently at university and I can't even pay attention because I read the syllabus and already know the algorithms well. I can tell the functions I've written for my iOS app are some of the most advanced things I've ever read and they're used by a almost hundred people daily.

Critique + resume link

I've thought my resume has expressed the level of my technological skill properly but perhaps not. Its attached to this post hiding sensitive information. If anyone has critiques on my resume or my daily routine. Please let me know.
resumeLink
submitted by g-unit2 to cscareerquestions [link] [comments]

[REVIEW] “Anong pabango yan, Mars?”: Local indie perfume reviews (Daniela Calumba, Pete & Alia, etc.)

💃🏻 WARNING, long post ahead! 💃🏻
⚠️ 12/1/20: Added updates on SBP’s Eclat de Fruits and Pete and Alia’s longevity report. ⚠️
Hello! I’ve been meaning to write reviews of local perfume brands that I’ve tried from the past year to recent releases. I’ll try to be concise with my reviews as they’re a lot. I’m also typing this on my phone, so any faults in grammaformatting I’ll try to fix later.
Disclaimer: I’m a novice when it comes to perfumes, let alone reviewing them. Perfumes will smell different from person to person. Most notes listed don’t make sense to me as I’ve never encountered them yet irl, but in a process of elimination through my collection I can somewhat pinpoint a few of them. I’ll mostly describe them what category of scent they are (fresh, gourmand, spicy, fruity, etc.) and what vibe they give off to me, so please bear with me if some of these don’t make sense!
Also I’m reviewing ORIGINAL perfume blends, so these are not inspired perfumes. Some of these do resemble existing commercial ones, but otherwise aren’t stated as inspired from the brands themselves. Some of these I’ve also mentioned in previous threads, but I decided to include them here because of changed views, etc.
My preferences: I’m putting this here as reference in case our tastes differ, as what I think smells great may smell awful to another and vice versa. I love gourmands (especially with vanilla, chocolate, and coffee), powdery scents, white florals, irises, musks, moss, woods, certain fruits (specifically oranges and mangoes), and resins. I’m neutral to incense, most fruits, herbs, spices, and most florals. I dislike shampoo/laundry scents, and musks/incenses that smell too musty. There are some exceptions, and tastes will change over time.

🌻 Daniela Calumba 🌻
Where you can buy them: ig: danielacalumba
Scent/s: Honeysuckle + Oakmoss (5ml full size), Benjamin, Ravensara, Saltwater, Oud Nectar (0.5ml samples)
Price: Updated prices are P1800 for FS and P1100 for 5 samples
General verdict: All of her perfumes last about 3-4 hours on me. These are all roll-ons, so they stick very close to the skin and don’t project far unless you stand really close. Overall I love her unique takes of natural perfumes except Saltwater, and some of them are going to be part of my permanent collection. Daniela is also very kind during transactions, which is a plus.
Honeysuckle + Oakmoss - ”Fragrant notes: absolutes of honeysuckle and oakmoss, mitti attar, ho wood. Character: sweet narcotic, luxurious, luscious, sophisticated.”
Sweet, but not like sugar or candy. Like aged honey, boozy but it won’t make you smell like a drunk. The sweetness of honeysuckle and the wet, bitter note of oakmoss make such a unique and lovely scent, it’s almost atmospheric. This is my favorite out of all of Daniela’s perfumes, and I am so glad I took a gamble to get this in full size.
Verdict: 🌻🌻🌻🌻🌻 LOVE! Hopefully she allows custom orders to have this in a bigger size because I truly love this perfume.
Vibe: drinking alcohol with friends in a rented house at Batangas, chilly night air bring about the scent of planted honeysuckles, petrichor setting in after the last days of summer.
Benjamin - ”Fragrant notes: benzoin resin, vanilla extract, oud, chamomile roman, calamansi Character: musky, seductive, creamy, alluring, elegant, aged vanilla rum.”
On me, the resin and the calamansi, as subtle as they are, make a very interesting combination to create a unique form of musk. I couldn’t smell the vanilla extract, which surprised me since my skin usually amps up vanilla notes. It aaaaalmost has that same boozy note as Honeysuckle, but it’s mostly musk with a slight tang to it.
Verdict: 🌻🌻🌻🌻🌻 Love. Will get a fullsize.
Vibe: saturday morning, lying on the grass at Salcedo park after jogging across Ayala. Home-brewed citrus drinks and kombuchas sold at Salcedo Market beckons you to quench your thirst.
Ravensara - ”Fragrant notes: sandalwood, oud, petitgrain, jasmine absolute, ravensara Character: light, euphoric, fresh, youthful, exciting, bright, invigorating, sheer.”
Ravensara almost has the same dna as Benjamin, the difference is that the musk takes a backseat and florals take center stage, but it’s not heavy floral at all, in fact there’s almost something citrusy somewhere that gives the floral notes a lightness to it. It almost has that petrichor-note to it like Honeysuckle, but not so much that it overpowers the florals.
Verdict: 🌻🌻🌻🌻🌻 Love. Perfect for lazy weekends.
Vibe: after resting and drinking kombucha from Salcedo Market, you browse through the flower shops being sold there, the signs of incoming drizzle about to form.
Saltwater - ”Fragrant notes: onycha, cade, jasmine concrete, black pepper, pomelo peel Character: slightly musky and floral, animalic, alchemical, warm and bright, shimmering, romantic, like saltwater clean skin, lingering.”
This is the first from her perfumes I don’t like, and either I’m not experienced enough to truly appreciate it, or my skin chemistry has something to do with it, but it doesn’t smell fragrant to me at all, even after almost a month of testing it hasn’t changed on me 😢. It reminds me of a certain smell, but I don’t know what. Closest I can think of are mothballs. I suspect it’s the combination of onycha, cade and black pepper. I’m sad that this doesn’t work on me at all, as the image of saltwater skin was enticing to me. If anyone owns this and likes it, please share your thoughts! I’d love to know how you perceive this scent.
Verdict: 🌻 NOPE. My skin hates it, sorry!
Vibe: decluttering years-old clothes and finding they’ve been eaten by bugs. The regret that comes after of not recovering them sooner.
Oud Nectar - ”Fragrant notes: oud, gardenia, saffron, pomelo peel Character: narcotic floral, creamy, luscious, bodacious, warm, caramel, smooth.”
This smells like that one fancy perfumed soap we got from balkbayan packages, but more natural, earthy. This is what I think vintage perfumes smell like, the saffron and gardenia create a strong floral fragrance without being sharp that most floral-heavy perfumes have, which I think the earthy note tones it down.
Verdict: 🌻🌻🌻🌻 Like! Though I’m still reconsidering in getting a full size.
Vibe: visiting your free-spirited tita who’s staying in her condo in the Philippines for a short while before going back out to the world for another adventure. Various flowers from her latest venture are meticulously placed in a glass vase while you browse through her vast collection of perfumes from different origins. (Highkey lowkey I want to be that tita hahaha)

🍄 Radioactive Mushrooms In The Forest 🍄
Where you can buy them: Her website, though it seems it’s under maintenance atm. Personally I bought this in a bazaar at Makati.
Scent/s: Promise Ring
Price: I cannot for the life of me remember, but it’s somewhere around P600-700
General verdict: They have a similar vibe as Daniela Calumba’s perfumes. This last 6 hours on me.
Promise Ring- ”Like a warm hug under a cozy blanket on a rainy day. Chamomile, lavender, rose, vanilla. Mild, powdery.”
What I bought is the previous iteration with flowers submerged in perfume oil, while the one after is purely perfume oil, so this review maaay be outdated in case the new version is different! On me the powder starts out very in-your-face, but I love powder notes so if anything this makes me excited. Over time the powder mellows down but is still more prominent, while the florals start to bloom to create a beautiful powdery floral fragrance that isn’t screechy.
Verdict: 🍄🍄🍄🍄🍄 LOVE. If the term “pabebe” existed in 1950s Philippines, I would wear this in that timeline hahaha
Vibe: Holding your recently-bathed, freshly-powdered baby. Watching your husband, your first and only love, watering your blossoming garden in a clear day. (Nope not projecting at all lol)

☕️ The Small Batches Perfumery ☕️
Where you can buy them: ig: thesmallbatchesperfumery
Scent/s: Anonymous Gal, Fleurs Exquise, Sucre D’Orge, Eclat de Fruits, Essence de Tourmaline, Le Jardin Secret, Prive Tous Inclus, Legere Comme L’air, Chocolat Extreme, Cafe Intense, Gingerbread Cookie, Iris and Saffron Oud, Iris en Hiver
Price: P3795 for a bundle of 12 10ml roll-ons
General verdict: I bought the 12 pc. set (+ 1 bonus 10ml scent, free body oil and 2 free decants of commercial perfumes) with the intention of keeping only 3-5 for myself and the rest to give as gifts to friends and family. These last 6-7 hours on me. Seller is kind and accommodating and always makes updates.
Anonymous Gal - ”Fresh, Aquatic, Oriental dry down.”
This evokes a specific childhood memory that I don’t even know what. It smells like shampoo from a brand that I don’t remember. Amoy bagong ligo, which there are a lot in SBP’s catalogue, for Anonymous Gal it smells clean, fresh, and...creamy? Not creamy like sweet, just, creamy? It’s hard to describe. I’m a bit jealous of the reviews saying it’s fresh creamy oriental on them, I think my skin amped the aquatic notes on this one. 😭
Verdict: ☕️☕️☕️ I’d love it better if the dry down was the entire scent!
Vibe: taking a long shower during one of your rest days, contemplating whether you should go out with your friends or not exist for 24 hours while shampooing your hair for longer than necessary.
Fleurs Exquise - ”Opulent, Sweet Floral (borderline gourmand), appeals to fans of Flowerbomb, Flowerbomb Nectar, Flowerbomb Extreme, La Vie Est Belle, etc.”
I’ve never smelled any of the perfumes mentioned, but I have smelled YSL’s Black Opium, and to me Fleurs Exquise reminds me of that, but more sweet floral and without the coffee note from YSL.
Verdict: ☕️☕️☕️☕️ I’m quite torn tbh! If I smelled this a few years ago I would be ALL over it, but while I really do like this, I have since moved on to other scents, but I would fondly sniff this every now and then before giving this away.
Vibe: purchasing your very first big girl perfume to wear in your very first big girl job. Now your on your way to look for your first set of big girl clothes.
Sucre D’Orge - ”Cotton Candy, Sweet Florals, Marshmallow, and Sandalwood. Sweet, but sits lighter on the skin.”
MMM! This is sweet. My inner sweet tooth gets very excited every time I put this on. If you smelled Al Rehab’s Choco Musk roll on, it’s like that but much more refined and with more depth. The florals are a nice touch to the cotton candy and marshmallow to keep it interesting and not flat, while the sandalwood reigns in the candy notes to be a little more grounded. There's also a tiny bit of caramel in it if I smell closely, and tbh I dig it.
Verdict: ☕️☕️☕️☕️☕️ LOVE! Definitely one of those can't-stop-smelling-my-wrists perfumes. Highly recommended for gourmand lovers.
Vibe: eating every chocolate and candy you've been craving for and you know it's really bad for you, but in that moment you don't care because what's wrong in eating another snickers bar? (actually no pls don't, everything in moderation!!)
Eclat de Fruits - ”Fruity, sweet, effervescent. Perfect summer fragrance for lovers of sweet scents, but can’t tolerate heavy gourmands. Sits very lightly on the skin.”
So first time I put this on, this smells like ballpen ink. So I rested it for a while thinking the scent might settle. Few days later, I can now smell the fruit notes, mostly cherry, but now instead of ink it now smells like cherry-flavored medicine I was given as a child. Over wear time, the medicine note goes away and is left with cherry with other notes I can’t identify.
UPDATE: OKAY, so the ballpen ink note is completely gone. I think this perfume has been properly rested. The cherry note remains, but I’m happy to report it’s not medicine-y anymore, it’s hardly there now, mostly at the background. Now it smells...well, fruity! But not like bright fruity, it’s dark like wine. It has a slight red wine accord to it, but I wouldn’t call it a an actual wine scent because of its sweetness. I’m actually starting to like it! Definitely a perfume that needs resting and getting used to.
Verdict: ☕️☕️ I occasionally like fruit-dominant scents, but I can’t get the picture of cherry-flavored meds out of my head!
UPDATE VERDICT: ☕️☕️☕️☕️ Not cherry medicine anymore!! It transformed beautifully on me into sweet, sweet red wine-ish fragrance.
Vibe: absent from school, anxiously waiting for 3:00pm for your scheduled cold medicine, watching cartoon re-runs while thinking what your classmates are up to while you’re gone.
UPDATE VIBE: looking through a photo album filled with old pictures of you from grade-school, fondly reminiscing the simpler days as you drink sweet, cherry red wine.
Essence de Tourmaline - ”Earthy, green, fresh and unapologetically sophisticated, sans the heaviness and slightly dated vibe of most perfumes. For women who take classiness a notch higher. Diamonds may be a girl’s best friend, but tourmalines are for queens.”
I. LOVE. This. This smells close to Lush’s Buck’s Fizz body conditioner and Celebration body, but blended more appropriately for a perfume. It smells like the fanciest orange I’ve ever smelled, with the earth note stopping the orange from being too sweet. This is such a great after-shower scent, fresh and clean but the earthy citrus keeps it interesting.
Verdict: ☕️☕️☕️☕️☕️ LOVE. Now I want orange juice.
Vibe: drinking freshly squeezed orange juice to start your work day, after putting on your dainty jewelry to complete your power look. What they don’t know is you’re still swamped from your previous overtime, but they don’t need to know that after a bit of concealer.
Le Jardin Secret - ”The name suggests a mysterious fragrance and alludes to its floral nuances. White florals and powdery accords are the highlight of this fragrance. It brings about some of the best floral notes such as Jasmine, Neroli, Honeysuckle, Magnolia, Ylang Ylang, and Lily of the Valley.”
Another bagong-ligo scent to me. In comparison to Anonymous’ shampoo and Tourmaline’s citrus accords, Jardin is all florals. I can’t pick up the powder notes, my nose translates it as clean, creamy. Like floral soap. Tbh it smells more soap than floral on me!
Verdict: ☕️☕️☕️ I prefer Tourmaline as an after-shower scent. Would smell better on other people, but soapy scents just don’t jive well with my skin.
Vibe: after a long day from work, you took a much deserved shower. You put your phone on silent for the next few hours to have a moment to yourself, browsing on netflix what’s the best series to binge on while waiting for your hair to dry.
Prive Tous Inclus - ”Opulence and unrestrained grandiose are among the most befitting words to describe this fragrance. The warm spicy accords as well as the woodsy notes bring about the feeling ease and coziness that is perfect for winter or cold indoor settings. This unisex fragrance makes clever use of notes such as cinnamon bark, sandalwood, snowdrops, nutmeg, ginger, and clove. The sweet undertones come from the spices instead of caramel or sugar, which elevates the perfume's personality to a much higher level.”
It says it’s unisex, but to me it leans very close to masculine. I’m not good at describing male-forward scents but I’ll try. It smells like a men’s perfume that I come across every now and then, but idk what that exact perfume is. It’s spicy, but in a cold way? I do pick up the sweet notes, but I can’t tell which notes are doing that, I suspect it’s the cinnamon bark and/or nutmeg. This would smell nice on guys. On me? Not so much.
Verdict: ☕️☕️☕️ It’s fine on guys, but I wouldn’t take a double take, er, sniff.
Vibe: that guy you’re seeing who you’re not sure whether his boasts at his entrepreneurial prowess actually has merit or is complete bs, but hey, at least he knows how to dress up!
Legere Comme L’air - ” On the fresher end of the spectrum is this light and airy fragrance that is perfect for those hot summer days when you almost do not want to put on perfume. The prominent notes of osmanthus blossom, green tea, grapefruit, bergamot, blood orange, and heliotrope brings it together to make it an accomplished fragrance. Legere Comme L'air is perfect for the office, and on those nervous first dates when you want to be memorable without leaving a cloud of cloying scent behind.”
So to me, THIS is unisex. Still masculine-leaning but I can actually see myself wearing this when the situation arises. This also reminds of another men’s perfume that I don’t know of. Light, fresh, and the combination of the florals and fruits blend well together that they complement each other without overpowering the other.
Verdict: ☕️☕️☕️☕️ Not for me, but would smell really good on guys!
Vibe: riding the mrt and standing beside you is a well-dressed man staring vacantly outside the window just like you did a few moments ago. Every now and then you catch a whiff of his perfume, and wonder what’s a man like him doing in a vehicle like mrt? The train stops at Buendia, and before you know it he’s hastily on his way out, accidentally bumping your shoulder and a quick glance at you says “I’m sorry.” As the train continues onward to Guadalupe, you catch a faint scent of the stranger’s perfume on the shoulder he bumped into. (Yaks bakit naging novella HAHAHAHA)
Chocolat Extreme - ”For chocolate lovers who can appreciate the subtle nuances of cocoa in its various forms. This fragrance is an indulgence like no other and it appeals mostly to gourmand lovers with singular cravings. This should come with a warning label: WILL MAKE YOU CRAVE FOR CHOCOLATE CAKE AND OTHER CHOCOLATE DESSERTS.”
I’m a chocoholic through and through, so this positive review is inevitable. It’s a bittersweet cocoa. That’s it. And sometimes that’s enough.
Verdict: ☕️☕️☕️☕️☕️ LOVE! Kung gusto mo magdiet at tumigil sa tsokolate singhutin mo to hahaha
Vibe: hot chocolate made from tsokolate tablea, watching feel-good movies you used to enjoy many moons ago.
Cafe Intense - ”For coffee die-hards who love to smell of java. Coffee accords, lightly sweet toffee, and vanilla shine through and gives this fragrance structure and impressive longevity.”
Other than chocolate, I’m infamously known to be a coffeeholic. Smells like french vanilla with an extra shot of expresso with a smidge of toffee. Or kopiko candy. There’s also this slight floral note lingering somewhere upon dry down, which tbh I love it. I don’t know if that’s just me though, but I’m not complaining. Mixing this with Chocolat Extreme is ✨👌 gourmand goodness.
Verdict: ☕️☕️☕️☕️☕️ LOVE! Enough said.
Vibe: drinking java at your local cafe, setting up your laptop, planner, and notes. You’re going to be there for a while.
Gingerbread Cookie - ”Made of praline accords, gingerbread note, cinnamon bark, vanilla, and brown sugar, Gingerbread Cookies Extrait de Parfum is a delectable gourmand fragrance that puts you in a state of holiday cheer, no matter the time of year.”
I’ve never tried gingerbread cookies, like at all. My idea of the holidays is chocolate cake, cookies, and strong coffee. So honestly my idea isn’t really festive. 😅 This scents smells strongly of cinnamon to me, reminds me so much of cinnamon bread (mmm now I want one). Very spicy, it dries down sweeter due to the vanilla and brown sugar, but the cinnamon still makes its presence known.
Verdict: ☕️☕️☕️☕️ I like it! Though I won’t put this as often as Chocolat, Sucre, and Cafe, this would be nice to use on days where I want gourmand but more spicy than sweet.
Vibe: you’re invited to your friend’s xmas party where their holiday traditions are more westernized, whereas you’d rather be eating sweet spaghetti and lechon than drink another eggnog (ngl I wanna know what eggnog tastes like)
Iris and Saffron Oud
IRISES! One of the few florals in perfumes I adore to bits. Iris and Saffron Oud is sophisticated, the oud elevating it beyond just being another floral perfume. It almost smells cold, despite the oud. I’d wear this for formal events, but I can see people wearing this for work because why the hell not?
Verdict: ☕️☕️☕️☕️☕️ Love. I feel so fancy wearing this for someone wearing shorts. 🥸
Vibe: attending a formal ball, roaming outside to the estate’s garden to take a breather from the noise. The music and chatter begins to fade away as you go further into the garden, irises swaying softly, the crisp chill air indicate the dying days of summer.
Iris en Hiver
This is Saffron Oud’s daintier sister. It reminds me a bit of Narciso Rodriguez Poudree, but they’re not the same. (I’m assuming NR Rouge would be similar, but I haven’t tried that yet) Soft powder complements the iris, with dry down leaning more powdery and creamy (is that even a thing?) as time goes on. Like RMiTF’s Promise Ring, it invokes a sense of innocence, but this is a tad bit more mature.
Verdict: ☕️☕️☕️☕️☕️ Love. Irises and powder notes? So lovely. 🤍
Vibe: back to the ball, retouching your lipstick and patting another layer of face powder before getting back to the scene. You see irises in ornate vases upon exiting the bathroom.

🍷 Pete and Alia 🍷
Where you can buy them: website, shopee
Scent/s: (Feminine set) 004 Chance, 005 Beldandy, 006 Jasmine. (Cheers set) 007 Salvador, 008 Blanca
Price: P499 for the Discovery sample sets
General verdict: These solid perfumes are very well made, also worth noting is these are the first rice-based perfumes in the PH, and a percentage of proceeds goes to various charities. Even for small samples, they seem dense enough that finishing one will take a while before you buy a full size. I haven’t tested longevity yet as I got these recently and tested each one every 2 hours, so I’ll update this part in the future to report on that.
UPDATE: These last 2-3 hours on my skin, not very strong. Would need frequent touchups.
004 Chance - ”The chance is the classic rose scent destined on the skin of the independent city woman who longs to be free in a floral field of roses. she says hello with fresh notes of bergamot blended with floral and fruity notes of rose and cantaloupe. she smiles at you as she fades into vanilla, patchoulli, and leather. notes: bergamot, rose, cantaloupe, vanilla, patchoulli, leather.”
I don’t get rose? If there is, it might be faint. I think I’m mostly smelling cantaloupe, which I don’t really like. I can’t detect the rose and vanilla at all even after two hours went by, maaaybe I can smell the patchouli, but I could’ve been nose-blind at that point. There’s also something waxy about this scent, I thought it could be the leather, but idk? I have no idea, it reminds me of one of the Watsons brand lipbalms that I dislike so much because of its waxy scent.
Verdict: 🍷🍷 I may not be the right person for this. I really do wish the rose and vanilla notes were more prominent, but that’s just me 🤷🏻‍♀️
Vibe: accompanying your friend in their candle-making class. They’re passionately explaining to you the process of it all while you nod along and encourage them, genuinely happy for their excitement but also getting a little lost throughout their explanation.
005 Beldandy - ”The beldandy is the loyal friend of every strong independent woman. She comforts her with fresh notes of lemon and thyme blended with floral, aromatic, and nutty notes of rose and cardamom. She sits with you with calming notes similar to a cup of tea. notes: lemon, thyme, rose, cardamom, tea.”
Oooh, I like this! Citrusy and floral in equal measure, the rose and lemon notes really shine through in this one, while thyme and cardamom gives them an earthy balance. The lemon here isn’t like sweetened iced lemon tea, more like hot brewed lemon tea blend. It’s very calming.
Verdict: 🍷🍷🍷🍷🍷 Love! Imo this is a pretty safe buy.
Vibe: browsing the shops at Cubao Expo, looking for a good deal on secondhand books. You eventually stop by a cafe residing there, sipping on lemon tea as you’re reading one of the books you bought.
006 Jasmine - ”The jasmine is the unapologetic fruity and floral scent made for the girl who chooses a bouquet of jasmine over roses. She draws you in with fresh notes of bergamot and jasmine blended with fruity notes of melon and green apple, and then slowly fades into vanilla, patchoulli, and leather. notes: bergamot, jasmine, melon, green apple, vanilla, patchoulli, leather.”
P+A has a quiz where the result is the recommended perfume for you, and I got Jasmine. I like jasmine usually (Lush’s Lust and Flying Fox are really good jasmine heavy scents!) and while this one is also purely jasmine, this specifically is very much like sampaguita. Sampaguita as a flower, I adore. As perfume, not really. The bergamot and green apple add a zest to the jasmine, while I can’t really detect a whole lot of vanilla/patchouli/leather even on dry down.
Verdict: 🍷🍷🍷 Not really keen on smelling like sampaguita. 😅
Vibe: visiting your local church on a wednesday, the last mass has just finished and you’re waiting for the next one. You kneel down and pray on one of the pews. The first thing you see when you look up is the statue of Mother Mary, her silent gaze knows of your untold truths.
007 Salvador - ”Salvador holds a glass of red wine in one hand and you in the other. He leads the night with a citrus combination of bergamot, ginger, and grapefruit. He seduces you with a garden filled with lily of the valleys and there, a delicious temptation of forbidden stone fruits of plum and peach. He leaves you craving for more with warm earthy memories of oud, cedar, and tonka beans notes: bergamot, ginger, grapefruit, lily of the valley, plum, peach, oud, cedar, tonka beans.”
This is a masculine scent, but works well as unisex. The fruit notes, particularly grapefruit, peach and plum, work really well with the earthy accords of oud and tonka beans. The bergamot and lily of the valley softens the rest of the notes to create a smooth aromatic blend. It’s fruity without being overly sweet, it just smells...smooth. Understated, but smells so good.
Verdict: 🍷🍷🍷🍷🍷 I would love to smell this on a guy, it smells really enticing!
Vibe: he invites you to have an impromptu dinner at his place, and upon getting there he surprises you with homemade dinner and a bottle of wine. He bashfully tells you that he wished this would’ve been more romantic, but you’re already thinking how to show your appreciation after dinner.
008 Blanca - ”Blanca composes herself with incredible spirit and grace. She wakes up flawless and fresh with notes of lavender and lemon. She brings in life with fruity notes of pineapple and coconut. The sunset waits for her to finish her glass of white wine with warm notes of incense and oud. notes: lavender, lemon, pineapple, coconut, incense, oud.”
This smells like an expensive candle, but unlike Chance, the waxy note smells better, most likely because of the coconut. The lavender, oud and incense softens the coconut further, it almost smells creamy, like luxurious coconut lotion. I can’t smell the pineapple on me though. Like Salvador, this is a smooth fragrance.
Verdict: 🍷🍷🍷🍷🍷 Love! I don’t normally go for coconut scents, but this is an exception.
Vibe: having a staycation at a hotel outside Metro Manila. Scheduled a spa day with your friends as you catch up and gossip over white wine.

If you’ve gotten this far, thank you so much for sticking with me! Everything except Pete and Alia I’ve been testing and revisiting since the past year, either for weeks or months. As for Pete and Alia, if my thoughts change in the future I’ll do my best to update them in this post.
Anywho, please support local! So many brands are popping up that are creating original products, handmade and most materials are sourced right here in the Philippines. You’ll never know that what you’re looking for may just be right here all along! 😄💜
Edit: I HATE mobile formatting hahahayst
submitted by neonfroot to beautytalkph [link] [comments]

College professor asking for money instead of final year project

Hi. Hope everyone is making it through these tough times.
I am in my final year of BCA, in this year we have 5 papers, among them we have 1 paper of 100 marks in which we have to submit a project. My professor messaged in our group the deadline for the same but didn't mention any instructions like what stack to use (we have both Java and web programming in our syllabus), the complexity of the project etc and instead wrote to call him for details. When we called, he said that everyone has to give 2000 rupees regardless of whether they submit a project or not.
Now, here's the thing, all of us expected it. Some students are okay with it since they don't want to go through the trouble of making a project. Others are going along with it since it's the safest choice as the professor is the one giving marks, nobody wants to argue with him, he's also the HOD of our department.
Giving 2k isn't a big deal, but it's not abt that, I hate the fact that we have to give money for marks, that the professor is trying to make some quick bucks with this (60 students, each 2k). I can give 2k but I don't want to, I so not want to. It's exactly why most of the students in my class didn't really learned anything cuz they knew they didn't have to, that they'll pass the theory papers somehow and get the project marks by paying money, it's exactly why there are so many bca graduates with no skills. The same thing will happen with my juniors and so on. It kinda is my fault that I didn't go to a better University, or pursue B tech, I had my circumstances.
So what I want to ask is, what someone in my position should do? Is there anything that I can do? I usually try not to think abt these, I conform to corruption without giving it much thought, I have had to learn to do it over the years. But this issue is frustrating me to no end.
Thank you for ur time. Stay safe!
Update 1: I've asked my friends to record the calls if possible. I obviously wouldn't go to anyone in my college, that'd cause problems for me. Sending an anonymous message to MHRD sounds good. Doing anything right now is risky, I don't want to let anyone know that it was me, waiting until I've graduated seems like the way to go. The deadline is in three weeks, so I'll see how things unfold. Also he's asking to send money through UPI, that's beyond stupid, but understandable since such things are kinda widely accepted here, still I believe he'll relise it and start asking for cash instead. I couldn't care less abt if such people get punished or not, I only want them to stop, they don't seem to be aware of the damage that it's causing. Thank you all for the suggestions. I'll be patient and see how things unfold.
submitted by ariga2 to india [link] [comments]

https://np.reddit.com/r/vuejs/comments/knl4eu/help_with_using_filter_array_method_in_vue/ghlecqe/

This sort of thing is why I really like the arrow-return shorthand; I think it makes it a lot more clear:
if (this.search) { return this.names.filter((name) => name.startsWith(this.search)); } else { return this.names; } 
Array.filter takes a parameter called a "predicate", which is a function that answers a question about something. You'll see this type of thing a lot in JavaScript. The array itself invokes the function you give it for each item, and uses the result to build a new array and send it back. Kind of like this:
class Array { filter(predicate) { let result = []; for (let item of this) { if (predicate(item)) { result.push(item); } } return result; } } 
You don't actually need to pass it an anonymous function, you could declare one with a name and pass it in that way, and it'll work the same way (with one big caveat):
function nope() { return false; } function yep() { return true; } items.filter(nope); // will return an empty array items.filter(yep); // will return a duplicate of the array 
The caveat is that JavaScript has some unintuitive rules about the "this" keyword and what it refers to. Arrow functions work pretty much like you'd expect, but other function types often don't. Stick to arrow functions when you need to use "this" and you'll be fine.
I can't wrap my head around that searchFunction is a (computed) function and not a list and yet it's getting looped through.
It would help to not think of it as a function. Technically that's what it is, but it's what you would refer to as an "accessor" (or a "property" in some languages). Accessors/properties behave semantically like fields, but when you access their values, it implicitly invokes a function. The TypeScript syntax for an accessor makes this more clear, IMO:
class Foo { accessed: number = 0; _names: string[] = []; get names(): string[] { this.accessed++; return this._names; } set names(value: string[]) { this.accessed++; this._names = value; } } const foo = new Foo(); if (!foo.names || foo.names.length === 0) { foo.names = ["John", "Paul", "George", "Ringo"]; } console.log(foo.accessed); // => 3 
You're not looping over the function, you're looping over the thing it returns.
submitted by backtickbot to backtickbot [link] [comments]

Heist trinket currency conversion

I was curious about the actual usefulness of these currency conversions provided by these mods on the new trinkets. I wrote a little java program using some old data mined statistics on drop rates and currency rates and whatever small bits I remember from statistics courses and I figured I'd share it here. Partly to open discussion on prices and what not, but mostly for any math/software saavy people who are curious themselves or even could look through and tell me if anythings wrong(code at bottom). Furthermore, I'd like to know what people's consensus is on double converts(chroma->jew, jew->fuse) if that carries a small effective chance for (chroma->fuse) or if it's a one step convert and no more. Either way, expanding this to calculate either of those values I think would be interesting for weighting what mods together could produce the best results, mainly in the case double converts are allowed otherwise it would just probably be the combination of the highest 2 below

TLDR: for approx. every 33,303 kills(or 1000 rolls on the currencyItems drop table, assuming 0 quant and all kills follow the exact same drop principles) you will drop a value of currency equal to this in chaos. all conversion rolls are assumed to be T1 max roll.

5.843214280090559 ---- Converting none to none
5.8363190419953215 ---- Converting chaos to divine
5.819478016354297 ---- Converting chroma to jew
5.905651093277373 ---- Converting chroma to fuse
5.919892851519131 ---- Converting jew to fuse
5.900686807563086 ---- Converting alt to chaos
5.820396383701234 ---- Converting alt to alch
5.839460747908455 ---- Converting alt to regal
5.884167299510618 ---- Converting aug to chaos
5.848088106716181 ---- Converting aug to alch
5.840748373504461 ---- Converting aug to regal
5.826972783491921 ---- Converting scour to regret
5.86334434811777 ---- Converting transmute to chaos
5.846663259682397 ---- Converting regal to divine
5.906097273287838 ---- Converting regal to exalt
5.845232375328654 ---- Converting transmute to alch



For those further interested:
The main idea is to get the value of currency in terms of chaos(valueInChaos[]), then multiply that value(valueInChaos[]) by it's drop chance(currencyDropRate[]) to get it's effective drop value(currencyEffectiveWorth[]). With no conversion just average all the effective drop values to copmute the average value of a currency loot table roll(average)(supposedly 3.3% chance of hitting currency loot table), with conversion we just take the percentage of convert percentage(convertChance) of the drop chance away from the first currency item(String a) and add it to the second(String b), and the effective drop value of a currency loot table roll(average) will reflect the change. Currency drop rates assumed from http://www.pathofexile.com/forum/view-thread/997165 Chance to hit currency item loot table assumed from https://gist.github.com/anonymous/1965d924b570f9ccdd5a/revisions
I had written the program before I found the second(gist) link, so I know there is definitely some incorrect calculations involving qualityCurrency(blacksmiths,arms,chisels,gcp,gbb) which in turn affect currencyItem actual dropRate as assumed from the first PoE Forum link. The firs PoE forum link seems to assume quality currency and currency items share drop tables but the second gist link points otherwise. Perhaps the best revision would be to remove quality currency in it's entirety and only track currency that is affected by conversions, updating the drop rates as per the gist link as well. Once again these assumptions rely on the fact that the gist link has any validity, and more so that my logic is even valid; That being said, I want to believe the gist rates must've been accurate and data mined at the time(2014) and probably hold a strong relative accuracy to this day as well
Not sure how ideone works or if my code stays up for others to play with but not edit globally but it's hosted publicly here right now https://ideone.com/BO6Qiz . In the case it gets modified so others can't play with it, it can be copy and pasted from below and either ran from command line or you can just go to any website that runs java(ideone for example).
import java.util.Scanner; public class Main{ public static void main(String[] args){ System.out.println("Enter the 2 values of currency space separted: \"{currency-type} chaos\"\nFor example: Transmutes are 18.5t:1c, input \"18.5 1\"\nFor example: exa are 1exa:75c, input \"1 75\""); double[] valueInChaos = new double[21]; String[] currencyType = {"transmute","arm","blacksmith","aug","alt","chance","jew","chroma", "fuse","alch","chis","chaos","scour","vaal","regret","gbb","gcp","bless","regal", "exalt","divine"}; Scanner sc = new Scanner(System.in); for(int i = 0; i < valueInChaos.length; i++){ System.out.println("Enter the 2 values for "+currencyType[i]); String[] temp = sc.nextLine().split(" "); valueInChaos[i] = Double.parseDouble(temp[1])/Double.parseDouble(temp[0]); } System.out.println("___________________________________________________________________________________________________"); System.out.println("The following numbers shown are the effective value of dropped currency(in chaos)\nfor every 1000 rolls on the currency table followed by the currency conversion made."); System.out.println("___________________________________________________________________________________________________"); trinketCalc a = new trinketCalc(valueInChaos, currencyType, "none", "none", 0); trinketCalc b = new trinketCalc(valueInChaos, currencyType, "chaos", "divine", .01); trinketCalc c = new trinketCalc(valueInChaos, currencyType, "chroma", "jew", .5); trinketCalc d = new trinketCalc(valueInChaos, currencyType, "chroma", "fuse", .3); trinketCalc e = new trinketCalc(valueInChaos, currencyType, "jew", "fuse", .3); trinketCalc f = new trinketCalc(valueInChaos, currencyType, "alt", "chaos", .15); trinketCalc g = new trinketCalc(valueInChaos, currencyType, "alt", "alch", .25); trinketCalc h = new trinketCalc(valueInChaos, currencyType, "alt", "regal", .01); trinketCalc i = new trinketCalc(valueInChaos, currencyType, "aug", "chaos", .08); trinketCalc j = new trinketCalc(valueInChaos, currencyType, "aug", "alch", .13); trinketCalc k = new trinketCalc(valueInChaos, currencyType, "aug", "regal", .01); trinketCalc l = new trinketCalc(valueInChaos, currencyType, "scour", "regret", .25); trinketCalc m = new trinketCalc(valueInChaos, currencyType, "transmute", "chaos", .04); trinketCalc n = new trinketCalc(valueInChaos, currencyType, "regal", "divine", .05); trinketCalc o = new trinketCalc(valueInChaos, currencyType, "regal", "exalt", .04); trinketCalc p = new trinketCalc(valueInChaos, currencyType, "transmute", "alch", .07); } } class trinketCalc{ private String[] currencyType; private double[] currencyDropRate = {0.20831,0.20827,0.11095,0.10328,0.05508,0.05508,0.05508,0.05508, 0.03443,0.02754,0.02754,0.01652,0.01377,0.00689,0.00689,0.00682,0.00275,0.00275,0.00207, 0.00055,0.00034};; private double[] currencyBaseWorth; private double[] currencyEffectiveWorth; private double convertEffectiveChance; public trinketCalc(double[] valueInChaos, String[] currencyType, String a, String b, double convertChance){ this.currencyType = currencyType; this.currencyEffectiveWorth = new double[21]; for(int i = 0; i Edit: This is a fun project for myself, something I shared just for those curious or would find it interesting and as a learning experience for myself. It could be useful to tell which trinkets are good for currency farming, but it is NOT CORRECT yet. Please don't try to invest or do anything you wouldn't based on these numbers because they aren't accurate of actual effective drop values. That being said I will be updating this, for those interested in accurate numbers, and for myself to rectify any incorrect calculations I have made.
Edit2: as pointed out by u/Mr_Boboob the math was wrong. I have implemented changes regarding my response to his comment. This should solve at least one of the mistakes I made. Changes reflect in code here but not on ideone. The new values:
5.843214280090559 ---- Converting none to none
5.882547613423893 ---- Converting chaos to divine
5.819478016354297 ---- Converting chroma to jew
5.979401093277374 ---- Converting chroma to fuse
5.993642851519131 ---- Converting jew to fuse
6.176115378991659 ---- Converting alt to chaos
5.89845760819103 ---- Converting alt to alch
5.846672992806414 ---- Converting alt to regal
6.214681585224903 ---- Converting aug to chaos
5.959723027351101 ---- Converting aug to alch
5.854518441531672 ---- Converting aug to regal
5.856224484172192 ---- Converting scour to regret
6.228658633832056 ---- Converting transmute to chaos
5.871377545396681 ---- Converting regal to divine
6.082996320906885 ---- Converting regal to exalt
5.9887006292969085 ---- Converting transmute to alch
submitted by NecessaryLibrarian74 to pathofexile [link] [comments]

Integration of Huawei Analytics into Ionic Application

Integration of Huawei Analytics into Ionic Application
Introduction
Huawei analytic allows developer to know how their app is used by the user, which pages get more traffic, on which page customer leaves the app. Understanding user’s habits will help you to make your app better. If your app is at a certain level or you want to move your app and business forward, you need to use analytics.
To date, there are many services that offer solutions for analytics. Huawei handled analytics as a priority on HMS.
https://preview.redd.it/eeqebia4ka261.png?width=1024&format=png&auto=webp&s=7041495e1e123a1e1f666119b43d3b3c61fce65b
Features
1. Easy to integrate and use
It is very easy to integrate and use the analytics dashboard after integrating Huawei Analytics.
Moreover, you can customize your tables on the dashboard as you wish and you can easily see the data, not imposed on you.
2. Reach Huawei users
As you know, google services are not used in the latest Huawei devices. When you integrate Huawei Analytics, you will reach all Huawei users and all other devices users. So Huawei Analytics a connective, not a divider.
3. Power of HMS Core
Analytics gets its power from HMS Core.
It is very easy to reach all the documents you need for integration or usage of dashboard. When there is a technical problem you can find technical support very easily.
4. Powerful Analysis Capabilities
Ionic Framework
Ionic Framework is an open source UI toolkit for building performant, high-quality mobile and desktop apps using web technologies such as HTML, CSS, and JavaScript with integrations for popular frameworks like Angular and React.
Think of Ionic as the front-end UI framework that handles all of the look and feel and UI interactions your app needs in order to be compelling. Unlike a responsive framework, Ionic comes with very native-styled mobile UI elements and layouts that you should get with a native SDK on Android or iOS but didn’t really exist before on the web.
Since Ionic is an HTML5 framework, it needs a native wrapper like Cordova or Capacitor in order to run as a native app.
Here we will use Ionic framework with Angular and Capacitor as native wrapper.
Usecase
  1. We will use simple app which will have Sign in with Huawei ID button. Once user sign in successfully, app will navigate to result page showing user information returned through an AuthHuaweiID object.
Refer this article to learn how to integrate Huawei Account kit into ionic application.
  1. Using Huawei Analytics kit, we will record predefined events like SIGNIN, SIGNOUT into AppGallery Dashboard. Also we will record custom event, setuserProfile into dashboard.
Prerequisite
  1. Must have a Huawei Developer Account.
  2. Must have a Huawei phone with latest HMS core installed.
  3. Must install node in the system.
  4. Must have any IDE. I have user visual studio code.
  5. Must install Ionic in the system using below command
1
npm install -g @ionic /cli 

Things need to be done

  1. Generating a Signing Certificate Fingerprint. For generating the SHA key, refer this article.
  2. Create an app in the Huawei AppGallery connect and enable Analytics Kit in Manage API section.
  3. Provide the SHA Key in App Information Section.
  4. Provide storage location.
  5. Download the agconnect-services.json and store it somewhere on our computer.
  6. Create a blank Ionic Project using below command.
    ionic start Application_Name blank --type=angular
    7. Download the Cordova Analytics Kit Plugin. Run the following command in the root directory of your Ionic project to install it through npm.
    npm install
8. If you want full Ionic support with code completion etc., install u/ionic-native/core in your project.
npm install @ionic-native/core --save-dev 
9. Run the following command to copy the “ionic/dist/hms-analytics” folder from library to “node_modules/@ionic-native” folder under your Ionic project.
cp node_modules/@hmscore/cordova-plugin-hms-analytics/ionic/dist/hms-analytics node_modules/@ionic-native/ -r 
10. Run the following command to compile the project.
ionic build npx cap init [appName] [appId] 
appName is the name of your app, and appId is package_name in your agconnect-services.json file (example: com.example.app).
11. Run the following command to add android platform to your project.
ionic capacitor add android 
12. Add agconnect-services.json and signing certificate jks file to the app directory in your Android project as show below.
https://preview.redd.it/is3nrjmdka261.png?width=307&format=png&auto=webp&s=eb7207b58297451684750e4900d79b9743f7c59c
13. Make sure your project has a build.gradle file with a maven repository address and agconnect service dependencies.
// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { google() jcenter() maven { url 'http://developer.huawei.com/repo/' } } dependencies { classpath 'com.android.tools.build:gradle:3.6.1' classpath 'com.google.gms:google-services:4.3.3' classpath 'com.huawei.agconnect:agcp:1.4.0.300' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } apply from: "variables.gradle" allprojects { repositories { google() jcenter() maven { url 'http://developer.huawei.com/repo/' } //This line is added by cordova-plugin-hms-account plugin } } task clean(type: Delete) { delete rootProject.buildDir } 
14. Add the Signing certificate configuration to the build.gradle file in the app directory.
signingConfigs { release { storeFile file("mykeystore.jks") // Signing certificate. storePassword "123456" // KeyStore password. keyAlias "accountkitshowcase" // Alias. keyPassword "123456" // Key password. v1SigningEnabled true v2SigningEnabled true } } 
15. Add plugin to the build.gradle file in the app directory.
apply plugin: 'com.huawei.agconnect' 
16. Add analytics kit dependencies to the build.gradle file in the app directory.
dependencies { implementation 'com.huawei.hms:hianalytics:5.0.5.300' } 
17. To update dependencies, and copy any web assets to your project.
npx capacitor sync 
Using Debug Mode
  1. During the development, you can enable the debug mode to view the event records in real time, observe the results, and adjust the event reporting policies.
2. Enabled Debug Mode and after then the data is successfully reported, you can go to HUAWEI Analytics > App debugging to view the reported data, as shown in the following figure.
Run the following command to enable the debug mode:
adb shell setprop debug.huawei.hms.analytics.app package_name 
Viewing Debugging Event Details (Real-time Update)
  1. Sign in to AppGallery Connect and click My projects.
2. Find your project, and click the app for which you want to view analytics data.
  1. Navigate to HUAWEI Analytics > App debugging.
The App debugging page displays events reported by the app in the last 60 seconds or last 30 minutes.
https://preview.redd.it/jdwxuafkka261.png?width=1874&format=png&auto=webp&s=27bded92c7865a7eaa54115450c53cad7d143716

What is AAID(Anonymous Application ID)?

Anonymous device ID opened to third-party apps. Each app is allocated with a unique AAID on the same device so that statistics can be collected and analyzed for different apps (for example, statistics on the number of active users). In addition, personal data from different apps is isloated to protect user data privacy and security.
1234567891011
/** * Obtains the app instance ID from AppGallery Connect. */ async getaaid() { try { const aaid = await this.analytics.getAAID(); console.log('getAAID -> Success -> aaid : ' + aaid); } catch (err) { console.error('getAAID -> Error : ' + err); } } 

Records predefined event

Such events have been predefined by the HMS Core Analytics SDK based on common application scenarios. It is recommended you use predefined event IDs for event collection and analysis.
In our app, we will record predefined SIGNIN and SIGNOUT event.
/** * Report predefined signin events. */ async onSendLoginEvent() { const event_name = HAEventType.SIGNIN; const event_value = {} const value = { "event_login": "success" }; try { const event = await this.analytics.onEvent(event_name, event_value); console.log('onSendLoginEvent -> Success'); } catch (err) { console.error('onSendLoginEvent -> Error : ' + err); } } 

 /** * Report predefined sign out events. */ async onSendLogOutEvent() { const event_name = HAEventType.SIGNOUT; const event_value = {} const value = { "event_logout": "success" }; try { const event = await this.analytics.onEvent(event_name, event_value); console.log('onSendLogoutEvent -> Success'); } catch (err) { console.error('onSendLogoutEvent -> Error : ' + err); } } 

Records custom event

Such events can be used to meet personalized analysis requirements that cannot be met by automatically collected events and predefined events.
In our case, we will record user info as custom event.
Note: The ID of a custom event cannot be the same as that of a predefined event. Otherwise, the custom event will be identified as a predefined event.
 /** * Report custom events to record user info. */ async onUserInfoEvent() { const name = 'userinfo'; const value = { "userName": this.fullname, "userEmail": this.userEmail, "userImage": this.imageUrl }; try { const event = await this.analytics.onEvent(name, value); console.log('onUserInfoEvent -> Success'); } catch (err) { console.error('onUserInfoEvent -> Error : ' + err); } } 

Setting User Profiles

Sets user attributes. The values of user attributes remain unchanged throughout the app lifecycle and during each session.
Note: A maximum of 25 user attributes are supported. If the name of an attribute set later is the same as that of an existing attribute, the value of the existing attribute is updated.
 async onSetUserProfile() { const userProfileName = "user_profile_name"; const userProfileValue = this.fullname; try { const setUserProfile = await this.analytics.setUserProfile(userProfileName, userProfileValue); console.log('setUserProfile -> Success'); } catch (err) { console.error('setUserProfile -> Error : ' + err); } } 
Analytics event on Dashboard
1. Predefined event.
https://preview.redd.it/c6rb2x7ska261.png?width=1870&format=png&auto=webp&s=1801987f3d747c6523143464683ba4977955dbb4
2. Custom event
https://preview.redd.it/cxw3gzzska261.png?width=732&format=png&auto=webp&s=608c5d30a7a60f074b003cef043b93fc76650d49
3. User profile setting
https://preview.redd.it/fxjbmsktka261.png?width=785&format=png&auto=webp&s=74c526ccf2eb621754ed5b5bba38e157f30a135d
Tips and Tricks
1. Once you have copied the “ionic/dist/hms-analytics” folder from library to “node_modules/@ionic-native” folder under your Ionic project. Make sure to add HmsAnalytics inside providers in app.module.ts
providers: [ StatusBar, HMSAnalytics, SplashScreen, { provide: RouteReuseStrategy, useClass: IonicRouteStrategy } ] 
2. The ID of a custom event cannot be the same as that of a predefined event. Otherwise, the custom event will be identified as a predefined event.
Conclusion
In this article you have learned how to integrate HMS Analytics into ionic application, record custom events and monitor them in AppGallery Connect. You can use custom events with user attributes in your apps to see user behaviours, so that you can improve your app depend on them.
References
Huawei analytics kit
submitted by helloworddd to HuaweiDevelopers [link] [comments]

Functional programming How to query and transform data efficiently and concisely?

Functional programming How to query and transform data efficiently and concisely?
When it comes to programming paradigms, it's easy to associate religious piety, and every religion has certain rationality in its creeds, but it can be painful to follow only one dogma, as can programming paradigms.
https://preview.redd.it/3ig49fmngkz51.png?width=2708&format=png&auto=webp&s=858629d1e75d8f99a2f8d84e2f04f616b115960a
Case 1
Case 1: The code abstract is from the training materials of an enterprise. The main code logic is to print the scores of each class and find the average score of students' non-F-level courses.
class CourseGrade { 
public String title; public char grade; } public class ReportCard { public String studentName; public ArrayList cliens;
public void printReport() { 
System.out.println("Report card for " + studentName); System.out.println("------------------------"); System.out.println("Course Title Grade"); Iterator grades = cliens.iterator(); CourseGrade grade; double avg = 0.0d; while (grades.hasNext()) { grade = grades.next(); System.out.println(grade.title + " " + grade.grade); if (! (grade.grade == 'F') { avg = avg + grade.grade - 64; } } avg = avg / cliens.size(); System.out.println("------------------------"); System.out.println("Grade Point Average = " + avg); } }
What are the problems with the preceding code?
The member variable is public, which lacks data encapsulation.
The system does not check whether the client is empty. The value may be divided by 0. Note: Assume that this field is not empty. In addition, the logic may be incorrect. Why is the total score calculated for non-F courses and the divisor calculated for all courses? Ignore this question first.
The variable avg is used for multiple purposes, that is, the total score and the average score.
The client variable name is difficult to understand.
! (grade.grade == 'F') somewhat counterintuitive
The while loop does two things, prints the grades of each lesson, and counts the scores.
The training materials do not provide standard solutions. Try to optimize the code, use Java8 Stream to simplify the calculation process, and segment the code.

public void printReport2() { System.out.println("Report card for " + studentName); System.out.println("------------------------"); System.out.println("Course Title Grade"); cliens.forEach(it -> System.out.println(it.title + " " + it.grade)); double total = clients.stream().filter(it -> it.grade !='F') .mapToDouble(it -> it.grade - 64).sum(); System.out.println("------------------------"); System.out.println("Grade Point Average = " + total / cliens.size()); }

The following functions are extracted for each type of printing:
private void printHeader() { 
System.out.println("Report card for " + studentName); System.out.println("------------------------"); }
private void printGrade() { 
System.out.println("Course Title Grade"); cliens.forEach(it -> System.out.println(it.title + " " + it.grade)); }
private void printAverage() { 
double total = clients.stream().filter(it -> it.grade !='F') .mapToDouble(it -> it.grade - 64).sum(); System.out.println("------------------------"); System.out.println("Grade Point Average = " + total / cliens.size()); }
public void printReport3() { 
printHeader(); printGrade(); printAverage(); }
Note: If only the average score of non-F is calculated, you can perform the following operations in a row:

double avg = clients.stream().filter(it -> it.grade != 'F') .mapToDouble(it -> it.grade - 64).average().orElse(0.0d);

Case 2: Let's look at the code.

List tanscationsIds = transcations.parallelStream() .filter(it -> it.getType() == Transcation.GROCERY) .sorted(comparing(Transcation::getValue).resersed()) .map(Transcation::getId) .collect(Collectors::toList());

The code is very clear:
· Filter out transactions of the GROCRY type.
· Sort by value in descending order.
· Use the ID field of each field.
· Output ID list.
Does this look like a SQL statement: select t.id from transactions t where t.type =='GROCERY 'order by t.value desc
1 Wrap it over
Now that Java 8 is widely used, Stream and Lambda should become accustomed to it, not showmanship. There are many tutorials on the Internet. If some students are not familiar with their usage, you can find more materials to get familiar with them.
Stream, as its name is, acts as a data production pipeline, gradually superimposing intermediate operations (algorithms and calculations) to transform a data source into another data set.
I have learned C# and learned about Language Integrated Query (LINQ). The usage of LINQ is clearer and simpler than Java Stream and Lambda. The following is an example:
var result = db.ProScheme.OrderByDescending(p => p.rpId).Where(p => p.rpId > 10).ToList(); 
LINQ is born for data query. It can be regarded as Domain Specific Language (DSL) and is also a set of functional programming (FP) concepts. Remember the following two points:
· Monad is a design pattern that decomposes an operational process into multiple interconnected steps through a function.
· Lambda expression is an anonymous function, and it is named based on the lambda calculation in mathematics.
FP has other features: pattern matching, currying, bias function, closure, tail recursion, etc. Students who are interested in FP feel may find materials to learn.
Currently, mainstream languages introduce some FP features to improve the data expression capability of languages.
C++11 introduces Lambda expressions and provides two basic libraries: and . A simple example is as follows:

int foo[] = { 10, 20, 5, 15, 25 }; std::sort(foo, foo+5, [](int a, int b){return a > b;});

Python provides functools libraries to simplify some functional programming. The following is a simple example:

foo = ["A", "a", "b", "B"] sorted(foo, key=functools.cmp_to_key(locale.strcoll))

2. Functional programming
Of course, adding features like lambda to object-oriented languages is not functional programming, but mostly grammar candy. The programming paradigm is not the grammar of the language, but the way of thinking.
Object-Oriented Programming (OOP) has been very successful over the past 20 years, while Functional Programming (FP) has evolved, each of which addresses different scenarios:
· Object-oriented is an abstraction of data. For example, an object is abstracted to focus on data.
· Functional programming is a process abstraction thinking, which is to abstract the current action, focusing on the action.
Actual business requirements are usually reflected in business activities, which are process-oriented. That is, data sources are input first, a series of interactions are performed under certain conditions, and then results are output. What is the difference between a procedure-oriented and a functional formula?
Process-oriented is to divide the action into multiple steps. Therefore, syntax such as if and while is used to support different steps. Compared with process-oriented, the functional style emphasizes the execution result rather than the execution process. It uses several simple execution units to gradually sympathize with the calculation result and deduce complex operations layer by layer instead of designing complex execution processes, therefore, purely functional programming languages do not require syntax such as if/while. Instead, they use pattern matching and recursive invoking.
Object-oriented programming constructs readable code by encapsulating variable parts, while functional programming constructs readable code by minimizing variable parts.
Another feature of the function is described as follows from the Java Stream implementation:
The function does not maintain any status, and the context data remains unchanged. The input parameters are thrown after being processed.
Based on the preceding understanding, we can first abstract world things as objects through OOP and then abstract the relationships and interactions between things as execution units through FP. This combination may be a good solution to the implementation of business activities.
3. Avoid single paradigm
When it comes to programming paradigms, it's easy to associate religious piety, and every religion has certain rationality in its creed, but it can be painful to follow only one dogma. The same is true of the programming paradigm, just as Java was purely object-oriented before 1.8, you find it very cumbersome. As Erlang is purely functional, you will find that simple logic can sometimes be very complex.
In recent years, the rise of data analysis, scientific computing, and parallel computing has led to the recognition that functional programming addresses the charm of data, and it has become increasingly popular. In these areas, programs are often easy to express in data expressions, and functional expressions can be implemented with little code.
In actual service software, many logics are also used to process data, including the CURD, data combination, filtering, and query. Therefore, functional programming is supported in many languages, improving the ability to express data processing.
Understanding the new programming paradigms and using them in due course will help you get more done with less. Whatever programming paradigm, they're tools, and in your toolbox, there might be hammers, screwdrivers, and when to use this tool depends on the problem to be solved.
4. Conclusion
The case in this article is only an introduction to the concept of functional programming. Functional programming provides us with another way of thinking: how to efficiently and concisely query and transform data. Many languages support some functional capabilities, which need to be constantly learned and used in reasonable scenarios.
This document is translated from https://bbs.huaweicloud.com/blogs/210037
submitted by helloworddd to HuaweiDevelopers [link] [comments]

(UPDATED!) So you want to be an astronomer...

Five years ago, my original post "so you want to be an astronomer..." was written, and has since spread out all over the Internet and inspired many career decisions. Time passes, however, and I wanted to write a new post that includes a lot more about what I know about the field from my time in it, and addressing new questions and concerns people have been asking about more regularly. Cheers!

Hi there!
Chances are you're reading this because you messaged me saying you want to be an astronomer, and you want some advice on how to do that or hear what it's like. I get several of these queries a week, so for the sake of time I thought I'd write this up here so I have it handy in one location.
First, caveat time: you are getting advice from one person based on her experiences. These are, in short, BSc/MSc in Physics in the USA, doing a PhD in radio astronomy in Europe/Canada, now doing research as a postdoctoral fellow at Harvard. Other people would give you other advice- here is some really good advice I like to pass around, from a professional astronomical organization.
Second, astronomy vs astrophysics: several have asked what the difference is, so I want to mention these days there is no real difference between an astronomer and an astrophysicist- it's just a historical distinction. Astronomy these days is really just a branch of physics where we use the entire universe as our laboratory, and there are plenty of astronomers working in physics departments these days! So don't get hung up on the difference, there isn't one and what you call yourself is a personal preference more than anything. Finally, please note that many astronomers are actually employed by physics departments- as I said, it's fairly interchangeable.
So, that said, let's answer a few questions!
I'm in high school. What do I have to do now?
The first thing in my opinion that's important to do in high school is get your math down cold. Like, know your algebra, and know your trig functions, in such a way that you can recite them in your sleep. I know this isn't what bright students usually want to do- you want to show what a hotshot you are in college math years ahead of where you are!- but trust me, if you don't know your high school math solid for when you go to university it will burn you and you will most likely not do well. I cannot tell you how many students I've taught or gone to class with who were good at physics but kept not doing well because they'd mess up in the algebra... and a physics exam is not a good place to try and remember your unit circle!
Beyond that, obviously science courses and all that jazz are important. You can likely figure that part out on your own. I will note though that computer programming (especially Python) are increasingly important in astronomy, so if you have time to kill learning some of that certainly won't hurt! Coursera has some free Python courses that are excellent if you want to get your feet wet.
The only other thing I would add if you're in high school, especially if you're US based, is check out the astronomy camp run by the University of Arizona (need-based scholarships available). Basically you get to go out to Arizona for a week and play with telescopes at night- it's a wonderful program that I'm still involved with today, and was the best thing I did as an astronomy-interested teen!
What should I think about for college?
First, to be an astronomer it is not essential to get a BSc in Astronomy- as I said, mine's in physics!- but something physics, math, or engineering related is definitely vital (geology is also acceptable if you're thinking of going into planetary science). As such, research schools that are strong in physics/engineering- often these will have an astronomy dept (or have astronomers in their physics dept- astronomy is basically applied physics these days), but it's not an absolute requirement to have an astronomy department at this stage if you can't manage to go to a uni with one. I'm not going to list schools here with programs, as Reddit is too international for this.
Once you're in college, consider dabbling in programming a bit beyond the math/physics/astronomy/engineering stuff, and definitely get to know your professors and see if there's opportunities for research on campus in some form. I ended up doing some really nice lab work during my summers thanks to getting to know my professor first semester freshman year... even worked with him through my MSc! If you are in the USA, also consider REUs, which are basically fully funded summer internships for all STEM fields that get you into labs doing actual research in institutions around the country. To give you an idea, my REU was at the SETI Institute many years ago, and gave me my first experience in radio astronomy- experience that then landed me my PhD position later as a radio astronomer.
Final but very important note: you were probably the brightest kid in your high school class. University, on the other hand, is hard and filled with bright kids who fail out all the time. Do not be that kid! Go to class! Do your homework! Ask help when you need it! And most of all, realize the biggest thing is being stubborn and working hard. At the end of the day, this is what people remember most about you.
Also, nothing to do with anything, but consider studying abroad regardless of major, as I had a wonderful time doing it. :)
What's after that? (TL;DR: more school!)
These days, to be a professional astronomer, you should plan and assume you will get your PhD. The good news is you are paid to do your PhD, and you will be doing a lot of research at this stage! There are lots of good summaries on how to specifically go to get your PhD- here is a US-specific one, and here is one for Europe (which I wrote!). PhDs are a bit different depending on the country you are in, but typically in North America you are doing your MSc and PhD in one (so classes the first few years, then just research), versus in Europe you do your MSc separately and then do a PhD with minimal coursework. (Grad School Shopper is an excellent astronomy/physics grad school website btw for finding programs you might be interested in, primarily focused on the USA, which can be filtered for things like geographic area, specialties, GPA cutoffs, etc.)
Also, a word on advisers: for your research you will be basically an apprentice to someone, and by far the biggest thing in being successful in grad school is your adviser and the relationship you have with them (this goes for non-astronomy too!). So, ask a ton of questions when considering the PhD program about how often the adviser wants to meet, and ask the students questions who are currently or have worked for that person, and steer clear if you don't think it will be a good fit. Also, I would very highly advise not working for a department head without a secondary supervisor of some sort- while there are a lot of great advisers out there who are department heads, it is too big a power differential to really overcome should things go sour, which is the main concern. Trust me on this.
Bottom line: you are going to be one well-educated person when you're done with all this... which makes sense if you want to professionally study the universe. I should also explicitly state at this point that you do get paid to do a PhD- I mean, not a lot, but and the amount varies by university, but you will be getting a stipend in exchange for your research and being a teaching assistant.
If, on the other hand, you are someone who is not interested in getting a PhD, there is a smaller group of jobs to choose from but it's definitely still possible. Astronomy specific jobs after a BSc tend to involve things like being a telescope operator, lab tech, teaching high school, or working at a planetarium. Check the AAS job register for some ideas. I also know plenty of people who took their astronomy/physics degree from undergrad and are now doing something completely different! Most of these are engineering related- I personally know people from undergrad now working in actuarial science, as a nuclear sub technician, defense contractors, for a satellite imaging company, on Wall Street, science journalism, and even a librarian and a rock climbing instructor. People who major in astro/physics do go on to do a lot of really interesting things!
I'm bad at math/ have bad grades. Do I have a chance?
Time for a dirty confession: I was never a good student. I was a pretty solid B student throughout my career (definitely got all Bs in math in college), have failed exams, even one of my physics classes that I had to retake. So I am living proof that you do not need to be the best in your class to succeed as an astronomer and even make it to Harvard eventually, though I doubt Harvard would have looked at me twice during those earlier stages.
So, how did I do it? By knowing what I wanted, and working extra hard to overcome my shortcomings. Mine specifically are I cannot take exams for the life of me- whatever I knew just wouldn't stay in my head for when it was time to take the exam. This was immensely frustrating for me, because everyone just told me in high school I was smart and should stop being lazy and study harder, but I would study hours for exams and feel I got the same results. So, what to do? In college I realized I just couldn't count on the exams coming out well, so I would control what I could- that is, make sure my homework was perfect, do good work in the lab, make sure I went to office hours with questions about the material. (Professors are human, and if they look at the grade distribution and see a student on the cusp of a higher letter grade, and know that student is engaged versus don't know the student at all, there's a good chance you'll get bumped up.) And it turns out in the long run, that is what matters- the grit to put in extra work and how to solve problems matter far more in an astronomy career than if you can solve a physics problem with pencil and paper in a closed room. (I mean, the latter might matter for some theorists, but I'm not one.)
As a full caveat, I realize this is more extra work than many ever want to do, which is perfectly fine. But my point is that you shouldn't count yourself out of astronomy if you are willing to work extra hard at it, because most of this stuff is not intuitive. Remember, even Einstein needed a math tutor to figure out general relativity- he didn't have the math skills, and asked a professor at Princeton to help him!
What kind of jobs do astronomers/ astrophysicists have? How competitive is it?
To get the bad news out of the way first: being an astronomer is extremely competitive. There are just not enough professional jobs to support everyone who wants to do it, PhD level and onwards. That said, I do not know anyone who became an astronomer and then ended up starving in the streets: you are learning some great problem solving skills, so even if the astronomy thing doesn't work out for you in the long run you'll probably be getting good money (often far more than if you stayed in astronomy!). I have "extronomer" friends in all sorts of jobs: programming of various types, teaching high school, at planetariums, finance, defense, science journalism... there really are a lot of things people end up doing who decide to leave the field for whatever reason, and at a higher starting pay than the "leave after undergrad" crowd discussed a bit further above.
That said, what about those actual astronomy jobs? Astronomers are usually attached to research institutes at universities or government labs (like NASA or US Naval Observatory in the USA), usually doing mainly research but also a bit of teaching if at a university. It is the standard these days in astronomy to do one or more postdoctoral positions before getting a permanent position, which are legit jobs but on a contract of a few years (typically 3, but sometimes 2 and sometimes longer). It is usually after that the person goes on to get a permanent job somewhere. Finally, because I know many people are curious about the pay, your mileage may vary but last year I had several offers for postdocs in the USA, and all of those were in the US$60-70k range. A permanent position down the line gets more, but US$100k is already on the high end. You do astronomy because you love it, not because you expect to get rich off of it.
To get an idea for what kind of jobs there are, check out the AAS Job Register if you're curious about various open positions in astronomy and astrophysics. This is the definitive website that astronomers go to for job listings for postdoc and faculty positions, though often they list other random little things too such as open PhD positions or support/technical staff at astronomy institutions. It might give you an idea of what sort of work you can hope to find in the field. Also, please note that while some jobs pop up throughout the year, most of astronomy has a "hiring season" where jobs are listed in the northern hemisphere fall (September to end of the year), so check out the archive for those months if it's springtime and looking skimpy.
What do you do as an astronomer? What's a typical day like for you?
Obviously my career has changed at different stages, but my primary focus as a professional astronomer is my research. What research looks like on a typical day depends on the stage of the project- there is writing the proposal to get telescope time, scheduling observations, data reduction, analyzing the data and applying models to it (I mainly use Python), and then writing up what you've found for the journal. It depends on the project, but usually it takes 6-12 months from me getting the data to getting it to the journal- good research takes time! Also, while some astronomers still do, I should note I do not actually travel to the telescope to observe- like anything these days, I send my observations to the observatory, and then download my data off the Internet after it's taken. Some astronomers still travel to take their observations, but no one unfortunately has the job of just going to the observatory every night and looking at stars (and you couldn't mount an eyepiece on most of those big telescopes even if you wanted to).
Beyond my research, I also spend a smaller segment of my time during the week doing things like attending seminars (where people talk about their research), a smattering of meetings with the group or students I help supervise, and a smattering of outreach activities. (The latter is definitely not a requirement, but I enjoy it! Most of my outreach is here on Reddit, writing for various publications on astronomy topics, attending conferences, being the referee for a paper submitted to the journal, or doing events like speaking at high schools or Astronomy on Tap.)
As a general note, I think one of the best pieces of advice I heard about choosing a career is any job will have parts of it you don't like. I personally don't know anyone who enjoys responding to referee comments for their submitted paper, for example! Instead, the trick is finding a job where what you love about the work makes up for the parts you don't want to do. For me, my career in astronomy definitely does that.
I am a programmer and want to get involved in astronomy. Any advice?
The good news here is scientific programming is indeed a career, and it's getting bigger every year! Check out the sections on the AAS Job Register for "scientific/technical staff" and "science engineering." (You can also do a search of archived positions to get an idea of the sort of skills they're looking for.) Check back regularly. As a general rule, most astronomy specific programming jobs are going to either be in Python or Java, and require a bachelor's degree in computer science or an equivalent.
If you don't want to get an actual job in astronomy but just do it on a more hobby level, I recommend looking into distributed computing or citizen science projects.
I am older and am considering going back to school to get a degree in astronomy. Thoughts?
These questions are always a bit difficult to answer as an Internet stranger because I don't know you and what's important to you. I will point out though that the "undergrad to PhD" process will take you at least a decade- and definitely longer if you can't do it full time. A lot of people are going to look at that commitment and decide it's too difficult at this stage. That said, I do know people who did decide to go to school for astronomy years after it's traditional to do so, after a degree and perhaps even a career doing something else, and are still in the field today. It's definitely possible.
Remember, if you're busy thinking to yourself "but I'll be 40 before I'm done with the PhD!", well, you're (hopefully) still going to be 40 someday. Might as well be 40 leading a life you enjoy, or at least that's how I figured it when I started getting older than a lot of other people.
By the way, a lot of older people write to me asking if they will be discriminated against for being an older student. Overall, I think most astronomy people are not going to care about your age, and in fact we like more mature students because they're often more focused than the younger ones! Anecdotally, unfortunately I've noticed this isn't much of an issue in the USA (where of course it's illegal anyway), but I did hear outright age discrimination in Europe regularly when they were interviewing PhD candidates. I suspect though these are larger cultural considerations independent of astronomy as a field in general.
I am an [insert minority here]. Will I face discrimination or have a tougher time because of it?
I hate to say it but... you might. Please don't get me wrong- I hope nothing more than you will be the person who says they were never discriminated against as a minority, because there are people who have that experience. But frankly as a woman I have faced discrimination which has ranged from subtle to outright sexual harassment, and some of those people are still in the field in positions of power today. As such, I unfortunately just cannot guarantee that you will never encounter a similar situation.
That said, one thing I can say that I find reassuring is how astronomy as a field is definitely increasingly aware of the problems minorities in the field face, and is talking about it, and many people are trying to find ways to rectify it. This is different than my experience a decade ago when I was a student, when people just ignored it, which is awesome. Finally, I can only talk about my experiences as a cis white woman, but please message me if you identify in a certain group and want to talk to an astronomer who identifies the same way to hear about their experience! I know a lot of astronomers, and am more than happy to put you in touch with someone who can answer your questions better than I can with my limited experience, and Reddit is great at keeping things anonymous if you want. This happens pretty regularly "behind the scenes" on this subreddit/profile, and I am happy to help.
Finally, I would advise everyone read up on imposter syndrome, which is the feeling that you are a fraud and are going to get found out for it. My experience is everyone in astronomy feels this to some degree, but studies show you feel it more the more you are a minority in a group, so best to be aware of what it is. Personally, I've long ago realized I will always have imposter syndrome, but you know what? I am ok with being the worst astronomer in the world, as long as I get to be an astronomer. :)
I have another question you didn't answer here...
My apologies! Please comment below, so others who may have your question can then also see it. For the record I actively keep an eye on this thread, and will answer everything posted here, or in the monthly Q&A thread. Finally, if you want to message me privately you are free to do so- I will note that I prefer the Reddit messaging feature however over the chat feature, and would appreciate if you used the former over the latter.
Good luck! :)
submitted by Andromeda321 to Andromeda321 [link] [comments]

The Dark Web is not what you think it is.

I don't even know where to start. I can hardly think straight, have lost all my appetite, can't sleep, not with what I know now. I hope that anyone who sees this can learn from my mistake, before it's too late. What started as a mere curiosity has ruined my life.
I am a computer science major, and have loved computers from a young age. The ability to create such powerful programs and interfaces through the mere utilization of code has always amazed and fascinated me. It's 8PM, I'm at the local high school. I teach an after school intro to programming class every weekday. Not a bad job, $15 an hour is not too shabby and most of the students who take my class are reasonably intelligent and disciplined. As my class was coming to a close, one of my students motioned for me to come over.
"Sir, what is this?"
I glanced at his screen as he moved his mouse over to an application saved to his desktop entitled "Tor".
"It's just a web browser, like Windows or Chrome, except it allows the user to search the web anonymously and is highly encrypted, meaning it is nearly impossible to trace or record any internet activity,”I explained.
He stared hard at the application for a moment like he was pondering something
"So nothing I do on Tor can be traced back to me... could I access the deep web on something like this?"
"I suppose you could access most anything on it," I replied frankly, before walking back to the front of the class.
"Thank you for your time today class, I hope you all learned something new about using JavaScript on web platforms. Tomorrow I look forward to seeing all of your completed HTML projects. Enjoy your evening, class is dismissed".
Liker every other day, I drove straight home, watched Netflix for an hour, then went straight to bed. Needless to say, I didn't have the greatest social life. The next day is when things started to get weird. When I showed up to class fifteen minutes early to prepare, I found that same boy sitting outside. Waiting.
"What are you doing here so early", I asked, genuinely perplexed.
He looked me straight into the eye, and I felt immediately that something was wrong.
"There... there's something I need to show you.." He stammered.
I felt uneasy and confused, this behavior was unlike him. He hardly ever talked in class, with the exception of an occasional question, must less showed emotion.
"I downloaded Tor on my computer last night after I got home.... I was curious, and just wanted to check it out" He said uneasily.
"But when I woke up this morning, I noticed I'd received several anonymous messages ". He pulled out his phone, unlocked it, and handed it to me. My eyes immediately widened.
SToP. NOw
wE knOw wHo YOU are. We kNoW aLL aboUt You.
StOp whaT You aRe doiNg. thIs IS YouR onLy WaRniNg.
WeRe WaTching yOU
There was no phone number attached. It just said,"private caller". Probably just a prank text, I reasoned.
"Do you think this could be related to Tor?" he asked nervously.
"Nah, I doubt it. The shadiest stuff that ever happens here is the buying and selling of illegal weapons, drugs, and stuff like that. I've never heard of anyone getting stalked from using it. Plus, there's no way they could get your phone number, especially when you're using an encrypted browser", I declared, trying my best to sound confident.
"wait...About what time did you use Tor last night?
Like 9:30, right before I went to bed
And what time did you get those texts?
nine fourty one.... he said blinking slowly.
I'm not gonna lie, that's really weird. Just don't use Tor tonight and see what happens
I won't. I definitely won't. Thanks you for your reassurance,” He smiled genuinely and appeared to have finally calmed down.
"Have a seat wherever you'd like, class will start shortly", I said as his classmates began to fill up the classroom.
The rest of the day went more or less as usual. The students presented the websites they had created and I assessed and critiqued them. Class ended and I went straight home as I did every other day. This night however, I didn't watch Netflix. I downloaded Tor. I felt I had no other choice. I had to get to the bottom of this. It was my moral duty. If anyone was qualified to research this browser, I was. I knew everything from how encrypt my VPN from any server to computer hacking and everything in between. Download complete, my screen read. Right before I could dive in, I felt a wave of uneasiness hit me. As much as I hated to admit it, what happened to my student was really creepy. Especially the fact that his usage of Tor and the appearance of those weird messages occurred in a matter of minutes. I'll hold off until tomorrow, I reasoned. Just to be sure.
He wasn't at class the next day. Or the next. I learned from the local news he had gone missing. He has yet to be found. It can't be a coincidence anymore, it must be related to Tor. Before I could contact the authorities, I received a text message.
wE kNow wHat yOu knOw
sAy a wOrd aNd YoUr nExT
wE aRe wAtChing yOu
submitted by badbunny9191 to nosleep [link] [comments]

Alternative for anonymous classes? (converting from Java)

Game developer here, I have an ancient Java project that I'm converting to C#. Anonymous classes are the only concept that I don't have an alternative for, and I need help figuring this one out.
The game has a couple anonymous classes for each level, they are used to define custom behaviour. Due to the large amount of this code, I'm looking for an easy way to port without a complete redesign.
Here's a visual of what I have: https://i.imgur.com/Mpo0DRe.png Each level has a shell class for some static data, these variables are referenced by 2 level-specific anonymous classes and to a lesser extent, the level browser. It also instantiates the throwaway scenario object (via create(...) at the bottom) that defines custom behavior using overrides. The second anonymous class is for AI in a separate file but hopefully you get the idea.
I'm hoping to retain the convenience of these classes without doing something crazy like large switch case statements or spending ages on rearranging or wrapping things. It's a lot of code to go over.
I'm new to C# so I'm not very knowledgable about its technical terms and specialities, please keep that in mind. Also a friendly reminder that this isn't intended to be a discussion for design patterns or coding practices. Thank you!
submitted by PoshDan to csharp [link] [comments]

Way to build an app in which user fills a form that can be downloaded or emailed as a PDF?

I'm working on an app through Phonegap (written in HTML/CSS/JS) that's intended to have the user fill out a form (radio buttons, text boxes, etc.) which will then be either downloadable (as PDF) or simply sent to a specific email upon completion (as a PDF).
I've been using a JavaScript function that prints the page as a PDF that's automatically downloaded at the click of a button on the bottom of the page.
But I've noticed that the Print to PDF function doesn't seem to be a true PDF in the sense that I can't highlight the printed text within the resultant PDF. Additionally, the amount of information in each print seems to have a limit. I can't get it to print content on the page beyond a certain length. I also am not sure that this works on mobile, but it seems to work when tested in the browser on Chrome (with some issues).
What's the best way to create a PDF after the user fills out the form? I've read that I can maybe create something server-side and have the app send a PDF (via email) from a server after the user fills out the information on the page. Does this sound right?
Can I make it so that the user fills out the information in the app, clicks a button, and then the information on the app is saved and a PDF of said information is sent via email? I'm not quite sure how to set up a server to do this if even possible.
Simply, I just want my clients to fill out the info in the app, and then click a button on the bottom of the page that then takes that information and spits out a PDF. I'm having trouble finding an effective way to actually do this.
Here's my code thus far (sans head, CSS):
    

4-Point Inspection
















Here's the Javascript function (also shown at the end of the above code):
$('#downloadPDF').click(function () { domtoimage.toPng(document.getElementById('content2')) .then(function (blob) { var pdf = new jsPDF('l', 'pt', [$('#content2').width(), $('#content2').height()]); pdf.addImage(blob, 'PNG', 0, 0, $('#content2').width(), $('#content2').height()); pdf.save("test.pdf"); that.options.api.optionsChanged(); }); }); 
I simply want a way to turn this interactive form into a PDF that's either downloadable or just emailed to a specific email address - I just don't know the most effective way to do this.
Any and all help/recommendations would be deeply appreciated. Thanks!
submitted by the_crabnebula to AskProgramming [link] [comments]

Is there a way to define a type explicit and anonymous?

Hi!
I have a simple question but I do not know whether there is an answer.
When defining an anonymous class you can let the object inherit from multiple interfaces. The object has then both types like every (non anonymous) class that inherits from more then one interface.
interface First { fun runFirst() } interface Second { fun runSecond() } fun test() { val both = object : First, Second { override fun runFirst() { println("first") } override fun runSecond() { println("second") } } // MainKt$test$both$1 println(both.javaClass.typeName) // first // second both.runFirst() both.runSecond() } 
My variable both in the given example is implicitly typed. But what is the Type? IntelliJ says . The JVM type name seems to be MainKt$test$both$1. The obvious way to solve this problem is to introduce a new interface:
interface Both: First, Second 
But then I could simply make it a non anonymous class instead of an interface.
Is there even a way to explicitly declare "anonymous types"? I am excited to hear your thoughts on this.
submitted by mtorials to Kotlin [link] [comments]

A Complete Penetration Testing & Hacking Tools List for Hackers & Security Professionals

A Complete Penetration Testing & Hacking Tools List for Hackers & Security Professionals

https://i.redd.it/7hvs58an33e41.gif
Penetration testing & Hacking Tools are more often used by security industries to test the vulnerabilities in network and applications. Here you can find the Comprehensive Penetration testing & Hacking Tools list that covers Performing Penetration testing Operation in all the Environment. Penetration testing and ethical hacking tools are a very essential part of every organization to test the vulnerabilities and patch the vulnerable system.
Also, Read What is Penetration Testing? How to do Penetration Testing?
Penetration Testing & Hacking Tools ListOnline Resources – Hacking ToolsPenetration Testing Resources
Exploit Development
OSINT Resources
Social Engineering Resources
Lock Picking Resources
Operating Systems
Hacking ToolsPenetration Testing Distributions
  • Kali – GNU/Linux distribution designed for digital forensics and penetration testing Hacking Tools
  • ArchStrike – Arch GNU/Linux repository for security professionals and enthusiasts.
  • BlackArch – Arch GNU/Linux-based distribution with best Hacking Tools for penetration testers and security researchers.
  • Network Security Toolkit (NST) – Fedora-based bootable live operating system designed to provide easy access to best-of-breed open source network security applications.
  • Pentoo – Security-focused live CD based on Gentoo.
  • BackBox – Ubuntu-based distribution for penetration tests and security assessments.
  • Parrot – Distribution similar to Kali, with multiple architectures with 100 of Hacking Tools.
  • Buscador – GNU/Linux virtual machine that is pre-configured for online investigators.
  • Fedora Security Lab – provides a safe test environment to work on security auditing, forensics, system rescue, and teaching security testing methodologies.
  • The Pentesters Framework – Distro organized around the Penetration Testing Execution Standard (PTES), providing a curated collection of utilities that eliminates often unused toolchains.
  • AttifyOS – GNU/Linux distribution focused on tools useful during the Internet of Things (IoT) security assessments.
Docker for Penetration Testing
Multi-paradigm Frameworks
  • Metasploit – post-exploitation Hacking Tools for offensive security teams to help verify vulnerabilities and manage security assessments.
  • Armitage – Java-based GUI front-end for the Metasploit Framework.
  • Faraday – Multiuser integrated pentesting environment for red teams performing cooperative penetration tests, security audits, and risk assessments.
  • ExploitPack – Graphical tool for automating penetration tests that ships with many pre-packaged exploits.
  • Pupy – Cross-platform (Windows, Linux, macOS, Android) remote administration and post-exploitation tool,
Vulnerability Scanners
  • Nexpose – Commercial vulnerability and risk management assessment engine that integrates with Metasploit, sold by Rapid7.
  • Nessus – Commercial vulnerability management, configuration, and compliance assessment platform, sold by Tenable.
  • OpenVAS – Free software implementation of the popular Nessus vulnerability assessment system.
  • Vuls – Agentless vulnerability scanner for GNU/Linux and FreeBSD, written in Go.
Static Analyzers
  • Brakeman – Static analysis security vulnerability scanner for Ruby on Rails applications.
  • cppcheck – Extensible C/C++ static analyzer focused on finding bugs.
  • FindBugs – Free software static analyzer to look for bugs in Java code.
  • sobelow – Security-focused static analysis for the Phoenix Framework.
  • bandit – Security oriented static analyzer for Python code.
Web Scanners
  • Nikto – Noisy but fast black box web server and web application vulnerability scanner.
  • Arachni – Scriptable framework for evaluating the security of web applications.
  • w3af – Hacking Tools for Web application attack and audit framework.
  • Wapiti – Black box web application vulnerability scanner with built-in fuzzer.
  • SecApps – In-browser web application security testing suite.
  • WebReaver – Commercial, graphical web application vulnerability scanner designed for macOS.
  • WPScan – Hacking Tools of the Black box WordPress vulnerability scanner.
  • cms-explorer – Reveal the specific modules, plugins, components and themes that various websites powered by content management systems are running.
  • joomscan – one of the best Hacking Tools for Joomla vulnerability scanner.
  • ACSTIS – Automated client-side template injection (sandbox escape/bypass) detection for AngularJS.
Network Tools
  • zmap – Open source network scanner that enables researchers to easily perform Internet-wide network studies.
  • nmap – Free security scanner for network exploration & security audits.
  • pig – one of the Hacking Tools forGNU/Linux packet crafting.
  • scanless – Utility for using websites to perform port scans on your behalf so as not to reveal your own IP.
  • tcpdump/libpcap – Common packet analyzer that runs under the command line.
  • Wireshark – Widely-used graphical, cross-platform network protocol analyzer.
  • Network-Tools.com – Website offering an interface to numerous basic network utilities like ping, traceroute, whois, and more.
  • netsniff-ng – Swiss army knife for network sniffing.
  • Intercepter-NG – Multifunctional network toolkit.
  • SPARTA – Graphical interface offering scriptable, configurable access to existing network infrastructure scanning and enumeration tools.
  • dnschef – Highly configurable DNS proxy for pentesters.
  • DNSDumpster – one of the Hacking Tools for Online DNS recon and search service.
  • CloudFail – Unmask server IP addresses hidden behind Cloudflare by searching old database records and detecting misconfigured DNS.
  • dnsenum – Perl script that enumerates DNS information from a domain, attempts zone transfers, performs a brute force dictionary style attack and then performs reverse look-ups on the results.
  • dnsmap – One of the Hacking Tools for Passive DNS network mapper.
  • dnsrecon – One of the Hacking Tools for DNS enumeration script.
  • dnstracer – Determines where a given DNS server gets its information from, and follows the chain of DNS servers.
  • passivedns-client – Library and query tool for querying several passive DNS providers.
  • passivedns – Network sniffer that logs all DNS server replies for use in a passive DNS setup.
  • Mass Scan – best Hacking Tools for TCP port scanner, spews SYN packets asynchronously, scanning the entire Internet in under 5 minutes.
  • Zarp – Network attack tool centered around the exploitation of local networks.
  • mitmproxy – Interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers.
  • Morpheus – Automated ettercap TCP/IP Hacking Tools .
  • mallory – HTTP/HTTPS proxy over SSH.
  • SSH MITM – Intercept SSH connections with a proxy; all plaintext passwords and sessions are logged to disk.
  • Netzob – Reverse engineering, traffic generation and fuzzing of communication protocols.
  • DET – Proof of concept to perform data exfiltration using either single or multiple channel(s) at the same time.
  • pwnat – Punches holes in firewalls and NATs.
  • dsniff – Collection of tools for network auditing and pentesting.
  • tgcd – Simple Unix network utility to extend the accessibility of TCP/IP based network services beyond firewalls.
  • smbmap – Handy SMB enumeration tool.
  • scapy – Python-based interactive packet manipulation program & library.
  • Dshell – Network forensic analysis framework.
  • Debookee – Simple and powerful network traffic analyzer for macOS.
  • Dripcap – Caffeinated packet analyzer.
  • Printer Exploitation Toolkit (PRET) – Tool for printer security testing capable of IP and USB connectivity, fuzzing, and exploitation of PostScript, PJL, and PCL printer language features.
  • Praeda – Automated multi-function printer data harvester for gathering usable data during security assessments.
  • routersploit – Open source exploitation framework similar to Metasploit but dedicated to embedded devices.
  • evilgrade – Modular framework to take advantage of poor upgrade implementations by injecting fake updates.
  • XRay – Network (sub)domain discovery and reconnaissance automation tool.
  • Ettercap – Comprehensive, mature suite for machine-in-the-middle attacks.
  • BetterCAP – Modular, portable and easily extensible MITM framework.
  • CrackMapExec – A swiss army knife for pentesting networks.
  • impacket – A collection of Python classes for working with network protocols.
Wireless Network Hacking Tools
  • Aircrack-ng – Set of Penetration testing & Hacking Tools list for auditing wireless networks.
  • Kismet – Wireless network detector, sniffer, and IDS.
  • Reaver – Brute force attack against Wifi Protected Setup.
  • Wifite – Automated wireless attack tool.
  • Fluxion – Suite of automated social engineering-based WPA attacks.
Transport Layer Security Tools
  • SSLyze – Fast and comprehensive TLS/SSL configuration analyzer to help identify security misconfigurations.
  • tls_prober – Fingerprint a server’s SSL/TLS implementation.
  • testssl.sh – Command-line tool which checks a server’s service on any port for the support of TLS/SSL ciphers, protocols as well as some cryptographic flaws.
Web Exploitation
  • OWASP Zed Attack Proxy (ZAP) – Feature-rich, scriptable HTTP intercepting proxy and fuzzer for penetration testing web applications.
  • Fiddler – Free cross-platform web debugging proxy with user-friendly companion tools.
  • Burp Suite – One of the Hacking Tools ntegrated platform for performing security testing of web applications.
  • autochrome – Easy to install a test browser with all the appropriate settings needed for web application testing with native Burp support, from NCCGroup.
  • Browser Exploitation Framework (BeEF) – Command and control server for delivering exploits to commandeered Web browsers.
  • Offensive Web Testing Framework (OWTF) – Python-based framework for pentesting Web applications based on the OWASP Testing Guide.
  • WordPress Exploit Framework – Ruby framework for developing and using modules which aid in the penetration testing of WordPress powered websites and systems.
  • WPSploit – Exploit WordPress-powered websites with Metasploit.
  • SQLmap – Automatic SQL injection and database takeover tool.
  • tplmap – Automatic server-side template injection and Web server takeover Hacking Tools.
  • weevely3 – Weaponized web shell.
  • Wappalyzer – Wappalyzer uncovers the technologies used on websites.
  • WhatWeb – Website fingerprinter.
  • BlindElephant – Web application fingerprinter.
  • wafw00f – Identifies and fingerprints Web Application Firewall (WAF) products.
  • fimap – Find, prepare, audit, exploit and even google automatically for LFI/RFI bugs.
  • Kadabra – Automatic LFI exploiter and scanner.
  • Kadimus – LFI scan and exploit tool.
  • liffy – LFI exploitation tool.
  • Commix – Automated all-in-one operating system command injection and exploitation tool.
  • DVCS Ripper – Rip web-accessible (distributed) version control systems: SVN/GIT/HG/BZR.
  • GitTools – One of the Hacking Tools that Automatically find and download Web-accessible .git repositories.
  • sslstrip –One of the Hacking Tools Demonstration of the HTTPS stripping attacks.
  • sslstrip2 – SSLStrip version to defeat HSTS.
  • NoSQLmap – Automatic NoSQL injection and database takeover tool.
  • VHostScan – A virtual host scanner that performs reverse lookups, can be used with pivot tools, detect catch-all scenarios, aliases, and dynamic default pages.
  • FuzzDB – Dictionary of attack patterns and primitives for black-box application fault injection and resource discovery.
  • EyeWitness – Tool to take screenshots of websites, provide some server header info, and identify default credentials if possible.
  • webscreenshot – A simple script to take screenshots of the list of websites.
Hex Editors
  • HexEdit.js – Browser-based hex editing.
  • Hexinator – World’s finest (proprietary, commercial) Hex Editor.
  • Frhed – Binary file editor for Windows.
  • 0xED – Native macOS hex editor that supports plug-ins to display custom data types.
File Format Analysis Tools
  • Kaitai Struct – File formats and network protocols dissection language and web IDE, generating parsers in C++, C#, Java, JavaScript, Perl, PHP, Python, Ruby.
  • Veles – Binary data visualization and analysis tool.
  • Hachoir – Python library to view and edit a binary stream as the tree of fields and tools for metadata extraction.
read more https://oyeitshacker.blogspot.com/2020/01/penetration-testing-hacking-tools.html
submitted by icssindia to HowToHack [link] [comments]

A different reason to learn: programming as a tool, not a career

Learn programming to improve your current job

This place is a wonderful place to learn things. I, myself, have spent a lot of time here and have learned so much because of the community. I wanted to give back a bit, and in light of what's going on in the world now, I figured I'd detail a different reason to learn programming and tell you a bit about my experience. I hope it inspires people to learn, but especially those who aren't ready for a full-blown career change (yet, or ever).

My Background

Before I dive in, I think you guys might appreciate a bit of background about me. You probably don't have the same background I do, nor will be at a company like mine, but that doesn't mean you can't start learning things or find a way to adjust your job within your company.
I have been a techie for a very long time. I'm in my mid-thirties, and I've been using computers since I was about ten years old. A lot of that time was spent on basic stuff - games, typing, word processing, spreadsheets, browsing the web. From there, I started repairing and (re)building/upgrading computers for myself, family, and friends. I learned a lot about what NOT to do professionally at a time when I didn't have much in terms of consequences (see /talesfromtechsupport for their opinion on how to help family... haha). I also got into Linux around this time and made TONS of mistakes on an old computer learning how to get things running. Didn't know what I was really doing, but it was a fun way to kill time when I couldn't spend it with friends.
A few years later, I started learning html and css in the early days of html 4.0. I thought I might enjoy programming, so I took some classes in high school. I was good enough at it, but it felt super tedious for me and I figured I just didn't like it, despite having spent time with VB, VC++, and a little bit of JavaScript. I learned the basics of things like variables, data types, loops, control flow... The basic grammar of the languages. Built some small stuff, but it was frustrating enough that I gave up on it. I also stopped messing with Linux because I got a nice computer and started gaming heavily.
When I went to college, I follow a pre-med path. I worked at the computer labs and ended up in supervisory role. This taught a lot about customer service and really interacting with co-workers. Soft skills are super important, as I learned. I graduated college without a full-time job and without a competitive advantage trying to get into med school. I gave up on that. Around this time, I got back into linux fairly seriously, learning commands, running a home file server, then adding torrenting functionality, music streaming apps, etc.
I ended up working for the US Census for a while doing everything from address canvassing and mapping through a short stint as a supervisor in their IT dept, though I ended up moving back to Admin because I could train people more effectively than others could and they needed me.
I was a writer for a tech blog for a while, doing guides, a few reviews, and just generally
Fast forward a few years, I moved to NYC for a post-bac, and I landed a job at a tech startup for a while being paid decently and doing a lot of data management work.
A few years later, I gave up on grad school (too expensive) and ended up working for an e-commerce company that's relatively small, but was growing moderately at the time. This was roughly 5-6 years ago now. It wasn't until about three months before I got this job that I started to (re)learn programming. I went through codecademy for python, then did a bunch of supplemental stuff, learn python the hard way, relearned python 3, and did an online group course through I company I ended up working at as a side-gig later. We had live zoom classes and office hours and projects and homework. This course started about 3 months into my new job.
So, to recap, I was messing with computer since I was 10 years old, got exposed to a lot stuff even if I didn't do much with it, and just nurtured a love of all kinds of technology. Later in life, I self-studied python for 3 months, got a job doing tech support for an e-commerce company and continued studying for another 3 months, and at that point did a 10-week online course. So, about 9 months after I started learning python, I did a project with two others where we used the stripe API to pull dummy data from fake customers' accounts, and then display very basic trends and metrics using the bokeh library, and threw this into a django app. We each did a different part, but taught the other two how to do what we did.
That brings me to my current job and the end of any real formal learning. When I started, I was employee #8, and alongside 3 free-lancers overseas, that was our company. One founder and one manager (together, the two partners, owners of the company), me as tech support, one as customer service, one manning the store, one doing ppc/etc, and one shipping out customers' orders.

Disclaimer

I am absolutely privileged. I did not have to provide for a family while I was going through this. I was broke, but didn't have to worry about rent and food. I had years of interest and love for tech that filled in a lot of knowledge. I'm lucky to have ended up at a company that rewards risk-taking, doesn't punish failure, and allows most of us to grow and switch into positions where are interests and budding talents lie.
Most people won't have all of these things. Still, I hope I can give you some insight that might help you. Sometimes, my advice will be wrong. This doesn't fit all situations. Somewhere in here, though, there's probably something for you to consider. If you're someone who's thinking about learning programming but aren't sure why or how it'll help, then this is especially directed at you.
If, however, you're making progress and have a lot of general frustration, I think maybe my background and career path might inspire you to have some patience for the process or learn from my mistakes or successes.
If you have imposter syndrome, well, there's a reason I never called myself a programmer for years even when I was doing it regularly. I hope my journey helps you realize that sometimes you just roll with the punches.

Building Skills Efficiently

My story

I knew a lot about technology. I watched tech news and youtube channels and follow engadget until the verge writers split off to do their own thing, and in general swallowed up tech. I used whatever I could get my hands on, which was usually old, outdated equipment. I learned a lot about obscure stuff that gave me some geek cred - something that isn't important to have in and of itself necessarily, but makes you memorable when networking.

Networking

Networking is making connections in a sustainable way. Sure, you can be on linkedin with someone you met once at a conference and get a job. Happened to me a few times. But, I feel, the trick to networking well is to be passionate but also be respectful of others' time. I shut up and apologized when I caught myself ranting/rambling. Often, I was urged to continue because who I was talking to had similar interest levels. Other times, I had turned them off to further conversation. This is how you can develop soft skills at the same time as making quality connections. Again, soft skills are integral to any job, but especially so in any technical role.
I had a unique background, having run my own linux server at home for a while. I made friends with junior and senior sysadmins, thinking that was something I'd try to get into, via something like a tier 2 or 3 tech support position. Didn't happen, but some of those people I still talk to and turn to for advice. They stayed in touch because they liked my taste in gadgets - often ones I couldn't afford but drooled over reviews of. Staying in touch is a life skill, and is very close to staying engaged, something you need to learn to do well if you want to do project management, or any kind of management to some degree.

Back to my story

I talked about tech like it was my life, even though it really wasn't. This was my "fake it til you make it." This helped me get a low-paying job in tech support. That allowed me to learn about a specific domain of customers and physical products, and really helped me get my tech support chops. Even today, I hate doing anything in Customer Service, but I feel for the people in my company who are doing it and I treat them well, and when I can, I give them opportunities to step up and learn and do more. These are tangible management skills in almost any job you can think of. Do NOT neglect these.
I knew a lot about cellular technology. Not a ton, but more than anyone else at the company. We had a partner through which we sold a service. I learned about cellular, about the devices we sold, and I had some opinions on the direction of technology. This caught one of the partners' interest. He wanted to know if we could bring the service in-house. I did my best to help answer that question.

Learning on the job

I admitted that I knew some but not everything surrounding the question. I also mentioned I could learn it. How did I know I could learn it? I had done it before through my interests and hobbies! Learning how to learn is incredibly important! Anyone here will tell you that if you can't read documentation and learn something, programming isn't for you. You need discipline to do that, and you need to know yourself so you can use all the tricks to force yourself to learn quickly, focus faster and for longer, and take the right kind of breaks when you need to.

Learning and teaching

But, another reason learning how to learn is important is because it teaches you how to teach. My role at the census was incredible because I learned how to teach effectively. I did onboarding, then taught how to do payroll. My shift processed almost double the payroll than other shifts because I taught them basic keyboard shortcuts and showed them small optimizations in the keying process (we'll get back to this later). I also taught others who ended up taking over onboarding how to fingerprint more consistently and effectively. That's not an easy thing, and if your prints didn't process, you couldn't work! It had tangible benefits in getting us fully staffed in a timely manner.
This also is what helped me get my paid blogging role. Independent research was one thing, how-to guides and the like were another. Learning skills like annotating screenshots, building troubleshooting sections, and understanding processes is fundamental to writing good documentation for lay people. It might be a bit different for programmers, but for people in other, non-technical roles, going that extra step or two here and there really sets you apart by more than you think.

Back to learning on the job

Because of those skills, I had the opportunity to spend part of my shifts away from calls so I could focus on an on-going project. I eventually even set up a local server and tested a device I reprogrammed myself to see what other "gotchas" were in the process. As my understanding grew, I was able to better communicate with the existing service provider, and our business increased. This led to another opportunity.
My job at the computer lab entailed interviewing and hiring, as well as onboarding and training (like at the census). Our call volume went up, and I hired someone to help me and gave them the training they needed. This gave me more time to work on the project at hand.
Ultimately, I determined that it didn't make sense to leave our service partner until we had a better foothold in the industry. Still, delivering that kind of opinion with organized data and experience was crucial. It allowed me to start taking on smaller projects in the company.

Programming as a tool: part 1

As my boss learned, I was learning how to program and do small projects in my spare time. I was tasked with organizing customer information into a central database of sorts. I under-promised and over-delivered so well that Scotty himself would have been proud. Not something I can blindly recommend, but I'll let the full-timers speak to that. I will mention, though, that I saw that my boss valued honesty and I kept being honest back (but just adding a margin for error). At the end of the day, I accomplished the goal, even with a few missteps.

A taste of project management

Because of that, for more moderate projects that I didn't feel comfortable doing, I was tasked with hiring freelancers and working with our own developer to deploy things. This was because speaking tech and translating to lay speak is an important soft skill. It enables you to manage others effectively, but also enables you to have valuable input. It is also crucial to know your limits so you don't make over-reaching conclusions. You learn how to work in gray areas.

Programming as a tool: part 2

Skipping ahead a bit, the company grew and we took on an interesting project, working with suppliers to list items for sales on ecommerce sites and drop shipping them.
Our CRM had over 1.1 million items, even though there was a 38% overlap. To fix a problem like this, you need domain-specific knowledge. Explaining to programmer that, "yes, Amazon thinks every ASIN is unique product, but that's not actually true" can be tricky and annoying. Telling them "each manufacturer uses a different field as a primary key, and sometimes those cause duplicate ASINs" is much clearer. Knowing which fields to trust always or sometimes, which to never trust, when to use context and when to ignore context... These are all enabled by domain-specific knowledge.
During this phase in the company, I spent a lot of time identifying criteria to match duplicates over a variety of contexts. I spent a lot of time writing scripts to do bulk edits, deletes, or adds to our content-management system. I also spent a lot of time making quality-of-life alterations for our shipping department. This lead to another focus of mine.

Operations and Procedures / Programming as a tool: part 3

Programmers need to learn to be analytical, but they also need to learn to be procedural (hehe). Programmers understand how skipped steps and vagaries can lead to inconsistent outcomes.
Learning how think like a programmer, even if you aren't one, is incredibly useful when combined with domain-specific knowledge. Now, I know many of you are familiar with the "new guy who wants to change everything" trope. This is where your soft skills come into play.
Learn how a process is done. Understand their pain points, and how they deal with them. Understand what they do well. Ask hypothetical questions with good, concrete examples. Do this with people on the line as well as their managers. It's rare in life that people are on the same page, so understanding as many sides of a thing as you can will help. This is your discovery phase, and ONLY after you have completed this can you try to improve things.
I used an online database tool with a wysiwyg front-end builder called knack. It's like dreamweaver meets google docs meets databases. Can't speak for anyone else, but for me, it was the right tool for the right job. I knew that I hated front-end development (and I still do!), and since writing something myself and deploying it would eat into time spent for other responsibilities, it wasn't an option for me. This tool bridge the gap, and it was cheap to implement in our case.
This let me fix the crucial mistake that most non-techies make: spreadsheets are not databases. Speadsheets are fine things. Very useful. However, if you need to have auditing or controlled access, even google sheets isn't going to do it for you. Most normal people don't know this. You have an advantage here. Implementing knack really streamlined a lot of smaller undocumented processes regarding re-shipments, returns, repairs, managing online presences, and a host of other things. I'm pretty sure our slack usage dropped by half. Most of these little applets were CRUD forms and work queues and took maybe two days to go through discovery, a day or two to build a prototype, and another three days to test, adjust, and deploy.
An average of 6-7 business days to reduce errors, prevent record destruction, and streamline someone's job? All of those departments LOVED me. The cost was $40/month? Managers loved me. I became the go-to guy to handle these things. Making sure people can't make mistakes in a friendly way like this really goes a long way to building good will with your fellow employees, but that only works if you take their feedback and understand the administrative process. What I mean here is that if someone on the line wants a change but a manager doesn't, you have to explain the need to the manager and the roadblock to the line worker, but in a way that doesn't antagonize anyone involved. Again, soft skills.

Back to the story

Throughout this time, I'd budget work hours to learn. Parts of my job relied on staying up to date about changes to our tools and SaaS systems, but also larger trends. I was able to justify going to PyGotham a few times as a work-education thing. A few of the tricks and libraries I picked up really helped us out when we had some jams, so that was money well spent as far as the partners were concerned. But, I also took a renewed interest in our service-related products. I started to help out some of the product-adjacent managers to see what else was out there, both people we could buy from and competitors. Understanding this was crucial to developing tastes and understanding customer feedback better.

Hardware

Fast-forwarding, I started implementing product testing procedures for new products, worked on a new manufacturer partner's product to integrate it in our service, troubleshot issues related to existing products, and eventually we scrapped a lot of our business and focused on the key money makers. For me, that meant hardware. I learned a lot by documentation and training. We finally decided to bring our service in house. We gained an incredible development team in the process.
The biggest part of this was device configuration. It was a nightmare keeping them apart and revising them, not to mention the fact that we didn't audit what was incoming. If the manufacturer made a change, we were the last to know about it. So, I did something I'd only know to do if I used it as a programmer, I used GitHub. Git is a great tool for version control of ALL kinds, not just code. Configurations are perfect for this.
Troubleshooting customer issues was also super important. I became the leading internal resource for the hardware, so I started working with our developers to help them understand what the devices can do in order to better leverage them. I also worked closely with the tech support team to give them what they needed to troubleshoot and resolve issues better. I pre-formatted remote commands for them to use and I wrote a lot of the tribal knowledge I had gained down into a document, eventually splitting that into guides for interacting with the devices.

Programming Full-Time

This brings us into recent months. After organizing configs and implementing changelogs, I got ahead of the manufacturer's changes. I started testing firmware before we deployed it. We got ahead of problems. I wrote tools that used the APIs that our developers made to ease things for tech support tier 3. I wrote tools to help organize files before they were committed to git. I worked with the developers more closely as we faced a few large bumps in the road.
Finally, a few weeks ago, I was transferred to the engineering team full-time.

Skills and Takeaways

While I did end up as an engineer, you'll notice that the vast majority of my job history and skills were tangential or parallel to programming in some way. I wasn't a programmer 99% of the time, nor was I anywhere near a full-time engineer.
However, learning programming gave me several skills I didn't have before:
Could I have learned these elsewhere? Sure. Arguably, some I was already starting to from my Linux experience. Still, learning programming streamlined learning those skills. Then, I could fully take advantage of them with my other skills:
All of these allowed me to do a wide variety of jobs in a few different roles:
Lastly, I hope there are few different things that you can take away from my journey so far.

My journey went on to engineering; yours doesn't need to

As I've mentioned, I hope this post has given you some ideas for how you can develop your existing career using programming. Not everyone has the bandwidth or desire to make a full career change. Others simply don't have the luxury to do it in one fell swoop. A lot of my ideas can apply to various office, support, and "dispatch"-like positions in warehouses/factories. It can seriously help you streamline and speed up work you could otherwise already do at a much slower pace. Also, crucially, if you're in an environment that appreciates and allows you grow into these tools, you can use what you learn to pivot yourself more safely if you DO want to make the change.
If you are in a situation where your boss sucks or coworkers are shit, then feel free to keep what you're doing as secretive as you can. Basically, automate your job as best you can, but don't tell anyone. Then, use the rest of your time to learn and hone this skill until the time is right to leave/pivot to a different job, or to jump ahead of your boss or into a different department. Just be sure you have a record of your code so you can show it to potential employers, and if you can, anonymize your data as best you can so you can't get slammed for giving away any secrets.

Programming is a useful tool in and of itself, even if you're not a programmer

Programming is a great tool to make your job easier, so you can spend less time doing tedious repetitive things and more time doing things you like or expanding and taking on more projects or responsibilities. You don't have to change careers to appreciate this. In my roles, I've used python + pandas to take gigantic spreadsheets (excel chokes after filesize is over like 150 MB or something) and apply basic changes, more advanced changes, or create pivot tables. These are common office tasks and functions that can get annoying to have to do by hand week over week. You can automate that so you can focus on other crap.

Programming can be a useful tool in the abstract, even if you're not a programmer

Programming teaches you a methodical way to think about problems. It gives you a variety of abstract tools to solve those problems. Even if you can't implement them in a language well, you can still talk to those who can. You can also apply ideas to the real world. Conditionals are basic programming building blocks, but you don't often see people in smaller companies or mom-and-pop operations using flowcharts for their operations. Documenting best practices and using these things can make you look really good when all of sudden the business is slammed and - WOW! you've just onboarded and trained 3 new people in a day or two to do the jobs you need them to do. Thinking of contingencies is sometimes less present on programmers' minds, but something sysadmins and infosec people think about a lot (at least if they're willing and able to do their job well).
Moreover, if you work at small companies or startups, operations positions are often ripe for advancement. Small software companies often hire people to do manual QA instead of automating it. If you create the procedural docs to do that and then start to automate, there's often room to wiggle your way into a new position. At the very least, when someone moves up or out, you're in a better position.

Working on tangential skills can make you into a better programmer

Soft skills are something we all know and talk about. Networking is something we all know and talk about. These kinds of things can really help convey the kind of person you are. Hopefully through studying programming, you show yourself to be more methodical, organized, and explicit in the real world things you do. These are all things that you learn in programming that make you better at things in your life (to a point, of course).
It does work the other way around! Learning how to analyze line work can help you think of pipelines more easily. Thinking of group organization can help with data models. Understanding how teams work well can help you organize an API. I watch tons of woodworking and metalworking videos by weekend hobbyists. Even if it's something completely different, I often find that my mind will come upon a good solution to a problem I'm stuck on. Take your inspiration everywhere you find it.

Thinking outside of the "concept" box, but staying within the "propriety" box is the sweet spot

Lastly, in real life I'm often told that I'm a genuinely nice guy and very memorable. I wasn't always this way! I worked hard to remember some very basic things.
I know many of you will disagree with some of my points. If you do, I'm sure we can learn from that conversation.
I know many of you will point out that a lot of this is common sense. It is, or can be, but sometimes you don't realize something unless it's placed, plainly, in front of you.
I also know that my story is different, and you may have more struggles. I've been lucky. That being said, I do believe that I was either prepared enough to recognize the luck and take advantage, or did my best to make the most of the luck when it came up. I hope the above can help someone somewhere do the same.
submitted by jivanyatra to learnprogramming [link] [comments]

what is anonymous class in java video

Java - Anonymous Inner Class - YouTube What is Anonymous inner class?  Java Anonymous inner class (Using Interface)  Java Tutorial What is Anonymous inner class?  Core Java Interview ... What is Anonymous inner class (Using class) in Java ... Java Anonymous Classes - What is an Anonymous Class in ... #7.3 Java Tutorial  Anonymous Inner class - YouTube Anonymous inner class example in Java - YouTube

An anonymous inner class can be useful when making an instance of an object with certain “extras” such as overloading methods of a class or interface, without having to actually subclass a class. Anonymous inner classes are useful in writing implementation classes for listener interfaces in graphics programming. Anonymous class is an inner class without a name, which means that we can declare and instantiate class at the same time.A lambda expression is a short form for writing an anonymous class.By using a lambda expression, we can declare methods without any name. Anonymous class vs Lambda Expression. An anonymous class object generates a separate class file after compilation that increases the size Anonymous Inner Class in Java is an inner class or nested class. Inner class is a class which is present inside an outer class. So an anonymous inner class is an inner class that has no name. It is either a subclass of a class or an implementation of an interface. So if we have to override method of class or interface we can use anonymous inner What is Anonymous Class in Java? It is defining a class with no identity i.e. a class without a name. They are used whenever you need to override the methods of a class, abstract class or interface. Syntax of Anonymous Class in Java; Ways to Create Anonymous Class in Java; Difference between Regular and Anonymous Class . Declaring Anonymous Classes. Normally we create a class i.e we declare class but, anonymous classes are expressions which means that we define the anonymous class in another expression. An anonymous class has access to the members of its enclosing class. An anonymous class cannot access local variables in its enclosing scope that are not declared as final or effectively final. Like a nested class, a declaration of a type (such as a variable) in an anonymous class shadows any other declarations in the enclosing scope that have the same name. See Shadowing for more information. Java anonymous class is a nested or local class. You should use them only when you want to use local class only once. Let’s have a look at an example of anonymous class in java program. package com.journaldev.java.examples; public interface Hello { public void sayHello() ; } A nested class that doesn't have any name is known as an anonymous class. An anonymous class must be defined inside another class. Hence, it is also known as an anonymous inner class. Its syntax is: class outerClass { // defining anonymous class object1 = new Type (parameterList) { // body of the anonymous class }; } Java Anonymous inner class. A class that have no name is known as anonymous inner class in java. It should be used if you have to override method of class or interface. Java Anonymous inner class can be created by two ways: Class (may be abstract or concrete). Interface; Java anonymous inner class example using class Anonymous classes are inner classes with no name. Since they have no name, we can't use them in order to create instances of anonymous classes. As a result, we have to declare and instantiate anonymous classes in a single expression at the point of use. We may either extend an existing class or implement an interface.

what is anonymous class in java top

[index] [3600] [308] [1024] [8057] [5181] [1051] [8849] [527] [5810] [4146]

Java - Anonymous Inner Class - YouTube

Github :- https://github.com/navinreddy20/Java-Tutorial-for-Beginners-Crash-CourseEditing Monitors :https://amzn.to/2RfKWgLhttps://amzn.to/2Q665JWhttps://amz... Java Source Code here:http://ramj2ee.blogspot.com/2016/01/java-tutorial-java-anonymous-inner.htmlClick the below link to download the code:https://drive.goog... According to the official Java Docs: Anonymous classes enable you to make your code more concise. They enable you to declare and instantiate a class at the same time. They are like local classes... In this video you will learn about how to create Anonymous inner class in java using a demo project Below is the GitHub link to download source: https://gith... What is Anonymous inner class? Core Java Interview Questions Mr.Srinivas** For Online Training Registration: https://goo.gl/r6kJbB Call: +91-817919199... Java Source Code here: http://ramj2ee.blogspot.in/2016/01/java-tutorial-java-anonymous-inner_13.html Click the below link to download the code: https://sites... Java - Anonymous Inner Classwatch more videos at https://www.tutorialspoint.com/videotutorials/index.htmLecture By: Ms. Monica, Tutorials Point India Private...

what is anonymous class in java

Copyright © 2024 top100.playrealmoneygametop.xyz